If you can read this, either the style sheet didn't load or you have an older browser that doesn't support style sheets. Try clearing your browser cache and refreshing the page.

(IT World)   Ten obviously untrue things programmers tell themselves, aside from "That chick in accounting totally wants me"   (itworld.com) divider line 140
    More: Misc, software engineers  
•       •       •

7220 clicks; posted to Geek » on 29 Nov 2012 at 9:56 AM (1 year ago)   |  Favorite    |   share:  Share on Twitter share via Email Share on Facebook   more»



140 Comments   (+0 »)
   
View Voting Results: Smartest and Funniest

Archived thread

First | « | 1 | 2 | 3 | » | Last | Show all
 
2012-11-29 02:42:04 PM
mccallcl: You standardized on tabs? Wow, way to use time making a "standard" that is not only wrong (and useless, compared to standardizing on something important), it's costing you extra work. Let me guess: Windows shop?

Windows, solaris, ubuntu, OSX, and I think there's a handful of OS10 boxes around here somewhere.
 
2012-11-29 02:55:17 PM
This fix is so simple that we can put it straight into production

Sometimes this is the case. I recently fixed a stored proc by changing "and" to "or" in a where clause. It could have been released immediately.
 
ZAZ [TotalFark]
2012-11-29 03:02:54 PM
In short, disk files should never contain TAB characters, if there is any chance they will be either viewed on more than one OS, or edited with more than one editor, or an editor whose TAB behavior is not known at the time the file is made.

I'm the guy who runs

svn propset svn:eol-style native

on other people's files. Some of them use Windows. Some of us use Unix. If you let CRLF and LF mingle sooner or later it ends in tears. 

Thank Jobs Apple finally got over its bare CR phase.
 
2012-11-29 03:05:04 PM

lordargent: Which is exactly what's needed.


I call this the "Green Acres Effect"

EDDIE: Why is that pig wearing a hat?
EVA: What else is it supposed to wear on its head?
 
2012-11-29 03:07:33 PM

verbaltoxin: /Office Space had it right. Engineers are terrible at dealing with people.


Actually, it's people who are terrible at dealing with engineers.
 
2012-11-29 03:33:45 PM

Jclark666: wingnut396: My favorite is

"Well it works on my machine"

Sure, the machine where you have all the SKDs installed, full local admin access and not controlled by any policies? You likely stopped the AV, firewall and all centralized management packages from running too. I bet your machine is not even on the domain...

So yeah, I don't give a fark that it works on yours, unless you are going to carry it and your ass up to accounting and do the receivables for the 10 people that now can't work.

Well, to be fair, that's not a programmer issue, that's an environment management / change control / overall IT governance issue that demonstrates the need for some serious professional help.

Need a consultant? :)


That example , yes I agree, it is not solely a programmer issue. They call their team a 'dev' team, but they are really Oracle DBAs that do some customization of COTS Oracle applications that we purchased decades ago that are no longer supported by the crappy company we bought them from.

The others I have had in the past were actual developers that built and maintained our applications from scratch. One these guys was sloppy and lazy and never wanted to test his application or updates on a standard image. He insisted that if it worked on his machine, it would work everywhere. Regardless if was still running NT4 and we were moving to XP he would never test anything. Have a met a few others like this. Thankfully most have fallen off the map through the years.

As for a consultant, can't help you there. I'm a small fish in a big, big company. I'd just rather get sane Oracle drones at the moment. And we have newer management, it is getting better. Just wonder how long before the outsourcing hammer hits.
 
2012-11-29 03:34:55 PM

abhorrent1: It's not a bug; the user is doing something wrong - The code is doing what it's supposed to be doing; users are idiots.

This is probably true more often than not.


Years ago when I did software QA, one of my standard tests was to slam down on the keyboard. The primary application had a nasty habit of completely locking up the computer when you did that (requiring a hard reboot). The lead programmer insisted there was nothing to fix, "don't do that!" I insisted it was a valid bug in his custom keyboard handling code (this was pre-windows days) and accidently leaning on the keyboard (or a cat jumping on it) was a reasonable thing to for.

Just because a user should not do something, doesn't mean that won't do it.
 
2012-11-29 03:42:25 PM

lordargent: mccallcl: You standardized on tabs? Wow, way to use time making a "standard" that is not only wrong (and useless, compared to standardizing on something important), it's costing you extra work. Let me guess: Windows shop?

Windows, solaris, ubuntu, OSX, and I think there's a handful of OS10 boxes around here somewhere.


...
 
2012-11-29 03:57:28 PM
A note to developers. Stop using a superuser db account to test in your sandbox since you already know the code won't be run with superuser priviliges, damn it!
 
2012-11-29 03:58:35 PM

wingnut396: UberDave: Most programmers aren't that stupid. We know you are running in a different environment (sometimes radically). If you can't do something, you need to either provide the error you are getting or give the sequence that led to the error or both.

I agree, most are not this bad. I just happen to work with a few that are and it is frustrating to no end to troubleshoot something for a few hours that they won't admit to farking up. Thankfully I personally am not in desktop support anymore, but I still deal with those yahoos from time to time. Usually goes like this:

Programmers: OMG. Critical, urgent, right now, mail is not going out of Oracle. Your Exchange servers MUST BE DOWN!@!@

Me: Well, seeing as you just emailed me this, and I'm responding to email, and your service account is on the same server, no Exchange is likely fine. For fun, I just dropped whatever I was doing and looked at the queues, logs and services and everything looks fine.

Programmers: OMG, you need to fix Exchange now.

Me: I see nothing wrong, and the 8,000 other users on that server are not complaining. What *exact* error are you seeing. What do your logs say?

Programmers: OMG, we need a conference call to discuss what is wrong with Exchange.

Me: Gah, just send your flipping errors and let me know what servers you are trying to connect to.

..... 2 hours of silence go by....

Me: Guys, are you still having issues? I looked and see mail being processed for your Oracle accounts.

.... 4 hours later

Programmers; Oh yeah, we found it. We changed a module last night and fixed it.

Me: Fuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu


So right, not all are that stupid. Even not all the ones in my company are. But it only takes a small sample to ruin your day.


Not saying that I do exactly this, but I find that when there's a critical bug in something I wrote, the only way I have a few consecutive minutes to fix the problem, is to distract the managers. Otherwise, you're too busy answering demands for a status update and meeting requests to discuss the problem to actually fix it. Pointing the finger at a server, when you know the person responsible for it is out of the office, is a great way to buy time.
 
2012-11-29 04:02:10 PM

yves0010:
This fix is so simple that we can put it straight into production - Never encountered this because I only wrote programs for classes right now.


The school equivalent is that you write a program for homework or whatever and test it extensively and it works great. Then you realize (or someone tells you) you forgot to handle special case X. You put in a quick fix, test it 1 time, and then hand in your assignment.
 
2012-11-29 04:07:50 PM

someguy945: yves0010:
This fix is so simple that we can put it straight into production - Never encountered this because I only wrote programs for classes right now.

The school equivalent is that you write a program for homework or whatever and test it extensively and it works great. Then you realize (or someone tells you) you forgot to handle special case X. You put in a quick fix, test it 1 time, and then hand in your assignment.


And you only tested the special case, because "hey, it shouldn't even get called in the other cases, right..."
 
2012-11-29 04:16:45 PM

mccallcl: lordargent: The generator is closed source, and it's basically a one shot thing.

That program is not doing its job, get a new program. The state of the art has changed significantly since you got that generator. Depending on your platform, there are a multitude of ORMs that will generate and log SQL for you. With the right tool, you can use continuous integration to rebuild all your stored procs (or inline SQL, whatever you're using) from your model, or generate your model classes from your schema. Most, if not all of these tools are FOSS.

Or write your own!


Reading this gave me flashbacks to developing a Net-SNMP subagent for one of my company's products. The "official" way to do it is to write a MIB, then use a perl script called "mib2c" to generate a long and complicated C implementation of the MIB where you fill in the blanks with the necessary code to retrieve the desired values.

If you have to change your MIB for any reason...well, I hope you have access to good diff/merge tools.
 
2012-11-29 04:32:40 PM

jimpoz: bulldg4life: I think the points that he comes up with are silly and there was no effort to put in to it. However, his initial premise is spot on...programmers spend lots of time staring at code and they construct weird realities that make everyone look at them sideways. 

[www.jimpoz.com image 580x502]


how true.
 
2012-11-29 04:54:16 PM
ProfessorOhki: Windows, solaris, ubuntu, OSX, and I think there's a handful of OS10 boxes around here somewhere.

Ahh shiat, I meant OS/2

sphotos-b.xx.fbcdn.net

// it's totally cool
 
2012-11-29 05:11:44 PM

Havokmon: Me (not a programmer, not even a college grad): "What, did you put yourself in an infinite loop?"


Infinite recursion will do that. Not infinite loops. Loops will just appear to hang while pegging the processor.
 
2012-11-29 05:21:05 PM
Me: "Hey operator! You know how the mainframe has that infinite loop watchdog?"
Operator: "Yeah, I think so,"
Me: "Turns out it must be looking for disk read/writes and trap based on that."
Operator: "What of it?"
Me: "Well minutes after I convinced you to elevate my process priority and you told me to be careful I had a runaway loop in an array. I sent a quarter million pages to the print spool. Did you notice that?"
Operator: "...."

Not really my fault...

Head Operator: "Hey Felix, our programmer retired without notice. What do you know about COBOL?"
Me: "Umm, in 1979 I spent 17 hours looking for 3 misplaced periods."
Head Operator: "Ok, we'll set you up with access."
Me: o_O "Umm, I'm a PC tech, do I get any manuals or training?"
Head Operator: "No."
Me ordering off eBay: "I wonder if these are the right books..."
 
2012-11-29 05:29:04 PM

Coolfusis: Felix_T_Cat:

Admin: Coolfusis, can you install all kinds of new servers and access points and such and so forth? BTW, your boss is gone. He refused to be a mystical, magical unicorn that fixed everything and made all this stuff free, so we forced him to resign.

Me: Uh, no? I know nothing about networks, I do some basic programming/web design. FFS, I'm still a student.

Admin: Oh. Well, we went ahead and bought everything he'd recommended, but now we don't have anyone who knows how to install it. Also, we don't want to pay 10k for someone else to come do it. Oh, hey, are you interested in being full-time "IT guy" from now on?

Me: LOLWAT NO. I'm nowhere near qualified, I'm like...adept level, at best.

Admin: Darn. Guess we'll go ahead and hire someone who isn't as good or as qualified as the one we had. Maybe he can do it better!

Me: dafuq


Bosses: "Hey tech guys, what 100 tape backup robot do you want us to buy?"
Techs: "Brand X model B."
Bosses: "Ok, we bought brand Y model C instead."
 
2012-11-29 05:36:58 PM

anfrind: If you have to change your MIB for any reason...well, I hope you have access to good diff/merge tools.


Or just change the script to take input parameters and re-run it with new parameters (at every check in).

This whole thread is basically an advertisement for continuous integration.
 
2012-11-29 06:10:13 PM

MooseUpNorth: Havokmon: Me (not a programmer, not even a college grad): "What, did you put yourself in an infinite loop?"

Infinite recursion will do that. Not infinite loops. Loops will just appear to hang while pegging the processor.


Pretty sure you can do that to yourself with loops too. Though, admittedly, "while(1) malloc(10);" usually has a more interesting result than an "out of memory" dialog.

/INVOKE THE OOM KILLER
 
2012-11-29 06:46:51 PM
Some experiences of mine:

In a meeting where production changes are reviewed and approved/denied

Me: OK, so does anyone have any other changes for review before we end the meeting?
No one answers
Me: OK, thank you all, I'll publish the changes that have been approved.
Everyone leaves except one person
That person walks over to me: I have a change for review...

Yesterday:
Programmer: My code won't compile
Me: Did you review the compile log?
Programmer: Yes, it says there was a file missing. I need to build the file
Me: So did you do it?
Programmer: No
Me: Well there's your problem
Programmer: Oh..right

A few days ago
Programmer to executives: This high-priority incident is due to a coding change implemented 11/19 to Production without being fully tested
Manager to me: Why did you implement this change 11/19?
Me: We didn't implement anything 11/19. We haven't changed this system since September.
Manager: Ok but why didn't you fully test that September change?
Me: Because we're not the testing department - they signed off on it saying it was fully tested
Manager scratches his head

About a month ago:
Programmer: My error checking of my production build says that it can't find this object it needs to compile my program. You need to rebuild the production environment so that it has the object
Me: But you are creating that object new...rebuilding the environment won't help you. You need to include it in your build
Programmer: I thought we copied our entire development environment to production every day
Me: Why would we copy everyone's non-tested/half finished code to production automatically?
Programmer: But it makes sense....
Me: No it doesn't. That's why you do builds of tested software
Programmer: I thought we did just to complete documentation
Me: *facepalm*
 
2012-11-29 07:11:21 PM
It's not a bug; the user is doing something wrong - The code is doing what it's supposed to be doing; users are idiots.

This is true a lot of the time. Users don't like garbage in/garbage out. "See, I put in a name, and I get back the wrong address."

"You put in John Smith's name, and you got John Smith's address back."

"But I don't want John Smith's address. It should have returned an error, because I was supposed to enter Richard Rogers."
 
2012-11-29 07:43:48 PM
As the former IT girl in Accounting, I did, I totally wanted you. Yes, you, balding, pudgy average-looking network guy. Didn't you notice our instant rapport? I even called you from my cell phone when we needed you... but did you ever call me back? No. I had to go find a different geek to hook up with and eventually become deliriously happy with.
 
2012-11-29 08:18:27 PM

mccallcl: anfrind: If you have to change your MIB for any reason...well, I hope you have access to good diff/merge tools.

Or just change the script to take input parameters and re-run it with new parameters (at every check in).

This whole thread is basically an advertisement for continuous integration.


Three problems with that. One, it's a third-party script, so any changes we make would most likely have to be completely re-done if we ever upgraded to a new version of the package (in this case, Net-SNMP). Two, the additional arguments would be non-trivial, as they would have to tell it which function calls return the values that should be reported for which OIDs (basically a map structure). Third, the script is written in that write-only language known as Perl.

To be honest, your solution would be a lot easier if the script (or a script like it) generated C++ code instead of C code (my application was written in C++), because then it could use an inheritance model similar to the one typically used by CORBA IDL compilers (i.e. it would generate a base class with pure-virtual methods representing each OID, and then I'd write a derived class that implements the virtual methods). However, while such a code generator would be an interesting programming challenge, I simply didn't have the time to do that.
 
2012-11-29 08:33:23 PM

QT_3.14159: As the former IT girl in Accounting, I did, I totally wanted you. Yes, you, balding, pudgy average-looking network guy. Didn't you notice our instant rapport? I even called you from my cell phone when we needed you... but did you ever call me back? No. I had to go find a different geek to hook up with and eventually become deliriously happy with.


I'll tell Mom. Then we can set the wedding date.
 
2012-11-29 09:06:47 PM

QT_3.14159: As the former IT girl in Accounting, I did, I totally wanted you. Yes, you, balding, pudgy average-looking network guy. Didn't you notice our instant rapport? I even called you from my cell phone when we needed you... but did you ever call me back sent you an email? No. I had to go find a different geek to hook up with and eventually become deliriously happy with.

 

/Maybe Exchange was down
 
2012-11-29 09:08:55 PM

ProfessorOhki: someguy945: yves0010:
This fix is so simple that we can put it straight into production - Never encountered this because I only wrote programs for classes right now.

The school equivalent is that you write a program for homework or whatever and test it extensively and it works great. Then you realize (or someone tells you) you forgot to handle special case X. You put in a quick fix, test it 1 time, and then hand in your assignment.

And you only tested the special case, because "hey, it shouldn't even get called in the other cases, right..."


Actually, I usually make others fill in the blank and make them fix it.
 
2012-11-29 09:56:29 PM
This code is self-documenting - Biggest lie in programming. If you can't comment your code, don't write code in the first place.

This is a [hardware | database | network] issue, not a code issue - I've been in sooooooo many cases where the code was the first thing blamed. I've watched VPs blame code for slowdowns network-wide...when the server hosting the code was unplugged for a move. After 15 years of writing code professionally, I'd say it roughs out to half and half. Half the time the code is at fault, the other half it's another portion causing the problem.

It's not a bug; the user is doing something wrong - It's a bug. Doesn't matter the user is an idiot, your job is to make the code as idiot-proof as possible. Find the biggest idiot to test your code, launch it when they can't break it, and expect to revisit it to fix 2-3 months down the road, if you're lucky.

When I'm playing Halo 4 I'm thinking about coding, so it's like I'm coding - Some of my best coding is done in my head while driving, eating, even in the shower. Staring at the same if/else block probably won't give you an epiphany. But moving onto something else and letting you brain work in the background is incredibly helpful. Just don't bother with Halo 4, stick with something productive and actually good.

I'm the only one who knows this code, so they can't lay me off - Everyone is expendable. Work some time in education, and you'll find out how true that is.

I know what the client wants - I frequently know what they need, and let them tell me what they want. Spend any time in education, and you will see tons of requests that look nothing like the eventual product. Give the client what they need, not what they want. Otherwise, watch yourself get burned.

QA will find any bugs - Never rely on QA. In fact, consider yourself lucky if you even have a QA group/department. See previous suggestion about getting idiot users to test. Frequently, this will be anyone in a supervisory role or the Help Desk (since I've yet to encounter a Help Desk capable of helping anyone themselves, friggin' glorified telephone operators).

This fix is so simple that we can put it straight into production - Situational. I've put right into Production without testing on Dev when I knew for a fact that the solution was solid. That being said, it's not the normal practice I follow, and will only do it in extreme circumstances.

Of course this will scale - Code should work the same whether it's 1 user or 1 million. If you didn't spend the time up-front to reduce all operations to the lowest levels possible, then you need to seek out a different position.

I could rewrite this pile of spaghetti legacy code and save time in the long run - I've actually spent the time re-writing legacy code, and saved oodles of time in the long run. The hard part is deciding whether to rewrite the code or rewrite the whole app.
 
2012-11-29 10:04:04 PM

ongbok: minoridiot: I have heard at least 7 of those in various meetings/converstations over the years.

This is a [hardware | database | network] issue, not a code issue

This is the one I always hear.

ManateeGag: I don't know. I've mentally solved some crazy issues with an AI program I wrote in college while playing Tetris. Sometimes letting eyes focus one something other than a block of code helps your brain figure out problems.

Yes. This is often very true with any problem you are having trouble with solving.


I've heard it referred to as the" Eureka phenomenon", based off of when Archimedes solved his problem only after he quit thinking about it and took a bath, instead. Basically, the creative part of the brain works better when the brain is unfocused.
 
2012-11-29 10:29:47 PM

ManateeGag: I don't know. I've mentally solved some crazy issues with an AI program I wrote in college while playing Tetris. Sometimes letting eyes focus one something other than a block of code helps your brain figure out problems.


The subconscious is usually a better programmer than your conscious mind. I can't tell you how many times I've woken up with the solution to last night's problems in my head.
 
2012-11-29 10:39:15 PM
djones101: It's not a bug; the user is doing something wrong - It's a bug. Doesn't matter the user is an idiot, your job is to make the code as idiot-proof as possible. Find the biggest idiot to test your code, launch it when they can't break it, and expect to revisit it to fix 2-3 months down the road, if you're lucky.

Unfortunately, there's a budget, and I can't keep assigning tasks to my developers to appease the 2 'barely competent' users in a group of hundreds.

// If it's a small task, I can't really argue against it, so I pick my battles and go after the large tasks. I try to give alternate methods of doing something that won't result in a ton of development time and maintenance. I'm all about finding "elegant solutions".

For example, in an app we recently had to throw in a text widget telling users how to select multiple items from a selection box. The thing is, previously they had asked for other widgets to be placed in very specific places, so a developer spent a non trivial amount of time moving widgets around to make space for this text box. (I had offered other solutions that would have taken a fraction of the time to implement, but no dice).

// PS. you select multiple items by holding down the CTRL or SHIFT keys ... just like windows ... the operating system that this app runs in.

// At the end of the day, if they're willing to fund the development cost, then I have to assign it. But I make sure to note the time it took to do it so that later down the road, when I defer something for budget reasons, I can point to foo, bar and baz and say we spent X hours of development time.

// I add "SP" as a tag so that I easily keep track of them. I tell folks that the tag means "SPecial case", but in reality, SP stands for "shiat Pile"
 
2012-11-30 12:40:39 AM

djones101: This code is self-documenting - Biggest lie in programming. If you can't comment your code, don't write code in the first place.


Try being the only white-boy in an office full of Asian programmers who don't speak good English. When I have to pick up their code, I spend half the time commenting it.



This is a [hardware | database | network] issue, not a code issue - I've been in sooooooo many cases where the code was the first thing blamed. I've watched VPs blame code for slowdowns network-wide...when the server hosting the code was unplugged for a move. After 15 years of writing code professionally, I'd say it roughs out to half and half. Half the time the code is at fault, the other half it's another portion causing the problem.

That's a good ratio. My company (vendor) produces a largish enterprise suite. I think the ration I've seen is more like 75/25 blame/actual code problem. Hell, I literally had two today. One was a large client who had an individual receive a legitimate error egressing with our portal control because his monitoring device (hardware) threw an alarm. The user insisted the hardware device, not made or sold by our company (but our software configures it), did not indicate any kind of alarm. Luckily the portal control or transaction program captures *everything* about the device on ingress or egress so I can pretty much prove the hardware malfunctioned or the user was lying through their ass (second one - 98%).

The other was the same transaction program catching a flag in a personal monitoring device and refusing ingress. Turns out the hardware manufacturer (our partners) never sent us the white paper which contained the status word descriptions which were slightly changed from the previous hardware version...fun times.

It's not a bug; the user is doing something wrong - It's a bug. Doesn't matter the user is an idiot, your job is to make the code as idiot-proof as possible. Find the biggest idiot to test your code, launch it when they can't break it, and expect to revisit it to fix 2-3 months down the road, if you're lucky.


I can agree with this. I mentioned the foreign born programmers - they totally lack the ability (most of the time) to understand how users interact with software. Some of them (users) are dumb, some have a phobia with computers, some don't want to commit brain power to mundane data entry/maintenance, etc. I deal with a shiat-load of Winforms and WPF GUI data manipulation software. I try to reduce the amount of clicks for a process but make every click do something meaningful, useful, or at least informative. And *always* provide as much information as possible but not in the form of freaking unnecessary pop-ups. Things like that...pretty much.


When I'm playing Halo 4 I'm thinking about coding, so it's like I'm coding - Some of my best coding is done in my head while driving, eating, even in the shower. Staring at the same if/else block probably won't give you an epiphany. But moving onto something else and letting you brain work in the background is incredibly helpful. Just don't bother with Halo 4, stick with something productive and actually good.

Yep. The shower is my spot. But sometimes I just roam the halls and/or stairs thinking about it (plus, I need to get out from behind my workstation every now and then and stretch the legs).


I'm the only one who knows this code, so they can't lay me off - Everyone is expendable. Work some time in education, and you'll find out how true that is.


There not all expendable but usually management/ownership thinks they are. Everyone *can* be laid off.


I know what the client wants - I frequently know what they need, and let them tell me what they want. Spend any time in education, and you will see tons of requests that look nothing like the eventual product. Give the client what they need, not what they want. Otherwise, watch yourself get burned.

Yep. You have to throw yourself into understanding the industry to deliver this (or have someone who does and can translate into good spec). It's surprising how many people don't give a shiat about the industry they write code to...


QA will find any bugs - Never rely on QA. In fact, consider yourself lucky if you even have a QA group/department. See previous suggestion about getting idiot users to test. Frequently, this will be anyone in a supervisory role ...


Worse, try having someone who doesn't know (or care to know) the software or the business very well write the entire test document that is the *sole* procedural step to production (well...QA dry run against the document, fix document, FAT test then delivery). If you think that is stupid, lame, irresponsible, dumb...yes. I totally agree. If I get started on this, I will go forever...(my world sucks...at least I have a bonus coming).


/good post
 
2012-11-30 01:17:52 AM
This is a [hardware | database | network]

// config

Luser: The [name of application framework] isn't working correctly, it keeps giving me an error.

Me: What specific application are you trying to use, can you send me a screenshot of the error message.

Luser: Nothing is working, here's a screenshot.

Me: (Looks at screenshot) ... Did anything on your machine change recently?

Luser: Yeah, I got a new laptop.

Me: You need to install the plugin for [name of application framework].

Luser: but I never had to do that before

Me: (Re-sends the most recent e-mail that contains instructions on how to install the plugin)

// The error message in question ... "You don't have the plugin for [name of application framework] here, click here to install the plugin for your browser."
 
2012-11-30 03:12:10 AM
blogger sounds like an idiot IT guy I have the displeasure of occasionally having to deal with because he treats productions environments like his own personal fun sandbox.

COBOL should be classified as some sort of disease. It should be eradicated like polio.
 
2012-11-30 09:20:30 AM

MooseUpNorth: Havokmon: Me (not a programmer, not even a college grad): "What, did you put yourself in an infinite loop?"

Infinite recursion will do that. Not infinite loops. Loops will just appear to hang while pegging the processor.


That's true, assuming no new data is being created with each loop iteration. They routinely created uniquely named cursors (temp tables in memory), and just let the application clean up upon exit. I won't even go into the corporate Windows 3.1-> Win98 upgrade because Win98 'fixed' their code that contained " c: ; cd\database ; open table " shiat that broke when another program would change the startup directory. Yeah. It didn't. Duh.

Which now you understand the way I really started into programming - I was getting sick of after hours calls when their shiat crashed, and just started fixing the code myself.
 
2012-11-30 10:49:45 AM

djones101: If you didn't spend the time up-front to reduce all operations to the lowest levels possible, then you need to seek out a different position.


WRONG. Premature optimization is the root of all evil. Optimization usually makes code harder to understand and introduces bizarre feats of engineering that as it turns out are not necessary and make the code more expensive to maintain. You should only optimize if there is a problem. How do you know there's a problem? Unit tests that fail on a performance metric.

djones101: This code is self-documenting - Biggest lie in programming. If you can't comment your code, don't write code in the first place.


Code comments are at best confusing, at worst completely misleading. There is nothing that guarantees the comments will be accurate. Just like everything else, if it's not trustworthy, you don't trust it.

Unit tests, people. Unit tests. Unit tests are documents written in code that themselves exercise the code they document and present its quantitative truth value as either PASS or FAIL. I remove most code comments I find. If there aren't any comments, you have to take the time to understand what you're doing, which you should be doing anyway. I check all comments for accuracy and remove the ones that are either out of date, misleading or useless (most of them). Non-native-English speakers especially should not be allowed to write comments!

They should make programmers take philosophy coursework. Philosophy has helped me understand software and process better than all the comp sci I could stand.

As for "idiot proofing", programmers testing thoroughly, etc, I have this to say:

Doors are something that every building has at least two of. Billions of them in the world. Yet, they still are installed wrong, pull handles when they are pull doors, too heavy to open, SLAM closed on people. We've all used doors that if they were software we'd scream they "don't work". If the people who design, build and install freaking doors can't be expected to get it right, then how can something with orders of magnitude more complexity be expected to work perfectly every time, even if the user doesn't use it right? Haven't you ever pulled on a door that was supposed to be pushed open? Did you run to the nearest employee you could find and demand the store be closed and a construction crew rushed to the scene to fix it?

Users, your time is just not that valuable and your convenience is just not that important. You are not worth $15000 to keep you from pushing on a door marked "pull". Apple et al has blown too much smoke up people's asses about their "user experience". Everyone thinks software, the most complex of human endeavors should be "intuitive" to even the dumbest of idiots. You are asking someone who makes $110K/yr to make your $65K/yr job easier and more fun. Think about it, it's not going to happen and it shouldn't happen if it does.

The cognitive load you take on when programming computers is immense. Over decades, it makes us go insane. Give programmers a break. While you're at home getting wasted, they are learning how to make your lives better.
 
2012-11-30 11:10:00 AM

Havokmon: MooseUpNorth: Havokmon: Me (not a programmer, not even a college grad): "What, did you put yourself in an infinite loop?"

Infinite recursion will do that. Not infinite loops. Loops will just appear to hang while pegging the processor.

That's true, assuming no new data is being created with each loop iteration.


Yeah, point. Had that happen in an obscure database front end builder where its interface to shared libraries (or dlls) would allocate space for parameters, but didn't free that space upon return. Didn't re-use the memory on subsequent calls, either. Put one of those in a tight loop and...
 
2012-11-30 05:00:28 PM
mccallcl: Users, your time is just not that valuable and your convenience is just not that important. You are not worth $15000 to keep you from pushing on a door marked "pull".

One of our buildings has completely transparent automatic sliding glass doors, except for the stickers/paint in the center of the doors that say "warning, automatic sliding door".

//why didn't you just use frosted glass, then you get the diffuse lighting and you don't have a warning label breaking the asthetics.
 
2012-11-30 06:23:12 PM

lordargent: mccallcl: Users, your time is just not that valuable and your convenience is just not that important. You are not worth $15000 to keep you from pushing on a door marked "pull".

One of our buildings has completely transparent automatic sliding glass doors, except for the stickers/paint in the center of the doors that say "warning, automatic sliding door".

//why didn't you just use frosted glass, then you get the diffuse lighting and you don't have a warning label breaking the asthetics.


The warning isn't there so people notice the door; it's so they don't try to open them manually and get their hands caught in some mechanism in some unexplainable freak accident that leaves you liable. "Get your hands off the door, moran" was probably deemed to confrontational :)
 
2012-11-30 06:27:38 PM
ProfessorOhki: The warning isn't there so people notice the door; it's so they don't try to open them manually and get their hands caught in some mechanism in some unexplainable freak accident that leaves you liable. "Get your hands off the door, moran" was probably deemed to confrontational :)

But there's no handle on the door ... ohh right, morons :D

// thought it was an offshoot of the 'walk into transparent door' thing.
 
Displayed 40 of 140 comments

First | « | 1 | 2 | 3 | » | Last | Show all

View Voting Results: Smartest and Funniest


This thread is archived, and closed to new comments.

Continue Farking
Submit a Link »






Report