The issue I take with this opinion as noted above, it selects for people who have available time. I am genuinely interested in programming, but I come home and spend time with my 4 month old son.
I think the "more than just a 9-5" idea is a toxic pattern which has been championed by the privileged. In short, by wanting something like this, you risk selecting for a fairly homogenous set of people.
I think you can write a good coding challenge which doesn't look like all the others (the socialite example in Takehome.io is particularly good because it scales with skill level – it's not a pass/fail, but a spectrum from just making it work, to showing you have thought about and dealt with an array of odd things that might crop up).
That's fine, and I think the nonsense testing that is popular with valley jobs is a toxic pattern as well. I'm sure there are reasonable coding challenges, but none of them are ever highlighted around here.
The biggest reason for this attitude stems from the immense amount of people who are getting into CS just for a paycheck. Sure, we're only working to get paid, but in my experience, these people have zero motivation outside of it. Endless hordes of bootcamp type people, who see six figure salaries, and can spew out all of the stuff they've memorized in a book. Without actually thinking about why or when. I'm not looking for "rockstars", "ninjas", "gurus" or whatever other nonsense words phrases use, but rather people who are genuinely interested in their field.
I don't understand why we're rebuilding Resqueue/Sidekiq in Elixir. This seems like a problem which is solved largely by OTP.
Yes there are issues with back-pressure and over-filling mailboxes, but I can't help but wonder why you'd want to bring Redis into the picture when asynchronous processing is built-in for you.
Similarly if you want more robust queueing semantics, isn't RabbitMQ there?
OTP won't out of the box persist jobs that you want to guarantee that it will run.
It won't also retry and it can't schedule jobs to happen in the future.
Unless you are willing to lose the jobs that are just in memory you can simply use Task and send messages.
RabbitMQ also does not handle retries with backoff, scheduled jobs, etc.
Disclaimer: maintainer here.
Edit: I added the "with backoff" to not mix with automatic reenqueue if you reject a message from a Rabbitmq consumer.
That's a great question. I chose Redis for 2 reasons:
* Simple to use
* Compatibility with other systems like Sidekiq/Resque. Out of the box it will understand their clients.
My experience with Mnesia is close to none but I know it's not trivial to deal with split brain scenarios for example. It's also complicated to connect multiple nodes for my use case (using docker) and also to deal with moving instances inside a cluster. I would need to care about the locality of the data.
One can use any Redis service (AWS Elasticache, Redis Labs) and not care about maintaining a database. The Verk user just needs to have a working Redis database.
I'm pretty sure that having the database in the same space as the job processing system would speed up things. I would love to see a project that tried this approach. Probably not using JSON but simply Erlang terms.
Honest question, what is redis then? I've used it for all sorts of reasons, it seams like a swiss army knife, caching, queing, pub/sub, persistence, non-persistence all-in-one utensil. You can do a lot with it, and if it's already in the stack, it's a lot easier for others to reason with.
I started using Red Pen when I was working with Katie (who is a rocking designer) at one of my previous jobs. I've then taken Red Pen and used it at a bunch of other places now.
I've always ended up with bunches of printed mockups with annotations on them which are hard to version and end up piling up on my desk. Red Pen means that I can work with anyone to get a design just right.
The issue with round robin routing is that you can't do it in a distributed routing mesh. You need to share state between routers and that coordination overhead is non-trivial.
To me it seems that all this talk of "Google took away my data" is rather silly. From what I can tell, Google Analytics previously would get keyword data from referrer data, which is not passed on when using https. Thus the lack of keyword data is attributable to Google improving their search experience.
I have heard arguments suggesting that Google does indeed have the search referral data, but it is not as easily attributable as when you could rely on http referrers, since it requires matching clicks on a SERP (which powers the webmaster tools data which you get) with people landing on your site. Not impossible, but not trivial either.
It would be really nice to know which search terms people are converting on (for reasons othan SEO). Unfortunately, we don't have that luxury at the moment.
I'd wager that Azure is targeting a very different part of the market. There were some really handy things in Azure, and there's some really handy things about Digital Ocean. In the end, Azure is not chasing people who only want to pay $5/mo for a server.
I've had a few issues with Azure myself, but that never caused me to question the pricetag.
Will not treating DO as a serious threat come back to bite them? Quite possibly. Are they worried about it right now? Seems not.
Azure doesn't seem to be at all competitive with Amazon either. Azure A1 (1 "Core", ~2GB RAM)'s 1.5x more expensive than Amazon's similar offering. Is that difference due to Windows licensing?
I may be dense, but this does seem like a slow follower to Prismatic and co. It's interesting in a way: kind of pretty, but it doesn't seem like it's going to change my world.
Of course, I half expect to be proven wrong because I've now voiced my doubts.
I think the "more than just a 9-5" idea is a toxic pattern which has been championed by the privileged. In short, by wanting something like this, you risk selecting for a fairly homogenous set of people.
I think you can write a good coding challenge which doesn't look like all the others (the socialite example in Takehome.io is particularly good because it scales with skill level – it's not a pass/fail, but a spectrum from just making it work, to showing you have thought about and dealt with an array of odd things that might crop up).