skysight-inc/HackerNews huggingface dataset:
strmpnk beat me by 7 minutes, here's a link to the Erjang project: https://github.com/trifork/erjang

It's not really "BEAM on the JVM", it's actually a translator of BEAM compiled code to JVM bytecode. But the concept is similar, the target for Erlang is important, but so far a variety of things have been used. JAM was the original VM, later BEAM, later BEAM with HiPE. See [1] for some more information. There was also, apparently, an Erlang-to-Scheme translator. It'd be interesting (does this exist yet?) to see someone implement Erlang semantics in Racket.

[1] http://www.erlang.org/faq/implementations.html
This does not seem like a well-planned marketing campaign. Uber and its competitors would've done well enough on pure demand alone without having to say anything. But now they've decided to (inadvertently or not) jump into labor politics, which will almost certainly be interpreted as an effort to sap the strike of its power...and this effort will be associated particularly with the affluent who are wealthy enough to use Uber. I'm not saying the labor strike is right or wrong, I'm just saying that there is no way to stay out of the politics with this kind of marketing campaign, no matter its actual intentions. So I hope the contingency for blowback was planned out, and that this was not just the marketing department's way of riffing off of current events.
> Note that the people who espouse Erlang are espousing the Erlang VM (mainly because it doesn't have a name besides "the Erlang VM".) Nobody likes Erlang's syntax.

I think lots of people like Erlang's syntax and find it well adapted to what Erlang strives to do. There are certainly people who don't, but like its features, but I don't think its at all true that praise for Erlang is just praise for BEAM (and, yes, the current Erlang VM does have a name, as does its predecessor, JAM).

I mean, Erlang's supporters have made Erlang-to-C and Erlang-to-Scheme compilers, and the main distribution includes a native code compiler (HiPE), so its pretty clear that its supporters don't think that the VM is the only good thing about Erlang.
DSploit Scam and the Guy Who Made Our Small Income Gone Forever
> UBob doesn't even tread into the crux of the matter, which is that code style and system architecture bent to the needs of testing becomes a ball of mud (though "testable") faster than code written without this consideration

Not to mention that GUIs, algorithms, stored procedures and a lot more other types of architectures are impractical to write, if at all, using TDDs approaches.

I never saw a way that could convince me to use it in such cases.
Well, you already mentioned Dawkins, but to anyone else reading this, I can't recommend The Selfish Gene enough. It dramatically changed the way I understand nature, and with the chapter on memes, the way I understand culture. I hear The Extended Phenotype, again by Dawkins, is also excellent, but regrettably, I haven't read it yet.

I also highly recommend Dan Dennett. He covers these topics more directly. Intuition Pumps and Other Tools for Thinking covers his thoughts on consciousness and evolution in a very direct and superbly clear manner.

Dennett also co-edited an anthology of fiction and non-fiction called The Mind's I with Douglas Hofstadter (of Godel, Escher, Bach fame). It was one of the most interesting and enjoyable books I have ever read. It covers a very wide variety of topics surrounding the editors' theory of the mind, including the classic dualist/materialist debate (the editors are distinctly materialists), evolution, the mechanics at the core of consciousness, and so much more. It's another one that I can't recommend enough.
I like it a lot - but I don't think it'll ever make car washes completely obsolete. There are quite a few places that can still get dirty, e.g. tires, rims, wheel arches, lights, grilles, windshield wipers, mirrors, and ofcourse not to forget the big elephant in the room; the interior.

If this really catches on and becomes commonplace in most cars, I think this in the end will complement the car wash industry just fine.
I solved the travelling salesman problem in constant time but this margin is to small for me to write my answer.
Possibly, but I also think I am accurately summing up DHH's article http://david.heinemeierhansson.com/2014/tdd-is-dead-long-liv... and UncleBobMartin's reply where both talk about TDD mocked tests passing in seconds.
> I find the no benchmarking clause to be absolutely ridiculous in this environment

That's called a DeWitt Clause and most database ELUAs have it.

http://en.wikipedia.org/wiki/David_DeWitt
End of the day, leaders make many decisions based on intuition. Facts guide that intuition, but running a company, team or other organization is more of an art than a science. This is obvious to anyone who has ever worked anywhere.

Can you train people to be more intuitive and clueful? The answer is of course yes.
Thanks, I replaced it with the huge ugly full URL, does it work now?

edit: well, removed the link entirely, better?

edit 2: welp, I can't delete it either so whatever. Thanks for the notice and help.
can't the car self - deactivate when checkups fail?
You can do that now already, e.g. pretend to quickly step on a road while a car is approaching and watch the human drives hit their brakes. Yet I don't see that happening because the majority of people aren't jerks.
It's great for tab-completion of remote paths for scp & friends.

It does have a few quirks though. One that I've noticed is (IIRC) that closing a shared session isn't sufficient to pick up new groups membership when you reconnect. You actually need to kill the master connection as well[0].

The syntax for shutting down a master connection is a bit clunky as well:

ssh -O stop -S ~/.ssh/mux/socketname hostname

I've been meaning to make a little script or 2 that finds the current mux sockets and tests them with -O check and give you a list of simple IDs you can 'ssh-mux-kill $id' or something. In fact, it'd probably be a nice use for percol[1]

[0] There might be other ways of refreshing group memberships, but I don't know of any.

[1] https://github.com/mooz/percol
The kind of people who would abuse that system likely already act that way expecting the human driver to break.

The point of an auto breaking system is to prevent accidents when a well-intentioned cyclists makes an error in judgement.
> Pretty and "clever" code is useless unless it does what it's supposed to do.

Except DHH is not advocating 'pretty or "clever"', he's advocating readable and comprehensible code. I think it's unfortunate for you to put this trumped up straw man in the middle of an otherwise cogent argument.
"If you can afford to invest $80 in Apple stock, but you cannot afford to invest $565 in Apple stock, you should not be investing $80 in Apple stock. I can point you to some very nice index funds, or just, like, I mean, open a checking account."

Back when I was a kid, learning about financial literacy, the stock market, etc. my parents encouraged me to buy shares in a company I liked, whose products I used, etc. It wasn't a shrewd investment strategy, or a balanced portfolio (those would come later), but an introduction to the market, brokerages, etc.

I put in as much as I could, being, you know, 12 or so. It was less than $565.

Post-split, my cost basis on those shares will be a hair under a dollar. I've very glad, at the time, that a share of Apple stock was accessible to people like me.
This is not an all-or-nothing proposition. Unit tests have their place in protecting against regression and validating known invariants. Granted, by not starting with a test for every bit of functionality, it's not really TDD, but why can't we balance practicality with perfectionism?

I think that DHH was implying that blindly following the TDD methodology may lead to worse code that's riddled with architecture simply for the sake of testing.

I feel that using TDD for one or more subsystems may make sense. For the entirety of a large-scale application under tight shipping constraints? I haven't seen it work - but that's not to say that it doesn't.

What's important is that we test our code. If you need some strict guidelines to keep you in check, then perhaps TDD is perfect. If you know that your can get significant coverage from integration testing, then it's probably sufficient. If you find a bug, and put a unit test in place to make sure it never happens again - then you're likely on the right track.
As I understand it, ETS is itself an in-memory database that comes with its own data model, but it doesn't let me build one out of my own data structures and algorithms, which is what I had in mind.

Also, I think, all data has to be copied in and out of ETS. It cannot be referenced in-place, which is going to slow things down quite a bit. (Correct me if I'm wrong. I have no first hand experience with ETS)
I was fortunate enough to publish Seth's final column this morning.

http://betabeat.com/2014/04/seth-roberts-final-column-butter...
Ever heard of trolling?
Datomic doesn't have an O/R impedance mismatch, which is a Really Big Deal.

I attempted to explain this here: http://www.dustingetz.com/2013/03/26/orm.html
The Universim - Planet Management God-Game
DataBeat – May 19-20, San Francisco
Talk about giving the London cabbies (who do have the ear of Bo Jo) a stick to beat uber with - yet another sv company with the political sense of a dead hedgehog in a paper bag.
To a certain extent TDD drives you towards smaller classes and methods, yes. But I'd call that a good thing - readability goes way down as soon as a class is doesn't fit on a single screen.

(And if you're starting with a big class, just drawing lines and cutting it into smaller chunks won't get you something testable. You have to keep related pieces together and split unrelated pieces apart, i.e. separation of concerns)
Presumably Uber will have a 4x surge during the strike.
URX Raises $12 Million, Sets Sights on Links Inside Apps
The Death of Twitter
DHH criticises “good tests” and “being testable” as meaningless goals; he characterises TDD practitioners as being fixated on testing qua testing, completely focused on testability and associated metrics (coverage, ratio, speed) in their own right, as if they blindly believe those things to have intrinsic value.

That’s inaccurate and unfair. Testability is useful precisely because it’s an effective, tangible proxy for other properties of software that are harder to anticipate or recognise: things like modularity, composability, reusability and so on.

Tests are useful on many levels, but at their most basic they provide a second client for your implementation, encouraging you to think harder about what each part of your software is doing and how it’s doing it. They give you an opportunity to step outside of your immediate goal and look at your software in a different way, from a different angle, with a different set of priorities. This gives you more visibility on the decisions you’re making, and that’s almost always worthwhile.

If it’s a nightmare to isolate a piece of your implementation in order to test it, what does that tell you? Directly: it’s not very “testable”. Indirectly: your design is perhaps a bit tangled up, and you probably could work harder to separate concerns and isolate dependencies and think carefully about how the pieces interact and what they individually mean, and it might be difficult to compose those pieces in different ways later. Would you have noticed those problems anyway? Probably, but going through the exercise of writing tests is one way of increasing the chances of noticing them sooner, while you still have a chance to do something about them before they become too baked-in.

In my experience TDD can lead to better designs, because it provides a simple, learnable, repeatable discipline that makes it more likely that you’ll notice design problems sooner. (There are other design benefits too, but I’m trying to focus on the least contentious one.)

Some programmers may be proficient enough at spotting these problems early that they don’t get any benefit from “testability”, and some may exert enough control over their software’s user-facing behaviour that they are able to dodge complexity at the requirements level, but for the rest of us it’s a useful litmus test for avoiding messy, knotted code. Being testable doesn’t make an architecture good, but good architectures tend to be easier to test.

I haven’t seen any sensible person say that TDD is a wholesale replacement for thinking about the design of your software, so it’s misleading to argue against that idea as if it’s representative.

(cross-posted from http://lists.lrug.org/pipermail/chat-lrug.org/2014-April/010...)
I think there's an important, unspoken point he was rebutting. When DHH uses the word fundamentalist, it conjures a vauge notion in our mind. "oh, I get it those TDD people are just a cult. I'm sure they're just going to predictably respond to this with their closed minded mentality." I'll admit this is somewhat how I felt when reading DHH's article. This sort of intro breaks down that expectation in the reader.

It's not just about meaning of the words, it affects the reader's biases. Basically, it's countering one rhetorical tactic with another.
A software bug IS a human error. We need to accept the overall better (statistical) performance. In aviation this works out pretty well. As well a bug will harm at most on a limited number of events after which it is weeded out (like in aviation). The same human error (eg. drunk driving) will occur over and over again.
If the coating is anything like Neverwet it's not the initial application and demonstration where the issue lies, but in the long term use and breakdown (aka will it still work after being in Arizona heat and Alaskan winters?)
The linked article does not support your assertion. It speaks to being careful not to overuse mocks, but does not state that mocks are inherently distrustful. If anything, it implies the opposite since it is saying "here are some things to avoid when using mocks", which implies the usage of mocks in the first place.
Much of what Joel preached is pretty opposed to Uncle Bob.

I would put Joel's opinions and advice as "somewhat interesting" on a scale where Bob Martin's advice on Agile, OOP, and testing "defined a generation of developers".
Uber seems to like getting into politics.

I suspect they see the resulting press coverage as free advertising.
I don't think it's quite that... If a human driver makes a mistake, the driver is liable. If the car makes a mistake, the car manufacturer is liable. This is true today; if you're driving along and you swerve into someone/something, that's your fault. But if your wheel falls off because of a manufacturing defect the car company is going to get sued. The car company faces a much higher liability risk, because they're responsible for ALL of the cars they manufacture, unlike the driver who is responsible for a single car.

It'll be the same with automated driving software. All of the liability for accidents that occur in cars using the software will be concentrated with the software developer, instead of distributed amongst all of the drivers. That might be too much liability to make the business viable.

The good news for us drivers: our insurance rates should drop once the cars are fully automated and manual control isn't even possible. At that point we'll just be passengers, and we shouldn't need to pay insurance.
The problem is that TDD only works in a subset of problems and programming languages, but it gets sold as the ultimate solution.

I am yet to see usable TDD approaches for strong typed languages in projects with dependencies to third party binaries, specially if those binaries are native code.

No proper way to design and test UIs, complex algorithms and data structures with TDD.
This is very interesting information for me. I'll have to test it.
"a bit of a WTF to say the least."

Perhaps I can help clarify it a bit. Note that I liked the guy and his attitude (although I never met him) but have never embraced his research, may as well get biases out of the way.

As a psych prof he became very interested in WHY people get hungry. If you can control when and what you desire to eat, then you can eat whatever you desire whenever you want, yet you can trivially control your nutrition / weight.

Needless to say the hair shirt crowd and the neo puritan crowd see this as a direct attack against their core beliefs, no improvement should be possible, should be allowed, should even be non sin ful to think about, without agonizing suffering. Who is being rationally scientific and who is suffering from a mental illness impairing their day to day lifestyle is an interesting question where I have an intense bias.

Personally via experience I agree with most of his general theories although I disagree or have no opinion WRT some of his techniques and choices. For example I have a very low refined carb low grain low sugar diet, and the idea of eating a sickeningly sweet snickers bar now is kinda nauseous, so although I could trivially afford, obtain, and eat an entire box of snickers bars, there's no way I'd do it other than a survival situation, although as a young-ish adult I gobbled those things up with predictable results.

Seth's theories about how to get to that kind of ... mental state or whatever ... might sound a little weird. But they worked for him, and seem appropriate for a psych professor to professionally comment on, so he's probably completely correct, however weird it may sound. A psych prof commenting on psychological state (at least WRT appetite) probably has more wisdom than any CS/IT guy on HN commenting on a psych topic...

The controversy is all in the application. His theory seems sound, now its all people freaking out about how it can be (mis)applied. That's where all the screaming is happening, no one at a professional level seems to disparage his actual theoretical psych work.

Its like debating the morals and ethics of Maxwells equations in a debate about net neutrality. Maxwell's probably right; doesn't imply much one way or another about the morality of the position purchased for the FCC. Although both topics are certainly in the same field of human endeavor.
Crime of the future: change the road environment at the right time to get the target's car to crash themselves.
> I don't really understand why people would use Uber in
> London when services like Hailo exist

UberX is much cheaper, and if you want some luxury, Uber Lux is still pretty cheap. UbiCabs and Addison Lee are the real competitors (for my custom) - fixed-price quotes FTW.
Brian Cohen says startup success is about relationship building
So at $1 million per, there is ~$15 billion in notional medallion value. That's a tiny slice of the New York City economy.

The individual impact will be pretty large, but I doubt it would be much of a problem for the city as a whole.
Digital Open Houses
How Linked Data made merging 3 data sources easy
Let's put it this way:

If it wasn't for the Google brand -- with the power to promote Gophercons and hire full team language devs -- there wouldn't be a chance to see Go rise above Nimrod, D et al.

What they do have going for them is:

1) A rather complete standard library (because of many paid full time devs compared to any indie language)
2) An easy familiar syntax
3) A simple (but far from complete or unique to them) concurrency story with Channels/Goroutines.
4) Nice tooling (again due to many paid full time devs -- Java and C++ have better, but most languages have worse).
Actually Reading
A single most effective SaaS email follow-up you're probably not using yet
I guess mocking or not mocking was not my take from either of their articles. I thought they were both about test scope. Mocking is one way of limiting test scope but there are others.

I'm ok with different readings of the articles as long as TDD doesn't start automatically being associated with mocking.
Oh cool, I actually spotted your office on a late night walk home a few weeks ago. I'll drop by when I'm in the area during the day.
Not so much him, but the ones who repeat what he says as gospel.
Such work could help develop ways to use asteroid material for construction or spaceship fuels, making the captured asteroid a stepping stone for human missions to larger asteroids and eventually to Mars.

This has nothing to do with Mars. NASA's current political climate is to say that Mars is their goal and everything is a stepping stone towards it, but this isn't providing any of the key technologies we need for a manned Mars mission (heavy lift, artificial G, Mars landing craft).

EDIT: Not that this is without value. But sell it on its own merits. Saying "we need to mine asteroids to go to Mars" is making it harder to go to Mars.
OK I've seen a dozens of different products like this. First time 8 years ago. Why are they not in production yet? Why can't I buy it in shop? Is it highly toxic or just works for a year? #confused
Maybe you're the only person in the world who's never made a mistake when manually testing new code? My test suite isn't perfect but it's more reliable than I would be.

(if you're thinking "do both": if I thought the test suite wasn't reliable enough, I'd get a better return on time spent improving the test suite than I do on doing manual testing)
Argh. That's spin. The Cloudflare post you are talking about was written so convincingly that Bruce Schneier summed it up as "Cloudflare believes it is next to impossible that this vulnerability will leak keys".

You have to consider the whole post, which led off with why Cloudflare believed keys wouldn't leak, then went on with a 1000+ word description of how malloc() worked, complete with diagrams, and then concluded with a belief the keys wouldn't leak.

If, instead of running "The Cloudflare Challenge", Cloudflare had simply had you generate the memory diagrams that you built last week, it would have been a different post and less of a waste of everyone's time.
I guess your mileage may vary, but in my experience, it isn't difficult to write reasonable code that ngmin fails to handle properly, and it's difficult to debug when it happens. It seems the best thing to do is to start with ngmin from the get-go and adopt a style guide that works with it. But I like the idea of a library that abstracts it away altogether.
The intended use might be defensive, but ballistic missile can be used for offense.
This isn't the first time Uber has scabbed during a transit strike. They're openly hostile toward organized labor.
I would say choosing C is just fashion too. For any software development project technical merit limits language selection to a very broad category of languages. After you get to that broad selection of languages all narrowing is non technical (fashion) driven.
The hydrophobic/oleophobic coating bay could be another option at the car wash.

That's a great idea.
Dear Uber, do you know how I will take advantage of the protest? I'll walk home, you can stay in as many traffic jam as you like

cheers
It's pretty clear why, because there are too few cars with automatic breaks. When 100% of the cars have them, you might see it.
The earth doesn't have an unlimited supply of resources. Asteroids are literally loaded with minerals. At some point we are going to deplete the earth and will have to start looking to the skies to get what we need.
one minor annoyance is that there's a max limit to the ControlPath string (seemingly due to there being a max path length for Unix Sockets) which I've occasionally hit when connecting to hosts with very long hostnames (AWS default hostnames can sometimes hit it, IIRC).

Also note that the docs recommend against using publicly accessible dirs such as /tmp/ for storing your mux sockets. I'm not sure of the exact threat (maybe just info leakage about what hosts you're connected to, since the socket permissions themselves are strict), but I use ~/.ssh/mux/ for mine.
Network Neutrality – the perfect and the good