I grew up listening to Michael Jackson and imitating his dance moves, gestures and noises. I never really thought of the day I would hear the news of his demise.

Michael Jackson died yesterday, June 25th, 2009. He was 50 years old, which I didn’t realize, since I will be celebrating my 29th birthday in a couple of days.

I had to write something about him, to help me express my feelings, since I am a fan of his music and videos.

Rest in peace, Michael; your soul will always live on in your music.

CrunchBang. That’s apparently what “#!” means. I started to play with the live CD after reading a comment to a post on Reddit briefly mentioning it, and after looking at it online, I was intrigued to give it a try.

Screenshot: CrunchBang Linux

Screenshot: CrunchBang Linux

I took it home, and loaded the live CD on my wife’s laptop, and let her try to use it, and she didn’t complain, which I had expected she would since it’s so different than Windows.

CrunchBang is built on Ubuntu, but it uses OpenBox instead of Gnome for its shell. This makes the experience very different, but still a pleasure to use. Plus, you feel like a hacker when you use it!

What is transcoding? Well, according to Wikipedia, “Transcoding is the direct digital-to-digital conversion of one encoding to another. This is usually done to incompatible or obsolete data in order to convert it into a more suitable format.”

In my case, I’m transcoding my family videos that were taken with our point-n-shoot camera. So here I am transcoding all the videos I took over the past year, in batches of files organized per month, then running my dandy little tool I wrote about yesterday that helps keep the Created and Modified dates intact.

But I wonder, there has to be a much better way to do this! So I dug around VLC media player, and noticed it had a “Save As/Convert” option in the file menu. I tried using it and converting a couple of files, but the non-helpful UI led me nowhere after I caused the program to crash a couple of times.

Anyone out there know how a better way? I’m running out of patience!

I must say, at work we develop programs/tools for us to use later in the year when we’re in production, and so this gives us a unique perspective on what features to improve, add or remove in order to maximize the program’s robustness and productivity.

Today I was organizing our family photos, and one of the things I usually do is throw all the videos we’ve taken with our Canon point-and-shoot camera, and convert them to DivX format to save disk space (especially useful when it comes time to backup our library of photos). How much space is saved? In one folder, I shrunk the videos from ~450MB to ~70MB. Quite a savings!

But with this conversion comes a side-effect: the newly converted files contain different creation and modification dates, which means that when you sort them with a photo library program like Picasa (I can’t recommend this program enough), the program will resort the video files incorrectly because the current date (or the date when I converted them to DivX) is much newer than the date they were taken.
So prior to today, I saw this as the price to pay for saving space, in addition to the lost time spent waiting for the files to be converted. But like I said, that was until today.

I thought to myself after failing to find a tool online that would do what I wanted it to do:

  1. Convert video files in batch mode and keep the original files’ created and modified dates intact, or
  2. A program that modifies the created and modified dates of files in one folder that match the filenames of those in another folder.

So if you’re reading this far, I decided to write the second option. I figured I’d get some practice out of it if anything, and it shouldn’t be that hard of a program to write.
After a couple of hours, mainly due to refining the user interface experience, I was done, and now had a tool bridge the gap that other utilities had created.

Once I fill in all the holes, I’ll try to post it online and make it open source for other to improve if they care to. If anything, it might help another perfectionist like me out there looking for the missing tool for his toolbox.

URLs: DivX Converter, Picasa.

I found this on Reddit, and I don’t know why (we both know why, really), but as soon as I read the title and heard this, I could imagine a happy Joel karaok’ing it out to this tune:

Man, I wish I would of started with C instead of C++, then I’d have a whole lot more street cred!

In the beginning, I was taught by a friend to always press F1 before asking someone for help or guidance with my code. Since, I have become independent, and even interdependent when it comes to coding. But yesterday I was feeling a little bit lazy, perhaps exhausted from the current coding marathon I’ve been on, and decided to post a question on Twitter and StackOverflow (SO for short).
Needless to say, my question went unanswered on Twitter, but it received 2 answers on SO that I can’t wait to try tomorrow morning, one which looks too simple and makes me skeptic but looks valid.
So, what did I ask?

Anyone out there know how to make your .net windows form app sticky/snappy like Winamp so it snaps to the edges of the screen?

The target framework would be .NET 2.0 Windows Form written in C#, using VS08. I am looking to add this functionality to a custom user control, but I figured more people would benefit from having it described for the application and its main form.

See the answers!
To paraphrase Jeff Atwood, of codinghorror.com fame:

When it doubt, make it public.

What I really like is also how other developers will actually “code review” the snippets and provide constructive feedback.

I’m all for saving time and frustration, so I enjoyed reading this hack by Craig Hockenberry to get around XCode’s Code Signing Identity:

The first step is to locate SekretApp.xcodeproj in the Finder and right click on the file. Select “Show Package Contents” to reveal the project.pbxproj file.

Now, open project.pbxproj with your favorite text editor and look for the Code Signing Identity. It will look something like this:
CODE_SIGN_IDENTITY = "iPhone Developer: Craig Hockenberry";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: Craig Hockenberry";

Change the identity to look like this:
CODE_SIGN_IDENTITY = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";

You also need to delete the embedded provisioning profiles.

So I’m about to “celebrate” 5 years at my current employer, which as I type this, I don’t know if I should disclose where I work, but regardless, my title or profile is of a Software Engineer.  I have a double major in Computer Science and Software Engineering.  And now I’m figuring out that I might have missed the right career path.

I am extremely detail oriented — I can spend hours looking through fonts and other styles trying to make things look “just right.” So now I am realizing I probably should of gone into a different branch of computing: User Experience or User Interface Design.

I have to say that what drives me the most is getting the human interaction just right, and enabling users to remove barriers in the software that keep them from being more productive.

So I can’t stress how important it is to me as a software developer, that creates apps for myself to use and for others too, to get the UI correct.  To simplify the complex and highlight the obvious.

I will try to share some of the lessons learned during my small tenior in software development, and any new ones that arise in my quest to become the best software developer I can be.

Who said you can’t be greener while cooking pasta? kottke.org found a great article on the NYTimes post regarding how people can save water when cooking pasta, and in turn, save energy and get a better tasting meal out of it:

McGee also comments that the energy equivalent of “250,000 to 500,000 barrels of oil” could be saved per year by using less water and the resulting pasta water is thicker and “very pleasant tasting”.

A friend keeps complaining that I should create a blog and post all of my interesting links there for others to see, as apparently, others are not as web savvy as I am (yes, I’m sure that’s the only explanation).

So today, I failed to gather all of my “interesting” links, but I managed to keep this one for those of you that care a tiny bit about opensource or OpenOffice:

Finally: Anti Aliasing is done for OOo 3.1!

This was one of the things that kept me from really going “full-retard” with OpenOffice, because although the documents open and you’re able to edit them, the little details (and I notice, I’m a perfectionist) get to you sooner or later.  I am a nut when it comes to playing around with new toys (read as software), and if it’s shiny or free, I’ve probably used it for over 5 minutes.