Music Management in Linux: Using EasyTAG

If you’re like me and you love music, you probably have thousands upon thousands of songs in your library. It’s good to have choices, right? If I want to listen to Led Zeppelin, then I should have that option. If I’m more in the mood for some instrumental folk music like John Fahey, I should be able to play it wherever I’m at. Managing the filenames and ID3 tags of such a library, though, is anything but easy. Enter EasyTAG, literally easy tagging and renaming for your entire music collection.

Continue reading

Installing Flash Player 10 Debug on 64bit Ubuntu

I just finished installing the Flash Player 10 debugger on my 64bit Ubuntu machine. All props go to “Me and Ubuntu,” with the article located here:
http://meandubuntu.wordpress.com/2008/08/20/flash-10-rc-on-ubuntu-amd64/

It involves using nspluginwrapper and some other libraries to emulate a 32bit environment for Flash Player to run in. Totally rad.

Vote for a Linux version of Flex/Flash Builder!

If you’re on the same page with me in wanting a Linux Flash/Flex Builder edition, you can vote for it here:
http://bugs.adobe.com/jira/browse/FB-19053

Make your vote and comments count! Even if you don’t use Linux per se, please vote for the issue. By doing so, you’ll be expanding and encouraging the Flex/Flash community to another OS!

Ubuntu: Record Your Desktop

For the longest time, I had been having problems using recordMyDesktop, which is actually a really nice desktop recording utility for Linux: Ubuntu in particular. The gtk-recordMyDesktop package provides a really nice front-end for the internals of the screen recorder.

Now, I’ve had far too many problems to list when using recordMyDesktop, so many, in-fact, that it basically made it impossible for me to do any real recordings. On Ubuntu 8.04 Hardy Heron (my first Ubuntu distro), recordMyDesktop was sketchy at best, and would basically fail all of the time. I could record reliably for about 10 seconds about 50% of the time, without audio. Luckily, it seems pretty reliable on my new Ubuntu 9.04 Jaunty 64bit distribution.

I recently bought a Plantronics USB headset by which to do my screencasts, and that has given me no end of troubles, until now. When I’d record my desktop in the past, the audio would be horrible, all jumbled and super fast: compacted into the first few seconds of the recording. Then I realized how stupid of a mistake I overlooked. I needed to set the kHz to the right setting. By default, recordMyDesktop uses 22100 Hz, which gave me horrible results. 44100 Hz gave me crappy audio too, but only after I punched in ’48000′ Hz did I get awesome audio.

This mistake of mine was especially hilarious because I used to do audio recording, production, and mastering all of the time using my Windows XP machine and Cakewalk’s Sonar 6. To this day, I still use Sonar from time to time, as it’s basically the best DAW available anywhere. (My main computer is kind of screwed up right now, but that’s another story.)

Basically, the point is this: if you’re recording from an audio source and getting jumbled, crazy-sounding audio, try different Hz/kHz settings and different bit-rates. This should go without saying, but hey, we all make mistakes sometime.

Ubuntu 64: Running Flex Builder

I can’t claim any credit on this one, but I got Flex Builder working on my new Jaunty distribution! I initially thought I should get myself a 64bit version of Eclipse and try to install Flex Builder over it, but that didn’t work.

Evidently, the solution is to get a 32bit JRE and get that running, then to modify Eclipse’s startup files to point to the 32bit JRE. Everything works great! I was basically able to copy and paste my old Ganymede from a 32bit OS to a 64bit one, with only a few modifications. Pretty dang cool. Anyway, here’s where the credit is due: http://rachaelandtom.info/content/running-32bit-eclipse-64bit-linux

As far as running a 32bit Flash Debug player, I haven’t given that the time to work on getting that to work. I’m for the moment satisfied to just have Flash Player work regardless. The 64bit standard player is working great for me, I haven’t had too many problems with it. Here’s hoping that I won’t have to get a 32bit Firefox to run the Flash 10 Debug Player :)

Ubuntu Day: Jaunty Jackalope owns my Computer

As you may or may not know. Ubuntu 9.04, Jaunty Jackalope, came out today. And what a release it is! I’ve definitely noticed the faster boot time and significant progress that the Ubuntu distribution has undertaken even since I first installed Ubuntu 8.04 only a few (maybe 6?) months ago.

I decided to give a 64 bit machine ago. This will be my very first 64 bit operating system that I’ve used in all my years (*laugh*) of using computers, so I’m definitely hoping for the best on this one. I read a bunch of mixed responses from a number of different people on whether to use 32bit Ubuntu or 64bit. Many said they installed 64 bit and never looked back, some complained that certain software was buggy, and most were just so-so on the matter. My main areas of concern that I need to address pretty soon are running a Flash Player 10 debug player (which doesn’t exist for 64 bit Linux yet), Java, and Eclipse. If I can make Flash 10 Debug run in browser at all, even if I have to virtualize 32 bit or whatever, that will be a home run for me. A debug player is pretty much mandatory in developing Flash Player applications, regardless of size. I hear that the standard Linux 64 bit Flash Player is amazing and runs extremely well. Here’s hoping that the same can be said of Flash Debug Player 10. I’m fairly confident that Java will run as expected, and I don’t worry too much about Eclipse — again, time will tell — but I do hope that I can find a way to run FlexBuilder.

Flex Builder is pretty much the only free way to effectively develop Flash Player applications on Linux at this point in time. Since it’s an alpha, there are some bugs, but once you get it running right, it’s nothing short of amazing… for Flex Builder. I’d love to get FDT, but until I crank out a really rad open source project and get it for free, I’m not going to be able to shell out $600+ for a development environment.

We’ll just have to see about all of this stuff, in time we’ll know how it all turns out.

But anyway, with the spirit of free software in mind, I wrote a really quick script for transforming your Ubuntu machine into [TK + Ubuntu =] TeekUbuntu, my own distro of Ubuntu :) Yeah, I know, it’s nothing special, just a bunch of packages that are configured and downloaded automatically for you, but it’s a start. Plus, I wanted to post this script somewhere so I’ll have a place to start from if I ever need to start with a new Ubuntu distro.

The script does a few things. It adds the Medibuntu repositories to your source list, it updates and upgrades your system, then it installs a bunch of packages that are really nice to have at hand. This script is meant to be ran as soon as you start Ubuntu for the very first time. Don’t use Update Manager, and don’t worry about it as it’ll keep popping up, this script will get all of the necessary packages for you and get you Teekified in no time.

Here’s a package list describing what each package is and does, so you don’t have to read it all from the script:

  • mysql-server, mysql-admin, mysql-query-browser: The MySQL server itself and a few really useful plugins for administrating the database, you know: adding and removing users, tables, schemas, databases…
  • python: Python… NASA uses it, why not?
  • openjdk-6-jdk, ant: Java JDK and Ant. Two completely necessary tools for Java development :)
  • apache2: Apache’s HTTPD server, pretty important.
  • subversion, libapache2-svn: Tools for using Subversion as well as integrating it with Apache HTTPD.
  • gnomad2: Software for managing Creative media players, adding songs, deleting stuff, using it as a portable hard drive, etc.
  • compiz, compizconfig-settings-manager, compiz-core, compiz-dev, compiz-fusion-plugins-main, compiz-fusion-plugins-unsupported compiz-gnome: If you don’t know what Compiz is, you need to check it out.
  • acroread, acroread-plugins: Adobe Reader for viewing PDF’s.
  • skype: Skype.
  • non-free-codecs: Non-free video codecs for playing encrypted DVDs and videos.
  • banshee: The best music manager program that I’ve found for Linux.
  • envyng-qt: Envy is a program for helping Linux users download and install the correct video card drivers for their hardware. Definitely a plus with compiz.
  • mplayer, vlc: Two awesome video players for Linux.
  • libdvdcss2: Again, more non-free DVD codecs.
  • ffmpeg: Surely you’ve heard of ffmpeg?
  • mencoder: A little bit nicer way to encode and transcode video files.
  • vboxgtk: VirtualBox for virtualizing guest operating systems right inside your host operating system. I’ll probably use it to virtualize XP at some point so I can use my PhatNoise car audio hard drive system… there are tools for Linux, but I haven’t explored them yet.
  • wine: Windows emulator for natively running Windows programs inside of Linux.
  • frozen-bubble: Probably the best game that was ever made to be free software.
  • ardour: Awesome DAW (digital audio workstation) for working with music mastering and production. Closest thing to Sonar that I’ve found for Linux.
  • azureus: Best torrent program for Linux, perfect for seeding Ubuntu releases!
  • gtk-recordMyDesktop: Record your desktop in Linux the easy way.
  • php5, libapache2-mod-php5: I can’t really stand using PHP, but often I have to. It’s dirty, quick, and it works, so PHP did make my list. Also includes the plugin for Apache HTTPD.
  • nautilus-open-terminal: A nifty plugin for Nautilus that allows you to open a terminal from anywhere in your filesystem with a simple right click.

Here’s the script:
teekubuntu.installer
Enjoy :)

Even though most things can be automated with Linux with nice and nifty scripts, some things just can’t. (Though I’m sure all I’m going to mention is possible.) Firefox plugins, Flash Player, Eclipse, Flex Builder, AIR, and DropBox are all programs I’ll just have to install manually. Really wish there was an easy terminal-based way to get these, but sadly they don’t exist in any repositories that Ubuntu can get a hold of, as far as I know.

And as for Firefox plugins, you definitely need StumbleUpon, Delicious, AdBlock, FaviconizeTab, and FullScreenHomestarRunner. Also, XMarks is awesome, they used to be Foxmarks. Basically they synchronize your bookmarks across computers running Firefox… OS independent. Nice.

Hope this helps encourage some of you to jump on the ball and get Ubuntu! Long Live Free Software!

-TK

Linux: How Tux Stole my Heart


Recently, I’ve been doing a lot of “work” on Linux-based machines, and for me there is no equal. As crazy as it sounds, a lot of Linux software out there just doesn’t have an equivalent on Windows or Mac. This post is dedicated to those who proudly shed their blood making Linux what it is today. This is coming from a 19-year Windows user, converting to Linux only a few short months ago.

I am so glad that I did. Here are a few reasons why any developer should convert to using Linux:

GNU Screen
Screen will save you so much time and so much headache. Screen is a freaking awesome program, small and simple, yet so powerful, kind of like what Ant did for Java. The concept is this: run multiple terminals inside of one terminal and make it possible to detach from terminals. What does this mean? Fire up a terminal, start screen, run a time-consuming process like a backup, and close your terminal window. Yep, it’ll keep running. Nope, no non-dev will be able to see that it’s running, and it’s not possible to “accidentally” terminals running under Screen. SSH to a server, start a few different processes (eg X-Server, VNC, Red5… whatever you want) and disconnect. The server (or your computer) will run these processes as long as your session is open. Don’t worry, you can close the SSH session, we’re talking about user sessions here. Today, I read that some guy configured his work computer to accept SSH connections, and what he’d do is this: on his long commute to work, he’d fire up his laptop, connect to the machine at work, start it doing some time-consuming tasks with Screen, then shut off his laptop, and when he got to work, everything would be done. Get some with Screen.

Linux is a LIVING Operating System
Some may find it hard to believe, but Linux was designed with ease in mind. Linux is constantly learning and growing. What if 95% of the software on your computer could update itself uniformly and cleanly? What if you could install common programs with one line of code in your terminal? Linux can. On Windows, installing Java and Ant are pretty time-consuming and take a lot of fooling around. When I first installed Java on my Vista laptop, I nearly ruined my OS. I was a n00b back then, and I accidentally wiped my PATH environment variable, which is kind of really important on Windows OS’s. Lots of stuff broke, and it was a complete nightmare. Installing Java on Windows kind of looks like this:
1. Go to Sun’s Java JDK download site.
2. Find and download the latest Java JDK.
3. Run the installer.
4. After it’s done, set the JAVA_HOME environment variable to the root directory of where you installed Java, eg “C:\Program Files\Java\1.6.X\”. (This is a chore in itself… environment variables are a major pain on windows)
5. After that, add “C:\Program Files\Java\1.6.X\bin” to your PATH environment variable.

Then, basically do the same thing for Apache Ant. Make sure it’s all working by running “java -version” and “ant -version” in a command prompt.

What about Linux? Run this line in Ubuntu and guess what? you’re done:
sudo apt-get install openjdk-6-jdk ant

Pretty significant difference if you ask me. Oh, and how about updates to software? When new software comes out, you are notified in one centralized place, you hit “install updates” and it runs. You get the newest version of your music player, Java, PHP, Python… whatever you have installed. You also get new updates to the Linux kernel, making your operating system more secure, fast, and stable by the day.

Linux is Terminal Based
It’s an operating system built by developers! Almost everything that you can do visually in Linux, you can do in a terminal. This makes for really nice shortcuts. Pop open a terminal with a keyboard shortcut, start a lengthy filesystem operation in a Screen session, close the terminal (or detach the Screen session), and pop up another terminal and keep hacking.

Linux (Ubuntu and Fedora at least) Support Keyboard Shortcuts out of the box
It’s super-nice to have keyboard shortcuts, let alone ones that run right out of the box. For me, I can open a terminal with Ctrl+Shift+T, I can start Firefox with Ctrl+Shift+F, I can get to my home folder with Ctrl+Shift+H… so nice.

Of course, this post could go on and on, but was largely inspired by my deep frustration over having to do with Windows today. Installing Cron on Windows was next to impossible, and installing a C/C++ compiler and Make on Windows was almost not worth it, especially when I can install Make on Ubuntu with one line in the terminal.

Oh, and did I mention that I’m posting this blog over an internet connection using my phone as a modem… from UBUNTU!? You heard it right. I’m connected to the internet with Ubuntu over my phone. Linux rocks. Until next time, here’s hoping I can get over my Linux saga and write a post on Red5 next time…

Virtualization: Using VirtualBox to run a different OS

Sun’s xVM VirtualBox product is pretty sweet. Imagine being able to test out any operating system from any operating system without causing any problems to your host operating system. All this is possible from Sun’s VirtualBox, and more.

I found VirtualBox when first trying to migrate over to Linux. I have always had my issues with Windows, but I didn’t want to wipe a computer and install Linux, or do anything strange with my startup and forge a dualboot system. After using VirtualBox for a little while to preview Ubuntu, I was convinced. Linux was and IS the operating system for me, in so many ways. In my own opinion, as a user of Windows for 19 years, Linux and its philosophy of free software is far superior to a system of ownership of ideas, proprietary software, and inflexibility.

I have noticed nothing but flexibility since moving to Linux, but that’s not what this post is about.

There are some things that I learned with VirtualBox that are important to take note of. Make sure that the hard disk you create for your virtual OS is more than big enough. A dynamically expanding hard drive that VirtualBox creates will expand… but only up to the size that you specify. I thought that ‘dynamically expanding hard drive’ meant that it would grow to fit whatever content that is on it, but that’s not the case.

I learned that the hard way after a whole day of downloading stuff over a 20 kbps connection. I filled up my hard drive in no time flat and I had nowhere to go, so here’s attempt 2.

Another thing that you need to do immediately is use the Guest Additions. Installing the Guest Additions will make your life so much easier. Afterward, you’ll be able to scale the guest OS up as far as your host will allow, rather than just keeping it at the default 800×600, which is really annoying to say the least. Guest Additions also remove the mouse grabbing nature of a virtual OS by default. After installing, you should be able to move your mouse seamlessly between host and guest, which is nice.

Afraid of using a new OS? Install VirtualBox and run it, without any damage to your host. If you can imagine this, you can create disposable operating systems that you can throw out at any time without any side effects.