Tuesday, December 27, 2011

Ubuntu on MacBook

Since my 21-credit-hour semester ended, I've had a little more time to tinker. In preparation for my trip to France, I wanted to install Windows and Ubuntu on my MacBook (model 4,1) so I could have all three major operating systems on my computer so I can develop for any platform (or use iTunes to rescue my iPod and Photoshop as there isn't anything on Ubuntu that really compares).

I followed this tutorial to set everything up (I got a free Windows 7 license from my school's CS department which pays for licenses for students--Microsoft's online support was incapable of allowing me to move my license from my old hardware to new hardware, even after me being on the phone with them for 3+ hours). There were a few minor hiccups with rEFIt (a necessary piece of software used to allow non-OSX operating systems to run on a MacBook)--it had a tendency to not boot correctly but the problem evaporated for no apparent reason and it seemed the problem was pretty rare anyway.

Because I used rEFIt instead of BootCamp to install Windows 7, I'm having a driver problem preventing me from scrolling or right-clicking with the trackpad--making Windows 7 even more frustrating to use.

Lately I've been using Ubuntu 11.10 exclusively and I'm incredibly happy with it. Many of the usability bugs in Unity have been worked out in this iteration (many still remain, but it's much more tolerable) and it's actually a pleasure to use as things have become more customizable. Additionally, because everything is so customizable in Ubunu, the operating system is a pleasure to use compared to OSX which is fairly locked-down. I truly love that I can push a key combination (by default Alt+F1) and navigate the dock with arrow keys. Furthermore, Unity + the Software Center make the new Ubuntu a great operating system for beginners (the Software Center was my biggest criticism for Ubuntu in appealing to new users, but, as I predicted, the Mac App Store drove many improvements in Ubuntu's Software Center).

That said, I plan to install this OS on the computers of a couple of my friends and family before I leave for France. Give it a try. Documentation abounds on how to install the operating system and it's probably the easiest operating system to install.

Genie

Genie is the newest programming language I've been playing around with lately. To date, my experience has been almost exclusively in interpreted languages, so Genie (a close relative of Vala) is my foray into a true compiled language. Like Vala, Genie code compiles to C code which of course then compiles into a binary executable. In fact, according to Genie's Wikipedia entry, the differences between Genie and Vala are only syntactical--Vala looks like C/C++ and Genie looks Python-esque. The valac compiler is used to compile both languages.

Unfortunately, Genie has only been in active development since 2008 and documentation is sparse and almost useless and my few attempts at using the language have been foiled by absurd errors. Most recently, I tried to declare a list (a basic Genie data structure) exactly how the Genie tutorial showed and it threw an error. You can view the specifics in the StackOverflow question I asked here.

When it matures, I really look forward to using Genie as it seems to offer the simplicity and sanity of Python with all the advantages of being a compiled language. The silly Vala overhead is gone
I'm really looking forward to:

  • Stability
  • Proper documentation (and a stronger community, which of course comes with time and adoption)
  • Better debugging
  • Vim syntax highlighting support
In the meanwhile, as long as I stick with using the language, I plan to file bugs and produce tutorials here. Then again, I'm a pretty flaky blogger so we'll see how that goes.