@morbiuswilters said:
Yeah, "Male Reproductive Organ Smith" is a really odd name.
Better than Newovum or Really-big-ferocious-pussy Direct.. I guess.
@morbiuswilters said:
Yeah, "Male Reproductive Organ Smith" is a really odd name.
@Douglasac said:
I saw a Brother laser printer at Dick Smith the other day..
TRWTF is Aussies have a (tech) store named Dick Smith. Sounds like a medieval urologist to me.
@Speakerphone Dude said:
GPS update are just like extended warranties at BestBuy or ink for inkjet printers, a real scam.
This. Should have just bought a new one.
IIRC with Tom Tom you are guaranteed an up-to-date download (for free) with a new GPS unit. Last Tom Tom I purchased was $99CAD (back when CAD was worth less than USD). I don't remember the specific model but it had a bigger screen than the cheap one and had text to speech. The map update the OP purchased was around $70CAD. So around $30 more to get a new unit with an up-to-date map rather than messing with updating an old unit. Of course if your time isn't worth much the old unit could be sold for $30 to recover that money (then that idiot spends $70 to get the maps updated).
@C-Octothorpe said:
Just tested against several different instances, and each time less than 1 second (shows up as 00:00:00)...
Same here. 00:00:00
@mott555 said:
I use OSX every day at work, and indeed it did rape my children and kill my dog. If you had actually used OSX to do work you would realize that. And if you were smart enough to read the 514-page EULA before using it, you'd see it even warns you ahead of time with a nice disclaimer saying there's nothing you can do about it and you just gotta bend over and take it like a man.
Not as bad as the iTunes EULA: i.e. having your lips conjoined to another person's anus..
@Mason Wheeler said:
Objective-C. Because some programmer somewhere woke up one morning with a bad hangover and said, "I think I'll invent a new language that combines the safety, user-friendliness and code readability of C with the incredible performance characteristics of Smalltalk!"
Good thing I just finished my coffee otherwise it would have shot out my nose.
I can see why it was used. Steve came from NeXT with openstep (which was obj-c) and they used that for OS X, but geez that was '96. Languages have come a bit further since then. Hell it was showing it's age in the 90s what with Java 1 being introduced in '95 and 1.2 in '98. It's 2012 now. Look at what Xamarin did with mono on android (http://blog.xamarin.com/2012/05/01/android-in-c-sharp/)!
@rstinejr said:
So I've been spamming "Side Bar WTF" with egregious code for about a week. Astute readers may have picked up a tone of frustration in the posts. It's because these examples are from FREAKING PRODUCT CODE, not some piece of shit app thrown together for your buddy down the hall. I am not happy about trying to make sense of this crap, I'm appalled that it ever saw the light of day, and no doubt because of my lack of tact I'm not exactly Mr. Popular at the office.
@rstinejr said:
For many, many years I've said that bad programmers can spew out bad code faster than competent people can clean it up...
Agreed. And if the bad programmers were there first in place cleanup may be a losing battle especially when management demands new features (e.g. on screen graphing abilities for a system that gets visited in person at most 1/year if it is operating properly) built on top of the highly coupled, barely maintainable wtf of a system. That combined with band-aid bugs fixes and there is no time to actually fix the system. All time is spent bailing water from the boat while at the same time someone who should be bailing as well is affixing a new figurehead with duct tape (because the captain insisted it had to be done now).
@Sutherlands said:
@bgodot said:
Are you blind? It's right there on the back, bottom, next to the fan.It has no video ports, or any expansion slot to add a video card into. Images of the available ports are in this article.
http://computershopper.com/storage/reviews/hp-mediasmart-server-ex495
Do you mean the eSata port? That's no video port.
There is such thing as a usb video card which can be had for less than $50.
@morbiuswilters said:
@frits said:Yep. We had a sales 'manager' (read: field salesman) that would tell customers he can get new hardware/software features added to products that had already been designed. At no additional cost. Then he'd complain to upper management that he can't sell product because engineering refused to add whatever expensive feature he promised.I worked at a place where it was par for the course for Sales to sell things that didn't exist. If a potential customer asked if we supported feature X, the answer was always "Yes". They'd sign the contract and as the customer moved to implementation we'd get a support person coming in and asking "Where is the screen to control feature X?" I'd reply "There is no feature X, there never has been a feature X." So then we'd get an ultra-high-priority, all-senior-management-copied bug filed saying "Feature X does not work". I complained quite a bit about this and was told by senior management on several occasions that "We're trying to get them to stop doing that."
But really, the company liked the sales. And the sad thing was, we were the best product in our market; we were the clear market leader. Our retention rate was only 60% of so on 1 year contracts, meaning every year we lost 40% of our customers. However, we added customers quickly enough to balance out. When I pointed out that eventually we'd alienate every potential customer in the market, I was told not to worry about it.
I'm starting to believe this type of behavior is basically the norm. I've had similar discussions:
"We fix this so it works better, then we'll maintain our current customers and have less support calls which means more profit!"
Of course immediate revenue is more important. You have to GROW and FAST. Slap some new features in that unstable product to sell a few more systems. Sure, customers are only sticking with due to good will earned from the previous product that was reliable, but we can worry about that later. Yes it would only take another company a year to develop a better product, but that hasn't happened yet. We'll worry about that if it happens and you said it's only 6 months to fix our product (of course ignoring that 6 months is with the current feature set, any more features means more and more rework).
It seems to go either way though. Either you have strong business people running the company (great at creating business and bringing in revenue, but horrid technical decision) or you have great technical people running the business that are poor at selling ("this product is so good it should just sell itself").
I'm sure there are a few companies out there that get both sides right, but my experience so far as been a scale that tips in either direction. My best guess is it has to do with the fact people can't be good at everything and people tend to want to be surrounded by those that think the same way. Because of this you end up with management that is generally homogeneous and is biased towards the same priorities. It's rare to have a C-level that can admit they don't know everything and will rely on the advice of others that know more about the areas they are weak in. If I could find a company with such a leader I could possibly be coaxed out of contracting. As it stands contracting is a nice buffer from management WTFery. I'm not so vested in the product that I'm sickened and completely disheartened by the destruction of something with great potential AND I get paid a good hourly rate regardless of how many times they change direction (which happens a lot when the CEO is previously from a large corp and discovers this small/medium sized business is so much more maneuverable, "You can change course on a dime! Both figuratively and literally!! WEEEEEEEEEE!"
@dhromed said:
@pkmnfrk said:
@morbiuswilters said:Another one I see a lot is:
if (!isSomething) { // do stuff } else { // do other stuff }
It's less readable. I usually invert it when I see it.
This one is debatable:
if(!isErrorCondition) { // do useful work } else { // clean up our mess }+1
While not the best example I have to agree that there is a place for this. It depends on the logic. Sometimes the inverse makes more sense, but it's rare (in my experience). As a general rule of thumb, yeah don't start with a 'not' block, but as with most things coding-wise you have to use your brain and think of how it works in the particular situation. Following rules for the sake of rules leads to WTF.
if(!retarded) { // do useful work } else { // uh oh }