Starting the process of converting to Habari

I am going to start the process of moving this thing over to Habari. I am really not sure what will be broken when I am done, but I do know that my RSS feed link will be different. So, if you subscribe to my blog with a feed reader, the new feed location will be here. I will try to make it so that the old feed still works, but that may take a couple days.

Update: Now rocking Habari! Somethings might not work (if you find anything let me know). I do know that a bunch of old posts are going to show up in my feed because Habari’s Atom feed shows the 10 most recently updated posts, not the 10 most recently created posts. I needed to update a bunch of links on my old posts, hence the strange feed.

Fixing CRLF issues when applying patches in a multi-platform environment

In my role as a Habari developer, I have been increasing butting heads with the same issue. I do some development on my windows machine at home, create a patch file with TortoiseSVN and upload it to trac. Then, I arrive at my iBook at work and download my patch. When I go to apply it though, I get messages such as this:

physics-2004-19:~/Sites/habari bjohnson$ patch -p0 --dry-run < timelineSearch.patch (Stripping trailing CRs from patch.) patching file system/admin/comments.php (Stripping trailing CRs from patch.) patching file system/admin/entries.php (Stripping trailing CRs from patch.) patching file system/admin/js/admin.js Hunk #1 FAILED at 190. Hunk #2 FAILED at 230. Hunk #3 FAILED at 277. Hunk #4 FAILED at 385. 4 out of 4 hunks FAILED -- saving rejects to file system/admin/js/admin.js.rej

Patch is failing because it is not appropriately dealing with the way that Windows machines and Unix-based machines (including OS X) signify an end of line. On Windows, a newline is specified by a carriage return (CR) followed by a line feed (LF). On Unix, however, a newline is just a LF. The ‘patch’ command is somewhat intelligent in dealing with patch files created on a Windows machine, in that it converts all CRLFs in the diff file to LFs before applying the patch. The problem, however, is that the target file might also have CRLFs in it. This is frequently the case when working in a multi-platform development environment like so many open source projects. The fix: remove all CRLFs from the target files before applying the patch. An easy way to do so is with the ‘tr’ command. For example:

tr -d '\r' < admin.js > temp; rm admin.js; mv temp admin.js

Now apply your patch. Problem solved!

5 ball juggling - week 1

My progress in learning to juggle 5 balls after one week.

Guitar Hero is selling songs

I bought Guitar Hero 3 for the Xbox 360 about a week ago (I know, I am a bit late getting on the bandwagon). I find it to be a rather fun rhythm game, less exhausting than DDR (a minus, I like the physical craziness of DDR), but also a less familiar experience (a plus). I am stuck on medium difficulty until I get more familiar with the game.

Something that surprised me, though, as I was browsing the iTunes music store’s best sellers a couple days ago, was that many of the songs I had been playing in Guitar Hero were on the best sellers list. After a bit further investigation, I noticed that almost the entire song list of Guitar Hero 3 is on the 100 best sellers in the Rock genre of the iTMS.

Maybe I should not be surprised that Guitar Hero can revive interest in some great rock classics— it is a popular game and it features some great music. However, it does suggest something else… the makers of Guitar Hero now have a good argument that they shouldn’t have to pay to license songs for future Guitar Hero games, because having your song in their game will create a massive increase in demand for your music.

It also means that we have entered a time when video games are influencing music listening, and not in some minor way. Digital music sales have finally surpassed retail store sales, so when the top sellers on iTMS are from a video game, that indicates a big impact. It would be fun to see some real numbers on sales for these songs.

 1 2 Next →