This is a place to vent your frustration however there is one rule:
1. Do not name a company, organisation or individual as an attempt to undermine or discredit them in any way. This will really be a question of moderator discretion but use your common sense here. Boards.ie Ltd does not want to have fight what is rightfully somebody else's slander case.
Other than that feel free to discuss programming gotcha's, frustration with badly managed projects (just don't name anyone), frustration with technology or just plain idiotic things you've encountered.
How about trying to be a sysadmin when management insists that you only need three basic servers with 2Gb of RAM to run websites for twenty or thirty clients, half of whom are major clients running very heavy lamp-stack applications?
It's amusing after a few years to look back and remember days when your job involved sitting at your desk logged into the server watching top and restarting apache when the load hit 20...
lol I bet it made you a much better sys admin though
Oh god, I think this thread is going to be quite popular with me. I maintain a lot of code that was originally written (badly) over 15 years ago... business logic inside UI code, functions copy and pasted with one slightly different parameter, pointless comments like //end while, blatant disregard for the differences between unsigned and unsigned ints and 16 and 32 bit ints. 10 dialogs and 15 "classes" to do the same thing. Not that the classes are classes, more structs with random functions, a complete fail when it comes to the implementation and use of inheritance and interfaces. MEGA memory leaks made because of assumptions of how Win32 cleans up when windows are closed with no actual debugging... I can, and will, go on and on...
"Yes, but somehow I think the clients would have preferred I not be given that lesson at their expense!"
Their website's performance.
It takes a very special man to create a C++ class and then go back and rename the class without changing the filename.
#include SomeClass.h RandomClass *PointerToRandomClass;
What is up with SQL?
Almost every time I encounter SQL written by other developers, it seems that it has been somehow considered exempt from all rules regarding coding style.
Indentation and structure? apparently "its all one query" means "no indentation required"
Casing? SQL is case-sensitive, right, so there's no need to worry about case. There's no need to even worry about consistency of case.
Comments? Are you mad? That nested set of n functions doesn't need a comment.
Aliasing? Aliasing table names to a, b, c and d is plenty, right?
What's amazing is that most of the people who I see writing sql write really nicely structured code in Java or whatever....but as soon as its time to hit the DB, then its Sin City.
SQL also seems to be immune from even efforts at version control and deployment controls. The number of times I've seen a dev team working on one SQL codebase only to find there's a different codebase on the live server...
Oh, don't get me started.
Not really a coding horror, but once saw a programmer turn their app they were working into one line of text to protest someone taking over from them. Took them a couple of hours. They also gloated about it when the new guy turned up.
They died a little inside when the other guy pressed CTRL-SHIFT-F (auto formats the text).
A database I work on has no foreign key constraints set up. None. And I'm not allowed make any. Indeed, I'm not allowed to make attempts to fix the schema in any way because it would break MAX 15 reports, which once fixed would run faster anyway.
Also, if you don't understand what byte alignment is, don't ****ing change it!
Well since we're on the database thing, we've 3 core databases that support the concept of a financial agreement (FYI: a proposal is an unactivated agreement).
On the oldest 20yo system, the primary key on the mast table for instance is agno (most of the tables are limited to 4 character names, so table names like mast, mas2, cust, payh, dats, deco, ucod, sprm, and my personal favourate - tits).
Under the proposal capture system, you will generally find proposal_no, propno or agno. Under the MIS system you will find agreement_number, and under the collections sytem you will either find agreement_number (because of the feeds from MIS) or agno.
select blah from ifs_agreements a
left outer join agreement_status s on (s.agno=a.agreement_number)
left outer join proposal p on (p.proposal_no = a.agreement_number)