jeshyr: Participating in #dw may cause you to end up leading a project team. (Dreamwidth - Project Leader)
Ricky Buchanan ([personal profile] jeshyr) wrote in [site community profile] dw_dev2012-02-24 07:12 pm
Entry tags:

Things Real Dreamwidth Programmers Do

Lots of new developers - including myself - are very nervous about screwing things up. Lots of old developers have told me not to worry, but I keep worrying. I don't want to seem stupid or break something important!

So I thought we could make a list of some wonderful hilarious things that Dreamwidth developers have done and still do. I've put the names of people who told me I could share these, but you can be sure that pretty much all of them make everybody around grin and admit that they do something very similar too, actually.

Our fearless leaders have commented on the topic when I told them I was making the list:

[staff profile] denise: you haven't arrived until you've made at least one mistake that brings the site to its knees ;)

[staff profile] mark, when told about this list's creation: if we're going to create a list of all the shit I've done over the years it will be a very long list.


Things Real Dreamwidth Programmers Do (Or Have Done)



Everybody: Spent ages searching for the bug, only to realise the file you're editing is not actually the same file you're running. [personal profile] fu managed to do this one while I was actually writing up this list, and not just on her Dreamhack but on Dreamwidth itself!

[personal profile] exor674 I STILL have to look at the TT docs every damn time I have to do things. and I mean the "how to make pages" not the scary "doing weird and obscure things in the plugins" (note: [personal profile] exor674 is the project head for TT conversion)

[personal profile] shadowspar: I spend a lot of time with 'perldoc -f <most-any-perl-function>'

[personal profile] azurelunatic: Forget to convert null entries to zeroes before doing mathematical operations that's likely to involve counting or dividing.

[staff profile] mark: the other day I oopsed a database and had to rebuild it. while debugging the slow page load thing, I installed something, that uninstalled MySQL :P

[personal profile] azurelunatic: And for my part, I totally submit suggestions all the time that are already logged in Bugzilla.

[staff profile] mark: when I was at Mozilla, I accidentally clobbered the database that contained the crash logs. i.e., every time Firefox crashes and you let it send in the crash log. this was at the Firefox 3 launch. I blew it away. no backups.

[staff profile] denise: like the time [staff profile] mark helped me troubleshoot my broken email for like three hours, only for me to discover the reason it wasn't working was because i'd let the domain registration lapse

[personal profile] azurelunatic: Forget to increment the serial number on the DNS file, and spend a half-hour cursing and weeping in class.


So next time you're feeling stupid, please remember that these things are all perfectly normal programmer behaviour:

  • Asking others for help

  • Forgetting how you did the same thing yesterday

  • Asking others for more help

  • Forgetting to restart Apache

  • Finding yourself looking up the same bit of Perl syntax for the 37th time

  • Forgetting to upload the file you edited

  • Making typos and not noticing

  • Forgetting to restart Apache again

  • Asking for help yet again


All of these are things that Mark, Denise, Fu, and all of our senior coders do on a regular basis, therefore we have proof they are totally normal and expected and no cause for shame or guilt.

If you care to, please share other silly things you've done in the comments!
deborah: the Library of Congress cataloging numbers for children's literature, technology, and library science (Default)

[personal profile] deborah 2012-02-24 03:21 pm (UTC)(link)
my favorite interview question to ask to an applicant is "talk about something you've done that was a total screwup," because I figure anyone who can't answer that question either have no experience or is lying. :D (also it is useful to see how people learn from what they did wrong.)

My favorite massive mistake that I made was typing "rm -r .*" as root. This was back in the day, on an old Ultrix machine, before systems got smart enough to recognize that it was dangerous for ".*" to (correctly, according to regular expression specification) expand to "../*, ../../*, ../../../*, ...".

For non-UNIX geeks, what this means is that I was trying to delete a few files that began with ".", and ended up deleting the entire operating system.
alierak: (Default)

[personal profile] alierak 2012-02-24 04:15 pm (UTC)(link)
I think I must've done that once too. I can also recall trying to create a tar file, but accidentally putting it inside of one of the directories that was being tarred up. It kept on going and filled up the disk writing a copy of the tar file into itself.
dreamatdrew: An orange leopard gecko half hiding behind the leaf of a 'lucky bamboo' plant, looking directly at you. (Default)

[personal profile] dreamatdrew 2012-02-24 08:09 pm (UTC)(link)
OHH, I did that too...
geekosaur: orange tabby with head canted 90 degrees, giving impression of "maybe it'll make more sense if I look at it this way?" (Default)

[personal profile] geekosaur 2012-02-26 10:20 am (UTC)(link)
I think some variant of that one gets done at least once by everyone who's ever used a Unix/Linux system.

Also, my favorite version of this was discovering the hard way that an earlyish (but it had been around for several years) version of Midnight Commander would happily follow .. when told to remove a directory and everything under it. You, um, tend to assume your file manager is smarter than that....

(A handy trick: most of the time, you want .??*. This will miss names like .a, but the number of possible such names is small enough that manual cleanup is easy.)

(Also, minor pedantry; they're not regular expressions but file globs. Globs are much simpler, which as usual is both blessing and curse. On the other hand, you'd curse a lot more if the shell made you use regexes.)