Archive for the ‘programming’ Category

Demoware

Monday, March 9th, 2009

I’m not sure if that is a real term or not, but I have a rather specific meaning for it:

A completely useless feature added to a product because it makes a good demo.

(more…)

Ways in which ‘Thomas’ appears the opposite of ’smart’ to me.

Wednesday, March 4th, 2009

(original article)

(originally written the day after that article came out – I ended up posting snide comments on his blog, which was pretty dumb. I tend to do stupid things when I’m angry, and I’m not sure I did much good by telling the guy off on his own blog. Then again, in my slight defense, I was trying to prevent his blog from influencing people who don’t use git from being scared away. Of course, my nasty remarks probably pushed people the other way: “This is how the git community reacts to people who need help? What dicks.” So, a message to everyone – I don’t represent the git community, just my annoying little self)

When git first came out, it was hard. Really hard. Annoyingly hard. Linus made a decision, early on, to do the following for git:

  1. Make it fast
  2. Make it powerful
  3. Find other people to make it easy

And since, early on, it was just what he built (plus a few contributions from others), he got #1 and #2 down pat, but completely punted on #3.
(more…)

mixing lifetime paradigms

Wednesday, March 4th, 2009

(Began sometime in the middle of 2008, though we are still “struggling valiantly”)

A coworker and I have been struggling (valiantly, I would say) to solve some rather hairy lifetime-related issues at work this week. A sizable portion of our current work involves the interop between managed (C#) and native (C++/COM) code, which, well, doesn’t work out all that well in sufficiently complicated scenarios.

Not that this is an easy problem to solve, mind you. The problem is one of semantics.

(more…)

a more holistic measure of performance

Saturday, January 10th, 2009

</blog hiatus>

Without getting too much into details, the most frustrating thing I have to deal with at work is our general development infrastructure, the worst offender being version control.

(more…)

freeing memory on exit

Thursday, May 22nd, 2008

Back when I was a TA, I found that a few people had a very curious misconception.  In C++, they thought, if you never deleted an object, that object would never ever get freed until you restarted your computer.  Basically, that a memory leak is memory that is lost and gone forever (for all intents and purposes).

(more…)

Getting over the hump

Wednesday, May 21st, 2008

Almost every person I work with has some type of programming project they work on at home.  Michael (last I checked) is writing a synthesizer to go along with the midi controller keyboard he now owns, Matthew is writing an application so that he can update his music library’s metadata more easily, and other people have other tiny projects that they work on when the go home at night.

Me?  I watch southpark until I fall asleep.

Some days, I wonder if something is wrong with me.  Like I’m a bad geek for not programming when I go home.  Hell, my own brother puts most of us to shame, having started what (I think) is the most popular linux PVR project in existence, MythTV.

So what’s wrong with me?

(more…)

Singularity and the MSR-LA

Wednesday, March 5th, 2008

Slashdot is running an article about how Singularity is now Open Source, and I’m surprised to see that, of all places, Slashdot missed the obvious point.

Return to the “sharing is caring” MSR-LA (before it was the MSR-SSLA or something like that):

4. That Microsoft is granted back, a non-exclusive, irrevocable, royalty-free, and sub-licensable license to, for any purpose, reproduce, publicly perform or display, install, use, modify, distribute, make and have made, sell and transfer modifications to and/or derivative works of the Software source code or data that you provide to Microsoft through the CodePlex tool or otherwise make directly available to Microsoft.

That’s right, ladies and gentlemen.  The polite “share-alike” continues.

Of course, if you want to, say, try out one that isn’t an assrape in disguise and runs actual applications, jump over to JNode.  No promises, but using this one won’t require you to sleep on your stomach for weeks afterwards.

how to not ask questions redux

Friday, December 7th, 2007

It never ends.  Today, somebody sent a question to a linux questions alias about some Microsoft specific compiler extension on Windows and what equivalent exists, if any, in gcc.  As always, the very first google search result for the name of the declaration and “gcc” yields the answer.

Then again, he probably used Live search, and the first answer probably was a picture of a goat or something.  Yay for smarter search!

Eric Meijer invented dumb.

Tuesday, November 27th, 2007

I just saw the funniest thing.

I’m watching this talk, by Eric Meijer, about Visual Basic.  During the talk, he keeps bringing up examples of where languages “stole” features from VB.  The first (and marginally less funny), is when he basically states that modules (i.e. collections of functions) were invented by Visual Basic. That’s right.

(more…)

C/C++ and sizes of types

Friday, October 26th, 2007

Every so often, I get asked questions along the lines of one of these:

Question type #1:

I need a type that is exactly n bytes/bits long. How do I get this?

Question type #2:

On machine x, the size of some type(usually wchar_t) is wrong! How do I fix it?

I actually just got the second question, hence the reason for this post (although that guy won’t see the answer, because he was a dick). The short answer is this:

(Most) types in C and C++ are either only relatively sized or implementation defined.

(more…)