skysight-inc/HackerNews huggingface dataset:
>I also personally felt better about doing this since it made it easier to correct API design mistakes before implementing the code and baking them in.

How do you know you made API mistakes from writing unit tests ? API mistakes become apparent when you integrate stuff and use the API in conjunction with other things (using API in isolated scenarios like unit tests is not really insightful you can figure out those flaws just by looking at the API). This is my primary criticism of TDD - you write tests around the initial bad API and you end up keeping that bad design because you already spent so much time testing that. Implementation errors caught by unit tests are cheaper to fix afterwards then design errors.

My approach is hack together a POC -> refactor that and write tests. If you discard the POC then TDD makes sense to me.
I find it a bit silly that "catching tax fraud" is the main marker of the authoritarian. And then some jump to bitcoin, which is by definition perfectly auditable, as a decentralised ledger.

Even in a cashless society, governments (well some, anyways) still require warrants to search business records, to wiretap, to follow you around.

Inversely, even in cashful societies tracking all of this is still pretty easy. You register car purchases through the state. Your employer files taxes.

This is why a strong, independent judiciary is important!
In some scenarios, particularly when writing scripts, error handling boilerplate code tends to obscure the nominal flow, which can make the script overall harder to debug and thus net more likely to have errors.

Coincidentally I was annoyed by this very fact a few years ago so I developed
https://www.npmjs.com/package/callback-wrappers
which made the boilerplate for common error handling scenarios (logging, throwing, exiting, emitting, etc.) much terser and moves it to the end of the functions so it's less in your face. Never made much use of it, and it's so non-canonical that I'm loathe to advocate it too much, but it would make me happy some sort of standard syntactic sugar could be introduced that allowed comparable brevity.
Urgh. That makes so much more sense. Thanks
In the United States, we're much more evolved: we don't just exclude people from government services, we also use innovative free market solutions to extract as much money from the "unbanked" as possible.

First, corporations only pay in direct deposit, check, or debit card. Of those three, only checks and debit cards can be used by the unbanked.

Secondly, while you can choose a check, the only method through which the unbanked can receive actual USD, you can't cash it very easily. However, the unbanked can't simply submit a photo of them through an app on their iPhone. They have to walk to "check cashing" businesses, which abound in our inner cities. These businesses exist by taking a cut of the paychecks of the people too poor to afford a proper bank.

Finally, there is the debit card option. Debit cards for pay were originally intended to eliminate predatory check cashing businesses. The cards were supposed to prevent the type of ridiculous costs imposed by check cashing businesses.

What occurred next was fairly predictable. Instead of a direct rate, companies charged small fees such as withdrawal fees, card replacement fees, and account fees, which accrue over time to roughly the same amount as going to the check cashers. Since the debit cards are often more convenient, many people choose that option, and the corporation takes the cut that used to go to the "unscrupulous" check cashers.

Later I'll tell you about bail bondsman and private prisons...
Loving this. We're playing foosball for ages at work. I'll definitely give the slack integration a shot.
"apt" already combines all those apt-* in one command.
If you go to the great*5 grandparent of this post, you asked for the statement "I find Guantanamo morally indefensible" to be defended.

You were the one, in that very post, who started confusing morality with law, leading to the jumble of responses since.
Also, Explorer 1 had scientific payload (which discovered the Van-Allen belts), unlike Sputnik
> Also debit causes you to have to pay the fee, while credit forces that on the merchant.

Usually in Europe it's the contrary; there is no separate fee for using a debit card, whereas the credit card fees are inflated and passed-on to the customer.

For example FlyBE, a UK airline charges, 3% of the transaction total for credit card but zero for debit. Ryanair and Easyjet charge 2% for credit cards.

Even worse, British Airways charges a fixed-fee per passenger.
> We can launch things to space, yes. But we don't have any vehicles that have life support, abort, or re-entry capabilities.

Dragon has all three. The reason there are not people it right now is just that there is not enough experience with it to rule it safe. If the risk was ruled worth it, the very next CRS mission could take people up to the ISS.
I'm now reading My Life because of this comment. I'm greatly enjoying it so far -- thanks!
> It doesn't justify the sensational title here on HN.

We've changed the title along with the url. Please see https://news.ycombinator.com/item?id=12742120. The submitted title was “TDD has little or no impact on development time or code quality” (including the quotes).
Everywhere else in the UK you can still pay cash on buses. I'm slightly taken aback that London bus thinks cash is no longer worthy as every time I've been on a bus everyone pays cash or has weekly pass.

I pay cash nearly everywhere, card is for online only. I'll be a long way towards the back of the cashless adoption!
Wait, what? It's the exact opposite of what you described! If you don't have money in your account, a debit card will just get declined. No fee to pay, no penalty, nothing - transaction just gets declined and that's it. Debit cards are also free to use in most places, while using a Credit Card has a 2-4% extra fee. Debit cards are free to issue, while Credit Cards usually have a yearly fee.

Is it just completely the other way around in the US?
To be fair, the abtract says "The results failed to support the claims." and the conclusion says "We recommend future studies to survey the tasks used in experiments evaluating TDD, and assess them with respect to
the treatments.".

This is not a claim that TDD is useless.
"Idiomatic" doesn't necessarily mean better. I think objectively it's hard to argue that "item != market.end()" is superior to "iter.hasNext()". The latter accurately reflects the programmer's intent, while the former specifies an unnecessarily specific (and poor) implementation of the intent. First of all, using something like "market.cend() != const_iter" instead is arguably better practice (imagine you unintentionally omit the "!"). But programmers shouldn't need to consider whether the iterator is const or not when they just want to know if the loop is done. Also, consider the case where the vector is being modified (items inserted or deleted) inside the loop. It might be problematic either way, but "item != market.end()" is particularly bad in that situation.

Shameless plug:
http://duneroadrunner.github.io/SaferCPlusPlus/#msevector
Guys, you really want to give a look to hyper.sh, if you are frustrated with running containers in production.
I am one of the developers in this project. Happy to any answer questions you may have.
If this is based on a FICO score, then please spare us the hype. You are not doing anything different. Just convolution of processing, that's all.
IoT Networks: SigFox vs. LoRa
I always thought one way to break this problem was to socialize newspaper and media profits into a pool.

Assuming you could actually track levels of readership without gaming in the network -- and I concede that's a big if, then in theory you could create a public-broadcasting like arrangement where private actors receive public funds in proportion to their popularity.

I would personally love to pay a tax to help independent media thrive if I new it could support those who do the best at gaining eyeballs.
You keep that masturbation going! You'll convince yourself everything's OK by the end.
Jeremy Clarkson would disagree - https://www.theguardian.com/money/2008/jan/07/personalfinanc...
Please don't comment like this here. Especially in response to new work, which is always a fragile thing regardless of how valuable it turns out to be in the end, comments here must be civil and substantive. Yours was neither.
that's very socialist approach - excessive taxation on everything only gives rises to tax havens for wealthy ones. who would be targeted is not truly wealthy, but say upper middle class which isn't rich enough to use these kind of services, they are the ones spending most on services, which keep blue collar jobs, like it or not. This layer of citizens is necessary for healthy function of any society. If you strive to destroy them via excessive taxation (ie move them to low middle class over time), you are hurting economy in long run.

Don't forget truly rich have plenty of completely legal companies that advise them how to 'optimize' their taxes. Companies smarter and better equipped than your average lawmaker. I mean look at the presidential candidates - obviously both are doing it. Everybody rich is doing it.
Apart from al the useful comments below, 366 just isn't that much. Expecting someone to buy after 366 views implies a 0.273% conversion ratio.

Clearly yours is currently lower than that.
Funnily enough, I'm not much of a blogger. I enjoy writing but am not the stage were I want to blog. My coding journey so far definitely taught me a lot about self-starting and selling yourself. I did not stay and try to sell myself because I was not enjoying the working conditions. We were expected to do more with fewer resources and the only reason we produced a good product is because we went beyond what the job description stipulated. What kind of company do you run? I'd like to start something in the future so I'm learning as much as I can about everything now.
The "lightbulb" moment for me was doing what Kent Beck suggests, and writing down the list of tests I "knew" I needed to write, before writing any tests. That's a very similar step to diving into writing the code first, "knowing" what it ought to look like, and the ideas feeding into either step would be the same.

Writing a list of tests first is quicker, though, and working through the list, updating it as I learn more, tells me that my initial ideas were wrong often enough that I'm almost convinced that the true secret of TDD isn't the tests at all. It's that checklist, and the purely mechanical process of working through it, checking them off one-by-one and fixing it up as I go along.

To relate this to your situation, I often find that I'll only get started with a fairly fuzzy idea, and the checklist will be short. I can still expand it as I go, knowing that I'm working on as solid foundations as I can given the constraints.

I think there's a danger in writing off practices like TDD with "if it works for you..." because it avoids discussion of why it works for some people and not others. That in turn gives people license to ignore it simply because it's unfamiliar, and the brain doesn't like unfamiliar things by default. That's a shame, because for some of those people they'll be stuck in local optima, writing off the one thing which could break them out of it.
The New York Times Is Down
There's no such thing as "being good at math". You either put effort and practice to learn it, or you don't. Fixed va Growth Mindset, etc…
> The crime-fighting case against cash is overstated. Last year, a risk assessment of money laundering and terrorist financing conducted by the U.K. government found that regulated institutions such as banks (like HSBC) and accountancy service providers (like the Panamanian tax-shelter specialist Mossack Fonseca) posed the highest risk of facilitating the illicit storage or movement of funds. Cash came in a close third, but if we’re going to cite unlawful transactions as a rationale for banning cash, it only makes sense to ban banks and accounting firms first.

This is specious logic. Stricter regulations on banking and accounting are being introduced, and even if they weren't, that wouldn't be an argument for doing nothing about cash.

And yeah, america-centric article is america-centric. The author should try living in a place with low cash use for a while. Their concerns are real, but unlikely to carry much weight with the public when held up against a) the inconvenience of cash and b) the reality that it's mainly used not by valiant freedom fighters but by common criminals.
>Could it be that TDD vs. tests-after-code is a highly personal thing? I personally find it easier to write good tests after I've coded something functional. Before hand, I know one or two fuzzy ideas of what I want to accomplish, but I can't list out the concrete, real-world test scenarios until after I've coded something, poked and prodded it, etc.

I generally find it better to engage in "top-down" development - specification->tests->high level code->low level code as it's cheaper to fix mistakes at higher levels first.

If I'm doing purely experimental code though - where I'm not sure of what I even want or what the output should be, tests are just a waste of time.

It also loses its effectiveness the more declarative the code is. If I'm essentially tweaking configuration or HTML there's no point.
It depends. In some ways people could argue that a rise in loneliness is linked to increasingly lower levels of community interdependence and engagement.

I know this is garbage to the ears of Silicon Valley types, but I think a lot of people in rural areas would agree with it.
Half of US adults are recorded in police facial recognition databases,study says
Introducing Security Practices Within the Health Domain
Wow. That John Deere HQ is really beautiful. It reminds me of traditional Japanese architecture.
Thanks. We've switched to that from http://bigstory.ap.org/article/4e99014f395c40f3854542a5ae619....
Hey everyone,

I have created this website after struggling with deploying my website for the first time (which one of the 1000+ hosting companies to chose? How to get a cheap domain? etc.) and I thought it might be useful for others.
There are no advertisements and it was not sponsored by any company, I did a lot of reading, checked different services and picked up those that offer the best value for money and are recommended by other developers. I will add more tools in the future.
Let me know what you think.
Why the Kurtis Has Become Women’s Favorite Attire
Judge provides strong case against software patents in IV v. Symantec
> Sure it does. In the social sciences (which includes questions about productivity a la TDD), there is no "proof" or "truth" in the mathematical sense.

Neither jdlshore nor I were talking about "proof" or "truth" in the mathematical sense.

> Results are based on statistical relevance subject to the sampling (and their biases).

The point was that this study doesn't have sufficient statistical relevance to give any evidence whether TDD is effective in general. It doesn't matter if this study gives any evidence whether TDD is effective when used by graduate students working on toy problems, because that was not the intention of the study (besides, nobody cares about this highly specific case).
It's not misleading or linkbait. It's just humor. Don't you have humor guidelines at HN?
That sounds like TLD, the opposite of TDD.
The obvious answer to this is extending public broadcasting funding to private outlets. Sadly there are too many techno-libertarians out there to see this great techno-socialist solution.
When I first learned about TDD I thought the same (order of test and implementation does not matter that much). Yet when you do the TDD steps

* write a failing test (RED)
* implement minimal functionality so all tests pass (GREEN)
* REFACTOR

and overcome the initial revulsion you will get a ton of benefits that you didn't know existed. I'll first give a few that are more on the code quality side

* You have a complete test suite, without redundant tests
* Tests are usually not that mock-focused [] as the implementation-after-test didn't introduce random roadblockers for testing.
tests do assert the relevant properties (tests-later code bases often have code bases that don't assert much or properties you don't care about).
* When you write your test first, you basically write a small example how it feels like to use the API you have in mind for solving your problem. This drastically improves quality.

Some non-technical benefits of TDD

* I find TDD helps me tackle bigger code-pieces where I just don't know how to start implementing.
* TDD is programming gamification. You are rewarded with regular, small successes of having added another test and made it green. So whenever you ask yourself: OMG, have I made any progress in the last 3 days, you can actually tell: Yes, I added 15 tests and made them pass - I objectively got closer to implementing that feature.
* Not an issue where I work, but have often heard about this from other places: If tests are there first, no one can tell you to not spend so much time on writing tests. TDD-style is protecting your boss from shipping that car without having the brakes checked.
* The same line: TDD gives explicit room for refactoring.

[*] obviously one cannot avoid mocking especially when dealing with resources external to your code base, yet I have hardly seen TDD-originated tests that mocked
>or any style of automated tests, really, you don't really have to be driven by them

Looks like you misunderstood what TDD is. TDD is not a method of testing, it's the method of design of system architecture, in which you formalize the contracts and design APIs by writing examples of their use in tests.
Because of that TDD is applicable on every scale (e.g. even when you design complicated algorithm that can fit in just couple of screens) and because of that TDD must be compared not to other test methods, but to other methods of design.

Of course, that comparison will not show the supremacy of TDD for many reasons, like, for example, insufficient expressiveness of testing framework or domain specifics. TDD is useful as one of the many tools we have today, but it shall never be the only tool.
Ask HN: What is the most effective way to onboard an engineer?
Does anyone have advice on the most effective way to onboard an engineer?

It feels that problems with the onboarding process often stem from existing systems being poorly documented. I’ve found mentoring to be really helpful, but I’ve also seen how it can pull members of the team away from existing projects.
> 80% of software development is designing correct abstractions/interfaces/APIs

Not sure if that claim is wrong or not, but I will state it anyway. If you write in TDD manner and you decide to change the API/abstraction a little bit because of something you didn't think of, you will have to correct both tests and the code. When you do test-after-code it's much easier (IMO) to hit correct abstractions and interfaces because you are working on a living thing, not some artificial test cases you have to figure out. Then you write tests to ensure those abstractions are respected and in working order.

TDD people, please correct me if I'm wrong.

EDIT: disclaimer: I'm a front-end developer working mostly in React and Redux
Windows x86 – 'afd.sys' Privilege Escalation (MS11-046) exploit
"Startup"? Malwarebytes is 7 years old!
Let me restate: I don't see a third party candidate that is that much better than Clinton. Most are better in some ways, worse in others. I used the word 'perfect' because I think that, for a third party candidate, you would need to get the perfect mix to inspire enough support to break through. If I'm throwing my vote behind someone for ideological reasons without an expectation it will work, I want it to be someone I can truly support without reservation.

The momentum thing, I don't buy. It might technically be possible, but it's practically never going to happen, because FPTP is broken.
As a Mac user since 2001, what originally sold me on the 1st/2nd gen iPod was it had the capacity of the larger players without being the size of a game gear.

They definitely weren't the first and they really didn't catch on until they marketed the crap out of it and introduced the 3rd gen with USB connectors. The firewire 1st/2nd gen wouldn't even work on a lot of windows machines because they usually had 4 pin firewire or didn't supply enough power.

Funny thing is, the 1st/2nd gen had the best syncing experience by far! iTunes would sync as fast as that little 1.8" hard drive could handle, and there was a storage mode. -shrug-
It only doesn't feel authoritarian to a point where a bank closes your bank account without specifying a reason, and you find that you can't get a bank account and a card anywhere else, which also means that even if you work and have cash, you are excluded from 90% of the business living in a society requires.
The relevant twitter accounts are @ESA_ExoMars and @ESA_EDM. According to https://twitter.com/ESA_ExoMars/status/788621746446401536 there will be a live streaming today at 15:00 CEST.
Not to mention how much easier it was to centrally control the narrative of a society to dupe them into believing things they would have a hard time getting behind now (like the war on drugs...)
Checkout https://github.com/jenkinsci/hyper-slaves-plugin. This plugin will launch your buildjobs as on-demand containers in Hyper.sh, then you don't even need the long-running huge VM!
Coati Source Explorer 0.9: VS compilation database export, extended Java support
Original Gangster/God-Tier Down Loader for YouTube Vids and Music
That's true. Neither from system design, nor from quality perspective TDD is necessary to produce good code. However, it may still add some value even for experienced programmers, when it's easier to write a test than to build the pure mental model of the domain or the algorithm.
Hypernormalisation
Let me rephrase then - how can something that is "built for the 21st century" be treated seriously, if the one of the main ways to interact with it seems to be mobile, and the mobile support does not include the biggest mobile ecosystem on the planet? It's not "built for the 21st century" - it's "built for iOS users".
In the UK we had a company which started out as an investigative journalism agency and then pivoted to selling data on company insolvency (http://www.exaronews.com/insolvency-index). Sadly, they could not make it work but I think more journalists need to be exploring models like that. ProPublica seem to be doing a good job of it at https://www.propublica.org/datastore
>There's a lot of research showing the positive effects of medication (and in ADHD's case, the futility of non-medication-based treatments), but there's still a major fight for acknowledging the validity of this form of treatment.

Is this really relevant considering the extremely rapid rise in prescription and use of ADHD medication?

In my anecdotal experience with friends who take these pills, they very quickly create a reliance on the substance and have significant side effects in the long term. I honestly believe they can be quite harmful to a person's mind.

Now, for ADHD there unfortunately aren't good non-medication treatments. But depression is a completely different matter - making lifestyle changes as simple as going for a hike every weekend can easily be as effective or more effective than any medication.
Email rules for beginners
I do not see any email list, can you pls point me to that?
Title sounds interesting, but your website does not show any text. Both Firefox 49.0 and Chrome 54.0.2840.59 (on Linux) look like this:

https://i.imgur.com/dxxoU7a.png
Since there many guys using Fusion PCB service in Seeed, Here I share the couopn code for the first 50 users :

【FusionPCB11】

Every one use this coupon code in Fusion will obtain a 20% off discount. The coupon code is valid before November.
Get ready: WINGS DAO details revealed (October 30)