4 ms·
I started in the catalog department at Amazon in 1997, right as Glennf left. It took me an embarrassingly long time to realize that the desks were made out of d
by spudlyo 14y ago
I started in the catalog department at Amazon in 1997, right as Glennf left. It took me an embarrassingly long time to realize that the desks were made out of doors. It just seemed like giant clunky desk to me.
One thing I do remember distinctly about Glenn's time in the catalog department was this terrifying 60k Perl script I inherited from him called sitecounts.pl. This script examined all the various catalogs (books, reviews, etc) and attempted to generate some interesting stats about them. One day it just broke, and since it was used in the catalog build process to verify that things were sane, it needed to get fixed pronto. The code was plenty confusing, but what was the worst part was the extent of the right margin creep, I'm talking 150+ character lines -- not exactly easy reading on my crappy 15" X-terminal. I felt like a character in a HP Lovecraft story, slowly descending into madness as I learned more about the horrors of this script.
I ended up maintaining and adding to this script my entire first stint at Amazon. Eventually as I added features and changed things, it slowly got made sane over time, save for a little bit of madness that I kept in there just so I'd have a reminder of what it was like.
Ah the 90s. Good times.
- nhashem 14y agoUnfortunately I don't have much to add to the OP, but I wanted to comment on this. Everyone I know that hates Perl had some sort of experience where they inherited some legacy Perl script that broke all the time and yet performed business critical functions. I started my first full-time job in 2004, and whenever I get together with my old co-workers we'll STILL talk about the battle scars we had trying to bubble gum and tape together a particular script called cc_processing.pl (yep, just as critical as the name implies), that seemingly broke every other day and went so far down the rabbit hole you had no idea how it ever ran successfully. $a{$a} = $a->{$a}? Sure, why not. I wonder how much of Perl's reputation is based on these kinds of formative experiences. I love Perl, but I'm realizing that everyone had their nemesis in sitecounts.pl, or traffic_reports.pl, or partnerpayments.pl, or wtf-how-did-this-ever-work.pl, and unfortunately didn't draw the same conclusions about Perl that I did.
- taligent 14y agoFor me the problem with Perl isn't the language but the mindset the goes with it. It's like it triggers some primitive release of testosterone which results in developers competing to fit the most functionality in one regex filled line of craziness. Hilarious to watch. Hell to debug.
- thwarted 14y agoMassive perl scripts that still lurk in our memories of the 90s were not the result of testosterone fueled one-up-manship brogrammer culture. They are the result of needing-to-get-the-report-generated-yesterday one-man-in-the-"computers"-department every-programmer-was-a-sysadmin and-every-sysadmin-knew-perl4-because-that's-all-that-shipped-with-HP-UX/Solaris/AIX (and you had to pay extra for the compiler to build something more modern) culture -- if a single person working in isolation can define a "culture", that is. It's scripts like these that spawned the meme of replacing people with scripts; because that's what these massive scripts did: automated away entire departments, or negated the need to hire for a department all together. Which is important when you're a two man company and all of a sudden you've discovered you need to process $100k of credit card transactions from yesterday, and you better get started on it because there's already another $300k in transactions generated today. It's only one script, so there's no need for revision control. Damn, there's only one guy working on it, it can run out of his home directory. And of course, it was so successful, successfully a blackbox, he's asked to automate some other task, which is only related because there's some slight dependency, and, well, it's a dependency, so let's just put it in the same script we already run. Rinse, repeat. Were these scripts terrible? Of course. But they were the work horses of the Internet and any company with two CPUs to rub together in the 90s. There's a reason that "perl is the duct tape of the Internet" was a saying in the mid- to late- 90s: because it was. These scripts work perfectly fine if the person who wrote them and fully understand them runs them, yet inexplicably fall apart when someone who didn't write them run them (similar to [0]). These scripts can smell the fear of the new guy put in charge to maintain them. This is where heisenbugs roost and schroedinbugs become the stuff nightmares are made of, despite that they had most likely been running without issue for months or years since the guy who wrote them left. [0] "Tom Knight and the Lisp Machine" http://catb.org/jargon/html/koans.html#id3141171 http://catb.org/jargon/html/koans.html#id3141171
- jrabone 14y agoHaha. Glenn's perl was legendary at AMZN, even 10 years later. My team ended up 'maintaining' GPOS (for non-AMZN folks, the G stands for Glenn - you can figure the rest out...)
- va_coder 14y agoPerl: one man's solution is another man's problem
- avalenciano 14y agoI work for a small company (not a software/tech one) as a sysadmin and programmer and sometimes I feel almost ashamed of scripts or pieces of software because I know that they could be implemented much better or cleaner or this or that. I have some delusion that programmers working at other companies make better design decisions, better code, better tests, etc. I love to read other programmer's battle stories! (I am currently reading "Coders at Work" and really enjoying it). Thanks for sharing!
- jimfuller 14y agoits easy to look at code out of context ... was the coder under duress, was he being asked to do a million things at the same time. Was he being paid enough to care ... i'm not making apologies, I think one of the worst things that can happen to a coder is you lower your own personal quality bar; but its easy to do if in the wrong set of context. I always recommend quitting before getting to that point. Addressing some of the other comments; Perl and the Perl community itself is so far removed from macho ... its still one of the kindest, most intelligent and beneficial public communities online .... if someone feels emasculated by just reading someone's code; don't mistake that for the original coder's intent was to emasculate. Perl is the programming language that I would want with me if the world was coming to an end (asteroids of course) and somehow I could help save it with getting the damn lasers to work to blow up the asteroids ... if it takes a 150 char regex then so be it.
- emaland 14y agoPretty sure we had 13" monitors. And yeah, ugh. Reviews build and titleauthority were similar messes.