Live data from Hacker News

Everything's broken and nobody's upset

hanselman.com

31–40 of 418 posts

Re: Everything's broken and nobody's upset

#31

I've spent most of my career for 15 years as a programmer. Some days I just want to throw out my computers and phones and never touch them again. Days when I get overwhelmed by the feeling described in the article. Every computer environment is layer upon layer of kludges. There is shit all the way down.

>Every computer environment is layer upon layer of kludges. There is shit all the way down.

You missed the AMAZING INGENUITY and BRILLIANCE that is also all the way down.

Re: Everything's broken and nobody's upset

#32
post #24

So, your amazing feat of engineering phone, with a color retina display, audio-video capabillity, 700.000 apps, gyroscope, HD cameras, etc has some extra stuff taking 3GB drive space (of the 16GB device). Your amazing, multi million lines of code Windows desktop, the work of some 1000 people or more, has a problem with indexing. The protocol and apps that connect you via email to everyone you want, free, globally and…

So, your amazing feat of engineering car, with automatic transmission, ABS, a GPS, incredible fuel efficiency etc. stops in the middle of the highway sometimes.

Your incredible display, which somehow manages to use liquid crystals to display beautiful 1080 HD video develops a jitter and bright line down the middle after a month.

The machine gun which lets you launch tiny projectiles at speeds high enough to kill a person sometimes fires rounds without you pulling the trigger and causes a casualty.

...

Yes, the technology is incredibly complex and represents a huge transformation in the way we do things, but a customer doesn't and shouldn't need to understand that, and certainly shouldn't be offered the complexity as an excuse for it not working correctly. Given the fact that most (all?) of the products mentioned in the post have some kind of price associated to using them, its not unreasonable to expect they work correctly.

This is not to say that the people who made the tech are at fault per se, just that the customer is not at fault either for complaining when things dont work.

Re: Everything's broken and nobody's upset

#33

I've been thinking for some years now, I wish everyone would stop implementing features and perfect the ones that are already there. Optimise. Improve. This is why I was so upset at Sparrow throwing in the towel - they concentrated on one thing, email, and did it better than I'd seen it done before. By specialising they were able to spend the time to get it right.

I completely agree. I'm sick of feature bloat, especially when it's taking away from perfecting stuff that's useful but not 100% there. Not every application needs to solve every problem - but it would be really nice if they did actually solve one, rather than prod at a dozen. I'm sure it's part of the reason we get attached to early-stage startups so often: they're hyper focused on scratching their own itch and haven't yet been massively distracted by all of those nuisances that come with growth (like needing to make money)

Having said that, I'll point out that Sparrow (like every other non-webmail client I've used) seems to fall over when dealing with massive volumes of email. I'll get into the office with 500 new emails, skim and archive 490 of them over five or ten minutes or so, and then a few minutes later half of them will just show back up. Overall still a very solid product, so I too was disappointed to see it eaten up and killed off by Google.

Re: Everything's broken and nobody's upset

#35
The blurb on the sidebar proclaims Scott's MS experience. It's surprising to see someone with a Microsoft background making this complaint. MS spends more effort than any software company on testing, not only in just plain hiring lots of testers, but also on formal methods. They have some of the top formal methods people in the world doing research for them, and armies of people trying to put that research into practice. Making stuff work is hard, and I'd expect someone who worked for Microsoft to know that.

I work for a hardware company. Bugs are really, really, bad. If we find a hardware bug in real silicon, at best, we catch it the moment we get the first chip back, and it means that we have a multiple month delay as we fix it and tape out a new chip, not to mention the cost of throwing away all of the partially fabbed chips we've got, plus the multiple million dollar cost of a new mask set. At worst, we have a recall [1]. We take testing very seriously, and we do a lot more formal verification than most software companies.

The only things you can be sure about are things that have been formally verified [2], and the list of things that you can formally verify is tiny. We formally verified our adder. It took months. Then we did the multiplier, which was much harder. It took about the same amount of time because of the experience we gained doing the adder, but it wasn't easy. Division took a lot longer, even with the experience of doing addition and multiplication. To think that we can advance the state of the art of "things that work" from something like a multiplier to a complex piece of software with "care" and our "collective will" seems overly optimistic.

Everything's going to be broken for the foreseeable future. Putting more effort into testing and less into features is a difference in degree, not in kind. It won't even prevent articles like this from being written because, if all you want to do is find ten bugs in all the software you use, that's still going to be trivial. Considering how much progress has been made in formal methods since 1970, I expect that finding 10 annoying bugs in all of the software I use will be trivial for my entire lifetime.

[1] Well, you don't have to do a recall. AMD had a hardware bug that could be fixed by a patch that degraded performance by 10%. Sun famously didn't include ECC in their L2 cache, which resulted in transient failures for a number of customers, and they made customers sign an NDA before replacing their parts. Guess how much people trusted AMD and Sun afterwards?

[2] Even then, you're never really sure. How do you know the formal verification process itself isn't buggy? It's turtles all the way down. I know some folks who were trying to build a formally verified OS, and they stopped using ACL2 after discovering a few bugs in it. After all, how can you trust your proof if the proof system itself has bugs? ACL2 is old and crusty, but that's precisely why it's used for more hardware FV than everything else combined, outside of Intel and IBM (both of whom have their own, excellent, internal tools). It's old enough to have great libraries. There are newer systems that have better architectures, but they don't have anything approaching the same level of library support for hardware. Yet another tradeoff of time to market vs. correctness. It can't be avoided.

Say you're an engineer who's worried that ACL2 is too buggy for your company to use. You tell your manager. She points out that maybe five ACL2 bugs are discovered every year, and they get more minor each year, as the system gets cleaned up. Moreover, none of the bugs discovered in the past three years have affected any of your proofs, and you wouldn't expect them to have an effect on any proof techniques you're going to use. So you stick with ACL2. And, because you do, there's a tiny risk of a bug. What does this example have to do with the original post? Bugs come from making little decisions like this. No single decision is sure to cause a problem, or (in a company that's serious about testing) even likely to cause a problem, but multiply that tiny probability by the number of times you have to make a tradeoff and the number of lines of code, and it's a statistical certainty that you'll have bugs.

Re: Everything's broken and nobody's upset

#36

This is one of the things that really upsets me. I hate how nothing ever works. We spend our money on things that don't do as they say, or companies that don't do as they should. I guess it's inherit a problem with a profit driven world where more features will always trump actually working.

>This is one of the things that really upsets me. I hate how nothing ever works.

And somehow you left a comment, using an OS and a browser, on a international network, that put it up so everybody in the world can read it, and I read it in a totally different country.

All totally unimaginable for the common folk just 20 years ago.

And all that with huge color flat monitors, optical mice, mp3s playing in the background, wireless networking, and tons of other stuff going on at the same time. Heck, you might just left the comment from your mobile phone, or I might just read it in mine.

How's that for "nothing ever working"?

Re: Everything's broken and nobody's upset

#37
post #24

So, your amazing feat of engineering phone, with a color retina display, audio-video capabillity, 700.000 apps, gyroscope, HD cameras, etc has some extra stuff taking 3GB drive space (of the 16GB device). Your amazing, multi million lines of code Windows desktop, the work of some 1000 people or more, has a problem with indexing. The protocol and apps that connect you via email to everyone you want, free, globally and…

You've totally missed the point of his post. You're talking about Scott Hanselman here, he does understand all that.

Re: Everything's broken and nobody's upset

#38
post #24

So, your amazing feat of engineering phone, with a color retina display, audio-video capabillity, 700.000 apps, gyroscope, HD cameras, etc has some extra stuff taking 3GB drive space (of the 16GB device). Your amazing, multi million lines of code Windows desktop, the work of some 1000 people or more, has a problem with indexing. The protocol and apps that connect you via email to everyone you want, free, globally and…

So, your amazing feat of engineering car, with automatic transmission, ABS, a GPS, incredible fuel efficiency etc. stops in the middle of the highway sometimes. Your incredible display, which somehow manages to use liquid crystals to display beautiful 1080 HD video develops a jitter and bright line down the middle after a month. The machine gun which lets you launch tiny projectiles at speeds high enough to kill a pe…

>Yes, the technology is incredibly complex and represents a huge transformation in the way we do things, but a customer doesn't and shouldn't need to understand that, and certainly shouldn't be offered the complexity as an excuse for it not working correctly.

In some ideal world, where you can have things with MILLIONS of moving parts and TRILLIONS of states, designed by mere mortals and still have them be faultless, yes.

In the real world, the customer will have to settle for things not being 100% perfect.

He can now do things unheard of even in science fiction 20-30 years ago, and takes for granted things only appearing like 6 years ago (e.g YouTube).

>Given the fact that most (all?) of the products mentioned in the post have some kind of price associated to using them, its not unreasonable to expect they work correctly.

I think that, yes, it is unreasonable. That you pay for something doesn't mean anything related to it's error margin. You cannot demand the impossible just because you paid for something. It's like saying: "hey, I paid for this car, why does it is disfigured when it crashes and can kill me?".

Consumer products (non digital) break all the time. You can even pay top dollar and yet have crap food served to you. And all those are far less complex than software.

Re: Everything's broken and nobody's upset

#39
post #28

I completely relate to that feeling. This has led me to use less of everything over time. One day I realized this, that I was in fact applying the KISS principle to my life. Fewer apps + fewer features + fewer gadgets = fewer bugs irritating my day-to-day life. Examples: My desktop environment on my laptop is Linux with, 99% of the time, just a bunch of xterms and a browser (without extensions... they tend to crash b…

Very much like-minded, here.

> Sync'ing music across multiple PCs, phones, other devices, etc, suck.

Was thinking the same but I had to do it, because I need a back-up and I need my music at work too. The only sane way: have proper files half-manually arranged in directories synced with a real solid linux tool (unison). Same for pictures.

What I want to emphasize here is that the current trend against files is a disturbing regression, and can only end in a complete mess or loss of the things you own. I have kids pic in my folders, and I owe to my kid to still have them in 20 years, if nothing else.

This discussion reminds me of something weird that occured to me when I was following lifehacker: it had so many advices and nice tricks and apps you should install to your system, and at the same time was very voical against the bloat and the clutter.

Re: Everything's broken and nobody's upset

#40
A lot of these problems seem to relate to Apple products. Just saying - there are other options out there.

I notice he uses only one open source product (Google Chrome). One aspect of choosing open source is being able to fix problems you care about yourself (in theory at least).

Post reply on HN