TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Everything's broken and nobody's upset

658 点作者 axefrog超过 12 年前

87 条评论

cstross超过 12 年前
Reading his laundry-list of paper cuts, it looks like many of them (around 50%?) relate to one particular issue: synchronisation. It keeps coming up, time and again, from his email woes (seriously, folks, didn't we solve this one back in 1980?) through to the borked address books, contact lists, and photo streams.<p>Sync software usually takes a conservative approach to deleting or merging records, and leaves duplicates lying around rather than risking deletion of vital user data. This is a <i>good</i> thing. What's <i>bad</i> is that the tools for housekeeping -- merging and deleting duplicates -- are generally rubbish. (I have the same problem with my phone's address book: masses of duplicates due to sync processes that conserve stuff. And trying to get rid of them using the tools provided turns out to be a tedious pain in the neck, requiring multiple mouse-clicks or focus changes per record.)<p>Further down the list we get into identity management issues. Nobody seems to have a really good handle on how we manage identity across multiple machines, much less how we manage esoteric stuff like family relations for delegating access to photos or music purchases or whatever.
评论 #4532423 未加载
评论 #4532579 未加载
评论 #4532156 未加载
评论 #4533211 未加载
edw519超过 12 年前
My sentiments exactly. I got so tired of being upset with the horrendous human design in modern technology that I took action. What I've done:<p><pre><code> - Buy 2 $350 laptops every year. Move all data. Give away old ones. - All contacts in one .txt document. - Memorize most frequently used contacts. - No smart phone. - No tablet. - No Kindle. - No palm pilot. - No Facebook. - New car ('12 Hyandai) with minimal technology. - Wash dishes by hand. (Fuck the 48 buttons on the dishwasher.) - Use Firefox. - Use dedicated Casio camera with USB interface. </code></pre> I <i>love</i> modern technology that adds real value.<p>I don't use any modern technology that replaces perfectly good methods with something unnecessary just because everyone else is doing it.
评论 #4532413 未加载
评论 #4532267 未加载
评论 #4532700 未加载
评论 #4532204 未加载
评论 #4532216 未加载
评论 #4532284 未加载
评论 #4532302 未加载
评论 #4532294 未加载
评论 #4532735 未加载
评论 #4532290 未加载
评论 #4532509 未加载
评论 #4532372 未加载
评论 #4533631 未加载
评论 #4533898 未加载
评论 #4532309 未加载
评论 #4532130 未加载
评论 #4532602 未加载
评论 #4532948 未加载
评论 #4532739 未加载
评论 #4532395 未加载
评论 #4541189 未加载
评论 #4532833 未加载
mrb超过 12 年前
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.<p>Examples:<p>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 browsers).<p>I installed exactly 4 Android apps on my phone (after flashing it to cyanogenmod to get rid of the bloatware): gmaps, youtube, barecode scanner app, some app to write notes on the home screen (NotesWidget). Everything else sucks and is a waste of my time. But even the dead-simple NotesWidget app author managed to mess it up with enough bugs that I am considering writing my own(!) I have tried at least a dozen other notes-taking application and am not satisfied with any of them.<p>I don't maintain a music library. Sync'ing music across multiple PCs, phones, other devices, etc, suck. Personal libraries "in the cloud" don't work because I am not always online. I just listen to satellite radio in my car.<p>I own no TV, no game console, no tablet.<p>And yet, I am a tech enthusiast. I accept a little "complexity" where it makes me happy: I program GPUs/FPGAs, I have a home theater set-up at home, I maintain my own website/blog on colocated servers, etc.
评论 #4531935 未加载
评论 #4531943 未加载
评论 #4531958 未加载
评论 #4532213 未加载
评论 #4533154 未加载
momotomo超过 12 年前
Very much relate to this. Some days, especially in the corporate environment where I work, I genuinely wonder if we are missing the point completely with all the innovation and advancements in OS' and software instead of focussing on cleaning up what is already there. It always feels like there's more time spent developing all of this than there is dogfooding it.<p>One thing to add to the gripes re iOS - I've found that it works beautifully when it does, and horribly when it doesn't. His point on notification clearing reminded me of the Mail app when you have connection failures: I had 5 accounts tied into it, and when the networking failed it would throw 2 modal dialogues for each account. The amount of time I spent glued on the spot hammering away at notifications so I could move on felt staggering after a while.<p>I had a glut of other misc. quirks and persistent crashes that cut through the gloss on the device, this in combination with a string of Windows 7 bad behaviour (started python development, started hating python development) led me to switch onto linux (started loving python development) and a droid handset. Guaranteed they will have just as many warts and bad behaviours, but it feels more reasonable because I'm expecting them, and on linux, have an opportunity to fix them.<p>There's two aspects to being a "power user" (not entirely but I try) that I could never take for granted - this capacity to fix things that don't work, but also the opportunity to work with the more atomic tools. There's nothing more soothing than stringing commands together, writing a script, or organising things in a text file or database: mostly because if something breaks, I broke it, I can see the breakage, I can fix the breakage. Minor bliss!<p>Addendum / edit to this to provide context - I think coming from a control systems background has coloured a lot of my opinions in regards to innovation. I've seen fistfuls more value delivered (in this field, potentially applicable to others), by creating small, clean, highly polished, iterative and well integrated systems as opposed to large, sprawling and constantly evolving...messes. The sometimes popular fail first / fail fast / iterate like crazy mantra makes me itch. I've seen successful lean / agile approaches executed that focus on quick delivery without being so flippant about quality.
评论 #4531745 未加载
yesbabyyes超过 12 年前
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.<p>Every computer environment is layer upon layer of kludges. There is shit all the way down.
评论 #4531886 未加载
greggman超过 12 年前
Honestly, there'S just too many things to fix. It's easy to believe with just a little better management or a little more attention to detail or more XP or whatever all these problems would go way but the truth is it's just too damn complicated.<p>Each of the products mentioned are huge HUGE projects layered on top of hundreds of other projects. A browser has a various networking stacks themselves built on OS stacks themselves built on device drivers etc etc. Pick any part and it's literally counting on millions of lines of code to be flawless. Interact across the net and now you need the software on all parts of that network to be flawless as well<p>Can you name anything with so many parts that just works?<p>It's possible it could get better but it seems unlikely. Each year the new stuff is built on top of the old stuff making the hole deeper and deeper as we go. That's why a 1.6ghz atom with a gig of ram sometimes feels slower than my Atari 800
评论 #4532069 未加载
评论 #4531794 未加载
tomflack超过 12 年前
I've been thinking for some years now, I wish everyone would stop implementing features and perfect the ones that are already there.<p>Optimise. Improve.<p>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.
评论 #4531827 未加载
评论 #4531890 未加载
评论 #4532227 未加载
评论 #4531868 未加载
bobsy超过 12 年前
This stuff all bugs me. On my 4 year old Mac sometimes app's just won't start. They bounce once then exit. The only fix is to restart. No idea why. Been happening for years.<p>In Firefox on Windows. I write a bad bit of JavaScript and the browser just freezes and there is nothing I can do apart from ctrl+alt+del. I really don't know why tab's aren't sand boxed to at least let you exit them.<p>Photoshop has minor annoyances. If the color picker is open new files don't open. Been like that for 4 versions.<p>For some reason Filezilla refuse's to open a directory sometimes and hangs for about a minute before letting you retry. To speed this up you can press the disconnect button. Been like this for ages across all my computers..<p>I have some bugs in my product which are simply too time intensive to fix with the current schedule of features which I need to implement. If I was running things these bugs would be cleaned up first but.. sales is running the show and the next feature will kick start a new promotion and so on. For us at least, there is too much demand to move forward and not enough developers to maintain this development speed. This is why bugs creep into the product and this is why some of the more obscure ones can still be found in the product 30/60/90 day's after being reported.
评论 #4532009 未加载
评论 #4535761 未加载
DanielBMarkham超过 12 年前
As modern life becomes more complex -- and that's both complex in terms of both computers and social/government structures -- we are swimming in edge cases.<p>When you used to interact with 4 or 5 complex systems every day, it was a rare thing when one was whacked. System designers got things working 90-95% of the time and the rest of it wasn't worth chasing down. But now that we're interacting with hundreds of complex systems each day, we're constantly running into oddball situations where things frustrate us.<p>Worse still is what I call an "edge case tsunami" where multiple oddball situations combine to create a PITA or disaster much worse than any one of them would individually.<p>It's an interesting problem. We can't make everything perfect to a 99.999% accuracy. The economics simply don't work out.<p>To edw519's point, I think the way to go is to toss out the general purpose computer. Have a device for books, a device for music, a device for programming, a device for surfing, and so on. Not only does this decrease the possibility of a cascade, it also allows us to physically separate our technology habits.
评论 #4532358 未加载
creativityhurts超过 12 年前
Yes, we all can relate to that posts and everyone I know complains about software mentioned there, such as Skype, iTunes, Chrome, I might even add the fact that if you have 3 synced Apple devices near you a reminder pops on each one of them at the same time which shouldn't be so hard to avoid given that they're all connected to the same wifi. We live in this cloudy era, everyone speaks of clouds and sync and data everywhere but synchronization is the most broken thing of them all.<p>There are a lot of silly problems with the software and hardware that we use everyday and most of these problems are noticed by us, the power users. It's like with the Twitter-ad-supported saga: the power users bitch about it, look for alternatives but the regular Joe sticks with it and he's very happy. I know a lot of people who don't see any problems with Skype or Outlook and are very happy with them.<p>Today I was at the bank and the clerk wanted to print something and I had to literally wait there 20 minutes because the Adobe Reader was updating and some guy from IT was logged in remotely to make sure everything went fine with the update. She apologized telling me that "you know how it is with these computer programs nowdays" and that she was very happy with the old setup. I chuckled and thought of that Adobe Reader update meme[1] but deep inside I wept.<p>[1] <a href="http://t.qkme.me/3qk2v4.jpg" rel="nofollow">http://t.qkme.me/3qk2v4.jpg</a>
lnanek2超过 12 年前
Doesn't Facebook say move fast and break things?<p>I know, personally, I have an Android app that gets about 12k new users a month, and I see exceptions reported all the time that I can't reproduce from the buggy as hell WebView, web content control, in Android. Especially when used with AdMob/Google ads, so much so that I use other advertisers instead. I could spend a week copying the source code for WebView into my app and fixing all the bugs if I'm lucky, it may use some private things I preventing it from being copied or something. I know it has threads and databases and all sorts of bizarre stuff. But still that would help like just a tiny, small percentage of the actual users. I'll get far more users working on something that applies to everyone like better graphics or multiplayer play, etc..<p>I did spend all weekend filing hideously long bug reports with sample code at work, though. So once you are talking about millions of users, it can make more sense, I guess. Which I suppose is where someone from Microsoft is coming from. They are famous for supporting even old bugs in their software for things like SimCity so it wouldn't break across upgrades.
评论 #4533038 未加载
nodata超过 12 年前
We <i>need</i> public open bug tracking. For everything.<p>No more "put your bug in here, trust us, we'll fix it". They won't. They'll say you're the only one with the problem. Everyone will be so uninspired they won't report bugs.
评论 #4532596 未加载
评论 #4531973 未加载
HyprMusic超过 12 年前
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.
评论 #4531747 未加载
评论 #4531899 未加载
delinka超过 12 年前
"No one from the company believes..."<p>1) I've been on the non-believing end. You think "how could this possibly happen?" and without standing over the user's shoulder and watching them click/tap around, it's inconceivable that the problem exists.<p>2) I'm sure there's a problem, and you've provided me the screenshot showing the result that indicates a problem, but I can't reproduce it. Usually because the user doesn't know how to explain reproducing the problem.<p>I really think both of these have to do with people's lack of detailed logical analysis. I get it, you're the bank teller and your job is to count the money and count it correctly, not to analyze pixels on the screen. I see this as a failure of developers and designers to create systems that don't have these headaches.<p>tl;dr - I agree with the author's final three bullet points, but I can see where the tech[nician|nologist] involved doesn't have nearly enough information to solve (or even to see) the problems.
luu超过 12 年前
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.<p>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.<p>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.<p>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.<p>[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?<p>[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.<p>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.
评论 #4534075 未加载
评论 #4532268 未加载
评论 #4532000 未加载
评论 #4534922 未加载
评论 #4532177 未加载
评论 #4532610 未加载
评论 #4534164 未加载
评论 #4532847 未加载
评论 #4535619 未加载
评论 #4536380 未加载
mgkimsal超过 12 年前
I've thought for a while of having a general 'bug tracker' that's centralized around <i>me</i>, not a particular company. I'd have one place where I file all my bugs/issues, etc, and companies could subscribe to it, or sync it in to their existing issue systems. I'm tired of having to create <i>yet another</i> jira/etc username/password, navigate yet another UI for reporting something, having it not work, having someone not get back to me, and so on.<p>Having someone get back to me or notify me of a change may never happen entirely, but I'd have a centralized record of all my issues. And other people could search them if I shared them (by default, perhaps). And vote them up, or add their own notes. Or give me an answer or workaround.<p>Perhaps this is sort of what stackoverflow is or where it's going, but I think there's another approach to tackle this issue, and there may be room for multiple approaches(?)
评论 #4534434 未加载
eckyptang超过 12 年前
He's doing too much with too many different things. The following phrase is valid here: "A man with two watches never knows what time it is".<p>I rarely get problems of that magnitude. The only unreliable thing I have is my ADSL connection and that's not a problem as I can use my phone as a backup.
评论 #4531858 未加载
ChuckMcM超过 12 年前
Love the rant, answer of course is in the title "Nobody's upset" which isn't really true of course it should be that "Nobody is <i>actionably</i> upset."<p>Much of this rant is a variation on 'craptialism' [1] and a number of the problems mentioned can be traced back to disk drove based storage. I've got a RAID6 appliance that I store stuff on and realized I was avoiding a lot of these bullets. (such appliances have their own issues of course but that is a different rant)<p>Its my hope that people will stop 'adding value' with software hacks to things like dishwashers (do we really need a ringtone to tell you its done? really?) focus on function, but that only happens when people actionably respond to these problems. They return them for their money back.<p>One of the truths in the consumer goods industry is that returns is an excellent signal for going to far. These things live on very small margins to begin with and returns reduce that margin still further. So folks returning 'broken' products incent the manufacturer to fix them. Its a pain though, that I truly understand.<p>[1] Crapitalism is the effect of racing to the bottom in terms of price to achieve market penetration / dominance. Sadly it often leads to products that are cost reduced to the point of not being functional.
评论 #4533555 未加载
nsns超过 12 年前
And what about your body? and the world around you? and your relationships? and the instruments you use? Do your faulty examples in any way contradict anything else you know? do you have a counter example?<p>Reality is dirty, everything tries to break down all the time, hindered by the traces of its past, and the ambivalence of its future use. We make stuff dreaming of a prefect neat existence. This keeps us going, like moths around a light bulb. And we should keep on doing this nevertheless.
eloisant超过 12 年前
Well, that's the balance between features, bugs, and cost.<p>If consumer software companies were working more like, say, people working on Curiosity (Mars' robot) or aircraft navigation software, you could have a phone that does much less but without bugs.<p>The reason why it is this way is because people usually prefer to cope with minor bugs that giving up on features. Plus, when you buy a product, you usually know the list of features but not the list of potential bugs.<p>So you can make a company that sells phones with 0 bugs, with a 2004 set of features. Or an OS that focuses purely on providing a bug-free experience, but 5 years late.<p>Not sure all that would sell well.
nchuhoai超过 12 年前
For all those who don't get the pun:<p><a href="http://www.youtube.com/watch?v=8r1CZTLk-Gk" rel="nofollow">http://www.youtube.com/watch?v=8r1CZTLk-Gk</a><p>Everything's amazing and no one is happy by Louis CK
lifeisstillgood超过 12 年前
Everything <i>breaks</i> and nobody is upset because we have evolved eco-systems that are minimally resilient.<p>And that is a good thing, and the right direction to go.<p>@luu - no we cannot prove even a tiny fraction of what we want to work, will do so. And the best approach is how biology has done it - failover, resilience, creative destruction, etc etc and all those good things.<p>I am often reminded by these sort of discussions of the anecdote of a Cabinet Minister chatting at the Russian Embassy in 1980. The senior Russian diplomat said "So, who is the person in charge of bread deliveries to London?"
praptak超过 12 年前
Yes, software is buggy. But resources are finite, innovation is fast and buggy products are out there in the market, eating the lunch of the defect-free products that are still under development.<p>As irritating as all these bugs are, you, the consumer, will not wait for a perfect product but will instead settle for the crappy one that's already available. Maybe this will change for areas where innovation reaches some kind of plateau, marginal utility of new whizbang features will fall and marginal utility of bug-freeness will rise.
nicholassmith超过 12 年前
Everything is broken, and it sucks and it's kind of our fault. Sort of.<p>It's a kind of, sort of our fault situation because as time has gone on we've stopped caring too much about companies sitting down and just going "Lets get this stuff sorted out and fixed, and improved and more awesome", but started caring about "How many features does it have? Can it do X in Y and Z situations?" which is great, it pushes the state of the art forward. I think companies are spending too much time trying to get stuff out the door, instead of spending the time improving what they've got.<p>But we end up in a weird situation where we actively want companies to stop adding new features, but a lot of us are like magpies drawn to the new and shiny. It sucks, it's their fault for not getting stuff done properly the first time, and it's our fault for expecting a new shiny thing every few months. And "move fast and break things" needs to stop being a thing.
thedudemabry超过 12 年前
I'm about to say something shameful, something no software developer should ever proclaim. In my personal time, whenever software crashes or errors out, I am often given a prompt (varies depending on the OS/application): Report the error, or ignore.<p>As an engineer who has spent invaluable hours combing over end user bug reports through services like Windows Error Reporting and the like, I am incredibly thankful for each and every user that took the time to click 'Report'. And I owe my firstborn to the benevolent few who choose to write detailed comments to accompany their reports.<p>But alone, in the dark, ready to edit a photo or browse Reddit- I click 'Ignore'. Why? Because fuck you, that's why. My rage at uncaught exceptions bubbles up into my brain and the stack reports, "you shall not get any info out of me." This is clearly wrong, but it's my impulse. That's all.
jakejake超过 12 年前
It's equally frustrating to be a software developer and have a problem magically vanish when a user restarts their computer. I hate it probably more than the user. Once their problem is gone they usually no longer want to talk on the phone to try to reproduce the glitch. If we can't get it to re-occur then it's extremely difficult to fix.<p>Our machines have layer upon layer of firmware and software. Users are allowed to install and configure whatever they want. It's all expected to run perfectly and, for the most part, things do run pretty well these days. Features are constantly being added. Everything is changing all the time. Unexpected combinations of things still happen and with complex software there are just cases that slip through the QA cracks.<p>Though I do get annoyed when something crashes, it has to be a bit of a two-way street sometimes. Both sides fail at this. Not all users are good at reproducing bugs and sometimes they are downright dishonest about what they are doing (out of embarrassment, or attempt to "skip ahead" in the diagnosis and other reasons I'm sure). But in the case of big companies like Apple and Microsoft as a user I do feel like they don't provide a way for a knowledgeable user to provide them reproducible errors either. Well, they have their bug report mechanisms but it feels like yelling into the grand canyon when I do submit bugs.
hollerith超过 12 年前
The world would be a better place if we spent less time talking about disrupting other industries and more time examining our own industry with a critical eye like the OP does.<p>Just keep in mind that making too much use of the critical eye can cause depression. At least it does so in me -- and in the author of this next fine blog post:<p><a href="http://telepatch.blogspot.com/2008/04/why-being-latency-monkey-makes-you-want.html" rel="nofollow">http://telepatch.blogspot.com/2008/04/why-being-latency-monk...</a><p>A quote: "I tell you this story as a cautionary tale. Try to find work that allows you to focus on positive things. Avoid like the plague any work that focuses on negative things."<p>I used to over-use my critical eye in an unconscious habit from childhood. The way I unlearned this bad habit is by "setting a background process" to watch for when I was enumerating or cataloging defects for no productive reason, and by "stopping my mind" when I found that I was. (I had to practice "stopping my mind" for 3 to 5 minutes at a time a couple of times a day for weeks before I started to make any progress.) In contrast, making lists of things to be grateful for never really helped me unlearn the bad habit.<p>To live up to my potential as a software professional clearly requires me to make <i>some</i> use of my critical eye, but my mental health depends on my using it selectively.
narrator超过 12 年前
Whenever I use windows there's always something broken. Example: old windows laptop dies and won't turn on. It's old so I remove the laptop drive and put it in an enclosure. Now I'll boot into Vista and share files off it and copy it to new Mac. Easy, right? Wrong! The thing won't let me share the files because I don't have access to them even if I am adminstrator on my windows machine. After waiting for permissions to get changed and getting a flurry of access denied popups I think its going to work but directories in the share are simply missing on the mac even though I've assigned privileges to the share user.<p>So..... I boot into Linux. 20 minutes of googling how to share files with macs, an apt-get or two and I'm copying off the files. Same goes for things like cd ripping. On Linux it just works, on Windows you have to get ad encrusted dodgy apps that sort of work and demand money every 5 minutes. Basically, if you are a power user, Linux rocks. Yeah I know....but Grandma will revolt! Fine, get her a mac or an android tablet. Why people who aren't forced to still use windows, I have no idea.
评论 #4532520 未加载
pmjordan超过 12 年前
As a user of software, I get similarly frustrated as the author. ("user" here includes use of third-party libraries to build on) However, developing system-level software, I've come to realise that even if you really, <i>really</i> care about the quality of your software, you can still be bitten by statistics.<p>Basically, developing error-free software is comparatively easy if your software effectively performs no I/O, that is, it behaves like a program in a computer science paper: read in some data on launch, grind through some computation, emit output, terminate. Barring catastrophic hardware failure of CPU or memory, this is a nicely deterministic programming model. You stand a chance writing correct code.<p>Throw "real" I/O into the mix, and almost anything can fail in weird ways, and your code has to be prepared for it. Network I/O is guaranteed to fail sooner or later while the developer is using the software. So it usually gets taken into account in some way, usually only distinguishing between "there is no connection" and "there is a connection". There are a myriad of other cases in between that are usually not even considered.<p>Disk I/O can fail for a variety of reasons. Not just hardware failure; file systems aren't perfect, especially when confronted with power failure, kernel panics, etc. Randomly flipped bits happen. (yes, really)<p>Not only are there are bugs in the GUI framework you're using, other GUI programs are running at the same time and they can inadvertently interact with your program due to the shared GUI framework use.<p>Other programs can inadvertently interact with yours in other ways: locked files, claimed sockets, contention for any kind of resource, race conditions, thread/task scheduling - you name it.<p>Timing bugs are ubiquitous. Everything you do in your program takes &#62;0 time. Maybe on your system, with your data set, it looks like 0. Maybe because it takes slightly less than one video frame's worth of time. On your customer's system, it takes longer. If they click something before your operation has completed, and you haven't anticipated this, your program will fail in weird ways. Where I live, I can't get an internet connection with less than about 80ms latency even to the nearest servers, let alone to North America, where most servers sit (more like 200ms). You wouldn't believe how much software handles this terribly.<p>The problem is complexity - in many cases, <i>unavoidable</i> complexity, not the accidental complexity us developers keep railing against. Most of these error cases are extremely rare. The thing is, with thousands or millions of people using your software, extremely rare bugs suddenly become a very frequent occurrence!<p>Yet the tools for dealing with this kind of thing are somewhere between terrible and non-existent. There are some tools for simulating difficult network conditions; those are comparatively easy to make. I'm not aware of similar software that simulates OS API call failures. Or a "file system from hell" that wreaks havoc with your file I/O. Fuzzing a program in such a way would likely uncover countless bugs. <i>valgrind</i> and its myriad of plugins are great, but as developers we almost certainly under-use it.<p>Developing such tools is obviously expensive, and even they won't catch all bugs. But I'm pretty sure they could reduce the probability of running into bugs by a few orders of magnitude.<p>Don't even get me started on how programming languages don't help you handle error conditions or timing problems even if you try.
评论 #4532765 未加载
评论 #4533690 未加载
gbog超过 12 年前
It should be noted that not everything is broken, and some people are happy.<p>See the many posts about vim, git or command line tools on HN. I have never caught a grep bug, for instance, (cat is pretty reliable too).<p>The problem might be because the level of expectations raises faster that the technology. Chrome was amazing at the beginning, and now people are unimpressed.
pasbesoin超过 12 年前
I spent a number of years doing QA ("real" QA, guiding and advising the entire lifecycle) and making sure that the software in my little corner of the world <i>did</i> work. (Often catching critical bugs after some other "QA" process had entirely missed them.)<p>It's a thankless job. The developers I worked with directly loved me -- the best of the lot did, anyway. (My observation in turn of their abilities and professionalism.) But management had no clue (and refused to get one). And many developers outside of my exclusive little clique had to be brow-beaten into some level of compliance.<p>Speaking generally: You say you want quality. But your actions belie this.<p>P.S. If you're concerned about "quality", amongst other things you should read "Zen and the Art of Motorcycle Maintenance". To understand the importance of and drive for quality amongst those who really care.
bpatrianakos超过 12 年前
I took this as whining. I'm not trying to be a dick but that's how it came off. The whole whining followed by "we can do better" is starting to become really cliche. Yeah, we can do better but we can also read some manuals, get some tech support, and you know, do some basic troubleshooting before proclaiming that these minor inconveniences should never ever happen ever.<p>We can make better software and we can make it easier to use and we can make everything more convenient but it'll never be enough. Making stuff better doesn't mean ridding it of all possible complications and minor annoyances. In fact, some of the things he complains about are actually features, not bugs and those cases the solution is to get a different product.<p>Everything is broken and nobody's upset? No. Everything is awesome and everyone's jaded.
johncoltrane超过 12 年前
There was a time when a computer and the software that ran on it cost millions. That was a time when a bug would cost millions and sink a company or two.
SatvikBeri超过 12 年前
Quality has a cost. There's usually a tradeoff between functionality and reliability. Do you prefer a phone that can surf the internet, navigate when you get lost, and send email, or a phone that has a 3 day battery and never crashes? Both choices are available.
crazygringo超过 12 年前
The way software is sold right now is inherently broken. You pay for it before using it, so companies justifiably spend their efforts on developing new whiz-bang features to get you to attract you to buy something new, rather than fixing and rationalizing the features that already exist.<p>I have a hunch (that's all, though) that if there were never any up-front purchase cost for software, and instead it was all, say, monthly-subscription-based, that there would be a bigger focus on quality. "Hmm, frustrated users are cancelling their monthly subscriptions because sync doesn't work? Well, maybe we should work on that instead of adding glossy cover flow..."
Zak超过 12 年前
One project seeking to fix this (by re-implementing everything from scratch) is <a href="http://www.loper-os.org/" rel="nofollow">http://www.loper-os.org/</a><p>Much as I like the idea, I don't have high hopes. The revolutionary "right thing" approach has typically lost to the evolutionary "worse is better" in software fields with broad appeal. This is true even with the tools and materials used to build computing systems at a low level. Consider the popularity of programming languages like C++ compared to say... Smalltalk.
csense超过 12 年前
RMS's original motivation for starting GNU was to address exactly the frustrations expressed by the article.<p>With open source software, if the universe of people with a particular bug is big enough, it'll contain developers who are capable of fixing it.<p>Or if a particular bug is hurting you badly enough, you can find and pay a developer to fix it.<p>See Linus's Law [1] (scroll down to point #8.)<p>[1] <a href="http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s04.html" rel="nofollow">http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral...</a>
zvrba超过 12 年前
Bah, this post reads like a 5-year old bitching because he didn't get his ice-cream [1]. May it be that these problems aren't fixed because they arise from a subtle interaction of hung routers, failing hardware, other installed software that runs concurrently in the background [2], etc. How do you debug something that you can't reproduce in a "standard" setup? For how many CPU-eons should you run your networked application on a simulated network to be reasonably sure (NB! NOT prove!) that it'll handle network outages? HOW are you supposed to write software that behaves "correctly" when its preconditions aren't true? (e.g., that the OS's routing table is sane?) Etc, etc.<p>[1] Yes, Gmail is slow for me too; haven't used its web interface for years, and I've moved my correspondence to private domain. Some of his complaints are valid complaints about sloppiness. He also seems rather unhappy with Apple's SW, so I'm wondering why is he still giving shitloads of money to Apple.<p>[2] For example, a backup on my Win7 machine failed, with a mysterious message in event log urging me to look for other errors in the event log. I scrolled down and saw that AV (MSE) had quarantined a certain file. I deleted the file, and lo and behold, the backup succeeded!
kfk超过 12 年前
Let me take 1 example: MS Outlook. It really, truly, amazingly, sucks. Badly. It is done to handle few email, few enough that you can remember about them. Good luck if you work in a corporate environment and you need to find an email from even only 1 yr ago.<p>Is this an issue? Yes. Do people care? Not enough apparently. What do you do? You either accept it or you find a solution at a low enough price that people start caring.<p>Bottom line: look at what people are willing to pay.
评论 #4536450 未加载
Harmonize超过 12 年前
Everything's broken and nobody's doing anything<p>Surely somebody's doing something! I'm sure if you look around you'll find a lot of people doing a lot of things to fix software quality and improve user experience in software applications.<p>But, consider what's really broken in the world: food supply, resource depletion, pollution, poverty, crime, violence, war... When I read a title like, "Everything's broken" those are the problems that come into my head. And so, I was disappointed to read your list. It didn't aim high enough for the problems I was considering.<p>Makes me feel one component what's broken is our priorities and focus. Clearly the priority and focus for the software you're using is not on quality and experience. It seems the software industry has optimized to get-product-out and iterate asap. Ship!<p>But then, when I consider the larger question of "what's broken?" where I look at the real issues in the world, I come to the same answer: the priority and focus of society is not tilted strongly enough towards fixing those types of big-world problems. Instead, we have so many of our great minds attacking other types of problems.<p>Generally, when we humans focus and prioritize, we can achieve just about anything we desire.
parasubvert超过 12 年前
I don't deny problems with today's software, but perhaps the issue is that things are moving FAST, particularly in the mobile space, and like the last few software booms, sloppiness occurs. I mean, look at the pundits all complaining that the new iPhone 5 is boring, why can't Apple reinvent the mobile world every 2 years? Because they're having a hell of a time incrementally improving the current world, which isn't anywhere near perfect! There doesn't seems to be much excitement in "getting things perfectly right", it's about finding the sweet spot of "mostly right". This tends to cater to consumers and not geeks or power users with edge cases.<p>I don't get upset about today's software because it's much better than what we had before (even iTunes). I remember the 90s where my computer would lock up twice daily with a blue screen. Where my data would get corrupted regularly. Where I had to reinstall my OS bi-annually to deal with slow downs. I haven't had to experience these things in nearly 8 to 10 years. Now it's all more about annoyances than catastrophic failures.
jvdh超过 12 年前
Things get even worse when you know something is broken but nobody else seems to care.<p>At the cafetaria here I pay with my bankcard, if I put the card in too soon, the payment never works. I know that the payment device software is clearly broken. The solution: The clerk stops the payment and restarts it if you put it in too soon, or yanks out your card and puts it back in himself.<p>Good luck explaining that it's broken.
jsz0超过 12 年前
My computing experience became far more zen like when I gave up on ugly hacks and pointless tweaks. I just use the software how it's designed to work. Path of least resistance. Vast majority of the time this approach works great. Not sure if that's the root of his problems or not but it definitely sounds like it to me because these were the exact types of problems I would encounter after running some hacky app or using unsupported/undocumented features.<p>For example I've had the same iPhoto library for about 5 years now. The only issue I ever had was importing duplicate photos (my fault) and then running a hacky app that was supposed to magically fix this. Nope. It just trashed my iPhoto Library file. If I had manually deleted the duplicates I wouldn't have had any problems. I've had countless address book/calendar syncing issues for the same reasons. I gave up on trying to hack together a system that works now I'm fine with these different services being islands. I don't need every contact I've made in the last 20 years on every device I own.
crag超过 12 年前
It's not the bugs that "bug" me. It's the time it takes developers to fix them. Example: Mountain Lion's Mail; for some of us, it suddenly takes all the accounts off-line. The fix is to restart it. There are HUGE threads in the forums [about this issues and several others], and multiple posts on various sites around the net and STILL no fix.<p>Another example from Apple: The 2011 MacBook Air wireless connections issues. Also several huge threads in the forums, and multiple posts around the net and nothing.<p>And Apple isn't the only company. I don't even want to get started on the state of video games today (look at the launch of D3 from Blizzard and what a nightmare that was or SW:TOR - just a couple of recent examples).<p>I imagine two reasons for that state we are at now: Money - the rush to release (and "worry about fixing bugs later" -this is VERY true in the gaming world); and in Apple's case, they hate to admit anything can possibly be wrong in perfect-town Apple.
评论 #4533530 未加载
Benoit_超过 12 年前
It's not specific to software.<p>The general issue is that the indirect costs of a product are not supported by the company that created it.<p>I explain: a company could generally earn more money by releasing new software (or features) than by fixing bugs, even if its users spend more time and money because of these bugs than it would cost to fix them.<p>We can see it everywhere: - unhealthy foods generating long-term medical care costs - short life products generating cost of buying new ones quickly (built-in obsolescence) - cheap electricity generating thousands of years of waste management - etc<p>If we find ways to make these indirect costs absorbed, we could improve software quality.<p>Ideas: - for proprietary software, include a kind of warranty to fix bugs when enough users ask for it (similarly to getsatisfaction.com) - for opensource software, I think of getsatisfaction.com coupled with a donation system to encourage people to fix popular requests<p>What do you think?
motters超过 12 年前
I think this could be rephrased as "Apple and Microsoft products are broken", and that's a problem because he's a Microsoft employee so he probably has no option but to dogfood. For less constrained users there are other products around though which are not as broken.
squidsoup超过 12 年前
There are clearly a myriad of problems contributing to the sense that "everything's broken", political, social and technical. Focusing purely on the technical aspect however, in particular how we write software, what has become of the promise of statically typed pure languages like Haskell?<p>Can anyone elucidate on whether adopting this mode of development where software can be formally reasoned about has led to significantly fewer bugs in real-world software scenarios? Is the legacy of Smalltalk impeding progress?<p>I ask this as a fairly average OO software developer that has found that despite being fastidious about keeping up with code coverage, bugs still present themselves all the same.
autophil超过 12 年前
The big lie is we as humans have it all together. That we are the superior species on the planet and we can do what the hell we want.<p>Global warming, destruction of nature, loss of liberty because governments we elect betray us - don't worry, somebody else will fix that, probably some Y Combinator startup. No wait, driverless cars are the answer.<p>Us humans hallucinate in our own private world more than we interface with the actual world. We can and will rationalize anything. Nobody is upset because we aren't really there, or even here. We are off somewhere else, thinking we are smarter than we are and that everything will be okay.<p>With the terrifying state the planet is in, we should all be upset.
评论 #4532020 未加载
RivieraKid超过 12 年前
When I make software on my own, I really care about every detail and I'm focused on making my users happy. I'm thinkng in both low level and the big picture.<p>When I do software for money I often just want to quickly do what's required from me. My motivation is more "getting it done" and less "making user's happy". I'm thinking "how to implement requirenment A" instead of "how to best solve user's problem A". Another big factor is that I don't have full responsibility. If some parts of the UI can be improved I often don't care - I'm not responsible for that, convincing my manager that the UI sucks just isn't worth it.
krautsourced超过 12 年前
He's hitting the nail on the head. As for the reasons... there are multiple culprits at work here.<p>- complexity of modern systems - reliance on third party libraries that suffer from all the same problems - underfunding - understaffing - QA next to non-existant or "sourced out" to support staff - unrealistic deadlines - incompetence (that was always a problem, but combined with the lack of QA becomes more apparent to the end user)<p>Basically the issue is we all want more, for less money, in a short amount of time. And I think we've hit the ceiling for that as far as the human factor is concerned.
peterwwillis超过 12 年前
There's more important things in life than getting upset about software. Try working for a company where everything is "broken" and try to fix it for a few years, always in vain. You'll stop caring, too.
glassx超过 12 年前
And it's not just with computers.<p>I have a Sony Bravia TV and with every update its "UI" got slower and slower, until I disabled updates. I know it's got a lot of cool features in it, but I just wanted a simple TV.
评论 #4532654 未加载
darkstalker超过 12 年前
There is a common pattern in all the stuff mentioned there: closed source proprietary software. The companies who wrote them are the ones to blame. You can report bugs/problems, then sit there and wait, but as said in the article, they don't care and nothing will happen. You're already trapped in the closed ecosystem, your data in some proprietary format, and (un)happily living inside the walled garden. If everything is broken, is because you chosen broken software.
molbioguy超过 12 年前
Patience. As the rate of technological change accelerates, patience is slipping away. How long can you wait for the next improved version with new features? From a technical point of view, it's all possible, so why isn't it available yet? I'd say that both consumers and investors can't wait very long, so businesses push out features (sometimes prematurely) to meet the demands, which fuels the impatience for new features. Vicious cycle started.
jbert超过 12 年前
Does this mean that there is a room for a brand in which "everything just works"?<p>Or would that so feature-poor/expensive/slow-moving/low-status that no-one would use it?
评论 #4531892 未加载
netvarun超过 12 年前
When I saw this my initial reaction was 'bleh. bloody #firstworldproblems'.<p>But then it struck me: One man's first world problem is another man's billion dollar company.
Impatient超过 12 年前
"How do we fix it?"<p>Pay for more stuff.<p>13 of the 20 issues are on freeware or free services. Gmail way exceeds my expectations, because I know I'm the product, not the customer.
heydonovan超过 12 年前
Honestly, I think a step in the right direction would be more people submitting bug reports. Get more people used to the idea that bugs do exist in software, and it's up to everybody to say "Hey, your software has issues. This is how you can replicate it. Please fix!". Also, let's stop implementing features, and fix bugs first. No use building upon software with known bugs in it.
egiva超过 12 年前
Question: maybe just my simplistic take on these complaints - and I have the same ones - but can 90% of these all be broken down into two categories? (database-related), and (UI-related) issues? Windows desktop indexing, iPhone extra space taken up by "other" - can you simplify these things by saying that they´re database related? I´d love to hear someone´s opinion on that.
corwinstephen超过 12 年前
True software sucks, but that doesn't necessarily imply that it used to be any better. I think software has always sucked. Yeah, there are more problems now, but we're also able to do quite a lot more with computers than we used to be able to as well. I would say that over time, the level of effort out in by developers has stayed the same.
modernshoggoth超过 12 年前
Everything too complicated to fit into any one single person's head is going to have problems. That's how it works. There is a tradeoff of functionality vs expense-of-time for any given task, and if you polish the functionality to a mirror-shine but don't receive any economic benefit for doing so, then your software won't make much money.
pjmlp超过 12 年前
The only way out of this is to make companies accountable for the software, the same way as in any other industry.
lazyjones超过 12 年前
With no accountability for vendors at all, no software warranties worth the name, this is hardly a surprise. Until people can start suing for damages (it costs me time = money to get such problems fixed), software will stay mostly broken because vendors have no good reason to invest money in fixing it.
评论 #4532078 未加载
评论 #4533539 未加载
papercruncher超过 12 年前
As a Microsoft employee, OP has access to the private symbol server. Open up windbg and for a lot of MSFT products you can file a bug and send a dump straight to the team... all with a single command and without leaving the debugger.<p>Other than that, I really enjoyed the author's writing style, it was a good rant
rjzzleep超过 12 年前
while I do feel the same, it's not like there isn't a solution to most of those problems.<p>have problems with stock roms on devices since you don't know what they do? Try android custom roms.<p>Have problems with Operating systems doing insane amounts of work without you ever knowing what that is? Try rolling your own Distro.<p>Problem with gmail? Try running mutt somewhere and give yourself pub key access to the server.<p>But more generally don't fucking rely on the cloud.<p>Oh dear, skype, I have to use it for work purposes, but man, how I wish I didn't. He forgot to add android and linux to the list. Compared to that you can at least just use an older skype version on windows and be done with it.<p>My notebook runs a heavily customized linux and it boots in under 10 second. Updating my system? Still boots in under 10 seconds. All my linux distro setups lasted for years.
yskchu超过 12 年前
I think it's people deciding that "good enough" is good enough. In any case, with today's rapid development and update cycles, it's easy to fix mistakes.<p>Fast, good, cheap; pick any two.<p>80% of the people only use 20% of the features anyway. And they never see the bugs that drives the remaining 20% of the people nuts.
tambourine_man超过 12 年前
<i>I'm am complaining not because it sucks, but because I KNOW we can do better.</i><p>Yes, I guess that's why we are alone. Most people don't know it can be better. You probably have to be writing software for a a long time to be furious when something is slow or broken in today's hardware.
Tichy超过 12 年前
A lot of these problems seem to relate to Apple products. Just saying - there are other options out there.<p>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).
juddlyon超过 12 年前
The more into technology I get, the more I'm amazed that anything works in the first place.
jwatte超过 12 年前
It's because the market competes on features. This leads to a race to the bottom. If you go slower and test more, you will be too late and too expensive, and nobody will buy your stuff. The market does not value too high quality.
tocomment超过 12 年前
I'm hitting the iPhoto problems he mentions pretty bad lately. Does anyone know what options I have? Is there an easy way to switch to just using the file system for photos? It seems like iPhoto is so interwoven into the OS.
评论 #4535796 未加载
anuraj超过 12 年前
Over the years we have failed to develop software as a true engineering discipline. The way a structural engineer can design and certify a structure as sound, I dream one day we will be able to do for software.
评论 #4533509 未加载
Havoc超过 12 年前
Thats quite a long list. Personally I just need the company VPN to break &#38; then <i>everything</i> I need to do my job goes down the drain...<p>On an entirely unrelated note, guess how much work I got done today...
brendanobrien超过 12 年前
first. world. problems.
npsimons超过 12 年前
Stream of consciousness whilst reading article:<p>"Hmm, first one is about iPhone; next one is about Windows; I wonder . . . "<p>Ctl-F "linux" - first hit is the comments, and I close the tab, contentedly.
评论 #4533494 未加载
monosym超过 12 年前
It's almost kind of endearing,that even digital tools still have bouts of human error, albeit to a lesser extent than something like vintage/analogue electronics.
udpheaders超过 12 年前
"If builders constructed buildings the way software developers write software, the first woodpecker to come along would cause the collapse of civilzation."
RyanMcGreal超过 12 年前
Cf. Louis C. K. <a href="https://www.youtube.com/watch?v=8r1CZTLk-Gk" rel="nofollow">https://www.youtube.com/watch?v=8r1CZTLk-Gk</a>
bobwaycott超过 12 年前
&#62; <i>I should get an Xbox achievement for every time I press "Clear" in the iPhone notification window.</i><p>Too true.
perrywky超过 12 年前
why should we care about these rarely happened bugs? They just happened in a complex scenario, which is hard to reproduce and those bugs really doesn't matter. I think it is not worth the effort to deal with these bugs.
评论 #4533426 未加载
moubarak超过 12 年前
Thank you so much for this article. Im not alone.
systematical超过 12 年前
Your title is broken and i'm upset about it.
dakrisht超过 12 年前
Best post I've read all year.
batista超过 12 年前
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).<p>Your amazing, multi million lines of code Windows desktop, the work of some 1000 people or more, has a problem with indexing.<p>The protocol and apps that connect you via email to everyone you want, free, globally and instantly, sometimes loses a mail. Or the UI is slow to load your new messages.<p>A program with which you can do on your laptop what it took huge teams, million dollars of equipment, and professional expertise to do (FCP), has a crashing bug in some particular action.<p>The program that lets you talk to everybody on the planet, instantly, with video, and paying nothing, has a badly designed UI.<p>etc...<p>Yes, I can see how "everything is broken".<p>Because, when we didn't have any of these, when 30 years before you had a rotating dial to dial numbers on your phone that only called landlines and cost mega bucks to call internationally, when you had MS-DOS as the most prevalent desktop OS, when 20MB was a huge disk in a desktop system, and before something like video chat was only possible in huge organizations with special software, everything was perfect...<p>Wanting to improve things? Fine.<p>Not understanding the complexity and magnitude of the technical achievements you use everyday? Bad.
评论 #4531889 未加载
评论 #4532094 未加载
评论 #4531906 未加载
评论 #4531871 未加载
fallenapple超过 12 年前
Apple is now as annoying as Microsoft. They have attracted the type of users who will put up with anything.<p>Business logic dictates they will do what they can get away with. If they can sell shoddy product (that looks good in the commercial or in the store), then they will do so.<p>Savvy users must suffer, or find a new system to use.
goggles99超过 12 年前
I love you Scott, but look at projects you have managed and will manage, they come out with bugs/problems/design flaws every time. Judgment is easy, but practice what you preach if you really want people to listen.<p>I think that you are expecting too much from he human race. We CAN always do better, but there will always be software bugs no matter what.<p>Humans will always make errors in judgment, planning or execution. Look at the Mars rovers, they updated the firmware on them once they were on mars. Do you think that they did not go over everything carefully? Look at anything which has been acclaimed to have been the greatest design or implementation ever and you can always find many same flaws with it.<p>I get what you are saying with the we can do better, but most people (including you) would rather be productive rather than going over everything 5 times and re-analyzing every design (analysis paralysis). Who could survive that grind? Humans need to be challenged and need to feel like they are progressing or their morale will be destroyed.<p>Things will not EVER change dramatically from this pattern. Everything is amazing and nobody is happy.
kahawe超过 12 年前
Skype: Try sending a message...