Easily Switching JDKs
Development environments can get fairly complex, and making sure you’re using the right version of some library or another can be annoying on the best of days. I have a situation like that where my "day job" requires (still, and hopefully not for much longer) JDK 8, but my side projects, learning efforts, etc. can use a more modern version.
Years ago, Charles Nutter shared a shell script he uses to switch JDKs. I’ve been happily using it, but I’ve made some minor tweaks, so I thought I’d share my version here in case it helps someone (and make it easier for me to find in the future ;).
UPDATE: It seems the original author is Nick Sieger. Thanks to you as well, Nick, for a great little utility!
Syncing Playlists with Android Devices
While I love my Android devices, one thing that has always bugged me is syncing music with them. Sure, there are some apps that claim to be able to do it, but I’ve never found one that will do what it says and be a decent music player at the same time (perhaps someone out there can point me to a good one). For the most part, then, I’ve settled on Banshee (which, as far as I can tell, doesn’t sync, but is a decent player1). Here, then, is my very manual process for syncing music.
Writing Bash Scripts with Parameters
In the course of my work, I often find myself writing a script to automate a routine task. Almost invariably, there are cases where I need the script to behave in slightly different fashion, but only occassionally. My early scripts rather crudely used one
ifafter, which is not very elegant. Finally, after tiring of this clumsy approach, I searched for a better way and found one:
getopts. In this shortish entry, I’ll give a very brief introduction to
getopts, and show how I write my scripts now.
Adding SCM Branch Information to Your Prompt
UPDATE: I’ve modified the scripts and prompt settings to be a bit more intelligent
Today, a coworker sent me a link to an old blog post about adding git and svn branch information to your prompt. As awesome and helpful as that was, my first thought was, "What about hg support?" followed quickly, if not somewhat embarrassingly, by, "What about CVS support?" Thinking it would be quicker (and more fun) to hack than to google, I added both. The end result is this: