But this is Perl. Arcane, non-standard programming tricks are par for the course.

My coworker developed a Perl web page that controlled a communication system. Instead of using a database library, he used shell scripts to access the database, thus opening the system to SQL injection attacks AND sh based attacks!

The Perl script had started out as a quick hack by an in-house developer

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place.

The Perl script had started out as a quick hack by an in-house developer

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

The Perl script had started out as a quick hack by an in-house developer

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

HEAR HEAR!

I've been contracting for about six years now, and every time I have to work with in-house 'developers' (and I use the term developer VERY loosely), I get the sudden urge to bash my head against a wall repeatedly. Looking at the 'code' (read bile) they produce makes me want to go into marketing.

As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place.

+1 to that!

Not a contractor, but feel for you guys nonetheless! I think one of the reasons contractors obtain the tainted rep on this site is purely for the ironic value...hiring someone at $50-$250 an hour and they end up making more of a mess than to begin with, I think, should be a line in Alanis' next Ironic remix ;)

----Edit----

Not my intention for this quote to read that all or even the majority adhere to what I state; its just that one effed up egg can ruin your omelette...or something like that.

The Perl script had started out as a quick hack by an in-house developer

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

HEAR HEAR!

I've been contracting for about six years now, and every time I have to work with in-house 'developers' (and I use the term developer VERY loosely), I get the sudden urge to bash my head against a wall repeatedly. Looking at the 'code' (read bile) they produce makes me want to go into marketing.

I find it is not so much contractor versus employee, but rather those who read thedailywtf versus those who are featured.

The Perl script had started out as a quick hack by an in-house developer

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

HEAR HEAR!

I've been contracting for about six years now, and every time I have to work with in-house 'developers' (and I use the term developer VERY loosely), I get the sudden urge to bash my head against a wall repeatedly. Looking at the 'code' (read bile) they produce makes me want to go into marketing.

I find it is not so much contractor versus employee, but rather those who read thedailywtf versus those who are featured.

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

I wager the real truth is just that out of any group of 10 developers, 6-8 of them will produce things that the other 2-4 would have a pregnant over. It's not so much a function of contractor vs. career employee, instead I think there are simply a good share of developers who write code that isn't exacly golden.

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

I wager the real truth is just that out of any group of 10 developers, 6-8 of them will produce things that the other 2-4 would have a pregnant over. It's not so much a function of contractor vs. career employee, instead I think there are simply a good share of developers who write code that isn't exacly golden.

Wrong. It's exactly what I said. Employees get link to companies for the same reason that women get married young. You're stupid, lazy, and a terrible cook, but because you're pretty, you can put a man in bondage forever.

The Perl script had started out as a quick hack by an in-house developer

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

It said it "started out as a quick hack". That in itself is not a WTF--who hasn't had to make a quick hack now and then to get some important system to work? TRWTF is that it persisted beyond quick-hack lifetime. But that's not necessarily the original dev's fault.

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

I wager the real truth is just that out of any group of 10 developers, 6-8 of them will produce things that the other 2-4 would have a pregnant over. It's not so much a function of contractor vs. career employee, instead I think there are simply a good share of developers who write code that isn't exacly golden.

Wrong. It's exactly what I said. Employees get link to companies for the same reason that women get married young. You're stupid, lazy, and a terrible cook, but because you're pretty, you can put a man in bondage forever.

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

I wager the real truth is that out of any group of 10 developers, 6-8 of them will produce things that the other 2-4 would have a cow over. It's not so much a function of contractor vs. career employee. Instead I think there is simply a good share of developers who write code that isn't exactly golden.

As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place.

+1 to that!

Not a contractor, but feel for you guys nonetheless! I think one of the reasons contractors obtain the tainted rep on this site is purely for the ironic value...hiring someone at $50-$250 an hour and they end up making more of a mess than to begin with, I think, should be a line in Alanis' next Ironic remix ;)

----Edit----

Not my intention for this quote to read that all or even the majority adhere to what I state; its just that one effed up egg can ruin your omelette...or something like that.

Errr, that song is more about bad luck and poor planning, than it is about irony...

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

I wager the real truth is just that out of any group of 10 developers, 6-8 of them will produce things that the other 2-4 would have a pregnant over. It's not so much a function of contractor vs. career employee, instead I think there are simply a good share of developers who write code that isn't exacly golden.

Wrong. It's exactly what I said. Employees get link to companies for the same reason that women get married young. You're stupid, lazy, and a terrible cook, but because you're pretty, you can put a man in bondage forever.

I DEMAND THAT THIS BE MADE A FEATURED COMMENT.

Why? Pretty girls can only hold you under their spell for 20 years tops. Then you only have alimony to worry about, which is much more like indentured servitude than slavery.

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

I wager the real truth is just that out of any group of 10 developers, 6-8 of them will produce things that the other 2-4 would have a pregnant over. It's not so much a function of contractor vs. career employee, instead I think there are simply a good share of developers who write code that isn't exacly golden.

Wrong. It's exactly what I said. Employees get link to companies for the same reason that women get married young. You're stupid, lazy, and a terrible cook, but because you're pretty, you can put a man in bondage forever.

A culture of quitting, AKA survival of the fittest?

Any full-timer (and not all I'm sure) has had a unionized, 'who cares if it's not great... it works, no?' attitude which sucks because they don't want to go just slightly above the bar of mediocrity. And what results is usually an argument which s/he wins due purely to tenure and employment status, and a warm, heaping pile of code which he has to maintain for the next 4-8 years, which for some odd reason they are fine with.

As someone who's written way too much Perl, I can certainly appreciate the desire to abuse Data::Dumper and use it like a database.

It's relatively simple to deal with since a single call is enough to produce an eval-able string containing all the data to be saved, and that data can be read and written like any other plain text. It's a tool that many programmers are already familiar with because it's invaluable for debugging -- virtually any misunderstanding over what a given data structure looks like can quickly be cleared up with a quick peek at Data::Dumper's output. When misused as a database, the data can easily be viewed and manipulated with a simple text editor.

Of course those advantages are generally outweighed by costs that the naive programmer tends to be unaware of. No database means no locking, hence updates being lost, as the programmer who would abuse Data::Dumper is unlikely to implement a proper locking scheme on top of their abomination. Data::Dumper turns into a memory hog as the data structure gets more complex, as it has to watch out for cycles in the data. Loading data requires reading the entire database, and changing data requires rewriting the entire database.

That being said, I've occasionally found cases where dumping a structure to a text file via Data::Dumper has been the quickest and easiest way to edit it. It's not my proudest moment, but it is effective as long as you're aware of the caveats. And using Data::Dumper properly (for debugging the current state of data structures in memory) has saved me countless hours of debugging.

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

I wager the real truth is just that out of any group of 10 developers, 6-8 of them will produce things that the other 2-4 would have a pregnant over. It's not so much a function of contractor vs. career employee, instead I think there are simply a good share of developers who write code that isn't exacly golden.

Wrong. It's exactly what I said. Employees get link to companies for the same reason that women get married young. You're stupid, lazy, and a terrible cook, but because you're pretty, you can put a man in bondage forever.

I won't deny being pretty. But that's pretty much the only accurate thing you said.

Wrong. It's exactly what I said. Employees get link to companies for the same reason that women get married young. You're stupid, lazy, and a terrible cook, but because you're pretty, you can put a man in bondage forever.

I won't deny being stupid, lazy, and a terrible cook. But that's pretty much the only accurate thing you said.

But this is Perl. Arcane, non-standard programming tricks are par for the course.

My coworker developed a Perl web page that controlled a communication system. Instead of using a database library, he used shell scripts to access the database, thus opening the system to SQL injection attacks AND sh based attacks!

Wheee!

Perl is just like any other dynamically typed scripting language -- it's not arcane and non-standard (what ever the fuck that means when it comes to a language) ... your co-worker was arcane and non-standard.

Those who are pulled in with a specific skill set because the in-house types are doing something they're not trained to do. These contractors are usually very good. The in-house guys will be suffering from "a little googlage is a dangerous thing".

Those who are part of some outsourcing firm. These people are either down-trodden geeks of the most introvert, passive-aggresive type or politicians.

Wrong. It's exactly what I said. Employees get link to companies for the same reason that women get married young. You're stupid, lazy, and a terrible cook, but because you're pretty, you can put a man in bondage forever.

I won't deny that contractors are stupid, lazy, and a terrible cooks. But that's pretty much the only accurate thing you said.

FTFY

FTFY. Or you could just get off your soapbox and admit that both contractors and company employees are a mixed bag.

As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place.

As a "company employee" myself, I have to say that my observation is that the other 9 times out of 10, it's the a contractor.

The Perl script had started out as a quick hack by an in-house developer

You see, the overwhelming attitude of this site is that all contractors are worthless and damaging. As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place. I am not now nor ever will be content to milk any company until retirement. I would be ashamed of myself.

Yours seems to be an overwhelming attitude among contractors/consultants (a population of which I am a former member). Certainly most companies requiring your services are incompetent (as you pointed out, it's the reason you're hired in the first place). But consider for a moment the number of companies who don't employ your services, that get by just fine with their in-house developers. I think it makes "9 out of 10" a little less accurate.

On the other hand, I do appreciate your integrity. Just remember that not all contractors operate the way you do (I would suggest that most do not), hence the attitude of this site.

As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place.

+1 to that!

Not a contractor, but feel for you guys nonetheless! I think one of the reasons contractors obtain the tainted rep on this site is purely for the ironic value...hiring someone at $50-$250 an hour and they end up making more of a mess than to begin with, I think, should be a line in Alanis' next Ironic remix ;)

----Edit----

Not my intention for this quote to read that all or even the majority adhere to what I state; its just that one effed up egg can ruin your omelette...or something like that.

Errr, that song is more about bad luck and poor planning, than it is about irony...

Someone who doesn't know what irony is making a song about it... now THAT'S irony.

Those who are pulled in with a specific skill set because the in-house types are doing something they're not trained to do. These contractors are usually very good. The in-house guys will be suffering from "a little googlage is a dangerous thing".

Those who are part of some outsourcing firm. These people are either down-trodden geeks of the most introvert, passive-aggresive type or politicians.

You're absolutely correct, and I forgot to mention these as well... I have met some (maybe 2-3) REALLY bad contract developers who couldn't program their way out of a wet paper bag, HOWEVER, the majority are developers who are (and need to be) on the edge of technology, design patterns, code quality, etc.

If you're a bad contractor luck and BS will carry you for so long, OR they just go for the roles where the 'technical' interview consists of 'how would you rate your JavaScript skill level?'

I've come across these, and when I do, I look for the nearest exit because you know if that's the minimum requirements, then the other developers will be just crap... My educated guess is that the full-timer developers who witness these terrible contractors were let in because of the limp-wristed interview process.

Wow, I think I went on about 16 different tangents there... Time to up my ADHD medication. :)

Wrong. It's exactly what I said. Employees get link to companies for the same reason that women get married young. You're stupid, lazy, and a terrible cook, but because you're pretty, you can put a man in bondage forever.

I won't deny that contractors are stupid, lazy, and a terrible cooks. But that's pretty much the only accurate thing you said.

FTFY

FTFY. Or you could just get off your soapbox and admit that both contractors and company employees are a mixed bag.

Both a mixed bag: agreed. However, 9/10 contractors are diligent, skilled, and worth their pay, whereas 1/10 (I'm being very generous) company employees are worth their salt. Of course I realize the dangers of generalization, so I will amend this. My statement applied to the programming level. Low-management and middle management are even lower in terms of quality, but as you approach the level of CEO (and others that have direct control of the success of the company) quality increases. In fact, 99% of companies that have been in business for 5 years or more will have a diligent, skilled, and competent CEO.

Amended again: this rule only applies to companies whose customers are made up of less than 10% by federal, state, and local governments. Furthermore, a contractor for any government agency is 10 times the bottom-feeder of a company programmer and I have yet to meet one that I would trust to replace a coffee filter.

"Wrong. It's exactly what I said. Employees get link to companies for the same reason that women get married young. You're stupid, lazy, and a terrible cook, but because you're pretty, you can put a man in bondage forever."

Being a contractor isn't any sort of guarantee that you're any good as a developer. There are plenty of
good company developers and plenty of good contractors. There are, however, lots of lousy developers too.

Oh and yeah, gross generalizations are always the last bastion of the clueless. You win a prize.

As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place.

You may wish to head on over to Wikipedia and research what is known as "selection bias".

"Wrong. It's exactly what I said. Employees get link to companies for the same reason that women get married young. You're stupid, lazy, and a terrible cook, but because you're pretty, you can put a man in bondage forever."

Being a contractor isn't any sort of guarantee that you're any good as a developer. There are plenty of
good company developers and plenty of good contractors. There are, however, lots of lousy developers too.

Oh and yeah, gross generalizations are always the last bastion of the clueless. You win a prize.

I can't thank you enough for proving my point. I can't even fathom why some people, when they want to refer to someone else's comment, fail to realize that there is a button right next to the reply button that says "quote." Failing that, simple investigation (using the BBCode Okay link) tells you exactly how to do it.

As a contractor myself, I have to say that my observation is that 9 times out of 10 "company employees" are the real WTF and are the incompetent ones who never produce anything and are the reason we have to be hired in the first place.

You may wish to head on over to Wikipedia and research what is known as "selection bias".

That being said, I've occasionally found cases where dumping a structure to a text file via Data::Dumper has been the quickest and easiest way to edit it. It's not my proudest moment, but it is effective as long as you're aware of the caveats.

So are you saying the real WTF is storing the database in the source file, not using Data::Dumper?