Evil Plolyglot programmer ploy

We had a share-session on Polyglot programming the other day, after Mark returned from SDWest 2008. Tonight, I had an evil thought: Half of these languages are ones most in the audience have neither seen nor played with–what if you added some “trick” language names to the slides to see how full of crap your audience was. It’s a play on the same allegory from “The Emperor’s New Clothes”: “…yes, and so your application logic should be components written in a systems language like java [sic], with the higher-level being in a dynamic language like JavaScript, Ruby, or Dimebag.” ...

2008-05-23 · 2 min · Harold Combs

The other day while in the lab...

…so, they’ve put together an “Innovation” lab over here, populated with all sorts of cool gadgets, gizmos, and decorations, everything from a Magic 8-Ball to the latest iMac and Nintendo Wii. There’s remote-controlled this, electronic that, and lots of “so, what’s THAT good for?” One thing I was really salivating over showed-up the other day: Yep, it’s a Kindle Amazon’s eBook reader. VERY neat. It uses an ’electronic paper’ display…instead of being the normal LCD screen on, say, an iPhone, it’s a contrasty, easy to read display that looks like a super-duper Etch-a-Sketch. It looks like, well, a printed page. After a few minutes, the device disappears, and it’s just like you’re reading a book. Controls exist for flipping forwards and backwards through the book. Even the form-factor is pleasant and intuitive–like a big paperback or a small hardcover. ...

2008-05-15 · 1 min · Harold Combs

Win32 in a nutshell

Link So, basically: Create a struct to hold your class. Create a Window struct. Enter your event loop and process events That’s kinda it…The rest is a bunch of nasty #define’s and macros Windows has built-up.

2007-08-13 · 1 min · Harold Combs

Cups...er, I mean XPS

So, I’m reading through the documentation on Windows printing, trying to learn what this is all about. My team writes stuff that sits between the Windows Spooler (spoolsrv.exe) and the Kernel-model communications pieces. Anyway, so I come to a great fork in the road: GDI and XPS. GDI (Graphical Device Interface) is the way that earlier windows programs (Win32) talk to the display and printing subsystem. Essentially, everything in GDI is a bitmap. This is “the old way of doing things”. ...

2007-08-11 · 2 min · Harold Combs

Engineers explained

POWERS OF CONCENTRATION If there is one trait that best defines an engineer it is the ability to concentrate on one subject to the complete exclusion of everything else in the environment. This sometimes causes engineers to be pronounced dead prematurely. Some funeral homes in high-tech areas have started checking resumes before processing the bodies. Anybody with a degree in electrical engineering or experience in computer programming is propped up in the lounge for a few days just to see if he or she snaps out of it. ...

2007-06-28 · 1 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

Checkin' out 'Safari' on windows

Just downloaded the public Windows beta of Safari from here, and I must say I’m impressed… It’s really fast, and it automatically imported my Firefox bookmarks. Guess this is apple’s plan, eat Windows from the inside out :-)

2007-06-12 · 1 min · Harold Combs

"Code Monkey"

MP3 link

2007-04-28 · 1 min · Harold Combs

Q of the day: Can you forget how to type?

I’ve been touch typing ever since I was about 12, though that initial learning curve was steep, and I’m not all l33t like the guys who use the Dvorak layout. Had a random thought this morning as I was clickety-clacking away on my 12th email…is typing a perishable skill, or is it muscle memory like bicycling? That is, if I stop typing today, how long (if ever) would it take me to forget how to type? ...

2007-01-29 · 1 min · Harold Combs

Programmers versus Managers

If programmers dictated how software worked: Every piece of software would be 100k on disk, execute at warp speed, run on everything from a stopwatch to a supercomputer. Said program would take 10 years to develop, because “I’m close to getting it finished.” Said program would be so obscure and hard-to-use that even its author would create an script file to execute it If managers dictated how software worked: Everything would be one big chart or powerpoint slide (less than 3 bullets!). ...

2007-01-11 · 1 min · Harold Combs

Interviewing...3.0

Link Still, I don’t really care. I want my ER doctor to understand anatomy, even if all she has to do is put the computerized defibrillator nodes on my chest and push the big red button, and I want programmers to know programming down to the CPU level, even if Ruby on Rails does read your mind and build a complete Web 2.0 social collaborative networking site for you with three clicks of the mouse. ...

2006-10-26 · 1 min · Harold Combs

Build...

Got to be really good friends with vimdiff today as I tried to kick-start the build for our “End of Lifed, never need anything else but a plugin” product. Yeah, well. We need it again, and she’s not so happy to build this time. We played with the build significantly for the last product, pseudo-integrating Ant, while leaving around lots of makefiles, an arcane language of rules, predicates and suffixes ...

2006-10-03 · 1 min · Harold Combs

The Age of the Essay

The Age of the Essay: “You don’t know yet. And so you can’t begin with a thesis, because you don’t have one, and may never have one. An essay doesn’t begin with a statement, but with a question. In a real essay, you don’t take a position and defend it. You notice a door that’s ajar, and you open it and walk in to see what’s inside.” Paul Graham is a hero of mine, not for his hacker-hero-worship, but because he’s a THINKER first, and a programmer second. His “essay on essays” should be given to every freshman in college.

2006-08-17 · 1 min · Harold Combs

The Bag of Holding

The Bag of Holding: “Got your top 5? Good. Now find out who made each of them. Send the creator a letter of thanks, and make it sincere. If appropriate, send a small cash donation, anything you can afford.” My list: BMW Timex Sage Firefox Ruby Yup…nothing like the proper tool.

2006-08-14 · 1 min · Harold Combs

Annoyances.org - Top 10 things likely to be overheard from a Klingon Programmer

Annoyances.org - Top 10 things likely to be overheard from a Klingon Programmer OH YEAH!!!!

2006-07-20 · 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

Stevey's my hero

link You can go far just by being nice. Not at this company, bub. But then again, reading through the top section, looks like we’re on our way out, anyway. Great article by a great engineer. If his code’s half as good as his insightful blogs, he’s awesome.

2006-05-30 · 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

Why the PDA is dead

Remember these things? You know, those quirk handheld personal digital assistants from the late 90’s that EVERYONE had to have to keep their lives in order. More memory, power, and capability than a full desktop computer of 5 years earlier, but ultra-portable. Sounds killer, doesn’t it? So…where are they now? The PDA market is ever-shrinking, and I think I know why: First, they evolved. Like most scientists believed dinosaurs evolved into birds, these single-trick PDAs evolved into today’s smartphones. ...

2006-05-17 · 2 min · Harold Combs