- 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
I agree. It reminds me of the film passenger 57 where the terrorist goes to the cockpit and asks who's in charge, when the pilot says " i am" the terrorist shoots him.
Was the first IT guy anyone with any responsibility? If not congrats mate, you've just fired somebody who was sticking to the current policy. Interestingly, on what grounds did you sack them?
Admin
Christ, what an asshole.
Admin
We have one side of only part of a ( possibly apocryphal ) story here - told by someone wanting to be seen as a "go-getter, no-nonsense, fearless" manager who "gets things done" and "takes no crap"...
The question is who created the policy of "no personal laptops" ?
The writer of the comment wants to blame a "lazy IT department", trying to make their own job easier.
But as outsiders, we have no idea whether the policy was put in place by the IT department, or by the previous CTO, or to meet contract requirements demanded by a major client, or as a result of previous "incidents", or any one of numerous other possibilities.
So this "new manager" summons an underling, demands something the underling has been repeatedly told is "a firing offence", and fires those who don't comply...
Is that a more accurate telling of events ? We have no way of telling, as we have one side of only part of a ( possibly apocryphal ) story.
But either way, what we have is: The "new manager" unilaterally decided on new policies - and told no-one - and then fired those not sufficiently telepathic or precognitive to know the policies had changed.
That - to coin a phrase - is the real WTF.
Admin
Admin
Yeah, more information would definitely help...however, the first part of Emperor's post keeps getting left out of the post. It said "Two years ago I was brought in as the new Technology head."
Now, while that terminology is a little different than what we use around my office, it sounds like he's saying that he was the CIO, or at least someone that could've directed policy in the IT department. That being said, it would be a pretty ridiculously stubborn employee who would come in and tell his boss, who sets the policy about personal laptops, that he won't work on his personal laptop because that's how it always was.
So yeah, while he was being pretty dismissive, I can't say I blame him all that much. However, I'd also be a little afraid to work under him... ;P
Admin
Admin
It cracks me up how you clowns at Mom and Pop companies work. This is why I browse this site. You find a policy you don't like, and instead of changing the policy, you fire anyone who follows it?
Admin
Successful troll is successful.
Admin
"If a $2000 server and 20 man-hours of sysadmin time can offset 1000 hours of developer time (conservatively estimated at $25,000), then that is what you implement."
If you will need 25 x 40-hour weeks (that's six months, plus holidays, sick leave, national holidays, etc) to implement an XML-to-PDF converter running on its own dedicated hardware, we're better off sacking you and paying a proficient developer one week's pay to do one day's work.
As a "server guy" I read TDWTF out of interest in what other people do; the responses to this story have been the most interesting read I have had on TDWTF. Particularly a few posters with the attitude that "you just provide hardware for my code" ... from this side of the fence, we design, build, test, monitor the system, upon which some (usually big and expensive and third party) software such as Oracle runs. Oh, and then you guys feed a few SQL statements into that. Sometimes you don't screw it up, but we really don't care about that level. Just don't stop the servers from working; people don't appreciate 4am calls about a server down because your app just went screwy for no good reason.
So while I'm here, here's my 2p: If something on the servers is (potentially) causing a problem for those servers, the admins are entitled to kill it (and would entirely expect to be called to justify their actions to the highest level if necessary).
Kill it, don't kill it - either way, the issue should be escalated upwards and all parties get to justify their (in)actions.
Admin
Yes and apparently it's too much effort to add a message queue in the original system to .. say .. process pdf's.
Yes let's take a complicated system, and insert a hacked-out web service in the middle of the old system and hope everything still works .. just to make a few pdf's .. erm .. WTF?
If something is worth doing, it's worth doing right. Anyone can hack out a solution in an afternoon. The server guys are probably just jaded from all the WTF-ery that has been perpetrated by the developers in the past.
Admin
Don't worry. The IT guy was probably in rapture. Not only did he no longer have to work for such a prick, but an unjust dismissal lawsuit also earned him a pretty penny I imagine.
In the real world (nepotism aside) the 'new manager' would be the next one escorted out the door for being a complete idiot.
Admin
Where were the server guys you asked? They declined to attend the ALL of aforementioned meetings they were invited to attend and instead chose to remain safely cloistered in their Ivory towers!
Admin
Digg. Flickr. Facebook. Yahoo.
Admin
We became suspicious that the backups weren't working properly at a place I worked as a developer. We raised our concerns formally to the "head of the server guys".
When the disk crashed a few months later and our concerns had been ignored and we lost a pile of software, nothing happened to the server guys.
And you wonder why devs think server guys like that are idiots? And why I so much prefer working where I am now, where the server guys could not be more helpful?
Admin
Admin
Yeah it's not the size of the technology stack, it's how you use it.
Admin
I, for one, look forward to more contributions from TopManag3r
Admin
I've talked with many competent servers folks in my day, but on the whole, most servers ops don't know squat about code and lack of knowledge breeds fear. IMO, a huge reason for the rise in web development is to avoid having to deal with a large portion network nazi issues on the desktop. In recent years, I've run into nazis that wouldn't install the .NET Framework. Wouldn't install security patches (I kid you not, "because they were a security risk"). Wouldn't allow any outgoing traffic to any network (works great with db driven sites ;->).
Admin
My experience has been that the server guys often (not always, but disturbingly often) know more about code than the coders, they just choose not to pursue that line of work for whatever reason (eg: salary, wanting to do more than code). Being a server guy often involves writing code, which satisfies the server guy's inner coder and quells the desire to code full-time.
If you, the coder, want the server guy to acquiesce to your every demand, no matter how expensive, feel free to handle the following consequent chores yourself:
Figuring out which of the PHP scripts you wrote has been exploited and turned into a spambot. Some time later, learn about input validation. Or not - why deprive yourself of future fun?
Figuring out why a simple web+database app runs like a dog on a fully loaded (meaning any request for the server guys to "add moar hrdwr plzthx or I'll CC your grandboss and call you a roadblock" is futile) Sun Fire 15k (HINT: it MIGHT be that 7 page SQL statement that Oracle is busy with). As an aside, the app responsible for this was replaced by something that ran on a couple of vanilla Intel boxes. Ran fine.
Diagnosing the symptoms of a webserver with a full disk because you hardcoded OMGVERBOSE logging. It worked great in dev when you only had 5 requests an hour, amirite?
Oh yeah - then there was that time I explained SQL injection to a dev (who is now a DBA) who at first advised me to "avoid entering single quotes" into a HR app.
Chances are any server guy with more than about 6 months experience has dealt with a busload of devs just like this. While reflexively rejecting anything the devs ask for is not good, it is understandable - and probably is a net gain in a lot of ways (other than in the interest of the server guys)
Admin
New manager. Two years ago I was brought in as the new Technology head. There was an IT team that was known for enforcing company policy even when doing so was unpopular. I called the first IT up and explained that I did not know how to configure my own laptop from god knows where with god knows what crapware running on it so it could begin to spread my special blend of malware throughout the network (I call it my "Magic"). When he told me that there was a policy in place to prevent this type of disaster, I promptly fired him. I then proceeded to terminate staff from the top down until I found someone so completely unskilled that they were willing to comply with my ridiculous request. Promoted him to tog dog, never had to worry about this "best practices" BS again. Hell, my new top guy actually thinks I know what I'm doing, hard to find that in an IT grunt these days.
Having fired everyone with any IT knowledge, I've found it all to easy to convince management that I'm doing a great job here. And hell, when the last bits of security left by the folks I've fired finally fall apart, I can always blame the meltdown on my new top guy. I mean, come on, I'm the guy that re-appropriated that money we were wasting on support staff, server maintenance, and security to put shiny new monitors on all of middle management's desks. I am the man! You could learn from me.
Admin
I suspect there's a job for you waiting with the City of San Francisco.
You came in as the Technology head and nobody in IT even knew who you were?
Admin
Then there's the "WTF is this thing on the production server and where did it come from?" situation you get when there is poor communication and not much of a testing and deployment procedure. If nobody ran it past the responsible people they would be quite right to yank it and then go looking for who it belongs to afterwards. If the second step isn't taken ASAP then it of course becomes a WTF on it's own.
The consequences of having a misbehaving customer facing app can be a lot greater than having a broken link, but of course it depends on the situation. I see the WTF here is that the developer didn't find out immediately or the next time they were in the office or checked email.
Admin
Like any of you really know what 'the bar' is.
The only bar I care about being expelled from is the one they serve drinks at. Just remember, no touching.
Admin
With respect to undoubted knowlege and skills elsewhere, you are completely wrong here - the sysadmin HAS to make the call because they are the person on the spot just like the line operator in a steel mill. Neither may be able to set policy or be anywhere near the top of the organisation but they have a responsibility to even halt production completely if they see something that endangers the systems they operate even if that means millions of dollars of lost production. Of course they also know the consequences and have to be prepared to face them. A sysadmins JOB is to pull the plug when they think things are going drasticly wrong. If an application behaves in a way that scares sysadmins somebody had better tell them that it is supposed to do that.
Admin
Admin
I'd say the top managers were idiot!
Admin
Maybe (maybe), some PHB denied their requests of budget. Maybe (maybe) "nothing happened to the server guys" for a reason.
You blame the server guys, but do you know the entire story?
CYA
Admin
Rubbish. Businesses exist to make money, not to enforce technical purity standards. Technical considerations are always a corollary to the main question "does it bring in cash?".
Admin
Once you have their approval, the server guys can't yank it from production because you'll have their signature approving the release.
lern2process
Admin
Admin
Well, who said it wouldn't be over SSH? The war on straw is reaching new lows, I see
Admin
I doubt that story is actually true, anyway. Our cunning Emperor might as well have said to the guy "Please sue us for wrongful dismissal"
Admin
I have to agree with the server guys. (Well, they were a bit extreme, but they did have some valid points.)
The task described seemed to be awfully simple. Using Tomcat solely for that stuff would be silly, especially since its true about the horrendous resource devourment. And concerning the FTP, it's a good call (you know, for transferring files... over a protocol...), as long its sufficiently shielded against the big bad outside world. And about the 50 MB hog, doesn't sound too bad, but is that 50MB per instance??
Admin
Well, barristers, actually. We started the firm as a nod to crossover crime dramas such as Diagnosis: Murder. Or something
Admin
Seeing as you can produce thousands of PDFs everyday and several times throughout the year several hundred thousand PDFs in a day and you want to handle that in a good way both to the printer, archive, you want transactions with logging from consumer to paper is ready not to mention e-channels I do not find it weird to put that all in one virtualized server/entity.
Admin
Quite how anyone can say "a dedicated server just for transforming XML to PDF!?" without knowing anything about traffic, is beyond me.
Admin
Admin
Admin
Admin
This was exactly what I was thinking. I'm glad I'm not the only one who thought Java sounded like The Real WTF here.
Not that Java is always a WTF, but I think it's easier for one-trick-pony developers to roll out Java as a one size fits all solution to everything, which I'd love it to be but largely thanks to some poor short-sighted decisions and mismanagement of the platform by Sun for years, it's a long way from being.
There are appropriate environments / situations in which to use Java and there is the I-have-a-hammer-now-everything-looks-like-a-nail kind, this sounds like it could be the latter (even though the story goes to pains to paint the server guys as the "bad guys" here it still shows through in the details). If the environment doesn't have JBoss/Tomcat/JRE etc setup already but does have PHP, why add the significant overhead of running a server side Java application to do something as simple as creating a printable document?
Maintaining, configuring and appropriately testing configs (e.g. load testing) required for a Java application is a genuine overhead for system administration. Ultimately you typically end up with multiple versions of each and interdependency issues with config files and server software and end up running multiple instances of the same software on a box because you have to upgrade to get a fix for a vulnerability or to add support for a few feature, but run another version compiled with an old module that won't work with the new revision, and you have 4 versions of the runtime environment because all the apps end up needing specific versions and won't play nice with newer or older versions, etc...
I've noted that most Java developers I've met in the last decade have a poor understanding of what it takes to support and deploy applications, because their OS knowledge is very limited (both of UNIX and Windows, but in particular of UNIX conventions). Perhaps that's one reason they don't see things the same way as UNIX geeks.
The rationale Java-centric developers (typically, but not exclusively, recent gradates who seem to be taught Java near exclusively) come out with for trying to foist it upon everyone are as predicable as they are illogical. I find that they are usually based on entirely misinformed information, like they think it will be faster and less resource intensive than something like PHP or Perl, where as in reality it will typically be slower, take more code and be more of a pain in the ass to maintain in the long run.
Java-happy developers love trying to get people to convert their existing C#/PHP/Perl/JavaScript/Bash scripts to Java "because it would be better" for some reason they are never quite able to articulate or to demonstrate in practice. They are not the only ones, Ruby developers do this too, but Java developers are particularly guilty of this IME.
I'm happy to be proved wrong, if there are any Java advocates out there who want to prove me wrong I'm happy to engage in a good natured comparison of simple desktop + server apps. I'd love someone to get in touch and prove me wrong.
Admin
You were too late to post a Frist!1! comment?
Admin
I think the Server Guys should enjoy themselves and make hay while the sun shines. After they leave Informayshun tek. the best of them can look forward to being security guards, I if they are lucky. None of them in my extensive career experience have ever delivered anything except restriction. Certainly none I have ever seen have contributed any new profit line by say, actually developing something.
Admin
I guess I phrased that poorly - IIS is allowing anonymous access to the application, which in turn is connecting to a series of databases.
Both applications (ours and theirs) are sitting on an intranet and accessing highly sensitive data - there's no way anonymous access should ever be enabled on it.
Admin
I agree with The Server Guys. Do anything to keep JBOSS and Tomcat off of the server, including make more work for developers. (It keeps more developers employed, so stop complaining.) It is truly stunning (and depressing) to see what JAVA does to otherwise perfectly powerful, capable, and well provisioned servers.
The real WTF is most organizations don't have Server Guys who understand applications at that deep a level, and just install whatever they are told to. Perhaps the biggest WTF is organizations that let the Development Team run the servers!
Admin
Well, who does deployment? If the people who go "WTF is this thing in production" are not the ones who perform deployments exclusively, then it is both poor communication and poor deployment procedure.
This goes back again to the question: who does the deployment? BTW, I'm not addressing a question to you or questioning your post. I'm simply just putting a rhetorical question for others to read (lots of IT shops never even think of these things.)
It is virtually impossible to eliminate the possibility of a 'WTF-is-this' thing getting into production. You can have a piece of code introduced as a "fix" or "feature" in an existing app which behaves well in dev and test, but finally kicks the bucket in production on its nth day during peak hours. It is almost never possible to truly replicate production conditions and variables on non-prod environments.
What is possible (and what should always be done) is to minimize that potentiality. Continuous testing in dev and test, with deployments in the final stages of testing and production being the exclusive role of a server team, using only software approved for that environment, that should be the norm.
Changes to running environments can be negotiated between dev and server teams, with clear, rigorous paths for testing and roll-backs starting from dev to the different stages of testing and finally to production.
That is, no haphazard last-minute changes get forced upon the server team, and no "f* off, mooh means no" policies get forced upon the dev team.
Continuous collaboration as opposed to continuous e-trench warfare. That's how you almost eliminate 'WTF-is-this-in-prod?' moments. Unfortunately, that is rarely the case.
Peace.
Admin
Would you like a crucifix to wave in fear at Java, while you're at it? Clearly wherever you've seen Java deployed, you've seen it deployed by cowboys
Admin
I'd have to say the WTF seems to be
a) Java Applets were used when they are not necessary b) Converting to PDF's is a good idea?
To minimise risks to customers confirmations should be in plain text.
Anyway, who is managing this development? Why are people be writing software without the knowledge of the people that actually manage the systems? I'm sure there would be a way using PHP and a scripting language.
Admin
How is this relevant to a server dedicated to the task? Seriously - killing a process over 50M of ram usage is stupid, as is removing a customer facing app without notice. You guys do just provide hardware for the code, and some monitoring is included in that deal.
Where I work, we have crappy monitoring, since we don't have a monitoring app that can handle our data load and the admins don't actually know when one of our prod services goes offline - they just call me because it's my service and not handling requests that well. The admins here don't monitor the app without specific instructions (in a spreadsheet!), so don't even get me started there.
Admin
And then followed it up with, "And have fun paying the legal bill, because you were hired at-will and you're going to be laughed out of court."
God Bless America
Admin
Glorious!
For what it's worth: every time I've seen a Java applet, I've had to fix the inherent state machine myself -- despite intentionally avoiding Java since 1995.
For what it's worth: every time I've had to interface with a Java program, or programs, I've been the one who has to solve environment issues, or JNI mappings, or classpath issues.
I'm (sort of) sure it wasn't intended this way, but, in its current incarnation, Java just seems to me to be a lazy route to incompetent outsourcing, degenerate idiocy, box-ticking, and irrelevant process.
Don't get me wrong. I'm all in favour of laziness, outsourcing, degeneracy, and a really good-looking box.
It's the other stuff that depresses me.