738 karma · joined August 8, 2011
I was setting up a staging database for some testing. Our DBs are big so we truncate a bunch of data we don't need on the staging server so we can have more DBs without wasting tens of GB per database.
I ended up executing this against the wrong server.
Needless to say, we've learned from this. Luckily nothing critical was lost, but I felt like a complete spanner :(
I think companies should start caring more about their quality and users should stop giving money to those that don't. Some of these silly bugs are pretty ridiculous and should never have happened.
For example, take the podomatic example - that's just a sloppy function written by a dev. The NPower thing is just sloppy setup of the website and bad links in email templates. The MS thing, well why did the devs add jQuery to a site that is so incredibly static?
Devs make a lot of decisions that influence the quality of software and I think we need to start taking more responsibility for that.
I think in general though, we would be better moving slightly towards the "spend a little bit longer" end of the spectrum.
We're still far from perfect, but I we're definitely on the right track. It's possibly because we try so hard to improve that I get so frustrated when big companies appear not to :(
I try very much. I try to report any issues I find like this (I spoke to 5 different people at NPower trying to explain their issue, and nobody cared or understood).
I have a job/family/life. There's only so much time I'm prepared to put into trying to make silly things like these better, and I'm certainly doing far more than most! :)
If you ship something that loses data and you have to start restoring backups and patching data, it probably would've been cheaper to do a little extra testing.
Like everything; it's a tradeoff. I think we're universally bad at playing the game!
I'm guessing this is relating to my SQL mishap in the opening lines? You're making assumptions that I was doing something manually in production here, and not that I was executing a script that was buggy or against the wrong machine.
Sure, we could build safeguards against this, but it wasn't something we really considered would happen. Needless to say, we've learned from that one!
The most frustrating thing is that we seem to be getting worse, not better. We're not learning from mistakes, we're too busy churning out the next buggy release to review the mistakes in the last one :(
When huge software companies like Google and Microsoft are churning out buggy crap, it's easy to see why others assume they can't do any better.
Lots of companies spend a lot of effort to run code on multiple platforms (SQL Server recently announced Linux support; .NET core has supported runtimes on Linux too and tons of OS languages have runtimes for multiple platforms). It would be great for both devs and end-users if the number of things that are different between platforms was reduced.
I don't think it'd work well in paper/book form, but on a scrolling screen I think it'd be a great learning aid.
It's no wonder so much private data is leaked all the time when people make our these sorts of permissions are acceptable and defend them when questioned.
Many of them are absolutely not obsolete; they're as relevant in 5.0 as they were when they were raised.
It's great that they're cleaning up the issue tracker as if they might actually use it (or maybe it's preperation to move to GitHub, as many other Google projects have been), but it sucks that they're just blanked fobbing off a load of relevant cases :(
(Google should've spec'd a generic VM together with MS+Mozilla and built Dart on top of it; but that ship has sailed!)
However; there are some frustrating holes in it though that have made our prototyping tricky; such as:
Serialisation; not even JSON support. Alan Knight is working on a Serialisation library; but even that is frustrating to use (it doesn't support DateTimes at all well for ex), so I'm generating having to generate serialisation code from C#.
No private pub server. If you want to host Dart packages internal to your company locally; you're out of luck. Although the source for pub.dartlang.org is open; it's written to only work on AppEngine; which kinda sucks.
We're also slightly nervous that the Dart VM still isn't in Chrome. I don't know what's taking so long, but this would seriously help convince others that Google is really invested in Dart.
If you have a huge number of products that span millions of lines of code and took over 10 years to write and you're trying to pick a tech stack you can use across them all; this isn't going to fly.