// elrepositorio the random musings of Jeff Forbes

29Mar/080

Cool Tech: MacFUSE

So, no one reads this blog but I thought I'd start a small series of posts that consist of things I come across: thus the category "Cool Tech".

What I'm writing about today is a pretty neat technology that I learned about only recently: FUSE. This, like all technology is an acronym that stands for "(File-system in USErspace)" and really has a lot of great potential in regards to how we interact with various sets of data. We, as users think of moving files around between directories in a hierarchy that we're all used to. Now, using this set of frameworks we can treat things that may not normally be treated as a FS as something we can now browse and interact with in a very easy way.

29Mar/080

WordPress 2.5 Upgrade!

Well, that was the easiest upgrade I've ever done.

Following http://codex.wordpress.org/Upgrading_WordPress, I managed to set up 2.5 in a matter of 10 minutes. Most of that time was copying files! Overall I am pretty impressed with the new interface as well. It seems more cleverly laid out that before and I guess more "Web 2.0'd".

I don't see the pretty new editor because I write in strictly awesomely poor HTML, but still I do like what I see. Good going most popular CMS on the Internets!

Filed under: Random No Comments
28Mar/080

Let’s all take a moment to remember how awesome…

This guy is:

The Creator of Awesome

Meet Herb Peterson, the creator of the Egg McMuffin. Originally reprimanded for going against the McDonalds franchise agreement (that is, creating new stuff behind their backs), they probably ate the sandwich and how damn stupid they were to do anything of ill will to this man.

Imagine a world without this delicious sandwich, or something greater: the Sausage McMuffin with Egg. Wait -- no, I don't want to imagine that. Forget it.

28Mar/081

NSXMLParser, initWithContentsOfURL:, OSX 10.4 and 5 and you

So, API does change between OSX versions.

RhapsodyX has been released for a total of 24 hours, and it turns out that there was a huge Tiger bug -- it didn't even load. Apparently a new message was added to NSMenuItems allowing you to get the view of an item. I was using this to ensure that nothing was updated while the view was visible. If you do, this can cause crashes.

That fix worked -- I hadn't gotten a crash related to that problem since I made the change. Unfortunately, it also turned out that this message doesn't exist in Tiger. Of course since I did a basic usability test on Tiger before release (without connecting) I figured everything was good to go considering I was compiling on a 10.4uSDK (Tiger API). Well, I was wrong.

One thing that I missed is that there was a problem with NSXMLParser's class method initWithContentsOfURL. I believe that the Tiger version of this API does not have the capability to use a web URL to go through the steps of opening up a socket, making a HTTP request, downloading and then parsing, thus giving a fantastic null result. It took a good amount of time to figure out the problem because I was effectively Black Box testing my app since the Tiger machine I was using had no XCode installed. I figured it was a different method of the NSAutoreleasePool possibly releasing things earlier on Tiger than I had expected, but it was the URLs all along.

I moved to another set of APIs that leverage WebKit - thus the 1mb increase in executable size. The program now uses NSURLRequests and NSURLConnection to download the data from Rhapsody's servers. Here's the set I used instead:

NSURLRequest* chRequest = [NSURLRequest requestWithURL:[NSURL URLWithString:url] cachePolicy: NSURLRequestReloadIgnoringCacheData timeoutInterval:10];
NSError* theError;
NSData* response = [NSURLConnection sendSynchronousRequest:chRequest returningResponse:nil error:&theError];

Pretty simple. A few things to note are that this method would also fail provided the program did not get new data every time; this was fixed by the NSURLRequestReloadIgnoringCacheData constant, forcing it to reload every time. Additionally, I changed the timeOut interval just in case so that the program didn't get stuck waiting for a response on a slow server. This minimizes problems, hopefully.

Well, there you have it. Thankfully, it works now. At least on my Tiger test computer... hopefully it also works on yours!

Filed under: Programming 1 Comment
27Mar/080

RhapsodyX is 1.0! Well, actually 1.01…

RX Screenshot!

UPDATE 3/28: Fixed a crasher for Tiger users, and problems with URL downloading. Whoops!

Well, the last few things that needed to get done are now done. RhapsodyX is 1.0! The you can download the dmg here:

RhapsodyX 1.01n (DMG, 2.5mb) http://www.elrepositorio.com/rhapsodyx/RhapsodyX_1.01n.dmg

A quick refresher: RX is a program that resides in your menubar that scrubs your "Recently Played Tracks" on Rhapsody.com and submits them to last.fm. Why do we want to do this? Last.fm is a neat social networking service that allows you to meet people with similar tastes to you, and also to get recommendations for new music based on what you listen to. It's pretty neat and since we do most of my listening on Rhapsody we miss out on the social networking fun.

Well, not anymore! With this app (which should be Universal and 10.4/10.5 compatible) you don't have to be left out in the cold :) A real webpage is forthcoming, but in the meantime this blog post will do.

Also: Friend me on Last.FM! http://www.last.fm/user/MasterJeef/

Filed under: Programming No Comments
25Mar/080

Just in case you didn’t know…

Kansas City is in Missouri.

25Mar/080

Growing Pains

So far, it's been pretty interesting getting this server up and running -- this is the first time I've ever had to do something of this complexity as far as servers go. It's really nice to have this kind of flexibility but that does come at a price, and things are a bunch more complicated now. That said, I'm almost done getting the important stuff out of the way so I can get back to work. I've done (and learned how to do) this in the last 24 hours or so:

  • Migrated DNS servers -- first time I've ever had a to change A/MX/CNAME records before in respect to DNS
  • Migrated Dreamhost websites (recreate SQL database, migrate over and configure PHP)
  • Created VHost for cg2.elrepositorio.com
  • Set up postfix and courier-imap, and sasl2 for setting up mail to and from elrepositorio (almost done, it's probably the toughest thing to do)
  • Migrated over svn repositories from both cg2 and elrepositorio, and also from http to native svn:// urls

So, overall pretty busy. Still, the server is so damn fast that I'm still happy I ended up doing this. Almost time to get back to my real work though!

UPDATE 3:35pm 3/25: Well, now my postfix/imap problems are fixed, my SVN repositories are responding as I want them to, and I have iptables rules in place! She's all set now! Relief.

Filed under: Uncategorized No Comments
24Mar/080

New Host!

So, I got sick of DreamHost being crappy, so I moved over to a VPS (Virtual Private Server). What happens now? This means that I have a whole virtual machine to do my hosting. I'm guaranteed certain things (CPU and 256mb ram) and my vendor says they'll never oversell. Sounds pretty great to me. The company that's doing the hosting is http://slicehost.com, and they seem to be a pretty good bunch of people -- but most of all, it seems to me that the best part of this whole thing is that they give you the server and say "Good Luck!" and that's about it. I've had to do a whole bunch of emerging (I am running Gentoo on my VPS) and now I've just got the httpd/php/mysql setup.

What's left? SVN and Mail are pretty important too so I'll hopefully fix those up in the next few hours (or days).The message is clear: I'm damn happy to have this service. Can't wait to get things running exactly the way I want.  

Filed under: Daily Update No Comments
24Mar/080

Video Game Music — Yes, I’m lame

Today, I've been being pretty unproductive by listening to a bunch of older Videogame music on Youtube. User SupraDarky created a bunch of Youtube videos that have all of his favorite older VG music. I've been clicking through to his others (There's over 170) through the Related Videos section. Turns out he has pretty good taste. Most of the games on here I've played and are really special.

Start with one of the best games ever, Chrono Trigger and work your way through: http://www.youtube.com/watch?v=bNzYIEY-CcM&feature=related 

Also, in playing Super Smash Bros. Brawl! I've decided my favorite track is Flat Zone 2 which can be listened to here: http://www.youtube.com/watch?v=zfwkeWhW68g.I think the composer did a really good job with taking the Game and Watch sounds and making them into a nice track. Good Going. 

Filed under: Uncategorized No Comments
21Mar/080

Fridays!

Another week goes by, as I get closer to my trip. I'm thinking I can finish my new iPhone project, and my website before then. Here's hoping! So, this is what I've done over the last few days:

  • Created an Icon for RhapsodyX - additional small fixes.
  • Laid the groundwork for my iPhone project. 
    • In doing so, I ported over some sound player code (Using the AudioQueue framework) that worked flawlessly on the phone. I for one am shocked.
    • Fixed up some graphics, reencoded some sound
  • Some very, very small work on my website. Web development is boring.

I ended up picking up Smash Bros. Brawl earlier this week. It's quite good -- look for a full review sometime next week (after I beat Subspace Emissary). I'm not really a fan of fighting games so I'm really interested to play more so I can have a final opinion of the game. Regardless, it's packed with features and with friends is a blast to play.

Finally, I made some bread earlier in the week! It's delicious.

Bread!

Hope everyone has a nice Easter! 

Filed under: Daily Update No Comments