I’ve been having a lot of fun at work recently using Spring 3 MVC, Twitter Bootstrap, jQuery UI, jQuery Mobile, and of course jQuery. Not all on the same project, but in a couple different projects I’ve been working on. Twitter Bootstrap has been really cool as a drop-in way of quickly making a pretty, clean layout. I love not having to style my tables manually, and the various spanX classes to have floating blocks a set percentage of the page wide are great. I’ll definitely be using Twitter Bootstrap in future projects; thanks for the suggestion, Joe.

It hasn’t all been roses and sunshine with work, however: Rational Application Developer is almost a daily nuisance. I love my job when I can just bury myself in code, but I have to argue with various IBM products. “Oh don’t mind me, RAD, I was just trying to edit that Java class. You go right ahead with that auto-publish to the server, even though I disabled that “feature”. I’m sure that modal dialog explaining how you’re publishing my not-yet-completed changes to the server is much more important than me actually fixing the class I was working on, before I then manually publish it myself.” Jon suggested I try intelliJ, saying it’s so much nicer than Eclipse, which is what RAD is based on. I haven’t tried that yet because I’m enjoying the project I’m working on, and don’t want to break my coding flow to get a new IDE setup and ready. Also, intelliJ isn’t free, though I could probably get my manager to spring for it if it worked out for me. I don’t know how easily I could integrate our Rational Team Concert version control with it, however. RTC is fine, and I’ve grown to appreciate it. It’s certainly nice having tight integration between IDE and version control, which RAD has with RTC since they’re both IBM Rational products.

If only RAD didn’t continuously piss me off… It seriously freezes or outright crashes on me a couple times a day. When I first open the program, it immediately throws up an error message in a modal dialog about how it can’t do something with local changes to my project. It’s because I haven’t logged into RTC yet, I think. Once I log into RTC, RAD calms down and shows changes I’ve yet to commit. I can’t figure out how to not make it do whatever it does that causes that error before I’ve logged into RTC, because it’s such a pain finding helpful documentation online for the program. A lot of times, Eclipse documentation works, though RAD uses an older version of Eclipse than the latest, which sometimes complicates things. Even when I find an IBM article that looks to address the problem I’m having, they’ll often say “expand x, hit y, and change z”, but I won’t have x, y is disabled, and my z doesn’t have the option they say to select. It’s super frustrating.

The latest issue in RAD I’ve been trying to solve is the sloooooow JavaScript editor. I can type out a line, say a new function declaration, and I have to wait for RAD to catch up with my typing. The lag is incredible. I’ll have finished typing and it’s still ticking one character along at a time, taking a couple seconds before everything I typed appears. I’ve tried to find a way to disable JavaScript validation, which was suggested online, but can’t seem to find that setting–big surprise.

Don’t get me wrong, when RAD’s features work, it’s great. I love managing WebSphere Application Server from within RAD now. I did recently have to go through the process of creating a new WAS profile, since apparently my default wp_profile was corrupted, causing RAD to display a NullPointerException error in yet another modal dialog whenever I tried to start the server from within RAD. My manager helped me get that fixed, however, and now RAD and WAS interact like the bosom companions they should be. I also love the formatting tool that’s just part of Eclipse; I hit Ctrl-Shift-F all the time. The auto-completion of HTML tags and matching braces is indispensable to me. I’ve been trying out TextMate on my Mac recently and just can’t seem to get into it. I would type out a <div class="foo">, go to the next line and type </div>, and TextMate wouldn’t figure out it should put that closing tag at the same level of indentation as the opening tag. I also dislike having to remember keywords for inserting tags, like typing opt and hitting Tab to get an <option tag. I’d rather type out the full opening tag myself and the editor automatically insert the closing tag. The formatter in TextMate also didn’t format my jQuery Mobile HTML page as nicely as Eclipse did, leaving the last lines still indented instead of flush at the left side, and putting newlines in at weird places.

Besides fun times with different web frameworks and issues with RAD, I’ve been trying something new with my daily music habits, too. A year ago, I listened to Pandora exclusively using my Pandora One account and their desktop client. Pandora has begun to disappoint me, however, with their lack of new features and the repetition I experience on nearly every one of my stations. I haven’t used it in months, instead turning to Turntable.FM. Now I’ve refined my Turntable.FM usage by incorporating Spotify and the Gimmie My Playlist Chrome extension. I pick a station on Turntable, use the extension to pull a list of the recently played songs on that station, and dump that list into a Spotify playlist for fine-tuning. It’s a great combination of music discovery, because the Turntable users find some really great music, and favorite-preservation. I listen to the playlist in Spotify, removing crap songs and sorting others into additional playlists, like my Current Favorites. I sprang for a Spotify subscription because I couldn’t stand the ads, and it’s great having the mobile app. Now I play exclusively Spotify in my car if I have to drive for more than five minutes. It’s wild to think that even a few months ago, I was relying on burned MP3 CDs and the radio for music while traveling, so I was constantly buying MP3s and burning them onto discs. It meant what I listened to in the car, which takes up a decent amount of time when I’m not working from home, was never all that recent.

I’ve also had good luck with Songza, though I wish it were easier to export entire playlists from there to dump into Spotify. The best I’ve come up with has been to manually search for a song in Spotify that Songza played for me. I was able to find good tracks via Songza from artists I’d never heard of before, like Skeleton by Felix Cartal. I’ve resumed scrobbling to Last.fm, and have been using the Last.fm app in Spotify to find new music based on Last.fm’s recommendations. Basically, I’ve been having a much easier time listening to exactly the songs I want, when I want, without having to have a computer and Internet connection available. Spotify’s offline-playlist feature is very helpful on that end, when I’m in the car and don’t want to use 3G or am out in the sticks. Discovering new music is much easier now that Pandora isn’t my only source; Turntable has pointed me at so many new artists and songs.