.NET Core RC2 – Improvements, Schedule, and Roadmap - <AUTHOR> https://blogs.msdn.microsoft.com/dotnet/2016/05/06/net-core-rc2-improvements-schedule-and-roadmap/ <comment><USER3> So happy .NET Core was delayed-- a very cool idea, but trying to write a library that targeted a few platforms was an absolute nightmare. Just knowing the difference between dnxcore50, netcore50, netcoreapp was confusing. Need ASP.Net to run unit tests was strange when I was targeting Web at all, and the dotnet CLI hadn't existed yet.

The standardization around the .NET Standard seems great. dotnet as a CLI is great. Kudos to the team for having the humility of pushing back deadlines and actually delivering an end-to-end solution that actually improves .NET development.

<comment><USER4> I feel your pain. I'm trying to get Scientist.NET working and it's far from easy on RC1. The issue is linked from my list of ASP.NET Core Library and Framework Support ([https://anclafs.com](https://anclafs.com)).

</comment></comment><comment><USER5> Exciting stuff!

I'm going to be sticking with 4.6 for the foreseeable future for serious stuff because I'm a big fan of ServiceStack, and Web API feels like a step backwards, even in .net core.

Even for 4.6, the development of .net core has still resulted in some nice gifts, such as the task runner explorer in Visual Studio for Gulp/Grunt, and the auto installing of NPM and Bower packages when a project.json or bower.json package is detected.

For small/side projects though, .net core it is!

If Microsoft is still on a spending spree, they should really purchase ServiceStack and use it to make some serious improvements to Web API.

<comment><USER6> As a fan of .NET Web API and having not worked with ServiceStack may I ask what I am losing by not embracing ServiceStack?

<comment><USER5> I'll do my best to explain!

I feel as though ServiceStack was built from the ground up to be a framework for building a Restful API, whereas Web API feels like more of an afterthought to MVC.

If you follow the best practices, you end up with a well structured API from a programming perspective. - [http://stackoverflow.com/a/15235822/969613](http://stackoverflow.com/a/15235822/969613)

It's opinionated, and a result you have a clearly defined place for your services, your request/response DTO's, your logic etc. It's all very loosely coupled and testable which I like.

In contrast, Web API doesn't make it clear how to split up your MVC controllers and your API controllers. You are kind of left to your own devices, and I find that every developer comes up with their own system, and every Web API project is structured differently. With Web API, you also tend to keep all of your API controllers, models etc in the same project, which I think can become more difficult to maintain over time, and is also harder to write tests for.

For dependency injection, it comes out of the box with Funq, which I find to be really capable, but you can use any other DI framework, and it's simple to swap out Funq for your preffered DI framework.

For ORM, ServiceStack provides OrmLite.net, which I find to be fit for purpose most of the time. If you need the more powerful Entity Framework, that's easy to swap out too, but I find OrmLite to be fast, and easy to work with.

For caching, you can easily pull in Redis, and use it instead of ram for storing user sessions.

There's a bunch of authentication providers, you can add authentication for Google/Facebook/Linkedin/Github etc etc with one line of code, then just the configuration with the third party. - [https://github.com/ServiceStack/ServiceStack/wiki/Authentica...](https://github.com/ServiceStack/ServiceStack/wiki/Authentication- and-authorization)

One thing I really like is validators. I know in Web API you have attribute validation on models, but validators in ServiceStack give you a lot more control. They allow you to intercept an API request before you even hit the service, and apply any logic/rules you need to.

Swagger is easy to configure too, basically one line of code and then drag and drop the Swagger HTML/CSS/JS, and it works. You can also document swagger using attributes on your DTO's in C#.

It has a built in Mapping library, a built in JSON parsing library (which is faster than Json.net), and logging is easy to do as well.

The developers are really good too. Literally any problem you come across, you will find a well thought out StackOverflow answer by one of the main developers, usually Demis (mythz).

I'm probably not explaining this very well! Maybe somebody more articulate than myself will come along and provide a better answer, but I recommend checking it out. It's massive (they call it ServiceStack because it is literally a stack of services) and when I need to use Web API, I just find it extremely lacking in comparison.

Hope this helped!

<comment><USER7> For building a HTTP API why would you tie yourself to a closed source non-free framework when there are so many good alternatives out there? besides dealing with the servicestack licensing you now have to deal with all the windows licensing too.

I mean, I doubt it has some secret sauce that makes it better over everything else for building a REST API.

<comment><USER8> ServiceStack isn't closed source, framework, IDE integrations, client libraries all on GitHub.

[https://github.com/ServiceStack](https://github.com/ServiceStack)

Licensing means there are dedicate developer resources working on regular improvements all the time. Disclaimer, I am one of those resources :).

Regarding 'secret sauce', it's not a secret at all, as others have said it has a big focus on simple message based approach. Recent SO question was asked sums it up.

[http://stackoverflow.com/questions/36962263/can-i-use- servic...](http://stackoverflow.com/questions/36962263/can-i-use-servicestack- routes-with-method-parameters-instead-of-a-dto-class-for/36962502#36962502)

Edit: grammar

</comment></comment></comment></comment></comment><comment><USER9> I am concerned that .NET Core has put .NET on a very dark path.

It feels like the developers have built this from a theoretical programming paradise point of view: Everything's "just" a handler in a pipeline. All dependencies are now "micro". Nothing has a hard dependency on anything else.

The result of all this is a framework that might be beautiful at it's core, but becomes gradually more prickly as you get closer to the development surface. It feels like their answer to usability is "Oh, we'll just throw together a metapackage for that." It scares me that they think they can wrap up all the complexity they've created in a way that won't lead to the developer having to dig through the .NET source to make stuff work.

It's worrisome to see how brittle the system is at this late stage. It shows that this has been built from the inside-out rather than outside-in with a focus on usability. All the ugly stuff that should be buried inside the framework has been pushed out to the edge of the system for the developer to deal with. Watch any of the recent ASP.NET streams to see numerous illustrations of this whenever they open up a Core project.

ASP.NET used to be a reprieve from all the hideousness of other tools like NPM and Node. Now I'm seeing all the same problems in ASP.NET. Have you tried deploying a DNX / Core app? Good luck if any file path is longer than 255 characters. Tried pulling in the dependencies from a project.json behind a corporate firewall? Good luck. It might work half the time, but it needs to work 100% of the time to be practical.

All these tiny metapackages will lead to dozens of projects all in intermediate undefined states whereas in the past we had a clear distinction - that repository from 2010? It's MVC3. Ok, we know how to upgrade that because the process is well-defined. I expect ASP.NET core will be more a case of deleting out all your semver numbers from project.json, executing the update command and holding your breath. I dread this the way I dread opening any Javascript/NPM project that's more than a year old.

Given the rise of Javascript clients with REST servers I question whether it's even worth sticking with Core when other languages can do the same thing with fewer pain points. I really want to see Core succeed but I'm just not sure about it given what we've seen so far.

<comment><USER10> I've used Core RC1 for a few months now and I haven't seen any of the issues you're worried about. I've had way more pain with TypeScript, VS, and node integration than anything .NET specific. From my point of view the .net piece just works, even with the RC bits.

It's just a bit more granular than before, but VS helps you a lot. All you have to do is type a class name and VS can suggest to import a library that you never included in your project. This alone, in my opinion, makes it a lot easier than before - I wouldn't want to go back.

<comment><USER9> The fact that one person hasn't experienced these issues doesn't invalidate my argument. I am sure some people will have no issues, but there will be some percentage of people who do have issues and I suspect that percentage will be quite large. I also suspect a lot of people who have not encountered issues aren't actually building software for an employer. As someone else mentioned, a lot of the more vocal people tend to be unemployed hobbyists who have no deadlines or who don't venture off the beaten path because they don't have any requirements.

<comment><USER10> You seem to suspect a lot without bringing any evidence; nothing but FUD. I can just as easily suspect that you're full of it.

<comment><USER11> I'm with Rener on this. He mentioned important areas where .NET Core falls apart. Would like to see it changing, but as for now almost nobody is going to use .NET Core for anything serious. .NET Core is selfishly designed for .NET Core developers, not for .NET Core customers.

<comment><USER12> OK to address those: The micro packages are Microsoft packages which means they'll be testing them thoroughly and independencies between them will be recorded via NuGet. The whole "delete numbers and update" bit makes no sense given the NuGet update command.

The point of current ASP.Net Core development is that they are being open about the sausage making process in order to avoid massive breaking changes in the future. Opening an MVC3 project has a defined update process because 3->6 has a massive update process. The team is aiming to only add new functionality going forward (at least for a very long time), they don't want to have to release Core 2.0 but 1.18. Things may break at the moment but that is almost certainly because you're hooked up to the MS CI build MyGet repository, certainly that is what the ASP Live streams are doing, so it is hardly surprising that things don't always work. They've just committed to 6+ weeks of fixing stuff before the RTM - stability will improve.

</comment></comment></comment></comment></comment></comment><comment><USER13> As a developer working on a site with thousands of concurrent connections that recently went to production with RC1 and is implementing back-end applications as well, I've been looking forward to RC2. All this talk that .NET Core will never work for X or Y reasons is amusing - it works right now on large sites/projects, and has been a refreshing change for our team(s) with a minimal amount of headaches.

I would suggest trying it before knocking it at a theoretical level, especially the MVC Core stuff that combines 4.X's MVC and Web API and enhances it.

</comment><comment><USER14> I've been using .NET core in "production" (i get less than a thousand users a day... so not heavy production) for almost a month now. I love the platform, and I love how it keeps getting better. Glad to see this timeline, and i'm really glad to see Xamarin a part of this.

</comment><comment><USER15> Release Candidate 1 really should not have shipped.

I had a prototype product using DNX "Release Candidate" and then DNX was killed.

It was a prototype and nothing of real value was lost. I'm not holding a grudge, and I'm sure the people at Microsoft would have avoided it if they had a crystal ball.

Personally I love .NET, find C# extremely enjoyable and look forward to RC2 but the way RC1 ended left a sour taste in my mouth.

</comment><comment><USER16> I have been using MVC since version 2, but I will definitely will not use Core for my first project. There are so many breaking changes that I cannot imagine a 1.0 will cut it.

Also .Net Core is a clusterfuck built from an architectonaut ivory tower, just look at all the github issues around datatables. Yes, they are perhaps old and outdated but there is a million production items relying on it. DevExpress, open-source Excel serializers, etc etc. After a decade in the framework they have earned a spot, and outright refusing them to include does NOT help you gain traction. Because it contained anti-patterns du jour or something, whatever. I have a ton of production code relying on it, that is and has been serving me and my customers very well the past 10 years.

Also, the datatables discussion raised issues about the database schema. The proposal from a softie with a 5-min stab at a generic albeit typed system for covering all use cases surrounding the data and column types in a databases, is just mind boggling naive. What is the average age of the people doing .net Core?

<comment><USER17> People relying on features that aren't in .NET Core can keep using full .NET, and that's the intended result. Full .NET is going to be supported for the foreseeable future.

However for those projects that don't need them .NET Core is an interesting alternative especially with cloud deployment to Linux or a BSD host.

I work at a large .NET based company whose core product could not work on Core, but we certainly are considering it for newer projects. I'm also many years past being a junior developer.

<comment><USER16> Well, it's fine if features are ported later or in seperate packages or in some other/better format, but what I understood around System.Data is that vital pieces are missing, without a clear vision on how to deal with these. And if they are not added before 1.0 it may have far-reaching consequences. See my comment below for references.

<comment><USER12> The data story in general for Core is something they have repeatedly said is going to be worked on incrementally. Entity Framework Core is explicitly being sold as a "use only if you have to run on Linux/Mac" otherwise stick with EF6.

They're also making it very clear that features can and will be added/ported to .Net Core in the future based on what developers need and want. The thing they are absolutely keen to avoid is any breaking changes from 1.0 onwards - the plan is that you'll see 1.1, 1.2, 1.3 not a semver 2.0 for a very long time. To that end the legacy of DataTables is "how can we do this better" not trying to support decades of old libraries from the odd. The 4.6 Framework exists to do that and isn't going away if that is what you need.

</comment></comment></comment></comment><comment><USER18> Did you intentionally pick the one thing I didn't say was broken? Friggin' writev() still doesn't work, Scott! That breaks about 20,000 tools, often subtly. The fix somehow didn't make it into the latest insider build.

And I can't tell you how much I look forward to updating every Windows component then rebooting twice so I can _maybe_ run cmake in a console window. Geeze, Scott, you've lost the rabbit.

<comment><USER19> You can't be personally uncivil like this on HN. We ban users who do it repeatedly, so please stop doing it.

We detached this comment from [https://news.ycombinator.com/item?id=11701610](https://news.ycombinator.com/item?id=11701610) and marked it off-topic.

</comment></comment><comment><USER11> I would share an unpopular opinion: .NET Core stuff is a going to be a train wreck (especially ASP.NET Core). The main reason for this is a development anarchy and "all and nothing" style of problem solving.

Just an example: ASP.NET Core supports so many host servers and runtimes so that nobody would tell you what it really supports. A little bit of this, a little bit of that, and nothing really works at the end. This is huge contrast to good old ASP.NET (Classic) which just works on IIS. Want a website? Cool, IIS + ASP.NET + Nginx/HAproxy and you are golden.

Another example: ASP.NET Core has a WordPress-style request processing pipeline which is called middleware. The problem is: every module gets every request and there is no way to lazy route them based on some criteria like " _.gif " is handled by that module, "gen/_.jpg" by another one. Ask people who use WordPress and install a lot of plugins. They will say you that it becomes sluggish as turtle. Why? Because every plugin handles _every_ request even when it does not relate to the given plugin at all.

<comment><USER20> >every module gets every request and there is no way to lazy route them based on some criteria like ".gif" is handled by that module, "gen/.jpg" by another one.

Simply false. OWIN Middlewares can determine whether to pass execution to the next module in the pipeline or not. Simply call Task.FromResult(0) rather than Next.Invoke(context);

[http://stackoverflow.com/questions/18965809/owin-stop- proces...](http://stackoverflow.com/questions/18965809/owin-stop-processing- based-on-contition)

Some of your other criticisms may be true, but I figure that if Java can be so ubiquitous across platforms and servers, .NET core can manage it.

<comment><USER11> Here is the code for middleware init:

appBuilder.Map("/something/something", doit => { doit.Use<Pipepart1>(); doit.Use<Pipepart2>(); });

See that doit.Use<Pipepart2>()? Such construct implies that Pipepart2 should be compiled and loaded right now. This is simply not scalable. What I really want is Pipepart2 being loaded on demand only when the corresponding request is encountered.

<comment><USER20> Hmm. You seem to be talking about acouple of separate things - <USER2> instantiation of objects, lazy loading of modules/assemblies into the AppDomain, and early termination of OWIN Middleware modules.

You attach the middleware to the appBuilder via Map (or other methods) during application startup, so it will simply incur the assembly penalty at startup. An assembly is loaded the first time it is referenced in executing code in an AppDomain. This is fairly unavoidable in the .NET world, though I agree that it would be preferable if it were otherwise.

Secondly, that use thing is in fact executed during the map - it does all the configuration and setup that it needs to do on startup, and is ready to process requests that are handed to it. Internally it actually gets set up on an entirely new AppBuilder that the main one delegates to I believe, so it only gets invoked on a correct path match, not on every request - only the matching logic is invoked if the request makes it to that point in the pipeline.

The early termination was addressed in my previous post, of course.

<comment><USER11> Yes, assembly loading is exactly what I'm talking about.

>An assembly is loaded the first time it is referenced in executing code in an AppDomain. This is fairly unavoidable in the .NET world

Premature assembly loading was easily avoidable with Web.config where you specified the request filter and assembly qualified type name of a handler. Hope it will be covered in ASP.NET Core / OWIN someday.

Yes, you are right about the map: it allows you to select who handles what. Still Web.config stays a much better contender in that deep matter: it allows to attach modules without changing code. A common scenario like adding a custom auth module to existing web application is a breeze with Web.config.

Code-based map looks a bit clunky after experiencing the gifts of Web.config flexibility and efficiency.

<comment><USER21> The exact problem with Web.config modules is that they are never handled in your code, only in the config. It also is very IIS-specific, precluding it from working easily with other web servers cross-platform. With OWIN, by starting with code, there is nothing stopping you or someone else from making a config-file-driven middleware loader to accomplish the functionality you're looking for. i.e. app.LoadMiddlewareFromConfig("middleware.json")

<comment><USER11> The only thing that precludes Web.config from working cross-platform is the absence of reliable implementation of a cross-platform web server. For example, I don't even consider Nginx reliable on Windows; some nasty effects are in place. The best home for Nginx is Linux. The best home for IIS is Windows. Cross-platform sounds sweet in theory but in reality it goes down hill pretty fast with subtle defects.

<comment><USER22> What's stopping you from using IIS on Windows and Nginx on Linux? It's not like you're committing to one server for one application.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> Like early OneDrive and Windows 8, I really hope a couple people got fired over this debacle. But like today's OneDrive, Windows 10 and .NET Core, I'm glad it's finally moving forward. I know HN has an anti-Microsoft bias from pg on down, but this is serious, proven tech that's moving in the right direction. Say what you want about MS, but their R&D budget is larger and more focused on developers than any other company, decade after decade.

<comment><USER23> Wait, what debacle? Why do you want us fired?

<comment><USER18> I owe you a long, private email (I'm a fan of your work.. and an ex Microsoft dev manager) but the way this was handled was not good. A RC that wasn't, public fumbling, throwing away schedules, and you can't even come up with a sane name for the damn thing. Too early, too weird, and poorly managed. For such an amazing, important technology that's such a massive leap forward in size and interoperability!

It smelled like OneDrive. And I'll provide this quote to demonstrate the type of insanity that leaks out of my beloved Redmond on occasion...

"Prior to Windows 8.1, we had two sync experiences. One used on Windows 7/8/Mac to connect to the consumer service, and a second sync engine to connect to the commercial service (OneDrive for Business). In Windows 8.1 we introduced a third sync engine..."

Current beef is the BashOnWindows alpha. Why was this pushed out so early? Quite literally nothing works on it. The forward progress even in the past few weeks is impressive but... it's bad. Ubuntu Trusty was a weird release to begin with and now it's in a weird time in its lifecycle where it's very difficult to get modern versions of gcc, clang, python 3.5 or even ffmpeg. Not that you could run cmake anyway. But meanwhile you shipped bits where "apt-get update" itself failed right out of the box. I don't get it.

EDIT: HN is limiting my ability to reply to you Scott but my frustration with Bash on Windows is both. The quality of the early bits is poor and I find the timing weird. Likewise Trusty itself is at a maximally frustrating stage of its lifecycle for anyone new jumping in (Stack Overflow is already filling up with newbie Bash/Ubuntu questions that are often tied to Windows bugs. And geeze, just let the insanity of that sentence sink in.) From a technical perspective I don't love the alpha. From a dev/engineering/coder perspective I don't love Trusty. From a strategic perspective, just like .NET Core, I'm wondering WTF is going on, thus the rant.

<comment><USER23> Maybe we'll have to agree to disagree. The public asked for open and we gave them Open with a pretty capital O. When this project started we didn't know we were buying Xamarin, so that required a pivot. Yes it looked messy because it was messy. It's hard to be Open AND Organized. Node is a mess, remember io.js? Software Development _is_ messy and this was a peek into the kitchen.

I can't speak to OneDrive, but it's clearly a problem. Unfortunately, I work in DevDiv, not Windows.

As far as Bash is concerned, I think "literally nothing works" is not fair. I helped with this release. I presented on it for 90 minutes this morning and installed and brought in build-essentials, worked on redis-server, g++, ruby, and it worked fine. Yes there's rough areas, but we can update it often with WU. Also, you're complaining about Trusty in the same breath as Bash on Windows. You'll be able to update to 16.04 later so that might help. And, you're certainly able to Hyper-V any Linux and SSH in as well.

<comment><USER18> I'll give a polite tip of the hat but warn that cutesy redis demos are starting to wear thin. The C++ support in the tools you get after installing build-essentials on Trusty smells like Visual Studio 2010.

As for .NET core, you'll get plenty of warm fuzzy "just happy to be part of the journey" crap here but don't forget that for every unemployed enthusiast chatting in an issues thread on github there are 100 professionals working their asses off trying to ship solutions. That's why you exist. Don't lose that.

"Things may not work perfectly, but that is why it's no production code." Ugh. They called it a Release Candidate! And it was... crap.

Tools support isn't like horseshoes, almost doesn't count. Likewise you need breadth and depth with your Linux support or this is going to be a total friggin' debacle for devs.

<comment><USER24> What demos do you want? If redis is "cutesy", what isn't?

<comment><USER18> Something hip like one of the neural toolkits? I guess that would be hard to do since you can't install CUDA, R packages or the JDK at the moment. Maybe run Docker? Nope. Heck, I'd settle for being able to run tar or rar. Those don't work either. Cmake? Nope, broken. Valgrind? nope. Mono? nope.

He's welcome to run the same redis demo he does every tradeshow and pretend everything's hot and ready for action, but it's misleading at best.

<comment><USER25> We're focusing on mainstream developer scenarios to start with (esp. Ruby, Java, Python, etc); we'll get to more advanced, esoteric, and exotic technologies later.

FWIW, many core Linux tools (e.g. tar, gzip/gunzip) work* well, and tools like gcc/g++, Mono and CMake work* well in current insiders builds.

* By "work", we mean, they work in our scenario testing. If you find issues, please log bugs at [https://aka.ms/winbashgithub](https://aka.ms/winbashgithub).

<comment><USER18> I'm running the latest insider build. The bugs reported are based on personal experience and I verified they were currently open on GitHub as well before I posted. Tar hangs, cmake can't find a compiler, Valgrind goes nuts, and mono doesn't run. This is right at the top of the current issue list on GitHub with Microsoft annotations confirming the bugs.

I do what I can to report issues but frankly I do pretty basic development and hit an immediate brick wall with this stuff. I can't believe I'm celebrating Cygwin both for stability and breadth of packages. It's nuts.

I don't expect you guys to demo tensorflow. I'm simply saying that getting Redis limping borders on false prophecy.

<comment><USER23> "He's welcome to run the same redis demo he does every tradeshow and pretend everything's hot and ready for action, but it's misleading at best."

Here, I just built TensorFlow on my Surface while sitting here in an airport. Here's a screenshot: [http://i.imgur.com/WlNNuVt.png](http://i.imgur.com/WlNNuVt.png)

I'll try some more complex TensorFlow examples on the plane.

I'm sorry you're having (or had) issues with the build on your machine, but your negativity is kind of a bummer. We're happy to help chase down filed bugs.

<comment><USER18> writev() still doesn't work, Scott. That breaks countless tools, often subtly. The fix somehow didn't make it into the latest insider build.

My solution? Wait for Windows update to change every Windows component, in hopes that I can then _maybe_ run cmake in a console window.

Like I said, I appreciate the recent progress, but this is exactly the type of goofy situation you used to jump up and down about years ago.

<comment><USER23> Who are you?</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Nice Attempt From New YC Applicant - <AUTHOR> http://i.imgur.com/5gk3q.png

<comment><AUTHOR> Biggest mistake was taking me to a private signup page instead of showing me at least a product teaser. Clever though!</comment>


Asynchronous I/O that doesn't get in your way, written in D - <AUTHOR> http://vibed.org <comment><USER2> Does anyone know if googles V8 could benefit from being re-written (even partly) in D? I'm mostly a web programmer and only just started learning D, so I'm not real familiar with how these lower level languages work. It seems like C++ programmers openly admit that D is better than C++ in many ways, but because of the lack of documentation (which seems to be a little better as of late) it just isn't a viable solution for most projects.

I'd like to hear an unbiased opinion of whether D, assuming the proper docs were available, could replace the C++ code in V8, and if not, what exactly is holding it back?

<comment><USER3> Not answering your question, but there is a research project implementing a Javascript JIT compiler in D: [http://pointersgonewild.wordpress.com/higgs/](http://pointersgonewild.wordpress.com/higgs/)

</comment></comment><comment><USER4> I think D doesn't get the attention it deserves. As far as I can recall, Facebook was using it for some projects.

<comment><USER5> D absolutely deserves more attention. Any ideas on how to attract new folks to the language?

<comment><USER6> Write articles about how you're using D and post them.

</comment></comment></comment><comment><USER7> The website says it uses fibers, a.k.a. tasks, a.k.a. coroutines.

So that's what this is.

<comment><USER8> Javascript has fibers and generators.

They definetly help writing async code.

One day one will never have to write callbacks or promises ever again.

ES6 comes with a lot of new features which will make JS a very different language (classes,guards,annotations...).Things are starting to get very interesting in js land.

</comment></comment><comment><USER9> Interesting, but a bit light on how to read/write from TCP (as opposed to opening a collection). Would love to see some details about what goes on behind the hood.

<comment><USER10> The coroutines (fibers/tasks) work in the same way threads do in a kernel. Vibe.d is a reimplementation with something called "fibers", with task- messaging, task contexts, context switching.

When using poll or select kernel functions, your thread "yields" and allows other processes to do some work while your process waits for i/o data. Fibers work the same way but the waiting happens within your process.

Basically, when all fibers are waiting, there's going to be events in the kernel (using epoll or iocp) with the associated fiber pointer to wake it up when something comes up. The fiber (aka task) is called with Fiber.call() when there's news and automatically restores its stack and context, but maybe it has more data in the circular buffer or the manual event you were waiting for was triggered, so the routine can go forward (otherwise, Fiber.yield() is called again and waits for an event from the kernel).

This allows the code to stay linear somewhat. Low-level buffers are all meant to yield when data is not available. Every time a new connection happens, a new fiber is created, same goes when you call runTask.

</comment></comment><comment><USER11> Is there a reference anywhere for the utility stuff that comes with Vibe.d, or are we expected to read the source on Github?

<comment><USER12> There is an API reference: [http://vibed.org/api/](http://vibed.org/api/) And a higher level overview: [http://vibed.org/docs](http://vibed.org/docs)</comment></comment>


Offer HN: We'll translate your Android app for free - <AUTHOR>

== Here's the offer ==
If you've written an Android app, we want to translate it into a couple of extra languages for you, for free.  The translation will be done by professional translators (not machines), who will translate the text in your app (i.e. whatever is in strings.xml) and, if you want, the Google Play store listing (title and description).  They won't translate audio, video, or your web site text.
== Why? ==
I'm hoping to get useful feedback about the process and results.
== There must be a catch? ==
- Your app must already be listed on the Google Play store
- This offer is limited to selected apps (based on my resources, work complexity and any other criteria)
- I may decide not to translate a specific app for any reason (e.g. quality, topic, ...)
- I will email requesting feedback, after the translation is completed
If you're interested, please send me details of your app by 2014/01/23, using this form: http://goo.gl/forms/Bp1Br5NAFb
I'll get back to you within 48 hours if you're selected, and will reply to everyone so long as there are fewer than 100 responses. <comment><USER2> I'd like to know how well this works for you.

I am contemplating a similar offer. Rather than translation I would offer free debugging and performance optimization, as a way to promote my consulting services.</comment>


Xobni takes in funding, exits beta - <AUTHOR> http://news.cnet.com/8301-17939_109-10203613-2.html?part=rss&tag=feed&subj=Webware

<comment><USER2> I don't really get what's so great about Xobni. I use it at work, but except for the contact search and attachment features it isn't very useful.

It's just as good as many addons developped without many resources for Thunderbird, not worth a 10M funding in my opinion.

<comment><USER3> Thanks for the feedback. What other features might you suggest?

Users have found people search to be very useful, as you mentioned. If you're not on the latest version then you're also missing LinkedIn and Facebook, including pulling photos from either of those services. We'll be auto-updating old users to this version over the next couple of weeks. (If you want to get on the latest version right away, just download the installer and it will detect the existing installation and just update you instead of a fresh reinstallation.)

EDIT: For the curious, I thought I'd take the opportunity to give more background on what we've been up to from the engineering side.

Some might notice that the Linkedin / Facebook / Hoovers / Yahoo Mail / Skype integrations I mentioned above were launched on 19-nov-08. So what have we been up to over the past four months? Well, other than consuming ungodly amounts of Reese's Peanut Butter Cups, it's been two things -- performance and stability.

Outlook is a hostile environment for a product like Xobni. It has several different APIs, each with different quirky interfaces, side effects, and threading models.

There's no way around having complex APIs for Outlook. They expose programmatic access to the most complicated email application ever built. Just like Excel and MS Word, it's really hard to underestimate how feature rich this program is.

(As evidence, I submit to you: <http://support.microsoft.com/?kbid=968009> . Scroll down to the section titled "Individual bugs that are fixed." Wow!)

Let's run through one example of how complex these APIs are.

This one's my favorite!

Imagine you have an ID for a message, and you want to open a draft reply to that message so the user can type in their reply and press send. It should work just as if the user hit the Reply button, or pressed Ctrl-R.

Easy right? That's what I thought, too...

The first API I tried seemed to work, but when the user pressed send the icon for the original message didn't change to the purple arrow to indicate that it had been replied to.

I found a second approach that didn't have that bug, except it turned out to save the draft of the message (if it is being composed for more than five minutes, or the user explicitly presses Save) STRAIGHT INTO THE INBOX, instead of the Drafts folder. It looked funky -- no sender name, no sent time, etc. Ouch.

I found another API to use. It set the right icon -- good -- and seemed to save drafts into the Drafts folder. Double check. Unfortunately as soon as the user started typing it showed up in Times New Roman, 12pt, as the default font. Doh.

One of these three approaches also wouldn't pre-populate the user's email signature.

Fourth API was a charm!

I could really talk about the complexity of Outlook and the scenarios we've ran into for days. Below are some example bugs I pulled from the Outlook feb-09 cumulative update document linked above. Each of these can hide weird race conditions, thread starvations, or just plain old corner cases that only show up when the moon is in the seventh house.

      * Inefficient processing occurs in a loop during intermittent network connectivity.
      * If the store providers are disconnected early, the Outlook.exe process becomes unresponsive for a very long time.
      * When you right-click an item, the whole item is loaded into memory more frequently than necessary.
      * Unnecessary disk reads are performed for every time that a custom form icon is rendered.

One of the fun side effects of doing this work is that you end up seeing all of the bugs you've come across in OTHER Outlook addins. I was using TechSmith's Snag-It the other day and smiled when I saw a draft it had opened save to the Inbox before I pressed send. They were using API #2. :-)

Not to mention that all of these other addins are accessing the same APIs, sometimes with "interesting interactions."

And on top of these challenges there are several users who have giant mailboxes. We've seen users with almost a million emails loaded into Outlook at the same time.

Usually these are the people with 12" laptops, 2 GBs of RAM, and 5400 RPM hard drives.

When this happens, all bets are off. Outlook takes a long time to load their twelve PST files. If an addin is trying to load its stuff at the same time you get heavy disk contention and "sequential" read throughputs plummet to 1 MB per second. And god help you if Outlook needs to "repair" any of these PSTs.

..the list goes on and on. We've been on a four month odyssey.

It's been both tough and fun. I love my team. We've hit some high notes together.

That said, I think we're all looking forward to working on the next generation of features for our customers. It's going to be an exciting rest-of-2009 ahead.

<comment><USER2> Thanks for the answer, spontaneously I would love Xobni to do one thing : automatically integrate the contacts into Outlook's address book.

I might do it wrong but when I compose a new mail, the autocomplete function of Outlook doesn't show me contacts from whom I have received a mail.

Xobni could add those contacts without having me to manually do it, it would save me some time. By the way if you can make the autocomplete function work better... (allow me to enter a last name instead of the begining of the email or the first name).

<comment><USER3> Good idea! ;)

</comment></comment></comment></comment><comment><USER4> xobni is awesome. I used it when I worked at a Fortune 500 company and kept recommending it to people. I pretty much only used the attachment and contact features though. Good luck to them!

</comment><comment><USER5> congrats guys!

</comment><comment><USER6> Congrats Adam! :D</comment>


From MySQL+MMM to MariaDB+Galera Cluster: A High Availability Makeover - <AUTHOR> http://blog.scoutapp.com/articles/2013/09/24/from-mysql-mmm-to-mariadb-galera-cluster-a-high-availability-makeover <comment><USER2> Apologies for a slight tangent, but if you _really_ need SQL's structure _and_ you can't shard the data to avoid scaling issues, please let me know what kind of system you are running because it IMHO has to be pretty weird.

Even in these cases, there are always other potential options, for instance using query playback with a combination less frequent FS or blockstore layer provided snapshot functionality.

In practice, in my own experience, generally when people get an SQL based database to a huge size the often greater issue is that someone has a huge mess of bad application code relying completely on the current database configuration that is not time or cost-feasible to modify.

</comment><comment><USER3> (shameless plug here)

Galera doesn't come out of the box with a secure SST option. SST, or state snapshot transfer, is how it bootstraps a new/failed node to get it close enough to continue with regular Galera replication. If you're running on a public cloud, you might care about secured SST communication. I wrote a drop- in secure rsync SST option, based on socat, that uses SSL encryption to seamlessly secure that traffic. Not perfect by any means, but it works without any futzing around.

[https://github.com/tobz/galera-secure-rsync](https://github.com/tobz/galera- secure-rsync)

<comment><USER4> They just released a socat-based solution a couple days ago:

[http://www.percona.com/doc/percona-xtradb-cluster/release- no...](http://www.percona.com/doc/percona-xtradb-cluster/release- notes/Percona-XtraDB-Cluster-5.5.33-23.7.6.html)

<comment><USER3> Interesting. :)

</comment></comment></comment><comment><USER5> What I want to know is how people deal with innodb's dirty horrible secret - how ibdata can grow to infinite massive sizes and can never be reduced, ever. Regardless if you are using "file per table".

It is a ten year old bug [1] never addressed, no tools ever made to optimize it, and the larger your data, the sooner it will come to bite you. Doesn't matter if you are using mysql, percona or mariadb.

[1] [http://bugs.mysql.com/bug.php?id=1341](http://bugs.mysql.com/bug.php?id=1341)

<comment><USER6> You want to "defrag" a live database? You're brave. Dump it and rebuild it - you should be able to do a node at a time.

<comment><USER5> With terabyte sized databases, thousands of tables, not really an option to dump and reload.

Alter and optimize are already possible on a live innodb table, in theory it should not be exponentially harder to optimize ibdata.

Note that oracle solved this problem on their commercial database product.

</comment></comment></comment><comment><USER7> Why MariaDB+Galera vs. MySQL Cluster? I read the political decision of Maria being more robust and non-Oracle, but was MySQL Cluster considered? And if not, why?

<comment><USER8> Dunno about the author here, but when I looked at MySQL Cluster a while back, it immediately disqualified itself for lacking foreign key support. That's apparently been newly added in the last few months, but there's still no shortage of annoying limitations to be had.

[http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster- limitat...](http://dev.mysql.com/doc/refman/5.6/en/mysql-cluster- limitations.html)

And apparently they require a minimum of six nodes. And the supported installation method is a GUI installer. Sounds like typical "enterprise" Oracle trash, further eroding whatever confidence I might have in it.

<comment><USER9> That's NDB cluster, not Galera. They are apples and oranges.

<comment><USER8> Please re-read the comment I replied to, which was asking why MySQL Cluster (NDB) would not be considered as an alternative to Galera. Using Galera in production myself, I'm well aware they are different things.</comment></comment></comment></comment>


The cost of First Click Free - <AUTHOR> http://www.roughtype.com/archives/2008/10/googles_web.php

<comment><USER2> Is this how Experts Exchange content is provided to click-thru Google searches but not by direct access to the page?

If so, this might not be so great for publishers, as savvy users will just ALWAYS access their content via Google searches.

<comment><USER3> WSJ does the same. It's simply done by detecting user-agent during the crawl, and then referrer during regular use.

<comment><USER4> Are you sure? I've read in the Google policies that you're supposed to serve the same content to Googlebot as your users or you're penalized in PageRank.

<comment><USER3> Correct. Technically in this case they are in the clear because what people see on Google is what they will get when they click on the link.

What is currently penalized is when you do this without checking the referrer and show everyone a sign-up screen. That'll get you penalized in a serious hurry.

</comment></comment></comment></comment><comment><USER5> guessing a search for site:www.wsj.com would reveal all indexed pages (probably pretty recently crawled too) for us to view now, thanks goog!</comment>


SilentKeys: A Keyboard That Protects Your Privacy and Security - <AUTHOR> https://www.kickstarter.com/projects/preevio/silentkeys-a-keyboard-that-protects-your-privacy-a <comment><USER2> So it's literally just a keyboard with a live USB built in it that runs their OS?

<comment><AUTHOR> Tails USB coming with a keyboard.</comment></comment>


Is the End Near for Unlicensed Remixes and Cover Songs? - <AUTHOR> https://medium.com/@6StringMerc/is-the-end-near-for-unlicensed-remixes-and-song-covers-6b08a71afb34#.98cikitet <comment><USER2> To my knowledge cover songs have a statutory right, while remixes do not. This article is failing to highlight how important a distinction this is.

You have the legal right to record a cover song, and the royalty is set by law. The artist can only block it later by arguing some change you inflicted in the composition and recording resulted in a derivative work ... which I would imagine is how the Cars example came to be.

Remixes you must secure permission, as there is zero statutory right to use even a millisecond of someone else's recording for any purpose whatsoever.

<comment><USER3> > as there is zero statutory right to use even a millisecond of someone else's > recording for any purpose whatsoever.

Just to be clear, by "any purpose whatsoever" you mean for a remix, right? In other words, fair use still applies to songs.

<comment><USER4> Fair use basically doesn't apply to recordings of songs. The practitioners and those in the business of different categories of creative works can establish different standards for qualifies as fair use. In the early Nineties, the music industry basically decided that there was more money to be made from licensing samples than from fostering the creation of works that use samples.

To be more precise, a fair use defense on a sample not being a substantial or essential part of the original work (if the source can be recognized, the sample is substantial) or it not causing financial harm (because paid sample licensing exists) is dead. Defense based on your work being commentary or parody of the original work is still available. Theoretically, a defense based on transforming the sample is still available but in practice if the source can be recognized, the use wasn't sufficiently transformative.

</comment></comment></comment><comment><USER5> Part of Nine Inch Nails success as an artist has been from the great diversity and support of remixers both on his released albums and through fan sites[1]. He was a pioneer in the remix world as one of the first to release full, multi-track sources for a lot of his tracks and just let it go...to much success.

This sounds like another example of the music industry shooting itself in the foot thanks to the suits. Imitation (and covers) are the sincerest form of flattery in art.

[1] [http://ninremixes.com](http://ninremixes.com)

</comment><comment><USER6> This is fascinating. The old way of handling rights and royalties is so hopelessly outdated, and the RIAA's approach to it has been so reactionary - as a songwriter and cover musician myself, I want to make sure musicians (and licensing agencies) get any financial rewards distributed fairly, while also taking advantage of the opportunities this new world affords us.

<comment><AUTHOR> Absolutely! There's been a real effort to advance useful Copyright Reform - often kicking and screaming - in ways that should hopefully bring back more progress to the arts. I think most musicians learn about respect for others' work at various stages in their careers, and eventually, come to realize that paying tribute and being a part of the conversation has been fenced off by "rights holders" of various sorts.

Honestly I'm glad that there's this new kind of "grey area" where legalized methods are popping up. They're not perfect. Is this trend better than nothing? I think so - I think this is what tech and artistic progress working alongside each other somewhat resembles.

<comment><USER7> I think this article is unreasonably lumping together the concept of covers and remixes. Cover songs are covered by compulsory licenses in the U.S.A. These are very 'mechanical' and you can in fact obtain them for virtually any recorded song at a fixed rate. It is possible that companies like Soundcloud may be streamlining the process or helping the publishing rights holders but there is not much preventing covers from being created.

The situation for remixes is much different. Remixes inherently involve the use of a PERFORMANCE, not a composition. Licensing is as you mention in the article very difficult and is up the discretion of the rights holder. If there are platforms that want to reduce friction here I think that is great, but the artist should still have discretion in how their performances are used.

<comment><USER6> Remixes are related to samples, another grey area.

<comment><USER7> This is not really a grey area, remixes are samples, and samples are using a previous performance.

</comment></comment></comment></comment></comment><comment><USER8> Some of my favorite art, music or otherwise, is (pseudo)anonymous and illegal....and I am not alone. So, no... the end isn't near, but I am fine if most people think so. :D

</comment><comment><USER9> I thought the was about something even more pernicious: The recent ability for a song author to block someone from recording an interpretation the original author doesn't like: [https://www.techdirt.com/articles/20160523/08060434523/copyr...](https://www.techdirt.com/articles/20160523/08060434523/copyright- as-censorship-questionable-copyright-claim-forces-indie-musician-to-destroy- all-physical-copies-new-album.shtml)

tl;dr: a member of "the cars" got some puny indie to destroy all the physical albums that had been made (before shipping) and change a song, because of his claimed "rights"

<comment><USER7> This is not recent, part of the compulsory licensing for covers is that the cover does not substantially alter the original song. This boils down to substantial alterations of the melody or (possibly) lyrics.

<comment><USER10> Don't the rights of the writer depend on the similarity of the cover to the original? If the the alterations are sufficiently substantial, the author of the previous version shouldn't have rights over the new version.

<comment><USER11> If the alterations are substantial, then it's a derivative work. If it's in any way derivative, the author has complete authority over the new work. It is outside the domain of compulsory licenses at this point.

<comment><USER9> Well, parody, while derivative, certainly is not subject to the control of the original author (remember the Luke Skyywalker case).

I think the courts should have a very liberal definition of what is transformative -- the permissions culture has gone way way too far (this infects both civil and criminal law in the USA and Europe).

</comment></comment></comment></comment></comment><comment><USER12> No, the end is not near for unlicensed remixes or any other sort of copyright infringement.

<comment><AUTHOR> What is being negotiated is a revision of the concept of copyright infringement. A sanctioned, rights-holder compensating negotiated transaction is distinctly different from infringement as a commercial notion. Or even based on credit where due in the case of original authors.</comment></comment>


Verbling (YC S11): Growth When We Started Spending More Face-Time With Customers - <AUTHOR> http://www.businessinsider.com/my-startup-verbling-didnt-have-explosive-growth-so-we-spent-more-face-time-with-customers-2012-8

<comment><USER2> A simple hack to accomplish this, even if you don't run a site with an embedded video widget: mail every customer 3 days after signup and offer to Skype chat them about the problem space and about configuring your application. You can withdraw this offer when you have too many customers beating down your door ("high class problem").

Words like "I run the company", "I am the founder", "I am the CEO", "I am in charge of the product", etc etc, pick your favorite phrasing, _magically_ dissolve all barriers to getting this accomplished, by the way.

<comment><USER3> I can vouch for this. This message ([http://copy-cat.co/blog/a-followup-email- that-actually-works...](http://copy-cat.co/blog/a-followup-email-that- actually-works/)) took _maybe_ 10 minutes to write, has required a few dozen hours of Skyping, and has netted a huge ROI so far.

Bonus: I end up screensharing with people who are just now going through my product's onboarding process. Getting to hear "oh! so that's what that does" and "ahhhh, now I get it" equals so much win in figuring out what to tweak to make things more obvious.</comment></comment>


Ask HN: Starter School - $33,000. Worth it? - <AUTHOR>

I'm taking the next year of my life off to better my development skills of my own accord. I just got an email from Starter School asking to interview me. Is it worth it? I feel for just a fraction of $33k, I can get some pretty nice resources online myself instead of moving somewhere remote and paying that much..
Has anyone any experience with Starter School?
http://www.starterschool.com/program <comment><USER2> 33K seriously? with 33k let me show you what it can buy you as far as web development training. [http://education.oracle.com/pls/web_prod-plq- dad/ou_product_...](http://education.oracle.com/pls/web_prod-plq- dad/ou_product_category.getPage?p_cat_id=267) Java training at oracle is around 2k take a few courses there and become a Java pro, Make amazing web sites or Android phones. Sign up for a subscription at teamtreehouse which covers PHP, Ruby on Rails and all things web development I have one myself, It's awesome. Another one is Codeschool which is also awesome. Udacity and Coursera are both free

So you're looking at a total of maybe $8k to become a Java pro, Python, PHP, and Ruby on Rails. Satisfied?

You can take another bootcamp training which is maybe $8k or $12k which teaches Javascript, or Ruby on Rails or even Python.

shop wisely.

<comment><AUTHOR> Hence why I came here. Thanks. I'm just doing courses via Coursera and reading books.

</comment></comment><comment><USER3> The advice given in other responses here is spot on - there are many avenues to learn development. But that's only part of the education that this program is offering. This looks like a CS + MBA program at a fraction of the cost. And the teachers aren't just spouting off theory - they've built businesses.

So should you do it? If you have 100k in the bank _and you want to start a business_ , then go for it. You can afford to pay your living expenses, learn at an accelerated rate from a highly qualified group of teachers, and build a business with awesome mentors. Your teachers will be people like Jason Fried (37Signals) and Troy Henikoff (TechStars Chicago). This is not for someone looking to become _just_ a developer. They have cheaper programs for design and development.

Don't have extra money lying around? Buy a list of business phone numbers from a reputable company (Dunn and Bradstreet come to mind) in an industry you're interested in and start making cold calls. The list will cost a couple hundred bucks. Pay for a LinkedIn premium account and prospect there as well. If you can't reach out to potential customers, you're going to have a hard time starting a business.

Read about sales and marketing and subscribe to every info marketer out there to learn what _they_ do. How do they write copy, how do they market, what's their funnel like? You don't have to buy from any of them - just observe what they do. Add them to a label in gmail called "marketing", autoarchive every message that comes in, and review the emails once a week. Here's a list to get you started: Pat Flynn from SmartPassiveIncome, Derek Halpern from Social Triggers, Joanna from CopyHackers, Ramit Sethi from IWTYTBR, Dane Maxwell at the Foundation, Trent from BrightIdeas. Of course, don't forget Pat McKenzie and Rob Walling. Sign up to Mixergy for incredible master classes and interviews.

If you have the money and want guidance from an amazing group of talented individuals, that program is excellent. If not, there are other ways to do it.

</comment><comment><USER4> > I feel for just a fraction of $33k, I can get some pretty nice resources > online myself instead of moving somewhere remote and paying that much

That seems pretty spot on to me. $33,000 sounds like an insane amount of money to spend on anything without getting a degree out of it.

If this sort of thing interests you, and you're looking for something at a reasonable (MUCH CHEAPER) price, check out: [http://www.gotealeaf.com/](http://www.gotealeaf.com/)

I am finishing up their 3rd course and I'm very happy with it. I've learned more in the 4 months in this program than the rest of my life half-assedly teaching myself and taking some classes combined.

if you want to chat - gmail breeden.matt

</comment><comment><USER5> Im with shire...there are tons of great resources out there at a fraction of the cost or FREE. If you already have a college degree I would recommend getting an MBA if education is what you are going for. Other wise if you have $33k burning a hole in your pocket my other two recommendations would be 1) Buy a house or 2) Start a business.

</comment><comment><USER6> I'm not familiar with Starter School, but they e-mailed you and they're asking you to pay them money? The fact that they're reaching out to you means that they trying to find customers and likely the interview will most likely be a formality, or a way for them to figure out what they can sell you.

</comment><comment><USER7> Not worth it in my opinion. I'd use the money you have to pay for rent and food and completely dedicate yourself to development. Set a few goals and accomplish them. If you're determined, you won't need Starter School to push you along.</comment>


AMD's Newest Processors Are So Good You Can Skip the Graphics Card - <AUTHOR> https://gizmodo.com/amds-newest-processors-are-so-good-you-can-skip-the-gra-1822920100?utm_campaign=socialflow_gizmodo_twitter&utm_source=gizmodo_twitter&utm_medium=socialflow <comment><USER2> discussion: [https://news.ycombinator.com/item?id=16358631](https://news.ycombinator.com/item?id=16358631)</comment>


Show HN: Online Heartrate Monitor Using Webcam and JS - <AUTHOR> https://github.com/gfwilliams/HeartRate <comment><USER2> That's actually pretty impressive, good job! Should I use my phone flash to achieve better results?

<comment><AUTHOR> Thanks! Yeah, the phone apps that do it turn on the phone's flash and it works much better - but I can't find a way to do that from JS. It seems like one of those things that's in the pipeline but hasn't made it in just yet.

</comment></comment><comment><USER3> App: [https://gfwilliams.github.io/HeartRate/](https://gfwilliams.github.io/HeartRate/)</comment>


Show HN: minicron – a system to manage and monitor cron jobs - <AUTHOR> https://github.com/jamesrwhite/minicron <comment><AUTHOR> Hi Guys, I've been developing minicron as part of my dissertation at university and I'm at the stage now where I need to get as much feedback as possible so I can evaluate the success of my project in general. I'd really appreciate any comments/feedback you have, be it on the code, documentation, idea in general or anything else you think is relevant. Thanks!

<comment><USER2> Looks great! Testing it later :)

Could you write a bit more about the Hub/CLI architecture? is the CLI pushing the output data to a publicly available Hub?

<comment><AUTHOR> Thanks! :)

Edit: Yeah, so the CLI sends data over HTTP(s) to whatever host you configure it to, that could be public or not. As I've said in [https://github.com/jamesrwhite/minicron#security](https://github.com/jamesrwhite/minicron#security) though until I add authentication to a bunch of places and review some other things I don't recommend exposing the hub to the public internet, it should be behind a firewall or only accessible over a VPN etc. Hopefully that clears it up a bit but let me know if not!

</comment></comment></comment><comment><USER3> This looks really cool! Couple of comments:

* This is EXACTLY how you should make a README file for a tool/project, especially on Github. Every project needs to take after this example _before_ they register a domain and create an HTML5 splash page.

* Thank you so much for using existing tools and not building a new cron or transport protocol from scratch. Now I know this builds on top of reliable tools.

* Would it be difficult to remove the web sockets requirement? Orgs with old, non-replaceable web servers/proxies, or old network appliances with layer7 proxies, might find this handy but not be able to support web sockets.

* Instead of a 'DROP TABLE', why not a 'CREATE TABLE IF NOT EXISTS' ? (In my own projects I usually make all the database table/column names into static variables at the top of my code, so people can modify them if they want) Still, it's nice of you to include a tool that modifies/verifies the db automatically.

* Kinda off topic: I just wrote an open-source replacement for Dead Man's Snitch, an out of bound alerting tool intended to be used by cron. If you want I can share the source so you can either use it, or create your own implementation that works with a remote copy of minicron?

<comment><AUTHOR> 1\. Thanks, I put a lot of effort into the README :)

2\. That was one of my aims really, cron is a great tool it's just missing a few things that hopefully this can fill.

3\. I was thinking about this recently actually, I don't see why I couldn't add a config option that toggles between WebSockets and HTTP(s) for the transport of data to/from the hub. I did a bit of research into WebSockets when I was planning this and from what I understand they put a lot of effort into making sure it would work behind proxies/firewalls etc but I can't remember the exact specifics.

4\. That SQL actually comes from ActiveRecord (`rake db:setup`) so I don't have any direct control over it. Long term I want to add proper migrations.

5\. If it has an API of some kind I don't see why it couldn't be added as an alerting option alongside email, sms and pagerduty.

Thanks for your feedback!

</comment></comment><comment><USER4> Really interesting! It would be great if the readme could go into more detail about how the relationship between the hub, CLI, and cron works, including an explicit description of what text goes in the crontab files.

How do you get the reports of each run back to the hub? Are you wrapping each cronned command in a script which captures the output?

Does the hub have its own notion of what jobs exist on each machine? If so, there is the potential for this to get out of sync with what's really on the machine (manual editing of crontab, database crash and restore from an old backup, etc). Is there any way to detect that, and bring them back into sync?

Can the hub form an opinion on whether any job has failed to run when it should? Can that be exposed to something like Nagios?

How do i integrate this with rcron for my highly available cronjobs?

Have you thought about supporing sqlite for a database? It would simplify deployment considerably in simple cases.

<comment><AUTHOR> Sure, that's a pretty important bit to understand so I'll try and add some more information on that.

Yeah, so to convert a cron that ran `ls` to use minicron you would change it to `minicron run ls`. Currently the full command that gets added to the crontab is something like `/bin/bash -l -c 'minicron run ls'`, I use /bin/bash -l so it's easier to get working when you are using something like rvm for managing ruby versions. The command then gets run by minicron in a pseudo terminal so I can capture output line by line or even character by character and send it on.

At the moment the hub only knows about jobs which you create via it or for when you first run a job it gets created, so if you ran `minicron run ls` manually from server1 a job called ls on server1 would be stored in the db. Currently there is a potential for them to get out of sync yes, I had some ideas about how a push/pull type sync feature could work but I ran out of time to work on it. It's definitely something I want to improve in the future though!

Yeah, so the hub knows about any 'schedules' i.e cron expressions that you set up from it, so if you set up a schedule of '* * * * *' i.e every minute and that cron doesn't execute every minute it will send an alert via email/sms/pagerduty if you have enabled them. It does this by polling the database for executions in the background. I'm sure a way to expose those alerts to Nagios could be added.

I hadn't heard of rcron, I will have to look into that.

Yes and I agree! I did have SQlite support at one point but I dropped it because I was using triggers for cascading deletes, I'm not doing that anymore though so it should be possible to add it back pretty easily.

Thanks for your thoughts!

<comment><USER4> Thanks for your responses. This all sounds really sensible.

Concerning rcron, you don't actually need explicit support for it, as it's just part of the scheduled command. However, some integration could make it obscenely pleasant to use. Probably, i would need to manually set up rcron on a group of servers, then configure some sort of 'virtual server' in the hub which contains the servers in the group. When i schedule a job on the virtual server, it is added to the crontabs on all the real servers, but guarded with rcron, so it only executes on one. The reporting would then deal with the fact that only the master in the group actually runs the job: if the rcron wraps the minicron, then it would deal with the fact that only one server sent a report; if the minicron wraps the rcron, it would just hide the empty reports from the non-master servers.

We currently manage most of our cron jobs through Puppet. If we adopted minicron, we'd want to keep doing that. That means we would write a Puppet defined type which adds a job in the hub. It would be really useful if there was an API, or ideally a command-line tool, to do that. It would be nice if there was then an easy way to distinguish Puppet-managed and interactively defined jobs in the hub, so that people didn't attempt to fiddle with the Puppetted ones. Maybe a flag that makes them read-only in the UI, but allows them to be managed in the API? That's probably something we would address in a fork if we did adopt minicron.

Some kind of auditing for changes to job definitions would be useful. We currently use Jenkins for ad-hoc scheduled jobs, and our very weak audit trail for it is a recurrent pain point. Would it make any sense to keep job definitions in a Git repository? Might be quite a pain to provide an interactive UI on top of that, though.

<comment><AUTHOR> Thanks for the info on rcron, it sounds like a really useful tool. I think I prefer the approach of rcron wrapping minicron so it doesn't require added complexity to minicron. I've added an issue here for potentially doing this [https://github.com/jamesrwhite/minicron/issues/66](https://github.com/jamesrwhite/minicron/issues/66) if you want to follow along with the progress.

The fronted is actually all API based, in theory I don't see any reason why external apps couldn't use the API. I'll try and add some documentation for it. I quite like the idea of puppet/chef/whatever defined jobs. When I add permission support to the hub/api you could set up a user for puppet which would have its own API credentials so the API would be able to show who the job was created by. On of the features of the permissions system will most likely be that users can only edit jobs they created unless they are an admin or some kind of user with extra privileges. I think this feature would be useful for a lot of people so hopefully it can be added without forking the project!

Logging activity and some kind of revision control is definitely something I've thought about and plan to add in the future. I remember seeing a ruby gem a little while back that could basically track changes to arbitrary ActiveRecord models, that might be useful here. I've added two tickets for this to remind me! [https://github.com/jamesrwhite/minicron/issues/67](https://github.com/jamesrwhite/minicron/issues/67) \+ [https://github.com/jamesrwhite/minicron/issues/68](https://github.com/jamesrwhite/minicron/issues/68)

</comment></comment></comment></comment><comment><USER5> Oh yes. This looks FANTASTIC. I started writing a similar thing before, but was very basic and I gave up after realising the crontab could not made group writable. I struggled to think of a way to get around that and of course, SSH to the rescue. I very much look forward to testing this out later. Top work!

<comment><AUTHOR> Yeah the crontab permissions are a bit of a pain and thanks :)

</comment></comment><comment><AUTHOR> I just added SQlite support back into master, I'll add it into the next release :) [https://github.com/jamesrwhite/minicron/pull/70](https://github.com/jamesrwhite/minicron/pull/70)

<comment><AUTHOR> Done! [https://github.com/jamesrwhite/minicron/releases/tag/v0.5](https://github.com/jamesrwhite/minicron/releases/tag/v0.5)

</comment></comment><comment><USER6> Great idea! Also see if there's anything you want to steal/borrow from Chronos - [http://nerds.airbnb.com/introducing- chronos/](http://nerds.airbnb.com/introducing-chronos/)

<comment><AUTHOR> Thanks! I've looked into Chronos quite a bit actually, they have a lot of great ideas. I'm hoping to eventually offer something pretty similar but for people who don't want to ditch cron completely.

</comment></comment><comment><USER7> Nice, I will give the feedback as soon as I test it (later today). By the way, I was recently looking for a crontab manager like this and didn't find any, seems like a tool that was missing.

<comment><AUTHOR> Thanks, I look forward to it :) And that's great to hear because that's exactly why I made it!

</comment></comment><comment><USER8> Jenkins is your friend here.

however this does look very sexy.

<comment><USER4> Jenkins is invaluable. However, it is also large and crufty. I love it for running builds and so on on the development side of the fence, but i would strongly prefer something simpler and saner on the operations side.</comment></comment>


Ford Says Its AVs Wil Last Just Four Years - <AUTHOR> https://techcrunch.com/2019/08/26/ford-says-its-autonomous-cars-will-last-just-four-years/ <comment><USER2> If you assume a ridesharing model for AVs, this makes a fair bit of sense. Your typical family car gets maybe 2-3 hours of driving a day, if you live in a long-commute area. An autonomous vehicle will probably get 12-14 hours of driving each day. If you assume it's traveling at an average of 20 mph for 12.5 hours/day, that's 250 miles/day, or 90,000 miles/year, about 5-9x the mileage a typical family car gets. A 4-year lifespan is fairly generous under those conditions.

</comment><comment><USER3> One thing I was surprised out with robot lawn mowers vs normal lawn mowers and robot vacuums vs normal vacuums is how many hours they are used for. I am sure cars are the same way.

My non-autonomous is 10 years old and has 140,000 miles, so 4,000 hours (at average 35 MPH) or 400 hours per year (about 5% of a year). An autonomous car could be driving for much longer, even bumping up to a 15% utilization would now mean my 140,000 miles/4,000 hours would be hit at 3 years!

</comment><comment><USER4> Using years as a comparison point between the lifespan of autonomous vehicles and manually driven vehicles doesn't make sense. Autonomous vehicles will be on the road most of the day while manually driven vehicles generally sit parked most of the day. We should be talking about miles driven as a point of comparison since use is the primary factor that wears out a vehicle rather than simply the passage of time. Whatever that number is for autonomous cars, it will certainly be more in line with what we expect from manual cars than the 4 year comparison.

<comment><USER5> Right but they compared that to taxicabs which take a beating and those on ave are 3.8 years old. (Some are rather old some just off the dealer lot). So if the ave is going to be roughly 2years (recycled at 4years of service) that seems comparatively low.

</comment></comment><comment><USER6> > It's more surprising compared with the nearly 12 years that the average U.S. > car owner hangs on to a vehicle. In fact, Americans are maintaining their > cars longer in part because the technology used to make and operate them has > advanced meaningfully

Was this a mistype? Wouldn't it make more sense to suggest people hang on to their cars for longer, because cars have -not- made meaningful advancements?

Unless they mean that the cars are lasting longer because of technological advancements in manufacturing making them more durable? They're definitely not easier to maintain for the layperson, so I'm certain it's not the Automotive industry choosing to empower consumers into keeping their cars longer...

> Today's vehicles spend most of the day parked. To develop a profitable, > viable business model for [autonomous vehicles], they need to be running > almost the entire day.

This is making sense. If you're running the vehicles like they're commercial vehicles, you're going to induce wear that a consumer would never come close to. Four years lines up pretty well with other commercial vehicle turnover, like delivery vans, utility company vehicles and so on. The article mentions the median lifecycle for taxis is pretty similar, at 3.8 years.

<comment><USER7> No they are talking about reliability and longevity. I'd say most cars in this century are generally very reliable. Toyota started it in the 80s with their superior manufacturing techniques and defect controls.

You're talking about features like Bluetooth, hands free, and driving assistance.

<comment><USER6> I was thinking of core vehicle usefulness, as in cars haven't made any great leaps in usefulness outside of safety improvements, so perhaps people were holding onto them for longer. People were very excited for power steering, air conditioning, all wheel drive and safety features. Most cars are really great at being cars now, any from the last 12 years would do the trick so long as it's still running.

</comment></comment></comment><comment><USER8> There are so many questionable statements in this article. First is the 4-year scrap cycle, which seems to be based on nothing. Then there's the claim that running on-board tech and climate control will cut battery life in half, which might make sense if your battery is ridiculously small (Nvidia's full Drive system fits in a 500 watt TDP). And the cherry on top is the claim of no charging infrastructure (dubious, but even if true, why not build some for a few million of investment?) combined with the claim that fast charging degrades battery life (better not tell Tesla).

I had to look up John Rich on LinkedIn. He's a Ford lifer with no actual electric or software experience as far as I can tell. I'm disappointed.

</comment><comment><USER9> 50 % of range used up by on board tech!?

does that mean that if I switch off the radio in my Model S I'll get ~600 km instead of ~300 km range?

<comment><USER10> It's the AC that eats up power.

<comment><USER9> I think the maximum is about 6 kW in my Model S so if it were running flat out I think I would use about 25% more than if the climate control were switched off. My care typically uses between 180 and 220 Wh per kilometer, say 18 to 22 kW at 100 km/h.

</comment></comment></comment><comment><USER11> The linked article says that the "average age" of a car is 11.6 years. This implies to me that the typical lifespan of a car is almost double that. The average will be skewed by people who have plates on 100 year old cars.</comment>


Two hairstylists with coronavirus saw 140 clients – no one got infected - <AUTHOR> https://www.cnn.com/2020/06/11/us/missouri-hairstylists-coronavirus-clients-trnd/index.html <comment><AUTHOR> Masks, social distancing and staggered appointments. That's it. Those 140 should go buy some lottery tickets.

<comment><USER2> It could also be that great clips saw people paying less for haircuts, which could be younger people.</comment></comment>


Procedural cityscapes creation: Openstreetmap import in Unity and Houdini Engine - <AUTHOR> http://stinaflodstrom.com/projects/osm/osm.html <comment><USER2> Related: I bought this on a whim and I'm yet to try it: [https://www.citygen3d.com/](https://www.citygen3d.com/)

Mapbox have a Unity SDK that has similar functionality: [https://www.mapbox.com/unity](https://www.mapbox.com/unity)

And these guys are doing cool things built upon OSM: [https://osmbuildings.org/](https://osmbuildings.org/)

<comment><USER3> See also: [https://demo.f4map.com/#lat=40.7113593&lon=-74.0034646&zoom=...](https://demo.f4map.com/#lat=40.7113593&lon=-74.0034646&zoom=16)

</comment></comment><comment><USER4> Hello! I'm also working on something similar: [http://www.yourcityracing.com](http://www.yourcityracing.com). I plan to make the toolset open source ([https://twitter.com/jjmontes/status/1288109714631348226](https://twitter.com/jjmontes/status/1288109714631348226)).

</comment><comment><USER5> Is there a software library that has the same "procedural power" as tools like Houdini? Eg, where I could build something like this demo, but purely in Python.

I've tried using Houdini which was very powerful, but was put off by the "visual node builder". I'd like to be able to do something similar, but purely using code.

<comment><USER2> As other people have mentioned both Blender and Houdini are scriptable to quite a deep level.

Blender is also open source. I suspect a combination of Blender, Sverchok and your own code driving them both would be close to what you ask for.

I'm interested in real-time, interactive stuff so I'm doing similar things in Unity. Unity allows scripting and customization right down to close to the metal and the UI is extremely amenable to customization as well. Tools such as Archimatix show how far you can push this: [https://archimatix.com/](https://archimatix.com/)

I'm currently working on procedural geometry and I keep flip-flopping between a simple and fast UI (very creative and intuitive), a node-based UI (slower but powerful) and a purely code-based interface (a weird mixture - powerful, sometimes fast and intuitive and sometimes not). I don't think node-based UI's are inherently bad. It's just hard to make them not suck and I know of very few examples that aren't plodding, inspiration killers.

But code is equally hard to make fluent and inspirational. Discoverability is poor and to do creative "live coding" you need to have a good memory, a great API, awesome autocomplete and a degree of luck.

So I'm developing 3 different interfaces and trying to understand where the sweet spot might lie. Maybe I'll be able to whittle it down to one interface eventually. ;-)

A quick prototype of my "fast" UI is here: [http://www.polyhydra.org.uk/media/fastui/](http://www.polyhydra.org.uk/media/fastui/) Entirely keyboard driven at the moment. Crashes a bit too much but you get the idea. I'm currently refactoring the thing to be more useful as a code library as well: [https://github.com/IxxyXR/polyhydra](https://github.com/IxxyXR/polyhydra) [https://github.com/IxxyXR/polyhydra-upm](https://github.com/IxxyXR/polyhydra- upm)

</comment></comment><comment><USER6> Beautiful work! Do you have any demos of how more complex intersections are rendered? [https://www.openstreetmap.org/#map=18/47.64626/-122.34944](https://www.openstreetmap.org/#map=18/47.64626/-122.34944) is a decent stress test.

And I'm curious, how do you compute road width? Are you using the highway type, the number of lanes, something else?

<comment><USER7> Hi, thank you! I don't have more complex crossings like that yet, but I want to look into it. Fore complex road systems most companies are using HD maps, like the ones from HERE, they have more detailed lane information. I looked up the standard german lane width and then take that times the number of lanes. Then it's also possible to tweak the lane width in the tool. It's totally possible to use highway type for different widths, just haven't implemented that yet! Want to add bicycle lanes and parking lanes, bus lanes as well.

<comment><USER8> This is great! Slowly hacking away at some related topics on lane markings: [https://github.com/kfarr/streetmix3d](https://github.com/kfarr/streetmix3d)

The link didn't come through on your post (" like the ones from HERE") curious if you can try linking to the HD maps again?

</comment></comment></comment><comment><USER9> This is beautiful!

How come computer games don't do this kind of thing? Imagine something like Grand Theft Auto set in any city or even small town of your choosing – automatically generated like this.

<comment><USER10> They've been doing this for a while in 'narrower' rather than open world applications.

Here's an example of a couple of different racing games set in Edinburgh one earlier, one later:

[https://www.youtube.com/watch?v=UqYyvKWLn04&t=2m](https://www.youtube.com/watch?v=UqYyvKWLn04&t=2m)

It does get concerning. Is the matrix construction considered complete when we can't tell the map from the territory, even if we haven't checked its consistency for every vertice?

</comment></comment><comment><USER11> I wonder if you could do this with period buildings or houses/industrial complexes/stores. Maybe that's too complex to manage. But it's still amazing.

<comment><USER7> There is some information about what building type it is, residential, commercial, it's different how much is tagged in different parts of the world, this is Berlin so quite a lot is tagged, but not all.

I'm thinking that using the information where there is information and then doing the rest randomly with some rules is a good way forward. Of course the type of building doesn't say which style it is in but I've been thinking about using area size of OSM building shape for example, a very big area is probably a modern one, a very tall one as well if that information is there.

There seams to be some movement around mapping the building style and/or features in the ML space though, using crowd sourced images, point clouds. Would be amazing to be able to feed that into the system and get facade material, color, architectural style.

-stina flodström

</comment></comment><comment><USER12> Does anyone recognise any of the streets well enough to find the same scene on Google Street View? So we can make a comparison?

<comment><USER7> Hi, dev here, most of the video is from the area Bergmannkiez in Berlin, the one with a lot of trees is for example Friesenstraße. Looking at streetview there should definitely be more parked cars everywhere :) /stina

</comment></comment><comment><USER13> Very cool. I immediately recognized this procedural city as Berlin. Guess it's working pretty well.

<comment><USER14> Likewise. I wonder how much of that recognisability is the general shape and surfaces of the buildings, how much of the height of the buildings, and how much is the street furniture and the trees?

</comment></comment><comment><USER15> The music is really stunning, could anyone tell me the background music of it?

<comment><USER7> Pink Flamenco - Doug Maxwell

</comment></comment><comment><USER16> Neat. Once you add zoning aka biomes, it seems like this could be really useful in generating realistic game maps.

<comment><USER17> I read, "Once you add zombies..." and had a great idea. :)</comment></comment>


Ethereum is coming to GDAX/Coinbase Exchange tomorrow - <AUTHOR> https://www.reddit.com/r/ethtrader/comments/4kp2eo/gdax_ama_my_name_is_michael_i_head_up_support_for/ <comment><USER2> It doesn't seem like it...</comment>


Ask HN/PG: Down votes with a cost or public - <AUTHOR>

It's becoming common to see well written comments in the negative. This breaks the rules but it seems new users don't bother respecting the current etiquette. Anonymous down-voting makes it trivial to hide, unlike the poster being open and public about his opinion. This situation is very unfair because writing involves some dedication and courage while some random troll can just click and go on.
A possible and easy solution to this could be to make down-votes cost in karma. Not just in a 1-to-1 relation because that would add bias, favoring higher ranked users. Perhaps 1% of current karma rounded up to 1?
Another alternative could be to make down-voting public in some form.
I think this is a very important problem as there are active groups gaming social news websites like HN.  In particular Digg's case last week.
Edit: minor style. <comment><USER2> I don't think there is any current rule or dominant etiquette around down- voting, only people that follow different rules or etiquettes, all of them self-imposed. Since Paul Graham is fine with down-voting for disagreement (<http://news.ycombinator.com/item?id=117171>), you can't really object if others do the same.

I recommend just taking karma points less seriously.

<comment><AUTHOR> I'm perfectly fine with that. What I don't like is the anonymity and 0 cost of down-voting and the gate it opens to groups gaming the system like it was found on Digg.

</comment></comment><comment><USER3> What's wrong with favouring higher ranked users? Don't they have more karma because they exhibit behaviour we'd like to encourage?

I like the Stack Overflow approach, where downvoting costs the downvoter karma, but less than being upvoted gifts them.

<comment><AUTHOR> There are hundreds of accounts with over a thousand votes. It wouldn't be meaningful for us to lose a few points per day if we wanted to censor. In particular early down-voting can affect what comment gets to be the top on a discussion. Also, comments with negative points are grayed out.

</comment></comment><comment><USER4> The problem with making it cost is no one would down vote the obvious spam and one liners. I think making it public or having meta-moderation where users are asked to review down-votes, where if you do to many down votes that meta- moderators flag as incorrect, then you get down-vote privileges removed for x amount of time with 3 strikes and your out and you then have down-vote privileges permanently removed.

<comment><AUTHOR> For spam you have the flag option. Down voting should be rare.

</comment></comment><comment><USER5> This has been brought up before: <http://news.ycombinator.com/item?id=214398>

<comment><AUTHOR> I know, but this post proposes 2 solutions to the problem. I haven't seen this before.

Also that thread talks about the correct use of down-voting while I address the issue of anonymity and the asymmetric costs to the writer vs. the down voter.</comment></comment>


Ask HN: Who should we hire? - <AUTHOR> My SaaS business is growing and focus has become a problem. It's me and a co-founder and we've decided to make our first hire.
We posted a Head of Customer Success position and have received over 700 applicants, but only a few stand out.
After reviewing all the applications we've somewhat pivoted our thinking. We're now feeling we need more of a generalist rather than a specialist. Someone that can help in other parts of the business.
Our main need is with customer support. But, there's not enough volume to warrant a full-time dedicated person. Both me and my co-founder do it now, and would likely continue to do so in some capacity.
I'm curious if anyone has run into this dilemma. Who was your first hire? <comment><USER2> Maybe another dev who can cover support. This way you can spend your time on strategic activities rather than tactical.</comment>


A ray tracing technique used at PS4 in the game Gran Turismo Sports - <AUTHOR> https://www.gtplanet.net/polyphony-digital-reveals-gt-sports-iris-ray-tracing-system-at-cedec-2018/ <comment><USER2> Hey dreampeppers99,

You'd probably like [https://www.reddit.com/r/videogamescience/](https://www.reddit.com/r/videogamescience/) :)</comment>


Stanford to run its entrepreneurship course in London from this autumn - <AUTHOR> http://www.bbc.com/news/business-31840175 <comment><USER2> Too bad for Paris that the program won't be taught there anymore</comment>


Million Dollar Shack - <AUTHOR> http://milliondollarshack.com/ <comment><USER2> For those who are not clicking, this site just houses a YT video located here:

[https://www.youtube.com/watch?v=SBjXUBMkkE8](https://www.youtube.com/watch?v=SBjXUBMkkE8)

> Our family has been priced out! Has the Bay Area gone crazy? Real estate > prices have doubled in the last few years, a tent in the backyard can rent > for $900/month, foreign investors are driving up prices, evictions and rent > hikes are everywhere, people are commuting longer than ever, the middle > class is disappearing, empty investment homes are everywhere, and locals are > leaving in record numbers.</comment>


Query: Open source agile project management software ? - <AUTHOR>

My team is looking for an open source project management tool for agile software development projects. We've found a few (XPlanner, Agilephant) but have found them to either be either incomplete, immature or defunct (abandoned project). Can you recommend some software that we could use ? <comment><USER2> You might want to check out dotProject. I've played around with it a bit and there is a lot of functionality. It doesn't have the simplest or most intuitive UI, but it's free.

<http://www.dotproject.net/></comment>


Ask HN: Any devs interested in exchanging help/labor? - <AUTHOR> Examples:
x hours of frontend work for backend work
Setting up AWS infrastructure for single page application
Database migration for ansible scripts, etc <comment><USER2> I'd be interested. I can offer help setting up robust Google Analytics / Google Tag Manager configurations and (useful) dashboards that can help you run your businesses, start up, and side projects.

I'm currently looking for some vue.js help on a Laravel-based side project I work on very very rarely but would love to take a bit further.

</comment><comment><USER3> I've had this idea floating into my brain for a few years. I get excited about it for a weekend, realize how much work would be involved to facilitate the exchange in a "fair" way, and give up.

I really hope someone pulls the trigger and builds this out!

</comment><comment><USER4> Yeah I've always wanted from find something like this. Help people in my areas of expertise and get help from other people in theres.

Seems like it's be especially helpful in the design/architecture phase of a project.

</comment><comment><USER5> Just a friendly reminder: Please note that if you want fellow HNers to reply to you in private, then you need to add your email address in your "bio". The email field is only visible to the admins.

</comment><comment><USER6> There is a platform, that offers exactly that: [https://wolv.io](https://wolv.io)

<comment><AUTHOR> Thanks for the link. I was thinking more of a direct exchange of hours rather than a "lending." Seems to align more incentives that way.

</comment></comment><comment><USER7> That's a neat idea - maybe we can start with this small group?

</comment><comment><USER8> Yes! I like the idea.

</comment><comment><USER9> Same, love this idea</comment>