- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
Frist
Admin
Latest
Admin
What?
No comments, no easy reader version?
Who are you and what have you done with Remy?
Admin
So instead of adding an index he rewrote the whole damned thing? By the sound of it I'm sure he just threw out all the old versions, years of know-how lost! Also where is he building that URL now? New programmers always make a mess of things talking about separate concerns and whatnot.
If people just used a bit of common sense they wouldn't need all these fancy version-tools.
Admin
Anyone else read the name of the protagonist as "Hannibal" on first reading?
Admin
Well ione way of doing it is to create 'hisotry' table with the same layout as the normal data table and then copy all data lopder than say 1 year to the backup table and delete from active table.
This only speeds up transactions if they need to scan the whole table to do thier 'stuff' AND that they DO NOT DEPEND ON THE OLD DATA (that is, it can be proven that the absence of data older than some specific value would never cause any change in the result of any normal transactions).
ON cause you need to make a view which can access both the historic data as well as the online ones, but that is usually easy with a UNION.
I have done this with a reservation system where the stored procedure for creating a new reservation obviously does not depend on whether or not a user had reserved something a year ago (true in our case that is, in other cases that may not be so).
Yazeran
Plan: To go to Mars one day with a hammer.
PS: Fix the login please, i still get 'Illegal arguments: string, object' when I try to log in.....!!!
Admin
And I can't fix my typing errors!!!! sigh
Admin
What happened to Nagesh anyway?
Admin
woah I read it as Hannibal and then saw your comment and had to go back and recheck it
Admin
woah I read it as Hannibal and then saw your comment and had to go back and recheck it
Admin
I was thinking Hanzo....
Admin
I wonder where Remy got that name - I searched for it online and it sounds like a rather rare surname in Indonesia.
Admin
You mean, his name actually isn't Hannibal?
... you're right, it's Hammurabi! (what is the second name I read)
Or is it?
Admin
Ah I didn't mean the data records. He planned to add an index anyway, didn't he? No, it's this sentiment here "It wasn’t that this block of code was buried deep in a 5,000 line stored procedure that mostly contained dead branches that would never execute." A lot of younger developers do not value the accumulated wisdom in these branches. They always want to reinvent the wheel and try to remove code that was expressively written for very special situations. Then they wonder why things break with their simplistic approaches.
We've had a lot of inexperienced people come in that can't do real-life work. The last guy even started to talk about "dry principles". We're in full-contact service to our clients and this guy starts talking about theory? It's become real hard to find good people who can keep our stuff running.
Admin
Yep, see http://www.joelonsoftware.com/articles/fog0000000069.html .
Admin
Yeah Joel is a really down-to-earth guy. Sometimes I found the shilling for the Agile crowd a bit much (like with the Joel Test as if they actually do anything like that internally, hah) but if you skip that he's got very good advice.
Admin
That's what source control is for (yes, put your database code into source control!). Huge piles of dead code is too difficult to read and maintain. In my experience, there is no wisdom in those branches. They can be trimmed.
Admin
The real Remy came back and fixed the mess left by the fake Remy.
Admin
Clear cookies and cache and try again?
Admin
Just tried that, no cigar. Thanks for the suggestion though (I have even had to reinstall my Ubuntu 2 weeks ago, and that didn't help either...)
Yazeran
Plan: To go to Mars one day with a hammer.
Admin
Thanks for that. That was a good read.
Admin
Joel is very hit-and-miss. Sometimes he insists on being an unprofessional clown, like the whole "rewrite our own version of VB" thing, and the "catch and handle exceptions by turning them into error return codes, don't tolerate exceptions in your code" thing. Other stuff is a bit better like "a day with a few tiny things going wrong makes for a really shitty day".
Admin
Speaking of unprofessional clowns, Remy: "to try and fix anything" should be "to try to fix anything" and you should know better.
Admin
Only other 'Remy's I know of are a porn actress and the worst character in Street Fighter 3.
Admin
There are lots of other Remys. Some starting points: https://en.wikipedia.org/wiki/Remy https://www.linkedin.com/vsearch/p?type=people&keywords=remy https://www.facebook.com/search/people/?q=remy
Admin
I was talking about the name Hambai, not Remy. I don't think Remy came up with his own name. I will admit though that Remy Hadley (aka 13) is the first time I ever heard that name.
Admin
Lol.
Admin
"It's become real hard to find good people who can keep our stuff running."
(a) That might actually be more of a warning flag than you think. Good luck with your 30-year-old spaghetti code that none of the young kids want to touch.
(b) I find people quote Spolsky a lot when they don't want to change anything. (Also, "performance" and "security" are great excuses for awful, unmaintainable code, but I'm sure that's 82 other WTFs.)
Admin
This is a myth pronounced by blow-hard grey beards* who refuse to clean up their act. Good code should be self-explanatory. A good programmer should be able to read it and understand it without trouble. You cannot equate painful obscurity with programming wisdom. In those rare cases where code needs to be a tad funky, it needs to commented & documented to justify the WTF. The very existence of a 5,000 line stored procedure should scare the pants off you. You absolutely should find ways of breaking it down into chunks of reusable code instead of trying to justify the mess.
If you cannot find "good people" to keep your stuff running, maybe the problem isn't with the people but your code base.
Admin
gleemonk - I took your first post to be tongue-in-cheek sad if you really mean it