Minimalist Distros are the Way to Go (Not Ubuntu)

October 26, 2010

Ubuntu, the most user-friendly of the Linux distributions; Ubuntu, the harbinger of the day of the Linux desktop to the world; Ubuntu, the crowned king of all distributions; Ubuntu — the Operating System that has now killed my desktop for the third consecutive upgrade in a row.  This is ridiculous.  I have been an Ubuntu user and supporter since the seventh grade, when I first started using Linux, but this is just too much.  I know I’ve denounced Ubuntu and then reconsidered at least once in the past, but this is different, this is intolerable.

My final unfortunate experience with Ubuntu began last week.  I had just run the upgrade to the new release, version 10.10.  When turning the computer on in the morning, I had expected to be greeted by my customary desktop with maybe a new theme at the most.  However, I was welcomed by a bleak login prompt on tty1 — the command line.  The new upgrade had ruined my configuration so that the X server would no longer start the graphical display.  Fail.  Ubuntu has ruined my desktop three times in the last two years, not coincidentally in the wake of each six-month release.  That makes its record of stability in my experience worse than both Gentoo and Arch, each of which are supposed to be horribly difficult to use.

I’ve come to the counterintuitive conclusion that if I want to get anything done on my computers, I’ll have to use minimalist distributions with rolling releases.  The rolling release system is convenient and unobtrusive enough to not get in the way, while being reliable enough to not destroy the computer every few months.  Further, having an at least cursory knowledge of most of the things running on a system makes it a lot easier for me to troubleshoot in the case that something does break.  The legitimacy of this argument is confirmed by my experiences with Gentoo, Sabayon, Arch, and Ubuntu — the four distributions I use most often.

Both Sabayon and Ubuntu Linux work great out of the box, look good, and function smoothly.  They have a well-designed appearance and many flashy extras that other systems cannot boast.  However, when things get serious both of these distros fail to deliver.  First off, they apparently have problems when upgrading.  Moreover, it’s difficult to modify the system configuration without a very rational fear of causing an avalanche of errors to come down upon your head.  On the other hand, Arch and Gentoo have more involved installation processes (especially gentoo), and user interfaces that are as plain or intricate as you could want, assuming you know how to set them up.  Once in place, they work well, they work fast, and they work with you — you can configure them to whatever extent you want.

This brings me to my conclusion about Linux Distros: although the ‘user-friendly’ and ‘convenient’ distributions are great for new users who simply want to try out Linux or carry out simple tasks, the more an individual wants to get into Linux, the more they will find the need to gravitate toward the minimalistic distributions.  I’ve made the decision to replace my Ubuntu installation with Arch on the recently destroyed box.  Although I am heavily disappointed in what has been my favorite distribution in the past, some good has come of this experience.  The computer rescuscitation project led me to convert the desktop into a dedicated Apache server running several virtual hosts with various new and old projects.  Further, I stumbled on some scripts from last year during the file-saving process and continued work on the backup box I’d begun just before summer (it’s currently halfway done).  More news on my new projects later; for now, go replace your bloated underperforming machines with a simple, light Linux distribution like Arch.


Summer and Opolyish

June 30, 2010

So it’s summer.  At last.  We’ve been waiting for it all year and it’s finally here.  I’ve celebrated by playing computer games, going on social outings, and writing a simple in-terminal game called Opolyish.  Feel free to to try it out.  Hopefully you can have some fun with it.  It’ll probably be better once I put up a more complete set of configuration files so you don’t need to make your own.  A friend of mine has volunteered to add the ability to play over a network to it, so that should also be good.  I’ll keep you posted.

Opolyish aside, I’ve also studied for the Wifu course I’m taking.  It’s a class made by those who maintain Backtrack Linux, and it’s rather fun stuff.  After that I need to do some more miscellaneous learning and focus on algorithms and preparation for USACO, the USA Computing Olympiads.  Then I’ve got reading to do and summer homework to do.  That’s my summer in a nutshell, except for the various trips which I’ll be taking approximately every other week.

well, thanks for reading tonight’s post.  I’ll probably be posting about once a week but on no particular schedule throughout the summer.

I Need to Apologize to Ubuntu

June 23, 2010

A few months ago, I tried to update my existing Desktop Ubuntu to version 10.04, and I hated it.  All of my configurations were ruined, and it looked and felt downright awful.  I immediately made a fuss about how I was leaving Ubuntu and moved my desktop to Sabayon.  We have since seen what has become of my Desktop (see my previous post).  In despair, I decided I’d give Ubuntu another whirl, wondering if a fresh install would be better than my abysmal update experience.

And it definitely was!  The new Ubuntu is fantastic on a fresh installation.  From the attractive new branding to the innovative features and relatively bug-free experience, Ubuntu definitely holds its place as the most user-friendly Linux distribution.  I think the entire installation and configuration took less than an hour, but I was away from the computer a lot that day and could only check on it periodically, so I’m not sure about the aggregate installation time.  There were also a handful of features which I noticed for the first time after this install (some new, some that i just realized existed):

  • Music Store: The bundled Rythmbox music player finally has a real music store (not just Jamendo and Magnatune) that sells songs in MP3 format.  This is fantastic because I’m sick of buying music in proprietary formats and losing my music in a crash.  Chances of losing your files are reduced even more by the compatibility which the music store has with another feature, Ubuntu One
  • Ubuntu One: Ubuntu has a feature, called Ubuntu One, which gives users 2GB of free online storage (50gb for $10 a month) that can be used to sync files between computers, backup data, share files with other Ubuntu One users, and even automatically keep copies of your music from the music store.  Although I haven’t used this much, I can see how it could be extremely useful for people who buy lots of online music, have multiple ubuntu computers, or need to back up/synchronize things like email contacts.
  • “Me” Menu: This release has introduced Ubuntu’s new ‘me’ menu.  The me menu is a menu in the taskbar at the top right of the screen that allows for easy access to things like, chat, email, and social networking.  It gives quick access to the empathy chat, evolution email, and gwibber social networking clients.  This is a great idea and works well enough, but I’d like to see some improvement in it for future releases.  It’s not that it doesn’t work, but the software that is incorporated into the menu is not ideal in my opinion.  I’m not a big fan of evolution email or gwibber, so I would prefer different applications to be integrated into the menu.
  • Ubuntu Software Center: The Ubuntu Software center has become much, much nicer than it was in the past.  It’s really convenient and good-looking now.

So this is yet another victory for Ubuntu Linux.  Now is a great time for everyday users to switch to Ubuntu from Windows or Apple OSX because there is finally a linux distro which not only matches the other operating systems in most areas but also surpasses them in innovation of useful features.  I should never have doubted a solid distribution like Ubuntu.  It may not be as easily configurable or minimalistic as my favorite distro, Arch Linux, but it is the hands down best choice for new Linux users or people who need stable systems.

Sabayon Linux: Great Until You Update Something

June 12, 2010

Before I begin, let me say that I hold no ill will for Sabayon Linux.  In fact, it is near the top of the list of my favorite Linux distributions and the second most user-friendly distro I’ve ever used (the first being Ubuntu).  Sabayon has an excellent feature set, plenty of pre-installed software, and it works out of the box!  It is such a great distro that I have installed it four times despite its failing at the hands of the same problem each time.

I currently use Sabayon on my Desktop machine, but I used to also have it on my laptop.  I use it as my quick and easy computer if there is some task which I don’t really know how to do because Sabayon has most of the software needed to do anything on it by default (as opposed to the minimalistic arch linux on the laptop).  It works great, with a single exception: updating can be a risky procedure.

Most of the time, it’s fine to update.  Sabayon, which is based on Gentoo, even has a great binary package manager, entropy.  However, there are certain times when updating is surprisingly un-user-friendly.  If you update your kernel version, you need to manually get all the drivers for it.  Not being aware of this caused me to experience an unfortunate crash several times.  Most recently, I allowed the package manager to update one of my configuration files (I hadn’t made any changes to the file, so I figured there was no problem).  Bad Idea.  The next time I booted up the computer, ther X server would not work.  This means I’m stuck on the command line, which isn’t much of a short term problem, but I’d eventually like my GUIs back.

After spending some time trying to get stuff back to normal, I just decided I should switch distros.  Now I have to pick.  I’m looking at Ubuntu as my first choice right now, but I didn’t like the newest release (which is why I started using Sabayon on that computer in the first place).  Maybe I’ll like it better after having had a break.  My other options are Gentoo and arch, so Ubuntu is the way to go if I want it to be easy.  I’ll keep you posted on what happens with the Desktop.

My Fancy New Watch that Plays Movies

June 3, 2010

My birthday was a couple days ago, and I got a series of very unique gifts.  The usual gift cards aside, I’ve been given three movies, two books, a stuffed animal, and a watch (and money to enroll in a class).  The Movies are Tron, Wargames, and Hackers; all excellent films if you need something to do.  I’ve not yet made a dent in either book (one is still on its way here from amazon), but they both look good.  One of the most important gifts was the foot-tall stuffed tux (the linux penguin).  He is currently sitting here on my desk and keeping me company.  Lots of fun.

My final gift was a watch.  Now this was no ordinary watch.  This watch plays movies and songs, displays images and text files, records audio, has a few little games, and acts as an 8GB USB drive.  It’s a super-amazing watch.  I am yet to actually wear it (The band needs to be adjusted), but I can’t wait.  It’s currently charging.  The downside of having all those features in a watch is that it has something between 1-3 hours of battery life.  It makes up for this by turning off the display and only giving the time when a certain button is pressed (it’ll be a weird site for people who walk by and see my faceless watch).  A particularly amusing feature is that the watch comes from an obscure chinese company and is called an mp4 player on the box.

You may not be familiar with cheap portable chinese multimedia gadgets, but they have the most cryptic manuals in history.  The translation was so bad that one of the issues on the troubleshooting page was ‘promiscuous words.’  Also, very few sentences had completely correct grammar.  To make matters worse, the pictures provided had chinese text in the dialogue boxes.  You may think that this made the process of setting up the watch a pain, but it really made it so much more fun.  The interface was really easy to figure out.

One detail which I feel others should be aware of is that many of these devices of chinese origin only support the .mtv file format (designed to avoid having to pay royalties for the other formats), so you need to get a converter to change your files to mtv files.  Although they do give you a cd with a converter on it, it is for windows only.  You can get converters to work on linux through WINE (the linux windows compatibility layer), but it’s a pain.  So much of a pain in fact, that I think I’ll just have to use someone else’s windows computer to convert my videos (for now).

In any case, I’ve had excellent fun these past few days, and I hope it continues despite the imminent final exams.

My Amazing see-through Tape Wallet

June 1, 2010

Today I’m going to talk about something a little less technical than usual.  However, this experiment does have the ‘hack value’ which I usually pursue.  After working with my robotics team for the better part of the day, as we were about to get ready to go home, the other captain stayed behind to help me clean up.  After talking about matters of club business for some time, our conversation wandered.  At some point, he showed me his wallet for some reason, and I noted that it was made of duct tape.  I then mentioned that I needed a new wallet and asked how to make one out of duct tape.  As we were getting the stuff needed to make the wallet, I noticed a roll of packing tape sitting on the table from earlier.  This gave me an idea.  I could make a clear wallet from this tape.  Not caring that this would mean anybody could tell how much I’ve got, I decided to go ahead with my new plan.

Tutorials on how to make wallets from duct tape are all over the web, so I won’t talk about how exactly I did it here.  However, I’ll tell you about some fun stuff I did with y wallet after making the basic money-holding compartment.  Obviously I made ample pockets for cards and whatnot.  Then I got creative.  As I mentioned when Talking about my indispensable USB toolkit, I always keep some stuff handy on a USB.  Also, I used to keep my house key in a separate pocket in my old wallet.  I decided that I’d add more mini-pockets for a USB and a key.

Now my wallet has holders for a USB and keys.  A testament to the epic power of creative ideas. 🙂

Irrelevantly, Wargames is a great movie!  I’m watching it right now for the first time in a couple years and its distracting me from this post.  Anyway, I’m off to sleep after a few more moments.  Happy Memorial Day!

Miscellaneous Stuff I’m Working On and My Site

May 30, 2010

Well, you may have noticed that I have as yet failed to post today, and it is rather late.  This is because I spent all day at a festival and had no time on my computer.  Yes, believe it or not, I don’t always live behind the screen.  Seeing as that it is beginning to become morning and I have a day of work with my robotics team ahead of me, I dont really have the time or energy to write a detailed post on some piece of technology, so I’ll just start out by giving you a rundown on a bunch of problems I’ve been working on and then go on to talk about the content on my web site.

  • For starters, my laptop has this issue where it takes a long time to start applications the first time after booting, and some of the other applications fail to start properly or have weird pauses.  I’ve been working on this intermittently for weeks now and have so far been unable to figure it out (which is a really rare occurence for me).  If anyone can give me a hand, I’m running fluxbox on arch linux on a thinkpad t60p
  • It occured to me yesterday that I would like to run linux on that old ipod I don’t use.  I looked it up, and sure enough there is a project to get linux on the ipod.  Unfortunately, the ipod I have is unsupported due to changes in apples encryption stuff.  There is a project to get linux working on my device, but it has not progressed too far yet.  If you have an old ipod, try it out and tell me how it goes.
  • I’m trying to move my printer from being connected to my desktop to my server box.  I’m having trouble with this.  I think a post I plan to do later on will explain why this is being an issue for me, focusing on the nature of the server.
  • Inverted Productions has made some decent web games that are definitely worth checking out.  It’s all the more impressive when you know that their entire team is made up of high schoolers.

Well, that’s enough of that.  The last thing I’d like to talk about is my own personal web site, (previously known as  I’ve just recently restarted it after a hiatus of a few years, and it is not yet at 100%.  That said, I’m putting up more content all the time, so please check back on it often.  Currently, there are sections for tutorials and then ‘my stuff’, an incredibly vague category which presently encompasses the two scripts I’ve featured on this blog.  I would now like to share with you some of my plans for expansion on the site.

I need to finish the Java tutorials.  I’m making these tutorials to benefit the computer science students at my school who are stuck working with a very bad textbook.  Part 1 of 5 is currently complete, but I’ll get to the rest soon.  The super quick-start guide for BASH scripting that I promised last week is also in the works, with part 1 of 2 completed.  My linux getting started guide is actually completely empty, largely because it is such a wide subject area that I don’t really know where to start.  One simple howto that I have completed is my guide on how to save a game in nethack even if your character dies.  Although they are mostly incomplete, I’ve put what I have up for now.  Future tutorials will include an introduction to programming for the FIRST robotics competition for the benefit of my school’s robotics team programmers, a getting started guide for nethack, and a basic tutorial on the vim text editor, among other things.  In the ‘My Stuff’ page, I’m going to add a personal info page for you to get to know me better.  I also intend to put up essays and other pieces of writing that I compose, in addition to screenshots or pictures of adventures that I may have (after all, it is a personal site).

Now that I’ve written the last bit of my energy into this task, its time for some sleep.  Or maybe not.  I have some interesting reading to do (and a website to work on).

My Indispensable USB Toolkit

May 28, 2010

Many people carry around a USB stick to store and transfer files from place to place.  It is a crying shame that most of them are not aware of the incredible powers latent within their USB sticks.  The worst part is that much of this power is sitting right under their noses, untapped and wasted.  Lucky for you, I plan to give a quick description of what I do with my thumb drives, hopefully inspiring you to push the limits of your own flash drive.

The first, incredibly obvious, thing that you can do with a flash drive is to put small programs on it that you can take with you.  For example, I keep nethack (a game that features prominently in my post on gaming in linux) on my flash drives for use any time I’m stuck with a computer and not  much to do.  This happens an awful lot at school.  Others with more modern taste in games keep halo or starcraft handy (on a related note, I would really recommend the computer science classes at my school).

Although carrying around games in your pocket is fun, it’s not always really useful.  A much more useful tool to have around is a Putty client.  Putty is an ssh client, meaning that it allows you to connect to a secure shell (ssh) server on any computer, anywhere.  This means that if you’ve got an ssh server running on your computer (I do, makes life a lot easier), you can simply remotely log in from anywhere.  Need some obscure tool that you’ve only got on your home machine? Got it.  Forgot some important file? Found it.  Not only does this method give you a great deal of peace of mind, but it also causes everybody around you to ask you if you are hacking.  For some reason there is an unbreakable connection in the public mind between terminals, like the remote command prompt putty gives you,  and malicious computer use.

It is a distinct possibility that at this point you’re thinking that you a) already knew this, or b) have no use for it because you may not have an ssh server or don’t know how to operate a computer remotely from a command prompt.  Don’t give up on me yet, I’ve saved the best part for last.  You may or may not be aware that most newish computers and USBs give you the option to boot from a USB drive in much the same way as you could boot from a CD, Floppy disk (remember those?), or even a typical Hard Drive.  This means that you can install a whole operating system to your USB stick and boot it up anywhere you find a computer!  You can configure the operating system on the USB as much as you like and always boot into a familiar environment with all of your programs and settings already loaded, no matter where you go.

Personally, I have an 8gb usb  with BackTrack 4 (a Linux distribution dedicated to providing a platform for penetration testing) installed on it.  You can find an easy tutorial on how to do this here.  For brave souls who are undaunted by gentoo linux (the most configurable and therefore most difficult to set up linux distribution out there), my friend Jeff installed gentoo to his USB drive when his laptop’s hard disk gave out.  He now uses that as his primary operating system.  Although I haven’t tried them all myself, I believe you could install any Linux distribution to a USB drive.  In fact, I plan to set one up sometime soon with a basic arch linux configuration — I’ll let you know how that goes.  Another option, if you don’t have a massive USB stick available, is to go with Damn Small Linux (DSL).  DSL is a distribution that is commited to providing a functional environment that takes less than 50MB of space.  For a slightly larger variant, try DSL-N, DSL’s big brother.  I also plan to get myself a DSL usb stick, so I can have a different linux distro ready for any situation.  In fact, the options for installing Linux to a USB drive are so plentiful that there is a whole website dedicated to it.

As a final housekeeping note, you’ll note that the URL of my website has changed from to  Although still works for now, it is going to be phased out, so you should update your bookmarks.  I’m having some trouble getting my email and blog addresses changed, but I’ll make sure to let you know when I finally figure that out.

Gaming in Linux

May 25, 2010

Although I’m not a big gamer, I feel that I should write a post about gaming in Linux because that is one of the main reasons why people choose not to switch over from other operating systems.  Of course, this is not actually too much of a problem.  There is an excellent thing called WINE (which stands for ‘wine is not an emulator’) that acts as a windows compatibility layer for Linux computers.  This means that many games built for windows computers can actually be played on Linux as well.  Unfortunately, there are a few games that do not work or only work after lots of suffering and configuration-changing that seem to ruin Linux’s reputation as a platform for gaming.

Windows compatibility aside, there are a host of games that run natively on Linux.  Although they are not all as elaborate as the expensive PC games people buy, they are still fun and free.  I figure I’ll share a few of the games that I enjoy having around as well as a couple others that may hold some appeal.  First off, there is nethack.  Nethack is perhaps the original role-playing game.  It allows for expansive gameplay and hours of suffering (it is notorious for the infinitely many ways you can die).  It is played in the terminal and everything is represented by different characters, an indication of how old it is.  It has something of a learning curve getting started, but once you learn how to use it, nethack becomes one of the most fun and addicting games around.  Did I mention that if you die, you actually die?  Yup, no restoring save files without cheating (maybe I’ll briefly explain how to keep nethack progress in a later post, it’s rather simple).

Another game, and the one that most sources will designate as the best game available for Linux, is the Battle for Wesnoth.  This is a turn based RPG based in a fantasy world, but you can download many additional campaigns and themes, allowing for phenomenal replay value.  Another strategy game you could try is Freeciv, an excellent clone of civilization II (build an empire, conquer others, etc).  If you are a fan of shooter games, the US government (that’s right) has developed a game called America’s Army.  I’ve never played it, but I hear its pretty good.  It appears right behind Wesnoth on many top 10 linux game lists.  A more lighthearted RPG game is FreeDroidRPG, a game in which you play as a member of a penguin-esque species tasked with saving the world from evil robots.  The game is still under heavy development, but what they have so far allows for a couple hours of fun.

Some other notable linux games include SuperTux, a super mario bros imitation featuring tux, the linux penguin.  On that same theme there is Supertuxkart, a mario-cartish game featuring tux and his other open source mascot friends.  On a distinctly non-mario-poser line, there is LiquidWars, a unique game in which you control a big blob of what looks like colored sand, and you try to conquer all of the other sand.  It’s very difficult to explain, but quite a bit of fun to play, especially with friends.  Finally, Neverball and Neverputt are worth trying.  The first is a game in which you roll a ball and try to pick up coins without falling off a platform (like Mojo, if you ever played that on the PS2), and the second is a mini-golf game.

There are many, many more Linux games, but that’s all I have time for right now.  Granted, these are not quite as complex as some PC games, they are definitely satisfactory for me (I don’t play much video games, although I do keep an old PS1 attached to my desktop monitor for whenever I get bored).  If you are simply unwilling to begin using Linux but still want to try out the Linux games I’ve mentioned, don’t despair.  Most of these games are also available for windows and sometimes mac users as well.  Happy gaming!

Of Backups and BASH

May 23, 2010

Anybody can save backup copies of all their files somewhere for later retrieval, but when I planned to backup my files, I would not settle for a simple run-of-the-mill backup plan.  I would come up with a new and innovative system full of hack value goodness.  I had the idea of setting up an old computer with a large hard disk and writing a script to execute when the computer booted.  This script would download all of my important files from my other computers and save them in a compressed file identified by the date of the backup.  It would then wait ten or fifteen minutes, time for me to remotely log in and kill the script if I need to make configuration changes on the computer (or retrieve one of the past backups), and shutdown.  In essence, I planned to create a magical box on which I could push a button and have all of my documents backed up without any effort on my part.  It was a great idea, and I couldn’t wait to try it.

Unfortunately, the poor resources at my disposal prevented me from succeeding.  The computer that I wanted to use for this project was very, very old and, as it turns out, unreliable.  I couldn’t get anything to work on it.  In fact, it was such a rotten machine that I just took out the dvd drive (I always seem to have a shortage of those) and threw out the rest of it (and I’m not one to throw out computers at a whim).  It was a sad evening for me, but I did not give up all hope of having my files properly backed up.

The decision was made that I would write a backup script that would run on my desktop  (the one with the largest hard drive).  I finally got around to doing it last night around midnight.  My final product:


now=`date '+%F'`
mkdir "$now" #make a folder for the date
cd "$now"

echo 'making backup directory'
for places in laptop desktop server #make direcoties for each machine
mkdir $places

#now we have to pick out the important directories in each computer
#we'll copy those directories here, and then we'll compress the whole thing
#include command line options to include the desktop

echo 'copying server files'
scp -r server:/var/www/ server/
echo 'copying files from laptop'
scp -r laptop:/home/saba laptop/

if [ $# == "1" ]
if [ $1 == "-d" ]
echo '-d option enabled'
echo 'copying files from desktop'
scp -r desktop:/home/saba desktop/
cd ../

tar -cf "$now.tar" "$now"
gzip -r "$now.tar"
rm -r "$now"

exit 0

The script is available for download on my website at  There is also a short description of what the script does and how to make it work for you at the aforementioned link.

As you can probably see, I’ve gotten better at scripting since my updater script last week.  I owe it to a long series of web searches and the reading of many documents last night.  In order to help others who are trying to write a real script for the first time, I’m going to make a BASH scripting super quickstart guide and publish it on the tutorials section of my website.  Expect that to be up in a few days.