I started using LaTeX while working on a qualifying paper as a graduate student at Rutgers.  At that point I was still using Windows and Word, and I just couldn’t get the paper to look like I wanted it to in Word, despite having used it for a decade and having taught it to high school students for a year.  That’s not to say that I couldn’t have done it in Word, just that even after a decade I found Word completely unintuitive and difficult to customize.  Switching to LaTeX made it possible for me to end up with a document that looked professionally typeset and appeared exactly as I wanted, with little explicit formatting on my part.  LaTeX also eased my transition to Ubuntu, since I could continue using TeXWorks, whereas I wouldn’t have been able to continue using Word (at least not without Wine).

Before I switched to TeX I was afraid it would be difficult to compose in, since TeXWorks and other TeX editors aren’t WYSIWYG, so you don’t see things like italics or font faces in the document you’re editing.  However, for me it didn’t take long to adjust to typing in the editor on the left side of the screen and hitting Ctrl+t whenever I wanted to see what the formatting looked like (Ctrl+t typesets the document and also saves it).  Another nice feature is that converts from WYSIWYG editors don’t have to give up their little red underlining for misspelled words.  You just have to have to right spelling dictionary installed and then tell the editor to use that dictionary (under Edit > Spelling).  Unfortunately, the current default version of TeXWorks for Ubuntu only comes preinstalled with spelling dictionaries for British and South African English (who knows why — the last default package had only Canadian English).  Oh noes!

Luckily it’s not difficult to install a new spelling dictionary.  What I was looking for is the US English dictionary — en_US.  This consists of two parts: en_US.aff and en_US.dict.  These files are included in the OpenOffice en_US spelling dictionary available here: http://extensions.openoffice.org/en/project/en_US-dict.  You’ll have to download the file, then extract the contents using, e.g., Archive Manager.

Once you have the two files (en_US.aff and en_US.dict) you’ll have to copy them to the correct location.  For Ubuntu this is /usr/share/myspell/dicts.  Copying to this directory requires administrative privileges, so I recommend copying them using the terminal (I’ve gotten myself into trouble using the Nautilus file browser as root).  To do this you’ll use the copy utility: sudo cp <file location> /usr/share/myspell/dicts.  In my case I had the files in my Downloads folder of my home directory, so the exact command I used was sudo cp ./Downloads/en_US.aff /usr/share/myspell/dicts.  Do this for both files, and you’re done!  After restarting TeXWorks you’ll be able to select the en_US spelling dictionary and spellcheck your work in US English.


May 18, 2013

One of the big changes for me when I was switching from Windows to Ubuntu was finding a new mp3 player.  I’ve always favored small, lightweight programs rather that the clunky stuff that comes bundled with pre-built computers and Windows (e.g., Windows Media Player).  I used Winamp for about 10 years, and loved it.  I organize my mp3s in individual folders because I have an inherent distrust of logical organization like virtual libraries or databases used by programs like iTunes and RhythmBox, so I wanted something simple like Winamp.  For this reason I was immediately attracted to Audacious (available through the Ubuntu Software Center), which has a Winamp mode that looks and feels a lot like Winamp.

Ultimately I abandoned the Winamp emulation for the standard Audacious skin.  It’s lightweight and easy to use, and you can easily customize what information about the song it shows.  Like Winamp, it has a small optional visualization app that sits in the corner of the program.  One of the key features I require in an music listening device (hardware or software) is EQ.  The main reason I never use any kind of cloud music apps or internet radio is because I can’t stand anything under 192kbps, and I can’t stand not being able to adjust the EQ on a song.  Audacious has a good 10-band equalizer and preamp, with sliders at 31, 63, 125, 250, 500, 1k, 2k, 4k, 8k, and 16kHz.  (If anyone’s curious, my current adjustments are +1, +1, +1, 0, -1, -4, -2, -2, +1, +1.  I listen to a lot of metal, so I tend to smile the EQ on anything I use.)

Audacious also comes with a number of built-in effects, with more available in the plugins section.  The two I use are the Crystalizer (set at the default 1.3), which makes the sound a little crisper, and the Extra Stereo plugin (also at the default 1.3), which increases the L-R panning just a little bit to give the music a bit more breathing room.  While I missed my old Winamp for a while, I’ve come to rely on a number of features the Audacious has that Winamp either doesn’t do or doesn’t do as well.  One I use all the time is the ability to have multiple tabbed playlists, modeled after tabbed web browsing.  And while I don’t have to worry as much about system crashes now that I use Ubuntu, it’s nice that Audacious continually updates its configuration settings, so if the program or even the OS crashes I don’t lose a single setting or unsaved playlist.  I’ve even reinstalled Ubuntu without losing unsaved playlist data.

While Audacious doesn’t have as many features as some of the heavier programs like iTunes or RhythmBox (which I use for organizing my iPod), it’s definitely my favorite program for just listening to music.


May 11, 2013

To anyone who knows me or has read the last few posts, this next sentence will probably be a shock: there is a Microsoft program that I love.  It’s called SyncToy.  It’s a very minimalist, very easy to use program to syncing folders between locations, and I used to use it as my backup program, where I would have it do unidirectional syncs from my files to my backup drive periodically.  It took me a while when I switched to Ubuntu to figure out how best to do regular backups.  Ubuntu has a few built-in utilities with good GUIs, but none of them were really set up to do what I wanted.

The main problem was that I wanted to do incremental backups of all my data — ALL my data, which between text documents, pictures, recordings I’m working on, and mp3s means ~2TB.  That’s the main reason I do incremental backups rather than ever trying to do a system image or full backup.  I’m not afraid of having to reinstall my OS since I’m not a business and down time doesn’t mean that much, but I’m extremely afraid of losing any data.  That’s why rsync works so well for me.  Rsync is a very minimal command-line program that syncs files between locations, and comes with a lot of options for how you run the sync; I highly recommend it.  Of course, backups mean very little if you don’t run them regularly.

Once I got rsync figured out I still had to learn how to get it to run automatically.  This is where cron comes in.  Cron is the task scheduling utility on Ubuntu and other *nix systems. In principle it’s similar to the task scheduler in Windows, but it’s configured very differently.  Like many if not most other Linux utilities, it’s meant to be run from the command line.  For most tasks you’ll probably want to run them as your regular user account, so you can access crontab, which stores user-specific scheduled tasks, by entering “crontab -e” in the terminal.

This will probably open crontab in nano (which I usually prefer to vi), depending on what your default CLI editor is.  The slightly tricky part of using cron is getting used to the syntax.  Instead of simply inputting a time, you have to input 5 numbers separated by spaces: the minute, hour, day of the month, and month you want the task to run, followed by a number to represent the day of the week.  After these numbers telling cron when to run the task, you enter the path for the actual command to be run.  If you have a backup script called “backup” in your home folder, the path would be /home/<username>/backup.  Asterisks are used in place of numbers if you want the task to run during every instance of that type, e.g., putting * in the “month” spot would run the task every month instead of a specific month.  I have my backup script run every night at 3am, so I have “0 03 * * *”: “0 03” tells it to run at 3:00, and the asterisks tell it to run every day (of week and month) in every month.