skysight-inc/HackerNews huggingface dataset:
I have alternated between TDD and post-testing.

I've noticed that TDD forces me to think about the code in a better way, before actually coding it, than just going ahead and coding it and then figuring out how to test it after.

This is by no means an easy practice to adopt, btw, especially after years of not doing so.

I actually think TDD should be taught in schools and never even considered a separate aspect of coding; TDD should be integral to coding, period. If it wasn't discovered separately in the first place, it would just be called "coding."

> that you only need to spend less than 10-30% of your time debugging your code before it isn't worth it

That is a good point.

It's worth it down the line. You're not factoring in future costs. You're not just reducing TODAY'S bugs by 90% with that increase in overall coding time, you're also vastly reducing the technical debt of the code in the future.

You're also writing a permanent, provable spec for the code. What happens 5 years after you write your untested but debugged code and have to go back to it to add or fix something? How in the hell will you remember the whole mental model and know if you are in danger of breaking something? The answer is, you will not. And you will tread more useless water (time and effort) debugging the bugfixes or feature-adds or refactorings.

Speaking of refactorings, they are almost impossible to do without huge risk unless you have well-written unit tests against the interface to the code being refactored.

In short, if you do not write tests, you are literally placing a bet against the future of your code. Do you really want to do that? Do you consider your work THAT "throwaway"?

That said, tests are no panacea... and I am NOT trying to sell them as one (which would be wrong). You might assert the wrong things, or miss testing negative cases (a common one is not testing that the right runtime error is thrown when inputs to the code do not conform). There are cases on record of well-tested code that has passed all tests (like satellite code) and still fails in the real world because of human error (both the code AND the test were wrong).
I'm not sure why this is being downvoted. When I was an undergraduate CS was a relatively new degree. I was surprised by how little rigor was in their non-cs coursework. They required one semester of calculus. (Really? Why even bother?). They required one semester of physics.

This has probably changed in the decades since since CS has matured (and, no- I don't want to name my alma mater!) but just on the face of it I can see why, based on your comment, knowing the mathematical rigor of certain schools and how they compare to other schools would allow them to skip an early filter. If a substantial fraction of their candidates bombed at the next interview level, they would probably put it back in.
I just jumped into this thread thinking "man I really hope he did something clever and made a 6 layer board with vias, awesome grounding, and low dielectric constants at home" rather than him just firing the board off to a house and getting some standard FR4 back. KiCad post-CERN is great, nearly Altium 16-levels of good (arguably better in some cases).

For some DIY goodness -- Paul Carlson's method[1] is still my favorite home method for making what-I-consider-really-almost-production-grade boards. Also throwing my hat in the ring for OSHPark as being the community/my vendor of choice as well.

[1] https://www.youtube.com/watch?v=au2ba5gWLWk
Rather, a thumbnail. The US actually does have the power to f*ck the world up, unlike our guy, who can only aspire to do so.
Experts discuss opportunities and risks of integrating Deep Learning in Healthcare
Overview of 6 classical sorting algorithms in JavaScript
Except that you never know how the code you wrote in a module will be used by other developers in the future. Such defensive programming will a least help others prevent mistakes when using your code.
> It sucks, because often the best programmers are not degree-qualified.

I've worked with very good programers that don't have a degree. But, learning the basis to become a good software engineer, is just a lot easier following formal training (like going to University). I find it hard to believe that most competent programmers will not have a degree.

Again, having a degree is not necessary to be a good software engineer. But it's a lot easier to be a good software engineer if you have a degree.
There's a 90% chance this law is bs.
> For application-centric sites (For example, an internal admin app, or a B2B application where SEO and phones aren't the primary interface) why would I spend the money for the extra work?

If you have control over the end-user's environment, by all means do whatever you want. But when you don't (let's say your building an online banking site), you should ensure your real users can access it (and their money) no matter what.

Of course locking into specific technologies is why IE6 continues to persist (Intranets, South Korean banks), so that's some additional food for thought. It may not be a concern in your specific instance but it's a risk if you don't use web standards.

> It's almost as if your use case should determine your strategy.

:-) I wish more folks thought that way. When all you have is a hammer…
> As long as Microsoft continues to disrespect the rights of users in regard to privacy, data-collection, data-sharing with unnamed sources, tracking, uncontrollable OS operations (updates, etc) - I will never go near it.

You've taken the words right out of my mouth. At first blush, Linux interop on Windows seems like the best of both worlds, but in reality you're giving up a lot more than you gain.
But they can not decide their own wages, can not carry profits from one year into the other, and can not hoard excess money.
Phenotype changes can affect the rate of mutations and lead to faster evolution allowing to discover in time a trait essential for survival under new conditions. Although indirect, this is still a data flow. Without a particular phenotype the population would simply not able to discover in time the necessary mutation and survive.
Content Delivery Network – All About CDNs in One Place – GlobalDots
I am not a lawyer but the answer to this is no, you cannot use a Pokemon's name as your product name.
Citymapper now combines public transport with cars for the most efficient route
Current renewable usage in NL is less than 4%.What can possibly go wrong?
Sometimes you do it because the compiler insists a case (that really can never happen) needs to be handled.

It happens a lot to me in Rust and Go.
This isn't new. Apple's Mac update cycle has been slow for some years now. I'm a long-time Apple user, but when I went laptop shopping a couple of years ago I ended up ordering something else instead, because I could get a lot more for less money.
I created Pushpin because it addressed a problem that I had myself at a previous employer. Namely that I needed to build a realtime API and there were essentially no dev tools available to help with that.

We (Fanout) have a paid service too: https://fanout.io/cloud/

At this time, users are mostly other startups, for example LaunchDarkly (controlled feature rollouts) and Appbase (ElasticSearch-compatible BaaS). We have some promising discussions going on with larger companies as well.
There is also the limitation of our 5 senses. Perhaps another sense could lead us into a entirely new conception of life. Furthermore we really have no distinct line between biology, chemistry, and physics.
In my concept, that would regard new cars only (i.e. never registered before). When you're moving to the Netherlands, your car is already registered in the country you're moving out of.
Here's my experience with Google in 2014:

At the beginning of my senior year in college, I sent them a resume containing my GPA (3.9/4.0) at a public school (Clemson).

I heard back from Google within a couple weeks, had a few phone interviews, and then they flew me out for an on-site interview.

I had friends with similar credentials, but lower GPAs (< 3.5/4.0) that never heard back from Google.

Having a degree or high GPA doesn't matter to them once you're interviewing, but its tough to even get an interview without one.
This is meant to be a thought provoking question, not an attack:

What if the safety of the planet lay in stopping greenhouse emissions. But certain large blocs of the international community refused to stop pumping it out of the ground.

Now say diplomatic means don't create any real progress, only broken promises. For an example of what that might look like, take the nuclear accord John Kerry just got Iran to sign this year. Already they have tested new long range missiles and their leader, Khamenei, released a statement this week: "Those who say the future is in negotiations, not in missiles, are either ignorant or traitors," [0].

Seriously, what happens when those with fossil fuel reserved chose to use them, even when your country is being responsible? What if it meant another war in Iraq: would the positions on policy for fixing AGW swtich between Democrats and Republicans?

[0]: http://www.reuters.com/article/us-iran-missiles-khamenei-idU...
This is excellent. I'm stealing it.
Yowza, sick burn on your coworker! Since we are talking about hiring practices have you read this section of Joel's Guerilla Guide to Interviewing?

"People who are Smart but don’t Get Things Done often have PhDs and work in big companies where nobody listens to them because they are completely impractical. They would rather mull over something academic about a problem rather than ship on time. These kind of people can be identified because they love to point out the theoretical similarity between two widely divergent concepts. For example, they will say, “Spreadsheets are really just a special case of programming language,” and then go off for a week and write a thrilling, brilliant whitepaper about the theoretical computational linguistic attributes of a spreadsheet as a programming language. Smart, but not useful. The other way to identify these people is that they have a tendency to show up at your office, coffee mug in hand, and try to start a long conversation about the relative merits of Java introspection vs. COM type libraries, on the day you are trying to ship a beta."

http://www.joelonsoftware.com/articles/GuerrillaInterviewing...
You think many publishers would have paid to be whitelisted in Opera even at the height of its popularity? Not so sure about that. I think it's kind of a sleazy business model anyway.
The OrangeFS distributed filesystem (2015)
Amazon Widens Its Push-Button E-Commerce Horizons
I think that would depend on what I already knew, what I was interested in, and what I hoped to accomplish during this time (whether it be a hobby thing or professional development). Perhaps you could fill us in if you're looking for suggestions?

Personally I would probably sit down and learn the core of javascript, getting as deep as possible working toward a better understanding of what's going on under the hood. This is because in my daily work I really just scratch the surface superficially using it to write programs. I would want to understand it to the point where I could start to write something like Node.js from scratch (right now I don't even know where I would begin with this).

The reason for this is because I know C this way, so every time I write a line of code in C, I instinctively visualize what's going on under the hood.

I would like to be able to visualize this same thing with js.
The Posix specification of vi
It's just amazing what mathematics can do.

What was once attacked with NP-hard algorithms now has a constructive one.

Reminds me a little bit of the lottery problem - one has to find the minimum sized set of tickets that guarantee a match of at least K numbers on any of the tickets. Statistics can easily get you the expected number of tickets you have to buy but finding that minimum set can be mapped to a minimum set cover (where you're trying to cover all tickets with your set so that tickets in the set match all possible tickets in at least K numbers).

Then, all of a sudden maths can put bounds and direct formulas of how many tickets your set has to have (not trivial).

Leaving you again with a constructive polynomial algorithm.
Title should be "Silicon Valley Asks Mostly for Developers with Degrees. Mostly."
What the Hell?
90% of Hacker News content is crap. However, you can learn a lot by studying crap and do the opposite. Since 90% of that is crap as well, well, crap.
I've read your explanation, but I'm not convinced they support your assumptions (which, barring any benchmarks that make them factual, is what I consider them to be).

I'm aware of the dynamic dispatch overhead of Objective-C, but first of all it's my understanding that Apple's Objective-C runtime & compiler perform all kinds of smart tricks to reduce the overhead to a minimum (caching selector lookups and such), and second, because Objective-C does not require you to use dynamic dispatch if performance is a concern. No one is preventing you from doing plain-old C-style functions for performance criticial sections.

I also don't buy the 'ARC is slower than GC' argument. ARC reference counting on 64 bit iOS, as implemented using tagged pointers, has almost zero overhead for typical workloads. Only if you would write some kind of computational kernel that operates on NSValue or whatever (which is a dumb idea in any scenario, about as dumb as writing such a thing in JavaScript) you would ever even see the difference between not having any memory management at all. Just like your other performance claims: without data, there is nothing that backs up your statement that ARC is slower than GC for typical workloads. Hans Bohm is not the most objective source for such benchmarks by the way.

Apart from that you seem to spend an awful lot of effort explaining the things that would make Objective-C slower than JIT'ed JavaScript, while completely disregarding the overhead all this JIT'ting, dynamic typing, etc has, and the fact that in JavaScript you basically have no way to optimize your code for cache friendliness or whatnot.

You may be a compiler developer, but based on your comments I'm highly doubtful you are aware of how much optimization already went into Apple's compilers, which greatly reduce the overhead of dynamic dispatch and ARC.
Worth pointing out that PCB Train is business cheap, not hobbyist cheap. You'll easily pay upwards of £50 for a "short" turn around board from PCB Train (10 days) and you'll have to pay extra for things like ENIG.

A 1 square inch board, 2-layer standard finish, 2 day turnaround is north of £300. You don't need to pay much more to get multiple quantities though, so this is largely setup cost.

Note that you'll also pay for wasted space, unlike OSHPark - a 100mm square design also costs about £330.
As someone just starting out on their first pet language, this is an amazing resource. I've already read a book on the subject and I think I learned more reading this than the book.

It makes me second guess my choice to use a parser generator (PEG.js) which I don't fully understand yet, this makes it seem simple enough that I could write my own.

Thanks so much for this resource!
Has KiCAD improved their schematic/footprint library management? Last time I tried to use it (2 or 3 years ago) it drove me crazy with how difficult it was to use.

I've used Diptrace, KiCad, Altium, and Cadence Allegro and KiCad was by far the worst of these for handling parts.
Would you pay more money for a proofread article?

Would you pay anything at all for online journalism?
Curious what metrics drive the business practices of Stayintech and if there is an interesting story behind its creation.
Sorry, but that's just wrong.
Ideally this would be your easiest starting point for GPU programming, but I haven't this particular course project for a year and a half so it would need some polishing before it's ready for prime time. Honestly, I would just dive into the CUDA docs and mess around with their toolchain. Some resources:

Lecture on "GPU Architecture and CUDA Programming": http://15418.courses.cs.cmu.edu/spring2016/lecture/gpuarch

CUDA C Programming Guide: http://docs.nvidia.com/cuda/pdf/CUDA_C_Programming_Guide.pdf
Shit in JavaScript
I wrote a tokenizer the other day without really knowing what I was doing and it's reassuring to see that it doesn't work that differently from this one.

Anyway, this is very cool.
You can get all of that as well by just using Chrome. Opera 15+ is just a fork with a bunch of custom changes.
Why are we eternally fascinated by serial killers?
>That's because Turks are treated in Germany the same way Moroccans are in Netherlands.

Despite being here for decades they have made no effort to assimilate, in contrast to some other groups. 40% (!) of Moroccan youths has a criminal record. They speak poor Dutch. They don't consider themselves Dutch. Let us not pretend the effect was the cause.
By far not as popular as foo
https://github.com/search?utf8=%E2%9C%93&q=foo&type=Code&ref...
Also similar to the discontinued Windows Services for UNIX (SFU) and Subsystem for UNIX-based Applications (SUA).

And reminescent of Cooperative Linux, although that worked at the driver level and allowed the actual Linux kernel to be used.
> The range is accurate enough to know the problems.

I disagree. The model predictions don't match the actual data.

> We even know that the effects will have a very long time span

No, we have models that say that, but the model predictions don't match the actual data.

> that "much higher" state was before dinosaurs went extinct and the modern mammals started to develop!

CO2 was much higher then, yes. But it was also much higher during a good part of the Cenozoic.

> The fossil fuels now burned needed exactly these hundreds of millions of years to form.

No, they didn't. They formed during the Carboniferous period, a small part of the total time period during which CO2 was much higher than it is now. Also, CO2 was much higher than it is now for a long time after the Carboniferous, when the fossil fuels had already formed.

> comparing the change of the CO2 concentrations with the known temperature variation, we can expect even much worse changes than very conservative(!) IPCC predictions

Only if you assume, incorrectly, that CO2 changes caused the temperature changes during the ice ages and interglacials. But the CO2 changes during the ice ages and interglacials happened after the temperature changes.
Prevent Sports Injuries This Spring
You could check out Macrofab: https://macrofab.com/

I've never actually used them but their online tooling is impressive, they have reasonable prices for low quantity assembly, and they've manufactured and fulfilled a few kickstarter projects.
I messed up I meant continuum but the symbol is beth, so it should be beth1 or that weird small c.

And you're right the power doesn't matter because continuum^n = continuum.
What about security? Checking Wikipedia says there's only been two updates since 2013.
Absolute Fear: How the man who helped make TrueCrypt became an insatiable tyrant
"...I can't modify my genes with my behaviour."

This is incorrect. Your behaviour changes your environment (both directly and/or by exposing you to new/altered environments) and your environment modifies how your genes are expressed. See the wikipedia page for Epigenetics:

"Epigenetics [...] is the study, in the field of genetics, of cellular and physiological phenotypic trait variations that are caused by external or environmental factors that switch genes on and off and affect how cells read genes instead of being caused by changes in the DNA sequence. Hence, epigenetic research seeks to describe dynamic alterations in the transcriptional potential of a cell." [1]

These mechanisms act on an individual and are separate from Darwinian adaptation.

[1] https://en.wikipedia.org/wiki/Epigenetics

EDIT: "and your environment modifies your genes" -> "and your environment modifies how your genes are expressed"
No, it is a sign of choice/design.
>'living' means 'self organised, maintains its integrity and can reproduce'

I like the definition of life being something that can reproduce. But self organized, I'm not sure. All life depends on non-biological environmental factors for its organization and reproduction.
C++ is the most WTF language
I mean... Out of all the languages to pick, why not b * * * * fuck?
#2 makes me sad. I went to a for profit school widely regarded as a diploma mill, and received an excellent education that I feel truly prepared me more for the real world than many of the CS graduates I've worked with in the ten years since graduation.

Remarkably small class sizes meant a ton of one on one time with teachers whom had worked in the industry for years before going into teaching. All the students were there to LEARN, many of them non-traditional students.

They never could escape the negative stigma and went out of business last year. I imagine I'm doomed to the same stigma.
wheres the phobia?
Do you have an example?
I don't see why your comment is not simply additive to mine. Both our statements are true, and are related to the general discussion. Your statement relates to the most "pleasingly parallel" situations. Mine refers to problem composability.

This was the post right before the one we're talking about:

>No, no it isn't. Just like you wouldn't expect 2 3 + 8 to suddenly return 22 when you intend it to, you shouldn't expect the order in which you apply functions to not matter.*

A reasonable interpretation of the text and the one that follows is that some claims have been made that functional programming provides benefits of commutativity, and that people are disappointed to find no such benefit.
I don't need a ton more "innovation" (touchscreen on a laptop is a gimmick IMHO) in my macbook and it's plenty fast for what I do (run 2 external + laptop screen, 1-2 IDEs, chat, email, chrome, firefox, sequel pro, etc) but I think I'll go to the 15" next for the real graphics card and the ability to run 3 external monitors. All that said it pains me that Apple has not made any real improvements in quite some time. I was thinking about this the other day, I normally update every 2 years and I passed that mark 4 months ago but I really don't feel like I'm being held back in any way... Also they cap the RAM to 16GB (which I have) and since I can't add/replace it I don't really want to buy again unless the RAM can go up to 24/32.
Would love to see a non-anecdotal source on this, as my understanding is that pinball sales in the US absolutley dwarfs totals for the rest of the world. Not saying Williams didn't do lots of other sales in Japan, but pinball-as-in-two-ish-flippers pinball sales should be highest in the US.
I'm so much hoping either Google or Microsoft come out with Echo-like devices.