- 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
And Knuth said unto the people, "Premature optimization is the root of all evil." And the people did not listen, and loops were unrolled and code was obfuscated and the number of threads was too many.
Admin
Put out a new release on a Friday, and you get what you deserve.
Admin
"Tneth" is the new "frist".
Admin
This is the configuration management equivalent of "it worked on my machine."
Admin
+1 for featured comment :)
Admin
Let's try this again >:\
That would be a great featured comment.
Admin
I'm sure you think that's sage wisdom, but how about we flip it around a bit?:
Matthew: What is this application that you want me to program supposed to do?
Matthew's Boss: 1. Understand the environment. 2. Understand the problem. 3. Figure it out.
Matthew: How can I make sure the program functions correctly if I don't know the requirements?
Matthew's Boss: Nobody told me the requirements.
Yeah, not so fun when it's on the other foot.
Alternatively, it could be that making the program determine the correct setting automatically was "too much like thinking", so the programmer got lazy and skipped making an auto-determination function.
This crap:
Matthew: 1. Understand the tool. 2. Understand the problem. 3. Figure it out.
Is basically equivalent to this:
Matthew: I don't really understand the tool myself, and only vaguely understand the domain of problems it covers. If I actually knew anything constructive, I could come up with some guidelines to give you, or heck, just code the guidelines into the application itself. But I'm not going to tell you that most of the time I'm just guessing what the setting should be and crossing my fingers that it's going to work. Instead, I'll cover my insecurities by pretending that I possess intuitive and mystic knowledge that transcends words, and pretend you're the deficient one for admitting this setting is capricious and arbitrary.
Oh, and if you can put the process by which you decide the setting into words "Nobody gave me the answer" is just crap. If you can't be bothered to pass on hard-won knowledge to make the lives of the people around you easier, than just die - which you probably will do shortly when you starve to death as you forgo any future use of StackOverflow, the internet in general, instruction manuals and other books, your university and grade school education, directions from random passersby to the soup kitchen, etc.
Admin
No no no. Feature this guy! (comment 403299)
Admin
You are wrong, as long as you use a decent operating system. Blocked threads use up no resources except for their address space, until they are not blocked anymore.
Admin
It can be quite counter productive when you use spinning hard drives to hold your data. Especially if you use one spinning hard drive to hold the data. Multiple threads usually need data in different areas of the drive, so the drive head will be going forth and back all the time. If the tasks are really I/O bound, it may be substantially faster to have one thread do task 1, then task 2, than having two threads trying to perform both tasks simultaneously.
Admin
Now recall that the one effort that absolutely, positively could not have its go-live date changed in any way, Y2K, happened to fall on a Saturday.
Admin
I knew of a guy who wanted to replace a mainframe library system (target 100 concurrent users over 5 million records) with a single 486 running OS/2. Test case was 2 people searching 20 records: "Results came back in less than 2 seconds" made me laugh and was a friction point with my future boss.
Admin
10,000 customers. 10,000 desktops. 5,000,000 threads. 0ne 1 GHZ database server. Priceless.
Admin
Depends what the business is. I'm doing data management software for a national retail chain, and all our deployments, no matter how large or small, are done over the weekend. That's the only time when traffic is low enough that we can afford to bring systems down. I mean it's a robust system with multiple layers of redundancy perfectly capable of handling downtime, but not everything can get handled in offline mode, and you wouldn't want to rely on that during peak hours anyway. Plus you DEFINITELY don't want to be trying to push software updates to the stores and bringing them down in the middle of a weekday.
Of course, we also send everything through multiple layers of testing, including heavy stress testing with larger than expected data sets, and develop detailed rollback plans so if there is a serious issue Monday morning we can drop back to the previous release ASAP. I'm not aware of those ever being used though. The test environment used here sounds less comprehensive than what we use as developers before our code even officially enters testing. That's TRWTF.
Admin
And the better option would be...? You'd rather deploy on a Monday and then have to explain why all production stopped for two days while you isolated the bugs?
IT work is a thankless job. You do your major overhauls at night or on weekends to keep the rest of the world turning during core business hours.
Admin
No, no, in the bible the story goes like this:
Luke: How do I do this? Matthew: 1. Understand the tool. 2. Understand the problem. 3. Figure it out. Luke: That sounds too much like thinking. Just give me the answer. Paul: Good point, Luke. I think I'll write a bunch of letters to everyone telling them what to think and what answers to come to, so that they don't have to apply critical thought to the social ills of their time. But how will I get everyone, everywhere, to read my letters for the next few thousand years? Peter: I think I can help you with that last part...
Admin
...proving once again that you can count on highly-logical programmers to poke fun at and openly mock religion.
Admin
The precise reason that it sucks for us is the exact reason why the org wants it: if it breaks you have all weekend to fix it. Try selling "we'll upgrade on Tuesday. Oh and if it goes to hell it might take a couple days to get it working properly". The first thing out of the managers mouth will be "do it on a Friday/weekend". Heck they might even recommend the next long weekend as the ideal time to do changes.
Admin
Exactly. Thinks change. Say the DB server gets more ram so the available cache for the 200M rows grows. Now you can get quicker responses back so don't need as many threads waiting in the pool. Or the opposite you start doing more complex stuff which needs more CPU time, the data grows etc etc. Not everything that needs to be tunable will live on only one server.
Admin
First, you're being presumptuous in assuming I have not made contributions back to the project. I submitted many fixes which the author/maintainer mostly ignored (or completely misunderstood). I also was a frequent poster on the support forums for a few years, helping people solve problems and making suggestions (and also posting patches/mods/plugins).
Second, you're being illogical. Even if I completely re-wrote the entire product, submitted the code and it was accepted as the new version, that wouldn't alter the fact that the original code was crap.
Third, you're wrong. I didn't choose the software I was just told to make it work, so I have every right to complain about it. Even if I didn't, I still have every right to complain about it, just like you have every right to troll.
Admin
Admin
-Harrow.
Admin
They will give you compensatory off, if you stay in your senses. 3 releases = 1 compensatory off. Also not to forget you're called only if there is real issue. In that case, you don't have 3 releases applicable anymore. You get immeidate off if you get called.
Admin
"Uhhh, yeah, a service just needed to be restarted. So, about that day off..."
Admin
Admin
Sure thing. Do you have one that needs mocking? Given a long enough run-up it can be comprehensively torn to pieces as it fucking deserves.
Admin
You have a problem. You use threading, and now you have 500 problems.
Admin
Stop quoting guys who thought they were smarter.
There's nothing wrong with regex. Nothing.
Admin
The real WTF's (yes, I do mean plural) are:-
1 The employer assuming that it's ok to trample on employee's private time. If you ain't paying me, I'm not there. This abuse is rife in the IT industry, and is usually glossed over with the term "professionalism" or some such. I'll occasionally go the extra mile (as we all do) but have to dig heels in when it becomes systematic.
2 Management ok'ing testing on a non-representative data set. If this is so important, then it justifies a duplicate of production, on which to test - no excuses. If it isn't that important, then weekend working is not required.
3 If a brazilian bank is fined for down time, then doesn't that make the business case for good thorough testing?
I'm just so bored and tired of hearing this over and over again.
Admin
There's more than one way in which this can be exploited.
Admin
The problem with regex is the same as any computer problem: users.
Admin
Second, I'm not being illogical. OSS is only as good as it's producers. If you can produce better code, please contribute it. If you are incapable of having a mature conversation, pay someone for the displeasure of having to interact with your princess ass.
Third, your employer may have chosen the software however, you chose your employer. You were paid for your time according to the agreements you entered into at the beginning of your employment. You have no right to complain.
Admin
Matthew: Use the source, Luke!
Admin
Admin
That's why I do all my coding on a 6502.
Admin
Didn't we just talk about this last week? 4 shots from a 44 weren't enough? Or they were too many? Now I'm a zombie, so let's try again.
Emacs is Vim. Firefox is Internet Explorer. C# is Java.
Admin
While seeing the point being made, I think we also need to get away from the crap reasoning that's out there that giving away something for free absolves you from responsibility for doing a good job and not wasting everyone's time and money (unless you admit up front that your code is poor quality). If it eats away your resources to make it work, it is not free.
Admin
I used to have nothing, then I used a regex so now I have 2 nothings.
Admin
Admin
Admin
Yes, thanks to your impeccable logic and flawless array of supporting evidence, I bow to your arguments. I am clearly an evil-doing doer-of-evilness. I can only hope to one day grow up to be as thoughtful and reasonable as you. You are a prince of a man. I heart ya.
Admin
Admin
Admin
For an example of where I've seen that happen, it's that deploying into production will take long enough that it can only be scheduled for when a public holiday gives a three-day weekend to work with.
As a result, a few days of delay in pre-production can result in several months being added to the go-live, just because it had to be re-scheduled for the next long weekend.
Admin
Yes SIR!! Winner !!
Admin
It's a popular argumentum ad hominem to trash the opposing point of view by claiming they are stupid. It is usually offered by those who themselves are so stupid they haven't got a clue how boneheaded they really are. This one is a prime example - it can't even spell.
Admin
Unrealistically small test sample, inadequate deployment document. I blame the developer.
Admin
Hear, hear!!
Admin
Admin