skysight-inc/HackerNews huggingface dataset:
TDD vs Testing after is a personal choice apart from how the team set goals. That is to say you can be on a waterfall schedule and still practice TDD.

As long as code shows up to code review with good tests, I don't personally care if the tests were written before or after.
System76 is quite good, although somewhat pricey (less than Apple though).
The patch shows the nature of the error:

Index: sys/netinet/tcp_reass.c
===================================================================
--- sys/netinet/tcp_reass.c (revision 264836)
+++ sys/netinet/tcp_reass.c (working copy)
@@ -211,7 +211,7 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int
* Investigate why and re-evaluate the below limit after the behaviour
* is understood.
*/
- if (th->th_seq != tp->rcv_nxt &&
+ if ((th->th_seq != tp->rcv_nxt || !TCPS_HAVEESTABLISHED(tp->t_state)) &&
tp->t_segqlen >= (so->so_rcv.sb_hiwat / tp->t_maxseg) + 1) {
V_tcp_reass_overflows++;
TCPSTAT_INC(tcps_rcvmemdrop);
@@ -234,7 +234,7 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int
*/
te = uma_zalloc(V_tcp_reass_zone, M_NOWAIT);
if (te == NULL) {
- if (th->th_seq != tp->rcv_nxt) {
+ if (th->th_seq != tp->rcv_nxt || !TCPS_HAVEESTABLISHED(tp->t_state)) {
TCPSTAT_INC(tcps_rcvmemdrop);
m_freem(m);
*tlenp = 0;
@@ -282,7 +282,8 @@ tcp_reass(struct tcpcb *tp, struct tcphdr *th, int
TCPSTAT_INC(tcps_rcvduppack);
TCPSTAT_ADD(tcps_rcvdupbyte, *tlenp);
m_freem(m);
- uma_zfree(V_tcp_reass_zone, te);
+ if (te != &tqs)
+ uma_zfree(V_tcp_reass_zone, te);
tp->t_segqlen--;
/*
* Try to present any queued data
That is a seriously cool project!

I wish more people took advantage of both HSMs and theorem provers, and you've done both. Nice. :)
Seriously curious and off topic, but in almost every HN post these 'no paywall' posts from the WSJ articles are upvoted quite a bit when generally speaking the demographic here seems to be strongly against sharing unlicensed content. Any reason for this? Is WSJ disliked?
"Almost ALL problems have a technical/legislative solution for them"

Still waiting to hear practical solutions, because the ones you gave thus far don't cut it in the real world, IMO.

I like using my phone (responsibly, in a dashboard mount) as a network-connected mapping/GPS device. If I'm heading to an event with a guest and running late, I like being able to ask a passenger to quickly use my phone to call ahead and let them know, etc, etc.

I'm all for attempts to keep people off their phones while they are driving (even when using a hands-free system, because there is quite a bit of evidence that just removing the button-pushing part doesn't help), but there are a lot of perfectly valid use cases that would be destroyed by either of your solutions.
I actually created this app just for myself initially to solve that exact problem. If you left click while you are reading, the text will come to a halt, allowing you to catch up. There are many other shortcuts like this, highlighted at http://artiklur.com/Shortcuts
Yeah, like you hint at--this gets near Dragos levels of paranoia. Firmware based hacks are highly non-trivial; particularly considering the sophistication of the scripted attacks that target Wordpress, Drupal, et al. installations en-masse. Unless it's a very high-value target, most people are not going to go through the trouble of coming up with a custom attack for every bit of hardware they encounter (not to mention the amount of functionality you can squeeze into flash while still maintaining its usefulness as operating firmware). In the amount of time it'd take to do that, you could manually seize tons of other insecure installations.

Also, if you happen to know of any Linux utilities that can flash a live OS's HDD firmware without the system going to shit, I'd be curious to learn more.
A few observations:

* I've found that state machines are much easier to understand when they consist of actual gotos, with labels for each state; the current state being where execution is.

* Coroutines are one of those things that I think are easier to understand and write in Asm - a yield looks much like a call but you pop the return address off the stack and save it somewhere, so the next call basically becomes a jump to the resumption point.

* Yielding between coroutines is very similar to switching between threads.

* It helps a lot when understanding coroutines if you forget any existing notions of what functions are and have to do, and just focus on how the execution flows.
Well if that is his stance, why stop there?

Let's just ban cars altogether and everyone can walk everywhere they need to go. Not only would it be much safer for everyone in the short-term but the exercise would improve long term health as well.
Maybe GP was referring to Christopher Hitchens' article "Our Greece to Their Rome", which appeared as chapter 1 in his book Blood, Class, and Nostalgia?

Even if not, I have to recommend the book. Like all early Hitchens, this is an occasionally dazzling and very entertaining book, written by someone with the same pedigree as the wits at the Economist, but with a lot more originality, and more interesting ideological commitments.

There are a few pages in the Amazon preview (http://www.amazon.com/Blood-Class-Empire-Anglo-American-Rela...). Also, I just saw this NYT review: http://www.nytimes.com/1990/06/24/books/a-discordant-intimac...
I didn't say "I have a 50 line example, therefore it works in all cases". Destroy All Software is 2,208 lines of production Ruby code, and most of it is tested in exactly that way. I could've showed you charge_purchase_spec, download_policy_spec, etc. The point is that most of the application is decomposed into these little 50 line pieces that can be thought of and tested all by themselves. You look at this and see a trivial example, but the whole idea is that large applications can be built out of lots of trivial little examples and it really, actually works.

You're also misinterpreting what the catalog is. You see one word, "catalog", and decide that all it does is "put objects in a catalog, access them, and remove them". No.

The DAS Catalog class enforces a few integrity guarantees, like "there will be no gaps in serial numbers" and "titles won't be duplicated". Then it provides several querying mechanisms, like finding seasons by slug, finding episodes by slug, or finding the season for a given episode. It also has some aggregation behavior like "give me a list of all screencast titles".

None of those Catalog behaviors is very complex, and all of the tests are simple. That's the point! Most software is made up of fairly simple things like this: aggregate some stuff; find some stuff; check a compound property of something; make a few decisions. These things are easily tested in isolation. For the rest, there's integration testing, or even plain old exploratory testing. But that rest is not nearly as large as it seems to be naively.

The last three paragraphs of your comment misunderstand what TDD is and what it provides you. I don't think that you're "not a professional" if you don't do TDD. I find value in it for a lot of code; so do many other people. Like the article says (you read it, right?), I only do TDD about 75% of the time in web apps, and more like 50% outside of web apps. As is also mentioned in the article (you did REALLY read it, right?), the best way to learn TDD's limitations is to do it 100% of the time, which has the unfortunate property of creating some zealots who haven't yet found a balance.
It's not the XEX paper; it's "Evaluation of Some Block Cipher Modes". Highly recommended.

Efficiency in the sense of "comparing block cipher modes" is not the reason XTS loses integrity and resistance to chosen-ciphertext attacks. Format constraints are the major reason. To wit: there's no good place to stick an auth tag, and for that matter, no good sense of what you'd be authenticating, because you're dealing with fragments of files, not actual files.

Integrity does factor into the security model of XTS. Rogaway points this out when he explains why NIST apparently rejected CBC (the chaining gives attackers a forward bit-flipping capability) and CTR (which was rejected because it's trivially malleable). NIST claimed that some notion of resisting ciphertext tampering was part of the goal, but, as he said, and Ferguson said, and I said repeatedly in this article, nobody really knows what that tamper-resistance is supposed to mean. Attackers can tamper with ciphertext in XTS, and they can probably do it in ways that will create backdoors in binaries!

But lack of integrity checking isn't the only problem with XTS. Another problem is that XTS is for the most part the ECB mode application of XEX. You can't even get a strong definition of confidentiality from this construction, because an attacker observing block offsets into a given sector can collect useful information as those blocks are changed, changed again, changed back, and changed again. This is the attack Ferguson points out in his objection to NIST standardizing XTS, and it's also related to Rogaway's objection that NIST standardized a wide-block-narrow-block construction rather than something that behaved more like a tweakable native wide block construction. The native wide block construction would effectively randomize the whole sector, not 16-byte chunks of sectors. That would also lessen the harm from XTS's malleability, but here we're more concerned with the granularity of the data we leak by encrypting deterministically.

If you want to call the attack I'm talking about something other than "Evil Maid", that's fine by me. I'd also accept "Mary Poppins is a governess and not a maid" as a valid objection. The point is that virtual disks stored on Dropbox are exposed to far more interesting attacks than physical disk media is, because with physical media, attackers don't get an unbounded number of use-tamper-use cycles.
Report: Google Glass parts make up 5.3%–roughly $100–of $1,500 price tag
Fair point, and hopefully this qualifies under Facebook's pledge to maintain backwards compatibility for 2 years.

But of course there's also the issue that this becomes something that developers themselves can't easily remove once they add it to their app. Or worse, if Facebook decides to block a developer's app from platform. At least with regular Facebook login, most developers requested Email so users could always request that a password be sent to them as an alternate login mechanism.

Developers should be mindful that Facebook explicitly prohibits using Platform to build "competing social networks" (An unfortunately broad category): http://techcrunch.com/2013/01/24/my-precious-social-graph/ And they have a history of enforcing this with the bans of Yandex, Wonder, Vine, and Voxer.
You can do network-specific jamming really easily (P25, the dominant digital trunked police radios, can be locked out by reprogramming a toy pager to tie up the trunks, for about $20 and in the milliwatts...).

JIEDDO was generally trying to jam more than just cellphones, and wanted high assurance, and while they were in motion (so, you needed range).
10 Simple Habits that Burn Fat
well, I guess I'd have faith my games would make it :-)
This is just another indication that video media is in need of a new medium. There is a need something like Steam or Spotify, but for TV Shows and movies. Netflix, Hulu, Crackle, etc. are all lacking in terms of the videos they offer and there's nothing to fill the void unless you want to go into the realm of physical media (and let's be honest, you don't). Torrents are easy, but managing a collection and getting good quality videos is still a pain.

I'm in college now and I started torrenting music in the 8th grade - iTunes came and I realized that I would have had to spend thousands of dollars to get the collection I wanted - so I continued to torrent music. I would have missed out on a lot of music if I relied on iTunes (and be out $100k or so) but once I found Spotify and realized that I would no longer have to edit all the ID3 tags, find album work, and deal with poor audio quality for $5 a month, I instantly switched and haven't looked back (except for music they lack like The Beatles, AC/DC, and Def Leppard which I still torrent, oops).

Game of Thrones recently broke a torrent record [1] and the CEO of HBO basically said they appreciate the publicity and thank their fans. IMO money is not as big of an issue for video as it is for music because the networks and actors aren't suffering the way musicians do (this is just my opinion based on observation). Yeah, Spotify has been called out for not compensating artists properly [2] but I think it's a step in the right direction in terms of service.

I like the idea of something like Popcorn Time but I think it's just a wake-up call that there is a need for innovation in the realm of video media. The music and gaming industries have seen a shift in recent years, so maybe movies and tv shows are not far behind...

[1] http://time.com/63331/game-of-thrones-torrent-record/
[2] http://www.businessinsider.com/thom-yorke-explains-why-he-ha...
Though a cool artifact, it seems like the essence of something like this comes from interaction with the others using the service.

There's a really interesting podcast segment[1] about the Preserving Digital Worlds[2] project which tries to answer some of the questions about how to best document / preserve something who's value comes from the experiences users share with each other

[1]https://soundcloud.com/roman-mars/99-invisible-13x-game-over
[2]http://pvw.illinois.edu/pvw2/
A Eulogy For Twitter
A Fundamental Theory to Model the Mind
You're not going to have new antibiotics without biotech or pharmaceutical companies helping.

The government needs to provide incentive for antibiotic research, right now regulatory and reimbursement issues are making the therapeutic area very unattractive.
Wow, this was one of the first reliable rumors I've seen on Secret.

The "Square getting acquired" rumor seemed pretty baseless, by comparison.
I've had my share of downtime on DO's NYC2 datacenter but I've also had downtime on Linode. Overall Linode has been more reliable for me than DO. Moving to DO won't result in eliminating outages forever. With Linode's most recent round of server upgrades the machines they offer are superior in performance when compared to DO. Unless you absolutely must have your server in the New York area I'd just move to a different Linode datacenter.
Having insurance companies deny payouts when their insurant's distraction is the cause of an accident is a horrible idea that, in nearly all instances, will shift the cost onto their victims.

Few people can pay for repairs out of their own pockets. Are we going to garnish their wages or place a lien on their assets? Great, the repair will be paid for after the next car gets traded-in. The end result will be victims paying for it themselves, whether directly or through their insurance carriers.

Uninsured and even underinsured drivers create significant externalities that are shifted onto their victims. The last thing in the world we need to do is effectively create more of the little bastards.
In the end is simply all comes down to limited resources. Should I edit the wiki or contribute to the map. Should I develop something that makes it easier contribute the data or fix errors or should I make a nice application for average users.

Overall I think OpenStreetMap is better of having small projects like WheelMap, OpenFireMap, SeaMap, CoinMap etc. because there is less or even no competition at all. Many of these things can simply not be done the same way with google.

What you are suggesting is competing with google maps with basic services, where OpenSreetMap is worse of at best sometimes equal. Why should someone use OSM to get from A to B when google and every navigation system already do that perfectly?
Learn how to make iPhone or Android apps, it will be fun
I dislike paywalls because they are inconsistent. Depending on how you found an article, or what link you click, or what cookies you have, you may or may not be able to view an article. If you happen to reload the page, or accidentally click a link and immediately go back, you may or may not lose access to the article.

That's not friendly behavior at all to me as a user.
Device tokens are not guaranteed to be stable, btw - they can and do change. Completely inadequate for log-in purposes.
Anyone else seeing the same codepen example for every number?

edit: hmm, a few refreshes fixed it up.
Agreed, a responsible reaction I think. It's probably getting downvoted because their are a few people on HN that are financially invested in facebook becoming obnoxiously ubiquitous.
> generally speaking the demographic here seems to be strongly against sharing unlicensed content.

No, I don't think that's correct.
You shouldn't blindly trust Secret. However, I've seen a good number of things on it that turned out to be true. Since this was proven to be half true, it's possible the rest is as well. Don't bet money on it, but also don't be surprised.

That being said, I'm not sure who would be able to AND want to buy them -- Microsoft or Google?
I would be curious to hear about your experiences with the WiiU. Is Nintendo's digital marketplace a good place to be selling an indie game?
Show HN: Elance withdrawal bot
Wow, they couldn't even get the Maus to work right, could they?
I know there was a study and analysis a few years back that found the reason people are more distracted having a hands-free conversation in the car vs a conversation with someone next to them is that the person on the other end of a phone call doesn't have awareness to your situation. So, while someone talking with you while sitting next to you in the car will naturally quite down while a change in driving conditions happens (or even alert you), the person on the phone is unaware of it and demands more of your attention. I can't recall when or where I saw the study, unfortunately.
By the way, Facebook already knows you're using an app before you log in, when the app pings Facebook to check the login status. This only prevents usage information leaking back to the app itself.
Most of the transmission of infections is from human to human contact. Yes, bacteria can reside on equipment and facilities, but we have adequate measures to deal with that.

As an interesting aside, more and more copper is being used in medical equipment as it is naturally antibacterial.

http://en.wikipedia.org/wiki/Antimicrobial_properties_of_cop...
I think it because it seen as "information" not "content".
(My other reply is dead, apparently?)

The point is we can’t be truly meritocratic. It’s a utopic ideal that doesn’t hold up in the real world. Those who are deciding what merit is are the ones who already have power. Also, there are many barriers to entry before supposed meritocratic judging can even take place. The goal isn’t to completely abandon the idea of judging people based on their accomplishments, but to recognize that the supposed ideal of meritocracy is a harmful fantasy, and to think more critically and about how we evaluate people.

Selenda Deckelmann’s on meritocracy in the Postgres community:

“[…] in a truly meritocratic organization, privilege wouldn’t matter. But the truth is, not everyone can join the Postgres project. […] So, ending the pursuit of a mythical meritocracy doesn’t mean that we start accepting code which doesn’t meet high standards, or that all of the sudden we’re going to include more code from people in the bottom 1% of the world in terms of salary. It means that we take a look at different aspects of our project and see what is within our means to open up and make accessible to people who aren’t exactly like us.” — http://www.chesnok.com/daily/2011/03/30/where-meritocracy-fa...

Everything else here is very much worth reading: http://geekfeminism.wikia.com/wiki/Meritocracy
I subscribed to DAS and watched all the videos. I admire Gary and other TDD advocates. I believe in the power of fast tests.

But still, after watching the videos, I can't do what Gary does. I'm not that good, and nobody I have ever worked with is that good either.

For the common developer to achieve Gary-like performance, the tools/frameworks/conventions have got to improve. IMHO.

In time I expect this will happen, and that DHH will be proven wrong! :-)
Nuclear arsenal finds security in 8-inch floppy disks
This is cool for this example, but it seems like for a non-trivial state machine (I'm thinking TCP open/close or similar) the co-routine code could get very messy. It's really a small subset of state machines for which this is a good idea, or maybe even possible.
Really neat to see the investor "pitch" for YouTube. While founders have their passions about ideas, the VC goes straight to the business fundamentals.

Also interesting how many features YouTube's infrastructure had already implemented at that scale.

Are there legal reasons more of these investment memos are not made public? Would it open the investors up to any liabilities?
if you add user interaction then the spreeder app concept itself can be optimised.

The way you get to read fast is because your eyes don't have to scan text and can focus on one area. With your app, your eyes move around and that slows down the reading to the extent that you ask why bother.

Speed readers IMO are useful to scan through documents and ideally targeted at those functions.
Not really. Resistant strains of bacterial exist everywhere. Every area in the world needs the full range of current antibacterials.

The other thing to remember is international travel. It's pretty easy for someone in North America, who has a resistant bacterial infection, to hope on a plane and spread it around Europe.
Then maybe we should change the way we regulate medical treatments. And maybe how we fund some of the research.
Already patented by Bill's trolling patent outfit.

http://jalopnik.com/5210372/bill-gates-files-patents-for-ele...
I found Hulu to be the same so I don't use my account anymore.

You have three options with Hulu: watch free anonymously, get a free account, get a subscription on top of your free account.

Free users are given 7 days of trial, after which they show you all the content you could have, if you were asubscriber. Suddenly nothing you see you can click on (until you either log out or subscribe). So I just use it logged out.
Great results.

If only we could somehow rephrase other critical issues into something the SCOTUS could 9-0 agree with.

This one got 9-0 because it phrased it as:

1) Trolls lose

2) Whoever wins, wins bigger.

Some of the Supremes are known for liking the morality of "Might is Right". (If God let this person attain power, by whatever means, then God must favor this winner.)

Can we phrase Net Neutrality this way? Perhaps we need to phrase it as "Winner/Billionaire's next startup needs to get online without paying fees?" We're not getting as far with the "scrappy startup needs to get online without fees" bit.
Enabling IOMMU is one relatively easy software mitigation to DMA attacks. There are some gaps, but it stops the trivial cases where a device can access all of memory.
There are plenty of bacterial targets that we haven't even started to explore. Many of the current antibacterials work by interrupting cell wall synthesis. There are many different protein involved in cell wall synthesis. Stop anyone of those from working and you have a new antibiotic mechanism.
This was too slow for me. I'm not sure what problem it solves, but maybe I'm not the target market. The user interface was good and I thought it was certainly superior to those speed readers that just flash up individual words or phrases.
>a) How is one supposed to know what is clickable on that webpage?

The mouse pointer turns into a hand?