Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

(I am a regular of HN. I don't want this attributed to my acct.)

Previous job. Was sysad. This code runs most of the academic US internet.

Everything was Perl5. There were over 150 different major applications written with it, ranging from 40 lines to 500k lines. The older the recent commit, the worse. Touching any of this would cause errors, either in itself OR in associated applications! You'd be working on thing A, get it working well, and 4 weeks later thing B would fail horrendously.

The worst was a tie between a variable that was a 6 line long SQL query, which was packed to the brim with function calls that ended up expanding a query to something like 50 lines long.

The tie was a gem in code that wasn't touched for 7 years. This wasn't at the top, or even in a config file. It was hardcoded in the middle of the perl5 program...

     $db_server = (servername);
     $db_user = root;
     $db_password = (password);
Other dishonorable mentions are as follows:

1. No primary keys for the main database....

2. Goober had the idea of storing pictures in said MySQL database. 70 GB of pics...

3. Redhat 4 still in production, along with RH 5.

4. Its everyone for themselves. The goal is you hobble it along enough for the next oncall. Let them get hit with it.

5. Running iron from 10 years ago. Contracts pull in $$$, but you're dealing with paleo-datacenter crap

6. Just retired LTO3 tapes. Now they have "shiny" LTO5....



You know what's terrible? This could almost be any one of about three of the Perl contracts I've had in the last decade (apart from the US part, obvs.)


Yeah, the more I dig around how perl shops work, this seems endemic.

Now, I work in a heterogenous Windows/Linux shop with non-paleo hardware. We're even deploying on AWS in a limited fashion.

This place has its warts too, but everywhere has something. But that previous place... I'm surprised it still hasn't crashed and burned. Their networking was solid tho. Just anything with Linux was a tire-fire.

And as one more gem, there was a program that terrified the fuck out of me. A fellow engineer showed me this update tool that would update a router remotely. Great. Well, if you add the -n (customer) flag with the customer number, it would update all the routers for that customer!

It was spectacular, and terrifying at the same time. I asked them for their testing procedure, and it was a -t (customer-testing). If they forgot the -testing, well.....


> 2. Goober had the idea of storing pictures in said MySQL database. 70 GB of pics...

Is that really a bad idea? The pics would not be any smaller outside the database.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: