Name Change Pt 2 or “A Day In The Life of Euroranger”
Posted by Euroranger on September 2, 2009
Previously, on G.H.E.Y. IN H.D.:
Later that evening, I head home (the next state over) as my assignment at the client’s site has concluded and I fervently hope that New Guy’s apparent inability to do anything, even the most basic of things, correct in MySQL is a passing phase and that come Monday he will shake off his day 1 stupidity and really shine.
So, I had it in mind to regale the site with a paraphrased recitation of what happened last week. However, it occurred to me that I’d already done that and, being the exceptionally lazy but clever sort that I am, I resolved to simply plagiarize myself and post the pertinent IM exchange I had with a good friend and colleague of mine. He too is a developer of no small talent and shares many of the same attitudes that I hold with regard to the terminally stupid and/or incompetent.
So, without further ado, witness the grandeur of “A Day In The Life of Euroranger”:
(8:56:55 AM) Euroranger Well, while you enjoy your incompetant counterpart, I’m having a similar issue this AM.
(8:57:20 AM) Euroranger We hired a guy last Friday when I was in XXX. More accurately, the boss hired a guy. I was kinda told after the fact.
(8:57:31 AM) Euroranger The guy we hired is supposed to be a MySQL expert.
(8:57:50 AM) Euroranger …twice now I’ve had to correct him on literally the most simple shit ever.
(8:58:21 AM) Euroranger All he’s done since he got there is make preparations to version the database over to SQL Server.
(8:58:33 AM) ShadesOfGrey ah geez
(8:59:11 AM) Euroranger Yeah. Dude…I was having to work a problem on that same Friday and he’s looking over my shoulder at the query I was writing…I needed only 10 records so I drop a “limit 10” at the end…
(8:59:29 AM) Euroranger …he pipes up “Oh, that won’t work…try TOP 10 in the select statement”.
(8:59:55 AM) Euroranger I said “yeah, that works for MSSQL…this is MySQL” and he proceeds to tell me I’m mistaken.
(8:59:56 AM) ShadesOfGrey fail
(9:00:13 AM) Euroranger Course I ran his version so he could see the fail and then I went and did it right.
(9:00:25 AM) ShadesOfGrey my fav mySQL is : DESC
(9:00:56 AM) Euroranger Check this one tho.
(9:01:58 AM) Euroranger One of the queries is running slowly…not all that slow but slow enough that he IM’d me yesterday saying “it’s because none of these tables are indexed”.
(9:02:58 AM) Euroranger Well, a couple of hours later, the query is still running slow…so I go check on it.
(9:03:24 AM) Euroranger I run it in TOAD and yeah, it’s taking 7-8 secs…now it’s a complex query with 2 subqueries but still…
(9:03:48 AM) Euroranger …so I go check the indices…I swear man…he indexed every.single.column on 4 tables.
(9:04:23 AM) ShadesOfGrey ha
(9:04:40 AM) Euroranger Took me 15 mins to dump every one of those 70 or so indices and then do 4 news ones on the join cols…query now runs in around .2 secs.
(9:04:46 AM) Euroranger This is our “expert”.
(9:05:42 AM) Euroranger Now, I don’t make a habit of throwing people under means of public conveyance and such…but I did speak to the boss this AM and stepped closer to the curb anyway.
(9:06:40 AM) Euroranger Told him I have concerns.
(9:28:15 AM) Euroranger Ho Lee Shiat
(9:28:38 AM) Euroranger Check this exchange I just had with our “expert”:
(9:29:05 AM) Euroranger Dumbass [9:26 AM]: how compatable is mysql to real sql
Euroranger [9:26 AM]: “real sql”?
Dumbass [9:26 AM]: for instance, can i script tables in sql and use them in mysql
Dumbass [9:27 AM]: ive already got alot of data in ms sql and i can just script them out
Euroranger [9:27 AM]: You mean create the table creation scripts in SQL Server and then copy/paste them into MySQL?
Dumbass [9:27 AM]: yes
Dumbass [9:27 AM]: it would save alot of typing
Euroranger [9:28 AM]: You might could save some typing…but things like primary keys and such are done differently.
Dumbass [9:28 AM]: frak, ok, ill just recreate them
(9:29:39 AM) Euroranger I might cry.
(9:29:42 AM) ShadesOfGrey lol
(9:29:47 AM) Euroranger Dude…
(9:29:52 AM) Euroranger “real sql”???
(9:29:52 AM) ShadesOfGrey I feel ya
(9:30:17 AM) Euroranger Not only isn’t he an expert…he has pretty much zero fucking clue what he’s doing.
(9:30:56 AM) Euroranger He actually asked if he could do the work in MS and then move it over…holy crap.
(9:31:26 AM) ShadesOfGrey ugh
(9:31:34 AM) Euroranger …and he ASKED!!!
(9:31:43 AM) Euroranger …because he DIDN’T KNOW!!!
(9:31:58 AM) ShadesOfGrey I’m not sure if he earns or losses points for asking?
(9:32:17 AM) Euroranger He gets a blindfold to go with his cigarette…that’s what it gets him from me.
(9:32:28 AM) Euroranger Sweet jebus.
(9:32:59 AM) Euroranger Why does God hate me so such to afflict me with this?
(9:33:08 AM) ShadesOfGrey good question
(9:33:27 AM) ShadesOfGrey perhaps God reads “ALL” your im’s?
(9:33:30 AM) Euroranger So, while you have yer lazy dev…I’m dealing with the terminally underqualified.
(9:34:10 AM) Euroranger I always assumed he did. He is God after all. How much of a God would you be if you lacked L337 h@Xz0Rz 5k33lZ?
(9:34:55 AM) ShadesOfGrey true dat
(9:35:05 AM) Euroranger I’m thinking of making my blog nothing more than cut/paste segments from my chat transcripts.
(9:35:27 AM) Euroranger That shit just writes itself.
(9:41:41 AM) Euroranger Dude…I swear, that chat transcript is my next post…with inserted commentary.
(3:27:16 PM) Euroranger Sweet jebus I may have to kill the new guy
(3:28:02 PM) Euroranger Dude can’t even trace how the app works…this is drop dead simple and he’s not getting it.
(3:28:23 PM) ShadesOfGrey I feel yer pain
(3:28:48 PM) Euroranger Educate me.
(3:29:07 PM) Euroranger Request scope…where is is maintained in CF?
(3:29:18 PM) Euroranger My recollection was server memory.
(3:29:21 PM) ShadesOfGrey aye
(3:29:31 PM) Euroranger You’re sure?
(3:29:34 PM) ShadesOfGrey request = application in that regards
(3:29:42 PM) ShadesOfGrey 98% sure
(3:29:54 PM) Euroranger Not registry?
(3:30:11 PM) ShadesOfGrey Client
(3:30:19 PM) ShadesOfGrey is sometimes stored in the registry
(3:30:22 PM) Euroranger Client is registry…unless you specify database.
(3:30:24 PM) ShadesOfGrey that be bad bidness
(3:31:32 PM) ShadesOfGrey right
(3:31:35 PM) ShadesOfGrey or cookies
(3:32:45 PM) Euroranger Well, new guy figures he’s gonna lecture me on how to build an app now.
(3:32:58 PM) ShadesOfGrey ooo can you record it for me
(3:33:01 PM) ShadesOfGrey I need laughs
(3:33:08 PM) Euroranger I swear, if he wants to shit in his own hat and then pull it down around his ears…I’ll hold the brim for him.
(3:33:35 PM) ShadesOfGrey wow.
(3:33:44 PM) ShadesOfGrey never heard that one… but I’m saving it
(3:33:58 PM) Euroranger Enjoy it.
(3:34:04 PM) Euroranger Here’s a dose:
(3:34:05 PM) Euroranger Dumbass [3:24 PM]: ok, what are you using to load the page?
Dumbass [3:24 PM]: your embedding, but i need for my template to post to itself
Dumbass [3:24 PM]: and you hvae some campagnmgmt in the url
Euroranger [3:24 PM]: For a form?
Dumbass [3:24 PM]: i use fuseactions posting templates to itself
Euroranger [3:24 PM]: Just omit the action attribute and it submits to itself.
Dumbass [3:24 PM]: so the entire module is on one page
Euroranger [3:25 PM]: There is no fuseaction in this app.
Euroranger [3:25 PM]: Essentially.
Euroranger [3:25 PM]: It’s a handled 404 redirect/parse environment.
Dumbass [3:25 PM]: and no session vars?
Euroranger [3:26 PM]: There will be. Right now, they’re in the request scope.
Dumbass [3:26 PM]: ug
Dumbass [3:26 PM]: ok
Euroranger [3:26 PM]: output request.auth struct and you’ll see them
Dumbass [3:27 PM]: no wonder it never logs me out, request vars are persistent, thats bad on the server scope
Euroranger [3:28 PM]: Request isn’t server scope.
Dumbass [3:28 PM]: they are stored in registry
Euroranger [3:28 PM]: But yes, they don’t time out as of now.
Dumbass [3:28 PM]: yes, but they query on every single page to cfdata
Dumbass [3:28 PM]: every time
Dumbass [3:29 PM]: session are much better, they are client side, and not persistent, but we will address that another day
Dumbass [3:29 PM]: i see how you are maintaining includes now
Euroranger [3:30 PM]: Request scope is maintained in server memory for CF…not registry.
Euroranger [3:31 PM]: The client scope that carries them over requests SHOULD be stored in the db…for now, with the way the app is designed, query load will not become an issue as this app will never host thousands of simultaneous connections.
Euroranger [3:32 PM]: The way it’s designed now, it does allow session-like handling but doesn’t require user cookies to be enabled.
(3:35:46 PM) Euroranger You’d think God would be satisfied with hating me but once per day. Surely he has other people whose collars he can crap down aside from mine.
So, in but a single week, Dumbass exposed himself (not sure that’s the correct turn of phrase but it seems strangely appropriate here) as possibly a complete fraud for the position for which he was hired. There have been other incidents since this chat transcript took place. I mean, it has been TWO whole more business days right? WRONG!
It’s been TWO whole more business days…AND TWO whole weekend days. That’s right, this past weekend I spent several hours going behind Dumbass and fixing all the crap he managed to break as my boss called me at home…on a Saturday…several times…and asked me to fix several things simply because Dumbass lacks the coding acumen necessary to do even the simplest of tasks. Has it gotten any better this week? Perhaps Dumbass was simply trying to do too much on an app he wasn’t familiar with. Maybe he wants so much to contribute that he’s taking on things ahead of a prudent schedule. Yeah, that could be it right? I expressed an observation on his progress just a little while ago in fact:
Euroranger [9:07 AM]: …good grief…it gets worse.
Euroranger [9:08 AM]: Dumbass copied the application.cfc I have for a particular client and dropped it on the top level root this past Sunday.
ShadesOfGrey [9:08 AM]: oh snap
Euroranger [9:08 AM]: Yeah…magically errors start showing up and this is happening when the boss is trying to show a different site to his investors.
Euroranger [9:09 AM]: …this Dumbass is a fucking walking talking disaster.
ShadesOfGrey [9:09 AM]: fwtd
ShadesOfGrey [9:09 AM]: I like it
Euroranger [9:10 AM]: His demonstrated technical prowess to date would indicate he shouldn’t be let near a computer more complex than a fucking Speak ‘N Spell….
Euroranger [9:10 AM]: Maybe a Etch a Sketch…
ShadesOfGrey [9:10 AM]: the ol speak n spelll litmus test
ShadesOfGrey [9:10 AM]: I shall have to use that
Euroranger [9:10 AM]: Looks kinda like a computer.
Euroranger [9:11 AM]: You know those round toys with the pull string and the little arrow in the center where when you pull the string, the arrow spins around and it stops on a picture of an animal and the toy goes “The cow says ‘Mooooooo'”? Yeah, he might qualify for that.
ShadesOfGrey [9:11 AM]: lol
Euroranger [9:12 AM]: ‘Course knowing him the fucking toy would end up saying “The cat says “No hablo gato, bendejo”.
ShadesOfGrey [9:12 AM]: roflol
Euroranger [9:13 AM]: I mean swap out the application.cfc wholesale and slap it on another site and expect it to work…and then not even fucking test it?
Euroranger [9:13 AM]: WTF?
ShadesOfGrey [9:13 AM]: this is the data guy right?
ShadesOfGrey [9:13 AM]: wtf is he doing with the cfc
Euroranger [9:13 AM]: Oh, I didn’t mention he’s equally an expert at CF? Yeah, I musta left that out.
ShadesOfGrey [9:13 AM]: f me
Euroranger [9:13 AM]: No.
Euroranger [9:13 AM]: F me.
As you can see, my tenure with my current employer is destined to be equal mixes of work, inspired design, bug fixing, astonishment, volcanic rage, heavy drinking, inventive profanity, research into the Voodoo arts, homicidal ideation and begging for the sweet, sweet embrace of death from a God who obviously hates me.
…and it’s only 10:11 AM. I’m going to get an early start and start hating today…right now.
My name is Euroranger and I approved this message.