skysight-inc/HackerNews huggingface dataset:
> you should treat software quality like some 19 year old's life depends on it, because it might.

You should treat it like that if someone's life does depend on it and you have the resources to develop accordingly.

If you're developing something like, say, bingo software, you're probably better off devoting time to improving the product or marketing it, rather than working on it being 100% bug free.

It's all a tradeoff - time spent on eliminating every last little bug is time not spent on adding features or making it faster or marketing it or whatever.

Edit somewhat less clear-cut cases might be bits of software that you release publicly, and subsequently get used for life-critical systems. However, in that case, the onus is on those adapting the code for use in that environment to provide the testing/review/etc... rather than blaming the upstream developer.
Correct me if I'm wrong, but I'm pretty sure ActiveRecord will issue a separate query for each of those :include clauses.
A potentially more specific moral in this case is "beware of floating point numbers". Don't use them unless you really, really understand how they work, or if you are using them in a very conventional way, like with 3D graphics.

Inexperienced programmers often regard FP as magical numbers that do everything. It doesn't help that programming languages like JavaScript essentially treat them as such.
Anti-intellectual. I'm not sure it's mocking intellect, the Shakespear, Aristotle comment seems to be mocking false erudition and pretense that sometimes characterises graduates. University does not necessarily make people intellectual.

The sex and poo? Crude I'll admit, none the less demonstrating the meaninglessness of taboos through directly challenging them. These people may be horny little pooers but at least they don't take everything for granted.
"There are 10^11 stars in the galaxy. That used to be a huge number. But it's only a hundred billion. It's less than the national deficit! We used to call them astronomical numbers. Now we should call them economical numbers."

-- Feynman (in the 80s when the deficit was that tiny)
build software that people want to use instead of
software that managers want to buy

It seems that people have learned this lesson. Marketing folks even have a term for it: The Consumerization of IT. Spend some time around Gartner reading folk, and you'll hear it incessantly. http://www.gartner.com/press_releases/asset_138285_11.html

Of course, now we have real success stories to point to. The iPhone's enterprise adoption is generally driven by normal folks, and the blackberry driven by managers.
Yes, it's a big improvement. The WebKitCSSMatrix implementation is actually compatible with both specifications: it provides getters and setters for elements a-f as well as m11-m44, and serialises to "matrix(a, b, c, d, e, f)" if the matrix is affine.
The layout could use a bit more work. There is a lot of wasted space on a wide browser and the main body hides if I shrink my browser window to much.

I registered for an account, but it didn't not automatically log me in. Not a huge deal, but little things add up. Then after I logged in, it kept me on the login page. You should redirect to the home page.

I like the idea. I think there have a been a number of posts both here at HN and other places basically saying, here is an idea for someone, or someone solve my problem. I would find those and use that to help populate it.

One feature/benefit that would be useful is to find how who liked/wanted the idea. Perhaps there needs to be 2 types of voting. 1 vote is 'that is a cool idea' the second is 'I would buy this now if it existed'. The second feedback is much more valuable than the first.
The fact is, the Macintosh was nowhere near completion when Jobs took it over and shepherded it there himself. The whole Raskin/Jobs controversy smells like 30 year old corporate politics, nothing deeper than that.

Some potentially relevant folklore.org bits: http://www.folklore.org/StoryView.py?project=Macintosh&s...

http://www.folklore.org/StoryView.py?project=Macintosh&s...
Moral c) The floating point numbers you use when programming computers are fundamentally very different from the numbers you'll see in math class. Any assumption that computer numbers and math numbers behave the same will eventually lead to bugs.
That Olympics Logo
> There is a definite 'not invented here' syndrome amongst defense contractors

Yes. Especially because of contractors. A defense contractor is not going to its competitors in order to reveal and exchange know-how. That know-how is a trade secret that gives them competitive advantage. Except that in this case, lack of sharing results in making the same mistake multiple times, which results in loss of human life.

Interestingly lately I have observed that the government is trying to tighten up its defense spending belt and there is a tendency to develop more in-house rather than contract out. In order to gain public support the Congress keeps voting to increase the salary of service personnel. That leaves less money to spend on contracting out. So perhaps we'll see more sharing in the future at least between DoD's own projects.
OS X - Apache Web Sharing Starts But You Are Unable Connect
folklore.org paints a pretty interesting picture of Jef Raskin, and one which indicates his words should be carefully weighted and not taken at any more face value than those of Jobs.

For instance:

> Whatever idea that you came up with, Jef Raskin had a tendency to claim that he invented it at some earlier point.

folklore also shows Jobs's contribution very differently than Raskin's own take:

> The plan of record for the Macintosh industrial design was still the one conceived by Jef Raskin, which chose a horizontally oriented, lunch-box type shape, with the keyboard folding up into the lid of the computer for easy transportability, kind of like the Osborne I, which we weren't aware of at the time. But Steve had a real passion for industrial design, and he never seriously considered following Jef's recommendations.

As well as complete and utter disagreement with what was apparently written by Raskin, behold from ZeroGravitas's link:

> The elimination of slots had been dictated by Jobs, however I thought this would hamstring the product. Thus I invented the all-important bus diagnostic port discussed below

Whereas on folklore.org:

> But Jef Raskin had a very different point of view. He thought that slots were inherently complex, and were one of the obstacles holding back personal computers from reaching a wider audience. He thought that hardware expandability made it more difficult for third party software writers since they couldn't rely on the consistency of the underlying hardware. His Macintosh vision had Apple cranking out millions of identical, easy to use, low cost appliance computers and since hardware expandability would add significant cost and complexity it was therefore avoided.

> Apple's other co-founder, Steve Jobs, didn't agree with Jef about many things, but they both felt the same way about hardware expandability: it was a bug instead of a feature. Steve was reportedly against having slots in the Apple II back in the days of yore, and felt even stronger about slots for the Mac. He decreed that the Macintosh would remain perpetually bereft of slots, enclosed in a tightly sealed case, with only the limited expandability of the two serial ports.

> Mac hardware designer Burrell Smith and his assistant Brian Howard understood Steve's rationale, but they felt differently about the proper course of action. Burrell had already watched the Macintosh's hopelessly optimistic schedule start to slip indefinitely, and he was unable to predict when the Mac's pioneering software would be finished, if ever. He was afraid that Moore's Law would make his delayed hardware obsolete before it ever came to market. He thought it was prudent to build in as much flexibility as possible, as long as it didn't cost too much.

> Burrell decided to add a single, simple slot to his Macintosh design, which made the processor's bus accessible to peripherals, that wouldn't cost very much, especially if it wasn't used. He worked out the details and proposed it at the weekly staff meeting, but Steve immediately nixed his proposal, stating that there was no way that the Mac would even have a single slot.
A Big Forking Problem
From http://csclub.uwaterloo.ca/contest/starter_packages.php:

"Java

"Download the Java starter package.... [...] Note: The JVM interacts badly with the sandbox we use to run submissions, causing frequent timeouts. You are advised to choose a different language."
The 3d transforms in webkit are pretty neat. In fact, I played about with generating 3d transforms using data from Blender a while back ( http://github.com/jamesu/csstransformexport/ ), with some success.

Still, needs more browser support.
Another key point is that men at all income levels are about equally likely to cheat, and younger men are only slightly more likely to cheat than older men.
Whenever the urge to game strikes, I’m going to ask myself the following questions:

* Have I exercised today?
* Are the house and yard tidy?
* Have I run all of my errands?
* Have I written and/or edited at least two articles for Get Rich Slowly?
* Does my inbox have fewer than 20 messages?

What we need now is a mod for Steam that asks the right questions before starting any games. It could be partially automated, synchronizing with your e-mail inbox and task calendar.
Steve Jobs having nothing to do with the original Macintosh doesn't imply that Steve Jobs' aesthetic sense didn't result in Apple's resurgence.

It might imply that Jobs is not a nice guy but I think even a lot of Apple fans are OK with Jobs being a not-nice-guy-who-gives-them the coolest stuff.

I am personally distributed by the cult-like-climate that Apple is described as having but I am also appreciate that Apple is seen as where the best UIs appear.

I think having single persons aesthetic control is very important to and we should think about why.

My suspicion is that one wouldn't necessarily have to have genius to do this, just a willingness not to accept the usual croft that infects just any large engineering project. Any average user off the street can walk and say "I don't want to do that in five steps, I want to do it in one". The only genius it take here is a willingness to keep attitude even though a team of twenty spent a year deciding that five steps made sense (and their terrible decision happen because the logic of engineering process crept slowly and insidiously into their aesthetic, their idea of what is "OK").
A Peek Behind the Curtain of the Texas Antitrust Complaints against Google
Memory management in Android
What Good Is Remorse?
Well, guess what. He finally had success, regardless of what happened decades ago. ;)
Hmm,

Does building Apple to the level it is now prove he stopped being a sociopath or prove that he was the right sociopath for the right job?
The real point to be made here is that most people are programmed to believe that you only want to hear good news. I can't think of a more damning phenomena.

If your idea sucks, having someone with experience tactfully break down the logical flaws and encourage you to try something else is the best possible outcome.

The key to getting good advice is knowing that which to ignore. However, if nobody tells you that your idea is bad, you're already screwed.

I love telling people when I think their idea is great, but I feel like I'm really helping when I look them in the eye and tell them why their idea isn't going to work. (It's the people that thank me who are most likely to succeed, in that case.)
Show HN: I hacked together a little Safari extension to improve HN
I wanted a go at writing a Safari extension, so this morning I started writing BetterHN; a little extension aimed at incrementally improving Hacker News. So far it adds two features:

1) Comment thread folding
2) Clickable links in text-based submissions

Hopefully some here will find it useful.

Source: http://github.com/sant0sk1/BetterHN

Install: http://jerodsanto.net/downloads/safari/BetterHN.safariextz

Enjoy!
Crabfu $5 iPhone Microscope Mod
That approach works if you know exactly what applications your code will ever be used for. If you are writing a library or a compiler or anything that will potentially be reused by unknown 3rd parties, then you can't be sure just how critically it will be put to use. There is no certification to distinguish software that lives can depend on.

That doesn't mean it's your fault if someone uses your free XML parser in an amusement park ride and your bug makes it fly off the rails. But I still wouldn't feel very good about it and would like to do everything I can to avoid it.

Also, when it comes time for you to write life or death code, it would be good if you already knew how to meet the required quality standard.
Here are some clickable links for those who don't have the extension installed:

http://github.com/sant0sk1/BetterHN

http://jerodsanto.net/downloads/safari/BetterHN.safariextz
> Steve is the 'brave general' that sparked Apple, destroyed it

When? How? I've always been under the impression that Apple's destruction had followed jobs's ousting. Unless you mean that Jobs destroyed Apple by hiring Sculley?

> He may have been a sociopath artist in his 20's but he grew up to be the world's greatest CEO in his 40's and 50's. Just look at the Apple 10 years ago and look at them now.

But it's not like the successes of his 40s were built on nothing. Pixar and NeXT didn't spring up from some kind of void in the mid-90s as Jobs reached 40.
Sorry about the signup and display- i'll fix those immediately.

Great idea for multiple voting too.

Thanks :-)
I would love to make a version that will fit on the device, but for now the database(several GB) is too big to be practical.
Huh, I just changed it. Maybe its back now?
there is http://foodguts.com
Your first paragraph is wrong. You can't switch frames like that because in a collision both cars will quickly come to rest relative to the ground, so kinetic energy in the ground frame is what matters. A car at 120 MPH has 4 times the kinetic energy of a car at 60 MPH, not 2 times, because kinetic energy increases as the square of velocity.

I'll agree with the projectile thing though.
Compress before tarring is a really dumb idea and you will get terrible compression ratios - you cannot exploit data patterns across files. It could work if you ask gzip to write some sort of a global table...
Why businesses have to integrate game mechanics from now on...
This almost made me gag and weep at the same time.
That kind of thinking helps ward off mediocrity. Whenever I deal with somebody in my company, I really hope they think their work is important and I appreciate it in a positive way, even if their work isn't important and I'll only notice if they fail to deliver (in which case it will just set me back a week.)

Having a realistic perception of your own importance leads to depression and to performing at the bare minimum necessary to stay employed. I don't bother much with reality anymore; I prefer sanity and success to reality ;-)
See, there've been guided missiles since the 1950s. There'll be 60-something old geezers at Raytheon who have done missiles their whole careers, 30-40 years, and they would have been apprenticed to the previous generation of old geezers who had merely done missiles most of their careers. These guys should know this stuff by now.

Fatal errors are almost never a single thing going wrong unpredictably - they're a chain of events leading to an inexorable conclusion. Root cause - where were these guys?

It is possible to get this right: http://en.wikipedia.org/wiki/Sea_Dart_missile#Gulf_War_.2819...
Steve may not design the product, but he is the hard-grain sandpaper that gets a design from prototype to best in market.

Ars says it best:

"On his own, Jobs could not create much of anything. But that's not his superpower . .. He is Apple's übercritic: one man to pare a torrent of creativity and expertise down to a handful of truly great products by picking apart every prototype, challenging every idea, and finding the flaws that no one else can see."

http://arstechnica.com/staff/fatbits/2009/05/hypercritical.a...

Further reading on this process in action - Steve's take on the Segway design:

http://tech.fortune.cnn.com/2008/07/07/behind-the-scenes-ste...
Bicep Exercises
It is situational.

You practice self control in situations where you have a reserve of self-control - say, in your own house before bed time. Theoretically this will let you build up a greater reserve for situations where you need more self-control - confronting a subordinate or superior on a job.
The DoD should have stuck to its guns (hah) and continued to mandate Ada.
His ego destroyed Apple and got him ousted. When reality humbled him, he returned and rebuilt it for the 21st century.

NeXT was part of rebuilding Apple. That's how he got back to Apple...

Steve was only a benevolent patron to Pixar. He didn't micromanage them or take credit for any of the movies being 'his visions'.
Review my tool svgpath.com
Hi all,

I had sometime during the weekend, while exploring svg (in particular, svg path), i build a really simple thing to help me understand some of the more complicated examples at various places on the web. How everything fits together. After typing/copying in a path string, you can mouse over the structure analysis section to see how the string is built. Hope someone else finds it useful!

Here is the link: svgpath.com
You seem to have written this after my edit, which addresses that point. I'd feel bad too, but I'd feel bad if I had to hire a team of coders to review every line of my open source projects and document any change:

> "At the on-board shuttle group, about one-third of the process of writing software happens before anyone writes a line of code. NASA and the Lockheed Martin group agree in the most minute detail about everything the new code is supposed to do -- and they commit that understanding to paper, with the kind of specificity and precision usually found in blueprints. Nothing in the specs is changed without agreement and understanding from both sides. And no coder changes a single line of code without specs carefully outlining the change. Take the upgrade of the software to permit the shuttle to navigate with Global Positioning Satellites, a change that involves just 1.5% of the program, or 6,366 lines of code. The specs for that one change run 2,500 pages, a volume thicker than a phone book. The specs for the current program fill 30 volumes and run 40,000 pages."

From: http://www.fastcompany.com/node/28121/print

If there's no certification for ready-made life critical components, then that means the burden of reviewing, checking and verifying everything in the system is on whoever wants to use it in a life-critical environment.
See also "The Gervais Principle": http://www.ribbonfarm.com/2009/10/07/the-gervais-principle-o...
Stupidity within your organisation
Steve Jobs on Creativity and Perspective (Great Read)
I thought the issue was due to the binary representation of numbers like 0.1, 0.01, 0.001 being in fact non terminating fractions ala: 1/3 thus the longer the system ran the more small amounts of round off error it accumulated but adding two incomplete fractions.

I seem to remember this being the case in my numeric methods course, but maybe that was a different systme.
Do you know why you want what you want?
In my opinion, one of the big problems with formal methods is getting the specification right. You might be able to prove that your program conforms to your specification, but what is to say that your specification is any less buggy than your program? Some interesting work has been done with proving that certain errors do not occur, rather than proving the entire program correct. For instance, Microsoft's Terminator project [1] is used to prove that device drivers do not hang.

[1] http://research.microsoft.com/en-us/um/cambridge/projects/te...
Note that Jef Raskin actually disputes both those accounts himself in the comments sections.
I'd point out that the "perl+SSI" codebase was actually mod_perl, Catalyst, DBIx::Class etc. using SSI as a sort of primitive ESI replacement to ease caching of partial pages.

The strange politics that led to the perl on rails monstrosity apparently aren't universal.
You could once-and-for-all prove the error correcting program correct and then use it again and again for every program. But that wouldn't actually help getting programs correct. For example if your error correcting program was to write every program three times, then if one of the three programs gives a different answer you use the answer of the other two. Now a human writing a program would probably just write the same bug in each of the three versions, i.e. the three versions are not independent. You could have the three versions written by three different humans. But that doesn't solve the problem either because some errors are just likely to be made by all three of them (for example forgetting to check some edge condition somewhere). So again the three versions are correlated. Or worse the problem could be in the specification all three of them got. I don't think there is any way out of this.
Outdoing a neurosurgeon: http://www.youtube.com/watch?v=THNPmhBl-8I
At the end of the article it was revealed that that Raskin quote was made 24 years ago. Whether it was true then or not, it's certainly possible that Jobs has designed, or contributed to the design, of something at Apple in the 24 years since. Just a wee bit of a possibility there.
I think it would. A few years ago, my curtain rail collapsed, and it took a few days before I could have it fixed.

Automatically waking up with the sun streaming through the window was a wonderful experience and I felt well rested, but, for privacy reasons, the curtains had to go back up.
If you haven't yet, I would spend a couple years working for a reasonably good airline (US: Southwest, Virgin America, JetBlue, etc.) and see how it's done. Not sure which function would be the best to focus on, but operations seems like the trickiest part in managing costs, schedules, fares, passengers, employees, airport personnel, federal agencies, you name it.
Once a sociopath, always a sociopath. However, the Steve running the show today is not the same as the Steve that got kicked out.

He certainly would not have been able to execute grand plans like the iPod, iPhone, and iPad without having hundreds of brilliant people working with him and being proud of their work.
What I learned from a taxi driver
There is no certification to distinguish software that lives can depend on.

Actually, there is. Google up "safety-critical software". And maybe "trusted software".

I work in military avionics; every dang line of code in the product, including any libraries we use, is vetted to death. If I were to try to just download a library off the internet and include it in the flight control software, I (A) wouldn't get away with it (B) would probably lose my job and (C) would confuse the hell out of my coworkers who all know I know better than that.

So don't worry someone will include your hastily-developed XML parser in safety-critical software without your knowledge. They won't unless you're willing to prove you've certified it to the level they require. And I promise you, that's not an exercise you'll forget having gone through. ;)
Do tidal forces have any effect on the center-of-mass trajectories of planets?