12 ms·
Another Week with Bad Software
- sigfubar 8y agoI’m glad to see my countrymen branch out into blogging in English so that the rest of the world can have a great big dollop of Russian fatalism. More to the point: everything’s well and truly fucked, yes, but surely more education cannot form the skeleton of a solution when the masses we’re supposed to educate don’t actually want to learn anything. IMHO, the very incentives of business need to be changed as they’re the foundation of every bad decision that manifests as software bugs. Is this not a version of Conway’s law? “All bad software reflects the lopsided incentives of the ambient business environment.” Call it the universal law of fubarness.
- falcolas 8y ago> IMHO, the very incentives of business need to be changed as they’re the foundation of every bad decision that manifests as software bugs. Yup. What's worse is how many of our own peers fall back on justifying all this crappy software with "businesses are for making money" without a single dose of irony. It was a bit depressing, reading the comments on HN on the other post and realizing how few people seem to actually care about writing good software. > the masses we’re supposed to educate don’t actually want to learn anything Indeed.
- sidlls 8y agoWhat is good software is at least partially subjective. Every measure of quality from the existence of bugs (that is, how many and how severe) to structure (is it OO or functional or a mix) to utility (is it spyware or a command line utility or something else) involves some subjectivity.
- TeMPOraL 8y agoAlmost everything involves some subjectivity. Business decisions included. Delivering crap product with faster feature turnover is a subjective decision too, you're only guessing if it pans out or not compared to doing it better but a little slower. Someone will say, "I have A/B tests that show". But I'm willing to bet than it most cases, A/B tests will show you whatever you want to see in them, as most people don't have necessary statistical background to correctly run or interpret them (and page optimization companies sometimes actually exploit this against their own customers).
- Davertron 8y agoUgh, I'm living through this right now on an app I've been working on in my company for 3 years. Someone will create a user survey that gets a 5% response rate and use it to justify/rationalize some decision. They think that since they ran the survey they now have data that is good enough to base a decision, with zero desire to statistically validate whether that data is any good or not. I can't remember which thread this came from, but this talk was posted here somewhere on HN recently and I found it pretty interesting and relevant to this sort of thing: https://www.youtube.com/watch?v=TGGGDpb04Yc https://www.youtube.com/watch?v=TGGGDpb04Yc
- thoughtspile 8y agoHey there, fellow fatalist! My economical-ish education disagrees with you on some points made) If "good software", whatever it is, is not economically viable, I would gladly walk away feeling good about the future and open a beach bar instead. Currently it seems that faulty design and code are actively harming the businesses. I personally need to make more research around here — what's the connection between, say, conditional spaghetti and anything important? We should at least start talking about these implications. No code is an aisle) Same goes for "the masses don’t actually want to learn anything" — I see many people getting into web dev right now, and we've made it unreasonably hard to do — why do simple (as in, the ones you can make after a bootcamp) web pages look and work so poor? Word documents from people with a week of training look pretty reasonable.
- falcolas 8y ago> Currently it seems that faulty design and code are actively harming the businesses. So long as a human exists to work around the faulty code, the harm to businesses is minimal. For example, many companies sell feature-full, but absurdly slow and buggy, software to other businesses. The customers aren't going anywhere, and they've protected their niches with a minefield of patents. So, the features hook the execs, and the end-users work around the bugs and slowness, the business sees no blowback from this. My favorite anecdote was a front end engineer claiming "I went in and profiled our code and made an action go from 5 seconds to under a tenth of a second!" To which I can only go "Wait, there was a user-space action that took 5 seconds?!"
- TeMPOraL 8y ago> My favorite anecdote was a front end engineer claiming "I went in and profiled our code and made an action go from 5 seconds to under a tenth of a second!" To which I can only go "Wait, there was a user-space action that took 5 seconds?!" And I'm guessing there was, and you didn't notice it (or stopped noticing it at some point), because that's what people do. They get used to this nonsense. Especially if they have no power to improve it.
- thoughtspile 8y ago
- amaccuish 8y agoSide track, since there seem to be some russians here. Do you have any good tech blogs in russian I should follow? (thoughtspile thank you for your recommendation of Nikita Prokopov)
- sigfubar 8y agoI casually browse https://habr.com/ https://habr.com/ as a symptom of my tendency to tail aggregators a-la HN/lobste.rs rather than individual blogs.
- thoughtspile 8y agoHabr has some poor-quality translations, often without proper attribution, which is why I don't like it. Some corporate blogs can be nice, though.
- thoughtspile 8y ago(I don't know why we're doing it in English) For the more general tech (physics and stuff) — https://sly2m.livejournal.com/ https://sly2m.livejournal.com/ https://sly2m.livejournal.com/tag/%D0%BD%D0%B0%20%D0%BF%D0%B0%D0%BB%D1%8C%D1%86%D0%B0%D1%85 https://sly2m.livejournal.com/tag/%D0%BD%D0%B0%20%D0%BF%D0%B... series especially recommended For programming, I enjoy https://igoradamenko.com/blog/ https://igoradamenko.com/blog/ These seem mostly dead, but might come back: - https://medium.com/@kovchiy https://medium.com/@kovchiy - https://medium.com/@xanf https://medium.com/@xanf Here's a guy working on V8 who ocassinally posts / talks in Russian: https://mrale.ph/talks/ https://mrale.ph/talks/
- amaccuish 8y agoCheers) (as for in english, i've rarely seen people talk in other languages, i thought maybe there was a rule)
- megamindbrian2 8y agoI see these issues everywhere also, it is really worrying. Especially since our entire food and supply chain is starting to depend on it.
- czechdeveloper 8y agoThere is no money to be made in making systems more robust, not until problem really arises. This worries me great deal.
- coldtea 8y agoIs there a reason they have to be "more robust"? Lest, e.g. some Amazon deliveries don't come in 1 day but take a week? Or some employee doing some BS job can't use Gmail for a couple of days?
- oldmanhorton 8y agoExcept the failure mode for Amazon shipping software (in this example) is equally or more likely to be the item is never shipped or a completely different item is shipped, rather than the correct item being delayed. The latter two are more difficult to deal with. Also, even in the delay case, more people are depending on Amazon for items they truly need, like groceries. Delays can matter.
- pjc50 8y agoSupermarket perishables are the classic example of things that have to be delivered within a very short time. Earlier this year there was no fresh milk, bread, veg or meat in my local (urban!) supermarket for a few days after some snow.
- coldtea 8y ago>Supermarket perishables are the classic example of things that have to be delivered within a very short time. Yeah, but we've managed that in the 60s and 80s without so much as the web. Trucks are still needed of course.
- cptwunderlich 8y agoIronically, the "about" and "projects" links on his blog are broken (which I guess has been generated by a static site generator).
- darepublic 8y agoMight have something to do with the fact its gh-pages
- falcolas 8y agoWhich uses one of the most complicated static site generators out there... as in a blog which was valid one day wouldn't "compile" the next. It's just bloody markdown; how unnecessarily complicated is a system that can't compile markdown from one release to the next?
- thoughtspile 8y agoWhy no, github-pages does not enforce Jekyll! You can just put a bunch of HTML there. I use hexo, which I like. I could also write HTML by hand or generate directly from markdown. The default Jekyll setup does indeed rely on some implicit theming, which is not very convenient.
- falcolas 8y agoWhich has nothing to do with how terrible their static site generation tooling is. "You can bypass it" isn't a convincing argument that it's any good.
- thoughtspile 8y agoI wouldn't even call it a bypass — it's there as a safety net for people who just dump a bunch of markdowns into the repo and expect it to work somehow — it does work somehow.
- lloeki 8y ago
- mmjaa 8y agoJust goes to prove my ol' personal favourite maxim: "If you think you can computerise it, do it on paper first. Then, see if you still need to computerise it." 80% of the time, you don't.
- thoughtspile 8y agoThis) I do sometimes feel it's a bubble, as in "where else can we stuck a computer? and now?" And most problems are not solved by computerising in and on itself — the processes just move faster.
- TeMPOraL 8y agoThis is true, and it's because people doing that are not in it to solve your problem - they're solving their problem, which is "how to make money", with a solution that's shaped like a computer system.
- thoughtspile 8y agoI like this one quite a lot)
- Cthulhu_ 8y agoThat's how a lot of computer systems started, except that instead of paper, it's an excel sheet emailed back and forth.
- TeMPOraL 8y agoAnd ironically, that Excel sheet is often the peak of productivity.
- mmjaa 8y agoThus, another maxim: It doesn't matter how you do it, as long as you've got a User, the computer is doing the work, and as long as the computer is doing work for someone, there is a User. Alas, which leads to this: Programmers are often the worst kind of User.
- baxtr 8y agoI wonder whether this is really just a problem of bad software. The hotel booking for example: yes, the software was probably bad, but, a well designed process where both parties need to confirm the reservation (eg per email) could have made that experience better. Interestingly, there’s curently another article trending describing the concept of Poka-yoke [1] [1] https://news.ycombinator.com/item?id=18050168 https://news.ycombinator.com/item?id=18050168
- lotsofpulp 8y agoIn the hotel example, it's the lack of a modern, open, integrated reservation system. It's all 20+ year old systems patched together to try and work with one another, that don't necessarily have any idea what inventory at the hotel actually is unless it's part of a big organization like Marriott/Hilton/IHG/Wyndham/Choice/etc. When a hotel doesn't have a 24/7 online system like the above companies, booking.com simply relies on the hotel to update their inventory on booking.com's system manually, and then faxes the hotel everytime a reservation comes through. The fax can fail, and so can the minimum wage employees who may or may not be tasked with updating booking.com's systems. Bottom line is always confirm, and re-confirm when the consequences are great enough to warrant spending time re-confirming. And especially try to deal with the vendor directly, onsite especially. If you make a reservation at a hotel that doesn't have an app that shows your reservation in real time, then call and get the email address of someone who actually works on site, and then email them to confirm your reservation, and so you have something in writing from someone at the hotel.
- adrianN 8y agoI always wondered how booking.com knows how many rooms are left. Thanks for the info.
- lotsofpulp 8y agoThe "only x rooms left" notices are also BS, even if they're dealing with the big hotel chains. And even when dealing with those, there are frequent inventory discrepancies due to how long it takes for the systems to communicate with each other, so best option in my opinion is to always use the official hotel channels. It's also cheaper if you're a member of their frequent guest programs, which is free.
- pjc50 8y agoPeople who like this sort of think might enjoy reading the famous RISKS digest, which has been running for over 30 years now: https://catless.ncl.ac.uk/Risks/ https://catless.ncl.ac.uk/Risks/
- blub 8y agoThere's also a book based on that: Computer-related risks by Neumann (1994).
- SSLy 8y agoError 503.
- thoughtspile 8y agowow, did we crush it? It was there earlier
- ensiferum 8y agoYep, software is just bad. I have multiple pieces failing on me continuously every day. Just a few examples: - Visual Studio 17, crashes, has bad UX (for example try to find a symbol and it pops up a modal dialog). Refactor tool works about 3 times and then fails with "blal bla (null) bla blah" error. - Win10 explorer is often confused, starts to render the start bar wrong - UE4. Oh god, I think every single feature in it has at least 5 bugs. And don't even get my started about the state of software on mobile phones. I see bad code everywhere. There are fundamental issues that I see repeating and typically these are very cluttered designs muddling several things together. Clearly the developer(s) didn't have a clear idea of how to design software and abstract it into pieces that are independent and reusable. The way they are they're hard to design, write and debug. Nearly impossible to unit test and practically impossible to re-use. All these bad practices and downright incompetence of many developers must be costing this industry as a whole billions of dollars.
- AllegedAlec 8y agoWindows 10 seems to be one huge example of this. It's a travesty of an OS. Below are some of the things which it does to make me want to chuck the entire computer out of a window: - Overlay the huge "you need some updates" panel, with no option to close the window. Every key input brings you to the update installer. - Windows Defender frequently ignores my exclude lists, which causes it to start scanning my VM's .vmem files, reading and writing several megs per second to disk, causing my VM to be unresponsive for 20+ minutes if I do not restart my entire system. - The new search options in the task bar seem to have gotten worse since Windows 7. Whenever I start typing something like 'not', it shows me Notepad++. When I then add the 'e', the options disappears. - Lately, my Windows 10 has decided whenever I boot up a system, it should restart all processes that were active when I shut it down before I have had time to even log in, which is kind of a fucking bother when I had loud music playing in the background when I shut it down. - All the goddamn bloatware on it. I know that when I buy a DELL or HP, I'll have to completely reinstall the system to get rid of the bloatware, but Win10 comes with its own set of it for some reason. - All the 'smooth' animations, which slow the UX just enough to be frustrating. Don't slowly slide up the start menu, just pop it into place!
- simonsaidit 8y agoMy only problem with booking.com is that some random employe in philiphines in another hotel can see my reservation and full credit card details... Im pretty sure this isen’t PCI-DSS compliant.. and Yes my sister in law send a screenshot so i could see it in person.
- motdiem 8y agoBooking.com also has some really bad checking for email adresses, which is why I often find reservations in my account for people who enter my email adress instead of theirs in the booking email field (I have a booking.com account with that email, they don't, but the booking still gets tacked to my account - it cost me nothing, but I could change their reservation if I wanted to)
- crtasm 8y agoSame with airbnb, you can book and have the host confirm booking without any checks your email address is correct.
- scurvy 8y agoSame with Vanguard and Fidelity. I could steal someone's funds if I really wanted to. Now that I think about it, Quicken and TurboTax too. People signed up for all kinds of important things using my email.
- djsumdog 8y agoI did a phone screening for them once back in 2015. Everything was written in Perl (with no intention of migrating), developers often push modules straight to production, and there are little to no automated tests. This was all from their HR person on the phone. They offer more money than most other companies in The Netherlands .. and I think it was clear why. ... I passed.
- wink 8y agoNot a lot of insight knowledge but those coding practices sound worse than what I got from some talks they did. I think they're doing only light testing for features before they push them to production because they're doing so much A/B-testing that all small "improvements" that decrease conversions or $$$ per minute are pulled again very quickly. So it sounded like a lot of small PoCs that then get rewritten properly when the idea is good.
- kabes 8y agoI think it puts too much blame on the software developers. Agreed, over-engineering is usually the developers fault. But the fact we don't take time to investigate issues, rather work around them or half-ready stuff gets pushed into the market is rarely the developers fault. These things are decided by management.
- TeMPOraL 8y agoTotally, 100% agreed. Sure, there are a lot of developers who don't care about quality. Usually, they don't care because they're here to do their job and get paid, not to make an art piece. Which is to say, they would care if it was a part of their job, but it isn't, because of business-level decisions.
- commandlinefan 8y ago> there are a lot of developers who don't care about quality And the underlying meta problem is that the people who are supposed to be responsible for figuring out which is which haven't got the faintest idea how to tell. Compound this with the fact that most management structures are still based on factory-assembly floor management where figuring out who wasn't turning the lever as fast as they guy next to him was the most important metric and you end up with corporate structures where trying to figure out which developers are better than which other developers actually has the opposite effect than the one they want.
- ken 8y agoThis is going to sound defensive, but: is the problem really with developers? In my experience as a developer, we've never been given the necessary resources (time, QA access, specs that don't change every day, sample data, redundant hardware, etc) to build a reliable system. Managers always pushed me to have something that looks mostly-working, and shipped by the artificial deadline, and argue that any known bugs or limitations are not important enough to fix before the next round of new features. It's not so much that I'm not required to care, but that I'm not allowed to care. I get better food at Canlis than McD's, too, but given the time/ingredient/recipe constraints, even the Canlis chef would struggle to make something great if thrown into a McD's kitchen.
- gfodor 8y agoThe problem I have with this perspective is that it ignores all the times software works correctly (which is easy to do, because it's usually invisible.) Consider the pile of software that has to go right for you to experience the world as you do on a given day. Did you buy something from the store? Software. Did your trash get taken from the curb? Software. Did you get to work safely in your car? Software. I've often had a contrarian view on this in that I find it almost miraculous how robust software is despite all the flaws in the humans creating it and the insanity of what is actually happening physically to make it work. The fact I can type this out and send it and it will work at all is truly stunning. The fact we live in a world where we are surprised when complex, interconnected, global-scale software breaks and not surprised when it somehow works properly speaks volumes. That's not to say that we can't do better, but the evolution of software to me has been one clearly of improvement, not stagnation or regression, all while taking on more responsibility, more scale, and more problem complexity. It's easy to point back at simpler times as "the good old days when software was well engineered" but it's easy to overlook the daily wonders that we take for granted today that were unconcievable just years ago.
- deeg 8y agoAgreed. And as bad as software is, humans are worse. Imagine how many things would go wrong if everything had to be done manually.
- friday99 8y agoAre they? Do you have any evidence that lost/overbooked bookings are decreased on software-based booking systems?
- lowken10 8y agoI agree!!! Software does 10,000 things correctly. Then people complain when one thing doesn't work 100% perfectly.
- FreezerburnV 8y ago...which can often be "the hotel I booked doesn't have the reservation, and I'm currently SOL". My wife and I booked a rental car for a trip through one of the many booking sites (Expedia, probably) and when we got there, the company that had been booked with was gone and they didn't have our reservation because it was a totally new company. But nothing told us about that, we only learned about it when we got there. Thankfully, people are generally understanding and they were able to get us a car for the same price, but my wife basically had a panic attack due to there being other mishaps on the way. (and she's the type of person who plans things months in advance and changes to the plan are very distressing to her) So yes, "one thing" might go wrong out of the 10,000, but that "one thing" can cause a literal panic attack. I don't have sympathy for companies that create crappy software that barely limps along and causes a lot of distress to my wife over stuff like that, or not telling us we need to pay extra to book seats on an airplane in advance to be able to sit together for a 13 hours flight. No sympathy at all.
- lucantini 8y agoI see this kind of story very often. Friends and family that have terrible experiences with famous tech companies. I find it awkward that I, in particular, never had trouble like this before. Maybe, as others had already mentioned, I ignore them because of all the overwhelming times that software worked amazingly well for me.
- TeMPOraL 8y agoOr you ignore it because you're a dev, so you've internalized the general patterns such systems follow, and know where not to prod them. If a small problem happens, you probably deal with it on the spot, without even consciously noticing it. Non-tech-savvy people use computers differently, and are much more prone to being confused in cases of unexpected failures.
- orenht 8y agoDo you have any example of that different usage? I can't come up with one
- sbr464 8y agoI had a similar face palm recently using Chase online banking. I was exporting a csv of transactions from a business credit card. They didn’t escape the business name colum, so any name with a comma caused the total column to push over. Was pretty funny for an xx billion dollar bank. I typically use the Plaid API but was testing a manual download.
- xae342 8y agoNot a day goes by when I don’t encounter a major bug in some software in the most common workflow e.g. iPhone unlock screen fails to show up, payment of a Kaiser bill fails and says to try later, shutdown my windows computer never completes, website chat for CA FTB says I’m entering invalid characters when talking to an agent and I can’t explain my issue as a result, can’t download my tickets from Ticketmaster since it thinks my iPad is a desktop and I need a mobile device etc. I feel like I expend more enginery troubleshooting these issues then doing what I need to do with most software.
- gritzko 8y agoI see that often in smaller hotels: they sell rooms in several online systems, then reconcile it all in a copybook. Personally, I had interesting booking.com situations too. Like, I arrive to a booked apartment, dial the password, the door opens, I see lots of Chinese people who arrived just before me. 2am.
- cptnapalm 8y agoFeeling this acutely today. I switched my home desktop from Arch to Ubuntu since there is some software in the AUR that I want to use, but the package builds are broken. Arch is a community project so, not blaming anyone except the guy that randomly decided to rebase his package on the git without telling anyone and didn't bother to find out what the dependencies are. Anyway, got everything set up. Everything working fine. Rebooted a few times: no problem. Popped in an extra hard drive which is just for file storage for Steam games. Reboot and... nothing. Pulled the hard drive. Nothing. The operating system is now in a completely broken state. No start up messages, nothing. Not even NumLock on the keyboard works. I have no idea what happened.
- linuxftw 8y agoTry reseating your RAM, reattaching your hdd cables. If you can't get to BIOS, it's nothing to do with a secondary hard drive.
- davemp 8y agoI've encountered issues that must have been BIOS bugs such as hanging before the BIOS screen with a corrupted Linux drive plugged in but working just fine with it disconnected. Trust nothing.
- cptnapalm 8y agoIt's an older Mac Pro: all UEFI and sleds rather than cables. I can try doing the RAM reseating, but the Mac Pro won't even go to EFI if it thinks there's something wrong with the RAM; how I found that out: I initially didn't know you couldn't mix 16GB sticks with other sizes but know that now.
- w323898 8y agoI'd check the boot drive on another machine and see if something messed up your fstab.
- thoughtspile 8y agoOh, I used to run Ubuntu! After going to and from sleep mode, the audio would stop working. The proposed solution was to change a line of code and rebuild the OS from source. Then they ask why your grandmother doesn't want open source — must be a corporate conspiracy.
- devxpy 8y agoWho the fuck writes a blog in monospaced font. This is an abomination on web design :-)
- SPBS 8y agoI actually didn't notice until I read your comment. Seems fine enough to me :p
- marcus_holmes 8y agoJust done my first six months traveling (in SE Asia) while working remotely: a new hotel every 3-5 days, 80% of the time through booking.com (or agoda and then via booking.com). Haven't had a single problem yet. Not a single one. I'm not saying it doesn't happen, but... ...I suspect the hotels are declining your business and using "bad software" as an excuse. For this to happen twice in a row is definitely suspect. Which makes me wonder how many other things that we blame on bad software, are actually socially caused?