skysight-inc/HackerNews huggingface dataset:
This post cites a much better article by Marcus Jones on the boat and the context in which the boat was developed: http://www.usnwc.edu/getattachment/dd165021-2812-40ba-847f-d...

Jones's article is better in the sense that it is more reasoned and without single-paragraph overstatements like "But everything about the Type XXI was a mistake." It also, unfortunately, takes more effort to parse.

Jones's article also has different take: "...this paper argues that the U-boat Type XXI was nonetheless not nearly so unrealistic a solution as [Tooze's] account suggests...", and also suggests that while the Type XXI was an evolutionary solution, it's accelerated development was revolutionary.
You are mistaken. The consensus process does not allow for someone to "arbitrarily change the rules on a whim or influence the outcome of a transaction on a one-off basis".

Here is a youtube explanation of consensus: https://www.youtube.com/watch?v=pj1QVb1vlC0

and here is an explanation on the Ripple wiki:
https://ripple.com/wiki/Consensus

and a brief explanation on stackexchange:
https://bitcoin.stackexchange.com/questions/7550/how-does-ri...

You are correct that I am involved in the project. I think Ripple consensus is a more practical, faster, more secure, and less wasteful solution to the double spend problem than proof of work. Happy to entertain your arguments to the contrary.
A Youtube Phishing Attack You Need to Watch Out For
Ya, it is a very impressive project. :)

I just hope they can sustain it long term.
and hopefully a css native <blink> tag !
I'd love to know how you started to develop a game for Steam. I thought yo had to be "Green Light". I have a few ios games and WiiU game I'd like to take more mainstream..Can you share how to get started?
I think people solve universal login without any service fairly successfully. They use the same email as account name and the same password on every service. There is really no need to have some external provider that manages "universal login" however convenient this might be for advertising and marketing purposes.
Our environment can't handle the damage by the time we get fusion to be useful for us or solar/battery become efficient/cost effective. We need to be thinking for today, as in right friggen now. Everyone I have ever seen or heard talk about this issue is always proposing the solution won't be too far away because of X.

NO IDIOT. We have the technology to stop all this right bloody now! One of which is so overlooked it's offensive. Latest Gen Nuclear fission should be replacing coal plants en-mass. The fact that it's not is so disheartening that I just want every coal lobbyist to choke on his own toxic waste...
That's a sunk cost.

The question wasn't "is it profitable to begin mining Bitcoin?", it was "is it profitable to mine Bitcoin?"

Miners already have the equipment - as long as proceeds don't drop below energy costs, mining will continue at current levels.
Show HN: Artiklur, a new kind of speed reader
> The answer to this conundrum is often: that's the job of the integration tests. Okay, but integration tests are slow, so you'll never test all the permutations of the interactions of the components.

Integration tests aren't necessarily slow in any dramatic way (though they'll naturally be slower than unit tests), but in any nontrivial system you still won't test all the permutations of interactions between components because the number of such permutations will be prohibitively large even if integration tests were as fast as unit tests.

My preference is to aim for path complete integration tests, and thorough unit tests.

> When working with something as complex as an ORM like ActiveRecord, isolating the business logic and using the ORM strictly for persistence may allow for fast tests, but you still run the risk of bugs creeping in on the interface because of some assumption about or change in the way ActiveRecord works between versions or whatever.

If you isolate the domain and persistence layers rather than combining them the way Rails seems oriented toward, the persistence layer still ought to be a testable unit -- and as its job is persistence, you wouldn't isolate the database from it to test it. OTOH, its a unit that should be more stable than the model layer in most cases, and you won't pay the higher costs for running its unit tests when you are making changes to the model layer.

> That's why, as ugly and slow as Rails unit tests are, they are a simplifying compromise that strikes a balance between the theoretical ideal of a unit test and an integration test.

Why compromise between unit tests and integration tests when the two aren't exclusive and serve different purposes? Why not actually have good unit tests and good integration tests, instead of beasts that are neither fish nor fowl and are less than optimal as either?

It seems that the argument here is based on the false dichotomy that suggests if I do unit testing, I can't have integration tests, so I either need to just do integration tests or, for some reason, trade both for some sort-of-unit-ish tests that test the persistence and domain layers as if they were the same unit.
The feedback loop is my response. He positioned isolated unit testing as having drawbacks, but he never mentions (and doesn't seem to have experienced) the value of it.

Others have written responses to his claims about design. I think that he's less off-base with those; the design benefits of TDD are oversold to some extent, although they certainly do exist in my experience. It's difficult to oversell the speed benefits of isolated unit testing, though. You really have to experience it. Here's Noel Rappin commenting on my post saying exactly that, in fact: https://twitter.com/noelrap/status/461633622185746432
Canonical's audacious Ubuntu for Android project isn't quite dead
I'd suggest not to use a condensed typeface for the editorial header. It makes the paragraph look weird and is difficult to read.
I know how you feel, a few months ago I was working on a game with a friend just for fun (I was coding, he was doing everything art, music, etc). At one point I realized I was putting off working on it because I wasn't enjoying it, so I just told him that I didn't want to make it anymore and moved on to projects I found more interesting (like cryptography :D). If your projects feel like chores, I would recommend learning about a field you don't know much about and starting from scratch there :)
I'm a big fan of what the folks at the Center for Open Science[0] are trying to do. They are trying to build open tools [1] for the entire research process, and they are trying to encourage people to conduct more of their research in the open.

This would encourage open analysis on an ongoing basis, rather than waiting for publication before peer review begins in earnest. It would also allow people to establish a reputation for being strong in multiple aspects of conducting research, not just in getting research published. You can build a reputation by reviewing hypotheses, and helping researchers refine their hypotheses. You can build a reputation for helping ensure that people's statistical analyses are being done properly.

I understand that not all research should be done entirely in the open, but we can certainly move beyond the model of just opening up journal articles.

They are also developing the Reproducibility Project[2], which aims to encourage researchers to replicate existing studies rather than focus on doing new research. It aims to raise the prestige of doing this work as well.

[0] Center for Open Science: http://centerforopenscience.org

[1] Open Science Framework: https://osf.io/

[2] Reproducibility Project: https://osf.io/ezcuj/wiki/home/
It was £650 a day, not $ - so about US$1000
Debugging ease is highly dependant on the implementation of either state machines or co-routines, especially if there are heavy compile-time transformations of the code structure involved.

In either case, if the implementation supports the composition of state machines or co-routines, its going to be easy to reason about.
> Miners already have the equipment - as long as proceeds don't drop below energy costs, mining will continue at current levels.

Doesn't that assume that mining equipment has infinite useful life?
Maybe Glacier stores in the unused parts of S3 disk sectors, the empty part of the last sector of files that don't completely fill 512k. Takes 4-5 hours to retrieve because it has to pull without impacting dozens or hundreds of S3 drives.
Centralized authority in the form of the corporation that employs you.

It's generally considered proper (at least here on hacker news) to disclose any potential conflicts of interest upfront, particularly when making posts discussing an industry or company in which you are employed.
I learned some cs theory and basic programming with Component Pascal in 2 college semesters. I played around with Basic as a kid, and became familiar with HTML and Javascript by building websites as a hobby for about 12 years. I used the scripting language AutoIt to code programs to automate tasks in the Windows environment. I'm not as familiar with Linux as I should be, but I will dive back into it.

Yes, the web app will allow the creation of profiles, and then index those profiles. The search engine will return a ranked list of profiles based on query parameters. I do not know enough yet to understand how much of it I will have to code myself, or if something already exists that I can integrate with.

My project is my startup. My income comes from side projects.
> On iOS, use the device token and implement truly anonymous login

Lose your device, lose your account. Yay!
Intersystems (Cambridge, MA) has a large number of private offices as well as cubicles, which are less often used.
Really? Docker just seems like the age old jail idea + marketing money and tools. What's so futuristic about it? Literally nothing it does is novel.
Getting on to Steam is definitely one of the biggest challenges to developing PC games.

Our team was very fortunate in that our game won an award from Intel in their Level Up Demo contest.
(http://software.intel.com/sites/campaigns/levelup2014/)

For most indie games, getting voted on by the community in the green light process is the most straightforward way to get on steam. If you have a project that has the right mass appeal, it seems that this can go very quickly. But it seems that most games need to build up a fan base and a following that can deliver votes and push them through the process.
intercooler.js 0.3.0 released – Simple, declarative AJAX
TDD is a way of writing tests, not a prescription about when to write them. I explicitly say in the post that I only do TDD 75% of the time for web apps and more like 50% for other code.
>It may be that Hitler's obsession with these things actually spared the world from a far more effective Nazi Germany, and thus an even longer and bloodier war.

are you really sure that a far more effective Nazi Germany would lead to even longer and bloodier war? Lets imagine that Germany won Battle of Britain and occupied it in 1940 (with resulting full control of North Atlantic) and took Moscow in the Fall of 1941 and Stalingrad - summer of 1942 with resulting control over Caucasus and the plains until Mongolia. What war we would be talking about after that? The world would look of course completely different. In some sense having that bloody war we were spared from living in that different world.
Have you read either or both of these books? you seem to be arguing with straw men.
I guess the novel part is that it's actually being used.
Client-side web technologies are rotten and ill-designed, a mountain of patches and inconsistencies. That's why it's so painful to see people try to shoehorn JavaScript everywhere just because it's the unfortunate status quo.
The website loads for me (UK), was a little slow though.

Apparently they were having some US & Canada streaming issues earlier though.
https://twitter.com/Netflixhelps/status/461640365213503488
There's got to be some trade off for "anonymous" login.
Box may delay IPO until June or later
Good point. We're planning to add more content later. What's on the site now is what we were able to write in the first 6 weeks. The goal is to eventually grow this to be as thorough as developers.android.com or iOS Dev Center (but for the web).
>.is domains were being compromised

Can you elaborate?
This looks promising, though the message "Warning: When using a remote Docker host, forwarded ports will NOT be immediately available on your machine" was a bit disappointing.

Given that it transparently wraps boot2docker and handles proxying SSH connections, I had hoped that it would also transparently manage the port forwarding to the host VM, as that's a much more common use case with Docker than SSH access.

Nonetheless, it looks nice!
I've been bitten by mosquitos hundreds of times, I'm still alive. Why is that, if mosquitos are so deadly?
Depending on your problem domain, it may be easier or harder to create interfaces between all these TDD'd, isolated modules.

Aren't you assuming that TDD requires pervasive unit isolation?

I practice TDD often and prefer not to isolate units at least at the level of filesystem artifact.

I believe that one of the reasons test-first became TDD and gave up on the distinction between unit tests and acceptance tests is because the Smalltalk sUnit style of testing units as units didn't work so well in languages which aren't Smalltalk.
I think there is a good point here, in that a very tight TDD loop requires fast tests. Nothing's untrue about that, and if you've worked with a set of speedy tests I'm sure you know it can be quite efficient, and indeed it can be quite a different way of working.

Ultimately I don't really think that this is particularly in conflict with what DHH was talking about. A tight TDD loop might work for some developers, but if you get to the stage where you are making substantial architectural changes to enable this, then it looks like a problem. And I've seen a lot of this first hand.

FWIW, I take your point that things like Spring aren't ideal solutions. But with a bit of care they can help offer the best of both worlds; I've got Guard and Spring working together on the Rails project I currently have open. Looking at an equivalent model (100 LOC, 200 test LOC), it runs without database isolation in less than 400ms, which is less time than it takes me to switch to my terminal. It's really great, and I don't have to worry about isolation.

TLDR; there are compromise solutions possible. Maybe not suited for everyone, but in some cases better than going too far with "design for testability."
At least in .NET land stubs were very common (several libraries actually generated them for you based on your Interfaces).

Nice post BTW.
Yup. Not to mention that Social Text isn't peer reviewed, and fake papers have made their way into _many_ different journals, including physics ones.
A crisis of globalization in the lethal injection business
who is going to develop the compounds to replace the current set of antibiotics when they have become useless?

IBM, with nanotech PET - http://www.research.ibm.com/articles/nanomedicine.shtml#fbid...

And I know it is viruses, not bacteria, but MIT's DRACO is also pretty cool - http://www.ll.mit.edu/news/DRACO.html
It is a logical leap, but more appropriately:

Eating factory farm meat contributes to the cultural acceptance of such goods being produced in the way they are, that produces bacterial immunities to antibiotics due to the mass utilization of factory farmed meat.

And:

Driving gasoline powered automobile contributes to the cultural acceptance of such goods being produced using the engine technology they are, that emits greenhouse gases that cause global warming due to the mass utilization of gasoline powered vehicles.

An individual won't have a significant impact on either, but if you aren't swayed (the guy reading this on HN) we are completely fucked, because the community here is supposed to be one of the more rational and long term considerate groups of people. To expect average joe burger flipper to stop eating meat and driving cars because of the long term macroscopic ramifications of their usage is hypocritical if we don't practice what we preach.
Terrorism is rarely mass murder.
Thanks for the reply and for the article. I took your quote out of context. I'm not very interested in DHH's mis/understanding of TDD. I'm more interested in my understanding of TDD. I'm trying to figure out if I'm doing TDD correctly or incorrectly when I isolate the database. Whether it's done through a mock or a fake or whatever is not that important to me.

The thing I don't like about TDD is I never know if I'm doing it correctly. There's always that No True Scotsman fallacy^1 situation. "Oh, you tried TDD and it didn't work out for you? If you were doing real TDD it would have worked out." And I say this as a person who has watched three of Uncle Bob's videos on TDD that you have to pay for: http://cleancoders.com/episode/clean-code-episode-6-p1/show http://cleancoders.com/episode/clean-code-episode-6-p2/show http://cleancoders.com/episode/clean-code-episode-19-p1/show

Sorry for hijacking the topic. I've been trying TDD for years, and I never know if I'm doing it correctly. I saw this line and it made me question it yet again.

^1: http://rationalwiki.org/wiki/No_True_Scotsman

EDIT: Sorry, I commented as I read. Looks like you're going to explain it in the article.
I list a Northwestern Law email address in my profile, and post under my real name. I'm not exactly on the DL about it. ;)
As someone who sells a lot of digital goods, the main appeal of Bitcoin for me is the complete elimination of chargeback fraud. It's just as good a tool for avoiding malicious intent as it is for enabling it.

The nearly non-existent transaction fees are worth mentioning as well.
Hmm. For me it correctly redirects to the appropriate path on google-developers.appspot.com. Could you verify that you're still having trouble and if so file an issue describing where specifically you encountered the dead link?

https://github.com/google/WebFundamentals/issues/new
You can read more about the State Machines of core.async here: http://hueypetersen.com/posts/2013/08/02/the-state-machines-...
Not eating meat is easy to understand. What throws a lot of people off is vegans, unlike vegeterians, not eating eggs and cheese. That's really a doozy. It just doesn't make sense (and not that it implies that vegans care and non-vegans don't).
I would like to know why wouldn't it work to simply flood hospital rooms (any time they were empty) with lethal (for bacteria) doses of non-ionizing radiation (or any kind that doesn't go through walls and don't make said walls radioactive) so that those pesky tolerant strains have a really hard time propagating
You can mail him a check - zero transaction fee and works every single time. No easy way to do it electronically though. Also you could not really do it with random strangers - risk of fraud is fairly high.
I'm in the SUN campus. I have a personal office which is bigger than my matchbox bedroom in SF (ok, equal size).

I've already filled the whole place with geeky stuff and technical papers/articles/specs/docs/books though.
Can I have some of this marketing money you're referring to?

edit: But more seriously, not to feed the troll or anything, but, the 'Sun has been doing this with zones for years! it proved all of this shit long ago!' is a little tired.

If you'd like to go deep on why people are interested and why this is catching on, let's have a chat. nick@docker.com.
Aysar after Wisdom Teeth Removal
Creative Labs Nomad ---> iPod

Lame, eh?
I suspect that his claims of TDD isolation damaging the integrity of designs are mostly red-herrings too. I know they are for me personally -- in fact, the opposite is true.

I'd be interested to see more examples of that. In my experience, this sort of warning genuinely isn't a red-herring - I've worked on several projects that have been seriously creaking under the weight of test suites, and in which the desire to isolate units in particular has led to both poor code architecture, and ironically poor tests.

In particular, your thoughts as they relate the technique of moving logic completely out of controllers (as you do in raptor). This technique seems to infuriate DHH in the context of rails, while to me it seems a far superior design.

Raptor's design is interesting, but I dispute that the entire "C" in "MVC" is worthless. I agree that such is often misused, but something like Raptor essentially pushes the logic that it's OK to have in a Rails controller into the router, and I'm not sure that would actually be scalable in practice.
I'm not able to see your e-mail when I see your profile. You might consider including it in your user profile's "about" info box.
You could have spent this time improving the docs...
Legal Teams need developers help fighting software patents
Does it matter?

Being a lawyer does not make you magically more able to read the laws, the laws are written exactly because the intention is that people can read them and see what they do.

What makes a lawyer different is that a lawyer usually knows where to search for laws faster, and has a set of laws on his head that might be immediately useful, also lawyers tend to know some important past court cases that might affect future cases.

But still, being a lawyer does not make you a magical law knower, some countries even allow you to be a lawyer without law school.
> If Carousel is intended to solve a user problem, neither I nor other potential users seem to be able to figure out what it is.

> users don’t seem to be keen on replacing the main Facebook app

> a sufficiently vague target is harder to miss

The common thread between these products is that they are solutions in search of problems. Great design can't help you find the "problem" to solve faster than any other technique. This is a product/market fit article that just happens to focus on design driven products.
Toyota Central R&D Developing Free-Piston Engine Linear Generator
I have to agree, and add an observation that every project I've seen which emphasised highly isolated unit tests spent the majority of its test development effort on local behaviour that was easy to test, and very little effort on testing complex interactions and emergent behaviour.

Furthermore, when a complex interaction with changing behaviour in third party code caused a bug, I have always observed the resident advocates of highly isolated unit tests throw up their hands and say "oh well that's not our problem".

I'll offer up my own rule that I've worked out over the years: the first test you write, from day one, should be the end-to-end performance stress test that fully loads a production deployment of the project, making it do everything all at once and sending random junk input until it falls over. Even when your project doesn't really have any functionality yet, run that one continually in the background. This one test will find so many classes of bugs that you weren't expecting - it optimises your tests for learning surprising things as soon as possible. You then start fleshing out your test suite to cover the things you learn. With some smart design, there will be a lot of shared code between your every-growing stress test and the suite of more targeted tests.

You might find that you get down to detailed unit tests of every part of the code... but you'll probably find that you only need to bother with unit testing obscure conditions for the complicated parts.

The core philosophical difference here is that I regard tests as a tool for learning and making the code better, not as a way to make myself feel happier. The biggest performance barrier I experience as a developer is not the seconds it takes to cycle through the tests, it's the weeks it takes to learn what I'm trying to build. I aim my tests at that target.
This looks great! I am definitely going to buy a copy and help support you. Looks like a lot of effort and thought has gone into this game, definitely my favourite type of game. Interesting underlying game mechanic as well.