Great, funny read

Why I hate frameworks Put in my context: “Here’s a 150MB download with a Java Virtual Machines, a Tomcat webserver, the entire Spring framework, extensions to the spring framework, a firebird database, and two Windows Services you must install.” “What’s it do?” “It gets 5 pieces of data from a fleet of widgets. But it’s really fast.” “How long did it take to develop?” “2 years” ::sigh:: I also believe a 747 can be used to squash a flea, but YIKES…

2007-08-01 · 1 min · Harold Combs

Thoughts: C++ (is whacked!)

So, at my time on the beach, I inhaled Lippman’s “C++ Primer (4th Edition)”, attempting to get back up-to-speed on a language I left 6 years ago. At that time, I knew enough to be dangerous, but I didn’t know enough programming theory to “get” half the stuff. My instruction on C++ had been “C using iostream”, and some cursory stuff on classes and templates. Anyway, I’m both impressed and horrified at C++. After coming through its ISO standardization, the language picked up some heavy-duty container and algorithm libraries, and they’re well thought-out and consistent. However, C++ makes some design decisions that are almost contradictory, and the programmer pays the price for it. It’s a compiled, strongly-typed language that allows multiple inheritance and operator overloading. Put a different way: It’s a language that lets you prove how smart you think you are, while shooting yourself in the foot, ankle, leg…you get the idea. ...

2007-07-30 · 2 min · Harold Combs

On "Compilers"

link At Georgetown College, I took Compilers, a 400-level capstone course that scared the hell out of everyone. Everyone was like 10 students, because our CS department was that small. However, it was a required course. If you wanted to graduate witha B.S. in CompSci, then you had to have this course. The prof was Bryan Crawley. Mister Crawley (insert Ozzy reference here). A strange guy, he was without a terminal degree, which made him the bootheel of the Math, Physics, and Computer Science department. The one thing this guy *loved* was compilers–he started introducing compiler-like concepts back in CS 111. ...

2007-06-23 · 1 min · Harold Combs

On "Compilers" (Comments)

Our compiler class at UK, taught by Prof. Kubota w… Jeff Roberts - Jun 6, 2007 Our compiler class at UK, taught by Prof. Kubota was a joke. Lotsa theory scribbled over the board and one project that it took most of the class the whole semester to complete. I wish we HAD done some hands-on with lex and yacc - I get the concepts behind it all but it’s still easier for me to write a strtok() parser for simple stuff. That and so few people know enough to maintain a lex/yacc parser that you’re just asking for trouble. Drives me nuts when someone “shows off” by writing a parser for something nearly as simple as a property file. ...

2007-06-23 · 1 min · Harold Combs

How erlang just blew my mind

qsort([]) -> []; qsort([Pivot|T]) -> qsort([X || X <- T, X < Pivot]) ++ [Pivot] ++ qsort([X || X <- T, X >= Pivot]). (taken from ‘Programming Erlang’ by the pragmatic programmers). That’s just…beautiful. Quicksort in 4 lines. Nothing extraneous, just the pure recursive algorithm. Erlang is bending my mind, but that’s okay…it needs a little kick every so often.

2007-06-04 · 1 min · Harold Combs

(Yet Another) analogy for developing software

This is a bit of a stretch, but here goes: Imagine building an airplane not in a factory, but on the runway itself. Let’s say the runway is 5000 feet long, and you have to build the airplane as its accelerating for takeoff. You’re the only one on the plane, because what kind of fool would tie himself to a plane that might not make it off the ground? :-) ...

2007-05-23 · 2 min · Harold Combs

I don't know what worries me more...

That I understood this post or that I understood within 3 seconds that it could be better written as: BOOL IsIpAddressZero( LONG lIpAddress ) { return !lIpAddress; }

2007-03-19 · 1 min · Harold Combs

Thought: Sarcasm

Either: a) One must be sarcastic to be a programmer. b) Programming makes one sarcastic. * * * I’m really chasing my tail on this one. I’m going for (b).

2007-01-11 · 1 min · Harold Combs

Gotta love Ruby!

Ruby is an awesome, powerful little language. I needed a ’time’ command for windows to measure the execution time (in seconds) of a command. Should be trivial, but I’m not Windows API savvy. Here’s the full script in Ruby: t1 = Time.new IO.popen(ARGV.join(' ')) { |pipe| puts pipe.gets } t2 = Time.new puts "Execution time: #{t2 - t1} seconds" Simple, direct, and obvious. LOVE IT!

2006-07-06 · 1 min · Harold Combs

On programmer productivity...

article My fav quote in the trackback: I read an article before about a guy who worked when he felt like it, e.g. if its raining outside then he’d stay at work longer and get some more stuff done, but if the next afternoon as sunny, he’d take off knowing that it would be a waste trying to write code when his head wasn’t in it. Hmm…Microsoft is in Washington…it rains ALOT in Washington. M$ churns-out lots of code…connection? :-)

2006-05-25 · 1 min · Harold Combs

From the frontlines...

A few key phrases that I’ve heard regarding software development: “Ring” code: Software so bad that if you even LOOK at the code, you’re dead, like with that darn video in The Ring Coyote project: A project so bad, you’d gnaw through your own leg to escape. Guy1: “Bob is so bad, whenever he’s informed he’s wrong, he complains that they changed it from the way it used to work without telling him. " Guy2: “I’ve had days like that” Guy1: “Bob’s had a life like that.” ...

2006-04-21 · 1 min · Harold Combs

Hardcore programming topic of the day: Java sucks

Today’s wonderful Joel Spolsky article. My comments: Amen. I was taught CS at a very small, liberal arts college, but it was REAL Computer Science, damnit, including sections on Data Structures, pointers, linked lists, compiler design, operating systems concepts, etc. This was from 1997-2001, and even then the shift from “harder languages” and platforms like C, LISP, and pascal to java was already underway. In essence, Joel’s argument in the article is that some people just won’t ‘get it’ enough to survive interesting computer applications in the hardest areas. That is, you can be pretty dim–and I’ve had such people on my team–and stil get by in the Java/J2EE world. Java hides enough ugliness from you that you can be mediocre and get by. ...

2006-01-13 · 1 min · Harold Combs

Musing: Programming problems?

There are some people doing really neat things with technology. But, on the whole, my company is not doing it. So, I ask myself, why is this so? Some thoughts: * Lack of the “R” in “R&D”. It’s trite to say that 99% of computers is “programming” and 1% is “Computer Science,” but it remains true that the challenge today is analyzing problems and finding appropriate solutions. The thing we’re missing is knowledge transfer from the cutting edge to the troops in the trenches. ...

2005-06-13 · 1 min · Harold Combs

The guy who invented 'C'

Here’s a blast from the past I found on ‘Wikipedia’: Dennis M. Ritchie’s Homepage And there, a barely tarnished gem, a PDF of the 1974 C Programmer’s Manual. 25 or so pages that clearly delineate the language that would inspire hackers throughout the world.

2005-06-13 · 1 min · Harold Combs

Harvid's field day

two monitors, venerable WKQQ on my single-speaker radio, stuck at the office on a rainy Saturday when I should be packing up my apartment, that’s Harvid. Management determined last week that my product was so utterly broken that we needed an “All hands on deck” effort to fix it. Since it’d actually cost money to pay contractors overtime, read this as “all REGULAR employees” on deck. So, I’m here pouring through code letting Harvid have full reign. I’m heading home by 6, though, to exercise and relax a bit, then clean-up my house. ...

2005-05-14 · 1 min · Harold Combs

J2EE Development without EJB

I’m struggling with this latest technical book I’m reading, J2EE Development without EJB Basically, it’s hard to digest, with lots of high-level enterprise construction pieces, but not much to hang it on. I’ve never built applications the way the author has for the past 5 years, so things he finds as a matter of course, I don’t intuitively understand. I’m blogging about it, basically so I can try to synthesize what I’ve read in the book so far. ...

2004-11-28 · 3 min · Harold Combs

Brainfart of the Day

Harvid brainfart moment of the day: So, I’m coding up this fix that AT&T is demanding, and I’ve solved the problem with a little hack WAY down inside this one module. Without going into too much detail, what I have to do is invert the array that I was returning from this one function (I said it was a hack!) In java, to do that, you need to use a java.util.Comparator class inside the Arrays.sort() method call. Inside the comparator, I need to change the sign of the return value of the java.lang.String class’s compareTo() method. ...

2004-07-27 · 1 min · Harold Combs