skysight-inc/HackerNews huggingface dataset:
I used to wonder that too. Well, I wondered why nobody could seem to make simple products that worked reliably without any duds and without a lot of cost.

Then I got a job with a company that manufactures sensors used by a huge number of companies and governmental departments, including NASA and Boeing. And my job was Output Smoothness Technician -- which meant that I was the one guy who was responsible for verifying the electrical specifications of every single part that left the plant. (The next two steps were QA -- which tested things like watertightness -- and then shipping.)

I learned a lot from that job. I learned that there are a lot of decisions behind every single little thing. For example, let's take the tiny little linear potentiometers that Disney uses in its animatronics. Someone at Disney decided they needed them; one team of engineers came up with a spec; another team of engineers figured out how to turn the spec into something that could be made; another team figured out how to make it. Then someone decided what kind of metal to use. Someone else decided how to tune the potentiometer to provide the desired output. Someone else decided what kind of grease to use. And then during manufacturing, someone decided whether or not the housing was good enough, someone decided whether or not everything fit together right, someone decided whether or not the weld was good enough, and so on.

By the time that little thing got to me, there were thousands of little decisions stored in it. Some good, some not. Then I had to test it and decide whether or not it would do what the customer wanted. Should I throw it out, wasting the company a lot of money? Or should I ship it, and let the customer decide, and hope the QA on their end is better than me?

I pretty quickly developed a reputation as one of the toughest OS techs they'd ever had. I threw back a lot of parts. The sales manager (who basically ran that location) hated my guts. But we still had defective parts come back every month!

Now imagine that you're trying to build something that you can't service, and you can't fix. You get only one shot to get it right, and a lot of money and a lot of people are riding on you. Best of all, you're building it to survive in an environment that you just can't really create here on Earth, so you don't get to test it the way that you'd test a lot of things.

That's why it takes 8 years and a lot of money: because it's very, very hard.

I think that one day sending things to Mars will become something that we're used to, and at that point, it will get a lot faster and a lot cheaper and a lot more reliable. But, right now, we're still trying to do things that we don't really know how to do. That's hard, and it takes time.
Oh, absolutely. It's a fantastic post. I just have a nasty suspicion that a lot of people will read it and think it's an excuse to jump ahead and skip testing too quickly.
Quick survey, please: tell us your experiences with startup accelerators
Getting started with DIY personal analytics
Nice idea, but I can't help being reminded of the old days of JavaScript, where the status bar was abused for scrolling text marquees.
I don't think this is what jgc was saying.

The point is that it's foolish to assume you know better than someone, particularly when you are unaware of the background to their decisions. And doubly so when the someone in question is as smart as the NASA/JPL staff undoubtedly are.
I don't agree as well. For loop is engrained in our brains so deeply that I think next generation of programmers should not be taught it. It took me quite some time to stop using it, even though I write C++ and it is a lot more difficult to write in functional style. Sometimes I'm just forced to use it. Most of the mainstream languages already support constructs from functional paradigm: C++11, C#, even Java got lambda functions. So, I will say no, don't teach for loops. Teach functional programming.
Jolla's MeeGo phones will build app ecosystem through ACL
That's weird, I'm fairly sure JS strings are Unicode.
> Any distance where you could step into a robo-car in the evening and wake up at your destination would become tough for airlines to claim greater practicality, never mind comfort.

Now, that I agree 100% with.
There is a world of difference between push notifications and a service that presents a real time view of some state.
I don't know when they erected this security system, but shouldn't this be a much smaller problem now with the progress in image processing?
Put up a bunch of cameras and let humans weed out the false positives?
Ported Coaxial Cable Sensor (or leaky cable) has been around for a very long time(1) and was quite reliable even before the advent of computerized DSP to help with detection.

(1)I think you could buy them commercially at least as early as the 70's
it gives time for fraud and cover-ups to surface

This is very interesting (and clever). Mind telling us more? :)
Great read. and well writ. I feel that it perfectly sums up what a lot of people go though, myself included. If only we all had the guts to go and congratulate people when they attempt something, and urge them to keep trying. Instead of the oft scathing "constructive criticism" we tend to give, if we even bother doing more than just silent acknowledgement.
Almost Anonymous
I would say it was still their failure for not documenting why things were done in an unintuitive/inelegant way.
Why XSS is serious business (and why Tesco needs to pay attention)
That you don't like the design and coding style strikes me as a poor reason not to use a system. It's utterly orthogonal to whether that system solves your problem.

I am prepared to bet $250 -- your choice of USD or AUD -- that within 1 year your shell script will have grown beyond seven commands.
Whilst I appreciate the encouraging words, this is an incredibly cheesy and highly unrealistic analogy.

Again, I get the authors point however the delivery is terrible. The kids post-dive reaction is unrealistic, the kids pre-dive fear is unrealistic. I accept it's just an analogy but the story bothers me.

Maybe it's people like me the author is targeting.
OK, now I guess event queue can also be lock free. Use one lock free queue as the article described for incoming events from the producer, and another queue with the event sorted by the consumer.
After the recent discussion about code-comments, that sort of code is exactly the sort that requires an explanatory comment.

Then all of a sudden, you don't need to waste time on careful and deliberate analysis, and hunting down people who might know about it, and making assumptions, because the 2 minutes it would take to write a few lines of explanation would save you all of that.

At which point, the real question is: why did they choose not to document this non-obvious solution, and the edge case that required it?
It's time to relax myself
Maybe he likes to pay the iron price.
As lovely as it is, this will probably only work on Mac as both Windows and Linux don't support Emoji
> Would that really change anything?

Yes. The rover is only in communication with its satellite for a limited time frame each day, and the satellite <-> earth link is wider than the satellite <-> rover link. With more satellites we could have around the clock high speed link up, and improve the bandwidth - future missions are likely to be loaded with more and/or higher bandwidth sensors.
Your opinions are valid, though I would like to point out that I (for instance) felt the pre-dive fear was not at all unrealistic, and so it may be that our opinions are divided based on our personalities / life-experience.

But never the less, if that is his pre-dive emotion, who are you to discount his fear? other than perhaps someone with the benefit of hindsight? (I pressume you to be older than 16).

I like it, and you're welcome to your opinion (obviously), just thought I'd share my opinion of yours.
Just to play devil's advocate here, is it really /that/ "outdated"? Yes, the camera is modest by 2004 standards, but by 1994 standards it's out of this world!

To me, eight years to build and test equipment to fly to Mars and wander around on another planet's surface is a pretty reasonable turnaround time.
I think it's the conservative part people have a problem with. Someone at some point in NASA's life had to take the plunge and develop the components and algorithms to use, so it isn't unreasonable to expect some new components and algorithms on new projects.
Granted, everyone thinks differently.

The subject is a 16 year old male.

Pre-dive his fear would primarily be the height and significant impact on landing. They are primal fears that significantly override one of rejection.

Post-dive, how likely is it that a 16 year old would surface and shout 'I failed'? Realistically, they may think like that but they wouldn't vocalise it. They would sheepishly swim off to a corner out of sight.
Experts hope to shield cars from computer viruses
These are a bit specific. I feel as though they might, in fact, have been the last 4 books the author has happened to read.

Anyhow, I expect we'll get the usual round up here. Code Complete, of course; plus a smattering of rebels who think it was boring or irrelevant. The Pragmatic Programmer will receive universal praise, especially from those who didn't take the time to read Code Complete from cover to cover.

Some of the debate will be about whether Code Complete is "better" than Clean Code or not. A silly argument, they are complementary (though, really, is this even a debate worth having? Code Complete is clearly the better book).

Let's see, what else?

Structure and Interpretation of Computer Programs will get mentioned, which will spawn a fertile subthread arguing about whether computer science books really belong on a list for developers. That subthread will debate the merits of Introduction to Algorithms vs everything else, and someone will mention a lisp book that changed their life. Probably Paradigms of Artificial Programming or On Lisp.

The Gang of Four will get nodded at. Like the Bible, Homer, or Peopleware it will be the book everyone says they've read but which almost nobody has actually read.

The C Programming Language will be mentioned. These days that means Zed Shaw will be named and hilarity will ensue.

Myself? I'd definitely have Code Complete (I still have my first edition), perhaps A Discipline for Software Engineering and Software Estimation: Demystifying the Black Art. I've found pretty much everything from Dorset House to be worth my time, so to PeopleWare I'd add The Deadline and Adrenalin Junkies and Template Zombies.

What we don't do in this industry, however, is read more widely. Get out of your rut. Read about history, read some classics, read deeply in another field you pursue as your hobby. Everything illuminates everything. Get out there, see the intellectual sights (for which, get a copy of Dawn to Decadence by Jacques Barzun for a guided tour). You'll be a better developer and a better person for the trouble.
It's a balance. I post for myself but I would like feedback on it and to learn from it. There is a huge difference between the documentation and personal knowledge base I have on my personal OneNote notebooks and the public blog - it takes me a few hours for each blog post. I add pictures, format, spell and grammar check since English is not my mother tongue etc. If I see I don't get any benefit from all this polish I will be discouraged from doing it and will just keep it in its raw stream-of-thought form for personal use.
Yes, but you can use Java (or Scala) where C++ was mentioned.
I agree with you with regards the post-dive, but pre-dive, speaking from experience I can imagine my 16-year-old self going through that exact thought process (had I not already been jumping from any number of high objects for fun by that age already), rightly or wrongly.
Hi, author here. Clearly a lot of this post is my analysis of what was going on in the boys head, which I can only hypothesise about from my own experiences, but the events in the story are pretty much as they happened yesterday, rather than a created analogy. And his first words were certainly "I failed!".

Thanks for everyone's comments. Appreciated!
I think I might be inorrect: if somebody hijacks the bitcoin network, perhaps they could make more money by changing transactions of the past. Not really sure, though. Anyway - that would only destroy the network, not really make them richer.
What music do you listen to while coding?
A friend of mine works for a large investment bank and this is the stated reason for their mandatory 2 week continuous holiday.
A Pricing Lesson from the Concorde
Buried coax and fiber detection systems tend to rank in the bottom 1/3rd of overall reliability (just above the systems that try to detect fence movement and tension changes).

In fact, I rarely hear of new deployments considering these technologies (though I'm sure there are plenty of them, as the companies are still in business).
oh I like how they get harder quickly and are not just about math and string/number/list manipulation like most puzzle sites. They make you delve into python (of course I used `requests` instead of the suggested `urllib` for problem 4) and have some very nice (but so far not too hard) riddle elements!

... And I just finished problem 5. very cool!
I usually tune into Bassdrive (1) or some other drum and bass. It gives me the most energy and focus of the different genres I've tried.

(1) http://www.bassdrive.com/
Hypersonic flight X51A Waverider crash probed by military
Heh, that wasn't there this morning :-)

Cheers.
You should! Make sure you pick up the 6th book by Eoin Colfer (of Artemis Fowl fame), 'And Another Thing...' who's actually done a marvelous of picking up the series where it left off after Douglas Adams' extremely unfortunate passing.
I'm extremely late to this thread and unsure where best to post this. That said, if I wanted to seriously question an individual, I would most want to control the environment. Would video conferencing allow that?
This system is/was actually using video analytics as part of the overall strategy.

Video analytics can be very reliable, but you can't rely on humans to weed out the false positives very effectively. I've heard of (heard of, as in been involved in replacing them) video analytics systems that generated hundreds of false alarms per night on similar sized deployments. Any human operator is going to quickly become immune to the alerts when they happen at that rate.
For real? It's called empathy. Try it some time, it's like telepathy, but easier.
Just to answer the example: Mars does not have a magnetic field of significant strength. Curiosity needs shielding on the surface.

Perfectly reasonable question though.
Trolling Arch Linux
> Get out of your rut. Read about history, read some classics, read deeply in another field you pursue as your hobby.

Good advice. Sticking close to software, business and economics are handy subjects to understand more about if you're a developer.

Going further abroad is a nice break from all software/startups, all the time. I like to read history books myself, although it's tricky to find good ones.
6? Wow, I don't think I liked girls that young even when I was 6 myself. What's there to like? there's nothing feminine to them. I can understand the attraction to some 15 or 17 year olds, because they can be attractive women. But I find it mysterious that someone can be attracted to a prepubescent person.

Anyway, good job about not hurting anyone I guess.
a = 0
[1, 2, 3].each { |a| }
a # => 3
Lazy GIT integration
Plus, ticketing takes a heavy load. The I Heart Radio
festival this year sold out in 8 minutes.

Isn't this a textbook application for EC2, Heroku, Google App Engine, Windows Azure etc?
You saved me a comment, none of the books in OP are really 'must read' and most of them are about project management methodology, not programming.

I was going to add to what you said with a link to a specific former thread I remember that was good, and it caused me to stumble onto a new feature in Google that I haven't seen before and which is most excellent.

If you google for:

site:news.ycombinator.com programming books

You get a summary with covers and links to Google Books of the most-mentioned books on HN.

Link to the search result page:

https://www.google.com/search?num=50&hl=en&newwindow...

Image link incase you don't see it on your Google:

https://img.skitch.com/20120820-g8phi24s3ngq7khyimq5wqnabg.j...
Because using != supporting.
So tech is unreliable because so many people work on different parts, that everything is a fragmented mess? How can one fix this problem?
Grilled Rum Jerk Style Chicken or Pork Recipe
We could make history
Well yes. What I meant to say was that in trace amounts in the atmosphere Plutonium isn't terribly dangerous. When you're working with bulk metal there are heavy metal toxicity and radioactivity concerns, of course, and if you're working with powder or fines then that can be particularly dangerous in terms of radioactivity exposure (because Plutonium in your lungs is pretty much where it can do the most damage).

But compared to fission byproducts like I-131 or Sr-90 which are both crazy radioactive and eagerly taken up by your body and placed into your bones and your thyroid, Plutonium barely registers.
Social Workflow + Social Enterprise = Future of Work
Two books I think every developer should read:

'The Design and Evolution of C++' by Bjarne Stroustrup

'The Old New Thing: Practical Development Throughout the Evolution of Windows' by Raymond Chen (you could just read through his blog, book I quite enjoyed having a book).

What I feel these books really helped with was understanding how a large complex real-world system, designed and maintained by clever people, can end up with so many weird features, and how the smallest things can end up being problems the dog you for decades. These are the only two books I am aware of that make an attempt at discussing how some big complex systems (C++ and Windows) ended up how they are, and tell some interesting stories of how various features arose, and why others didn't.
The fear of rejection isn't much less primal than the fear of heights. Same parts of the brain, different evolutionary reasons.

You are right that nobody shouts out "I failed", but it's not unusual to hear something defensive like a sheepish "I'm not very good at diving" or "I messed that up". It basically means the same thing -- they are preparing to be rejected by the tribe by reducing their social status (and increasing the relative status of the people they are speaking to.)
"The body colour of Robichon's lab aphids is affected by environmental conditions, with the cold favouring green aphids, optimal conditions resulting in orange ones and white ones appearing when the population is large and faced with limited resources....Green aphids, which contain high levels of carotenoids, make significantly more ATP than do white ones, which are almost devoid of these pigments."

Assuming the photosynthetic aphid hypothesis this makes for an interesting positive feedback loop with analogies in economics - when energy levels fall below a critical threshold the aphids are unable to synthesise the "metabolically expensive" cartenoids.
Tim Berners-Lee's Original Announcement (1991)
Interesting. Any examples of where you find for more clear than #each? I feel #each is inheritly more clear because it's explicit. Every time I see a for-loop in Ruby I have to remind myself that "oh, that's actually just calling #each". It's also easier going from e.g. #each to #each_with_index, or #each_cons/#each_slice.
Sure. Reading lightly in human factors and systems has been a real eye-opener. Reading deeply on Olympic weightlifting, strength training and so forth has also given what are to me deep analogies back into software development.

Similarly, some bits of the bible really speak to me, even though I'm an atheist and I think most of it is hilaribad. There is nothing new under the sun ...
Light in Slow Motion: 1,000,000,000,000 Frames/Second Photography
Sorry but I could not understand the shielding on surface. What is this shielding for?
Web App Tutorial: Amazon EC2 Deployment with Boto
If MasterCard actually lets this happen I'll eat my hat.
I listen to instrumental music - whether classical, contemporary or techno, and sometimes even rock.

I find vocals very distracting.
Touch-optimized portfolio WordPress theme
"The books chosen are generally and broadly useful and not tied to some too limited domain"

Yet 3 of 4 have "lean" or "agile" in the tile ..
I completely agree with you. Apple should really be more "open" in protocols and interfaces they use. But, sadly, I don't think they care (as you say). They lose you and thousands like you (and in a few years might lose me too, but I'm not really fed up with it and have invested too much in Apps to be able to switch easily, and even if I could I wouldn't just now - I really enjoy my iDevices, despite all their vices), but this strategy "might" lure more naïve users into their platform. Which is what they want.

But, personally, I'd really love for them to use more "open" protocols. But, maybe it's not entirely their fault? ePub wasn't great for their dream of ibooks. It would literally take years to "standardize" the new file format through W3C or whoever is controlling ePub. So, they did the only thing they could: creating a new file format. Just like iMessage, FaceTime, iWork, iTunes, ... - I don't mind them doing it, just wish they would "open" their contrived file formats afterwards, so Linux guys could create decent iPhoto clones that we could "rsync" stuff between devices, etc.
"Tu quoque"

http://en.m.wikipedia.org/wiki/Tu_quoque
Hear hear - some times clarity of code is far more important than showing of your leetness.
I'll be honest, I've read a very small number of books on software development throughout the years. I've learned all my stuff on the way, from mistakes I've made, associated documentation, and from reading the code that's powering production systems from the engineers before me. In the end? I'm doing pretty well. I'm sure that anyone else in a similar situation would agree.

Reading these books isn't going to make you a rockstar/ninja/allstar programmer. Keep doing what you're doing, learn from the mistakes you make; the lessons you learn from them are going to last a lifetime. The lessons you learn from these books might make you a better programmer, but almost all of it will be gone in a week.
Just curious: why isn't the making of vitamin D by the human skin called photosynthesis?
D&B ftw :)
Native english speaker here:

1. The FBI flew across the world to NZ.
2. They performed an assault on the Dotcom house with an armed chopper.

Not saying that you are wrong, but the posters sentence was textually correct.
Great post. Felt similar sentiments and serendipitously was given a chance to travel to Africa and beyond for the good part of a year. So took it! http://engineerwithoutacause.com/without-a-cause.html
Is that really their official blog? I'm not usually one to care about a professional looking UI, but I feel like it matters here. A non tech boss is going to see this next to cloud.google and have a tremendous bias, regardless of what his/her tech people think
You could make the same exact disclaimer about SQL statement and it would be true:

"INSERT modifies data and structures. You should be careful with it, and test it before using it in production. You should also ensure that you have recoverable backups before using this tool."

"ALTER modifies data and structures. You should be careful with it, and test it before using it in production. You should also ensure that you have recoverable backups before using this tool."

It's just good advice to test stuff before you use it in production. Discarding an awesome product simply because the authors (responsibly) mention that you should probably test it out seems overly paranoid and would severely limit your choices. Percona Toolkit is the most well known and reliable set of tools out there in the MySQL ecosystem.