The Lost Coding Art Archive

Stuff you'll find here

For the moment, I have no interest in making the site itself pretty. This is meant to be a site for coding snips and often is little more than a place I jam a piece of code which I refactored from Wikipedia or elsewhere to follow a somewhat uniform way of writing things.

These days, I can't stand libraries that use non-uniform spacing. Single or two letter variable names. If you can't type, don't CODE. I mean really, did you need to write tmp instead of temp? Did that one character make your code SO much shorter? Why are you calling it temp anyway? What kind of a temp is it? 1000 different types of definitions for stdint.h types. Come on, if you're using Visual C++ 2008 you can download stdint.h and inttypes.h from the net. There's just no excuse for doing this.

I tend to favor Qt style coding when possible. I have reimplemented QString so I don't need Qt in my code, but C++ is missing a decent set of base libraries. You can call Boost and the Standard C++ Template Library a solution, but I call it a disaster. If this is the direction C++ is going, I'll go somewhere else. Qt is the closest thing we have to a standard C++ library and the use of signals and slots kind of kills that, but at least it's something. It's just a shame it's a 1000000lb gorilla that can't be ported easily to new platforms.

I'll start adding content here now.

Graphics Functions

For the moment, I find myself working on a raw frame buffer class for making test signals from a system which lacks a decent compiler or a decent graphics library. So I'm finding myself actually implementing good old vector and bitmap graphics functions… AGAIN. I have found that many of the old resources for this are no longer on the Internet anywhere to be found. I'd update Wikipedia, but I haven't posted there in ages and I don't really feel like being involved with politics.

Colors

Well, I find myself working with colors quite often. Since I work in the professional broadcast world, we have many of the most complex solutions possible to the simplest problems. Also the whole broadcast world is filled with a bunch of guys who don't share anything. I'll try and be different.

About the author

My name is Darren R. Starr, I'm an engineer at T-Vips AS, a really impressive little firm specializing in high end broadcast video hardware. We develop real time multiplexers, analyzers, CODECs and other nifty toys related to broadcast media. If you watch TV, there's a really good chance that the signal you're watching has passed through at least one of our boxes. It never ceases to amaze me that with monster organizations like Grass Valley and Evertz out there, we still get our hardware into the infrastructure of broadcasters all over the world.

In the past I've worked as a senior developer at Opera Software AS (the browser guys), where I was single solitary member of the Linux development team until we hired on other fantastic developers. I've worked at a small post-production shop where I started writing off-line MPEG-2 transport stream multiplexers and subtitling systems because there just wasn't anything out there we could buy which worked. I've also been a developer at Tandberg AS, but I didn't stay long as I was exhausted and grumpy after driving an hour just to get to work to end up being one of 350 developers doing the same thing over and over. In another lifetime, I had the pleasure to be a corporate instructor teaching classes on UNIX, Cisco and other fun stuff to some really bright guys at places like Rockwell, Carnegie Mellon, etc… That was with Global Knowledge Network. That was a great company and if I decide one day I'm tired of coding, I might try and knock on their door again.

I've been coding C++ long enough that I remember when C++ was something we should look forward to one day. I coded on C before it was a standard etc… This isn't anything special, we all did it, it only shows my age. I am however a object oriented bigot and believe that if you're going to code it, code it right.

I am somewhat disenchanted with C++ after all these years, but until something else comes along, I'll stick with it. I love C# and the .NET framework. I know, it's not allowed to say this, but seriously, Microsoft really hit the nail on the head with this one. I can spend an entire day writing all the reasons I love .NET, but I have no interest in converting anyone. Either you're a bright and talented programmer who will choose the right tool for the job because it's the right tool, or you're someone who knows they don't like the company that makes the tool, so you'll complain about how everything they make is bad and then spend tons of time reinventing the wheel instead of trying something that's already built.

I like writing compilers, CODECs and other nerdy things. I can't make a UI if my life depended on it and my typically user interface is based on changing a variable and recompiling. Sometimes, I get fancy and use Qt Designer to hack something up, but it often looks like a cludge.

If you ever have a legitimate programming question regarding compilers, code generation, parsers, broadcast video related topics etc… send me an e-mail .. my address for inconvenience sake is submux .at. gmail .dot. com.strikethrough text