Archive for the 'rant' Category


Thoughts on “Crappy Coder Signs”

Friday, November 23rd, 2007

I was browsing my feeds in Google reader and came across this blog entitled “Signs You’re a Crappy Programmer (and don’t know it)”. For the most part I thought it was fairly accurate with the exception of not following the rule of trying to make your functions less than 20 (30/40/10/whatever) lines of code.

Now I’m not hardline on it, I think one should try to make all functions as short as they possibly can, but I do understand that some functions just can’t be made that way. I think preaching hard line either way is a bad plan but one as a general rule should try to keep functions short and sweet. Writing big long functions makes it hard for people besides yourself to follow the code quickly. I’ve dealt with my share of crappy functions that were a hundred lines long and totally unclear. Thats what you get when you work with people that aren’t programmers first though.

Everyone is out to get me….

Friday, September 21st, 2007

It would seem this week that everyone is out to get me… Guess thats life. Who wants to take my marine science exam? Any takers? Shouldn’t be hard… guess thats a good reason for me to take it.

===============

On a different note, Algorithms & Data Structs was interesting, lots of probabilities. Hurrah!

What really chaps my ass…

Wednesday, August 29th, 2007

Wanna know what really chaps my ass? People like Louis Savain and his COSA project. In science and math I tend to take a fairly hard line when it comes to most things. That is: If you can’t show it, you don’t know it. Now thats not to say that theoretical physicists or mathematicians are wrong because they can’t show something, but at some level you have to have some sort of substantial product or outcome to what you purport.

Now the problem with Mr. Savain is he goes about calling all programming languages crap, blaming software models on the reason why “stuff isn’t as good as it could be” and saying that hardware models are the solution. Now this is all good and well, everyone’s entitled to their opinion; so long as they do not redefine words or invent bunk terms. My favorite word that he’s redefined is algorithm. The definition of algorithm from webster.com as follows: a step-by-step procedure for solving a problem or accomplishing some end especially by a computer. Now I don’t know about everyone else but I’m pretty sure that regardless of paradigm (functional, concurrent, imperative, procedural, object oriented etc.) at some level you must have a plan on how your program is going to accomplish its goal. I know in Prolog, thats a bit more blurry, but at some level you must describe a mechanism for which your program will solve the problem.

All in all, if you spend enough time reading his posts as well as his website, you start to see that he’s a complete crack pot. He has no substantial evidence for what he writes, no clearly defined product that he’s published or created. All in all, just a lot of fluff.

Can a brother get an amen?

For those of you that aren’t programmers or don’t understand what a programmer does…

Tuesday, August 21st, 2007

Have you ever had that sinking feeling where you’ve just realized that the last thirty minutes that you spent explaining some concept in programming to a person isn’t sinking in one damn bit? Or how about when your boss or someone you’re doing a “favor” for doesn’t understand why you haven’t finished their project before they even asked you to do it? Well, if you haven’t, my friend you are in for a real treat.

It so happens that as a favor to my boss I’m writing a computational model for a Ph.D student here at the university.

Side note: For some background, I work for a Research/Professor who is an applied mathematician that studies ecological/biological mathematics, mostly dynamic systems and biodiversity. I work as a programmer and research assistant since my boss isn’t that great of a programmer, and my interests (distributed systems & concurrent real world simulation) deal with similar problems.

Anyway, continuing. So my boss asks me to help this Ph.D kid out with a program and of course it takes far longer than it should to hash out how this program should work. He has no way of clearly generalizing his problem and I have no way of understanding the specifics of his problem. So after a couple weeks we finally get some pseudo-code hashed out that I can work with (mostly). No more than a day after we’ve finalized the pseudo-code, the kid starts hassling me about it. I first try to explain why this code can’t be written in 30 minutes but that strikes out so I just flat out tell him its going to be at least a week before I have anything conclusive and of course he whines/nags about it a bit but none the less he leaves me alone. *queue sinking feeling*

What really irks me though about this is that I didn’t actually want or have to do this for this kid. I’m not particularly interested in his model, nor what he’s trying to find. I’d just appreciate it if the non-programmers out there would leave the programming to the programmers and trust that we’ll work on your project in due course, its just going to take a bit of time because YOUR program is not at the top of my “things to get friggin’ done” list.