blog
history
projects

profiles
about

A Week with an Eee PC

2008.12.19 in code, personal, and thoughts



Just after Thanksgiving, I ordered an Asus Eee PC 901 from Amazon. I had a few reasons for this rather large purchase: first and foremost, I want to work on Wayland with Robb, but need an Intel graphics card (we're planning on making this our RCOS project for next semester); it's fun to tell people I bought a new computer just to obtain a crappy graphics card; in addition, Kaylee's starting to show signs of age (being a year and a half old, and stuffed in my backpack and banged around daily... college life is not easy on a laptop, just ask Robb's, or Anthony's...), so I thought I should take a little stress off that machine; also, a little tiny laptop makes more sense in the classroom, gets out of the way more, and it's just plain adorable.

The machine I got is the Linux version, of course (more about that later). Intel Atom at 1.6 GHz, 1024x600, 9" matte display, keyboard about the size of my fingers, 20 GB SSD, 6-cell battery (lasts about 5 hours, though without wireless it's more like 8, and without X, 9), 802.11n, bluetooth, etc.

So! What have I found?

I love the keyboard. I wasn't expecting to so quickly adapt, but it's just fine for me! I'm writing this post on it, I write code on it, typing is no problem whatsoever. The small screen is no problem, either — it's led to me thinking a bit about how I use a computer, and I'll show you what's come of that later... it's plenty bright, too. The wireless card is extremely strong (comparable to, or perhaps better than the Thinkpad T61, worlds better than my MacBook Pro)... the camera is acceptable but I really don't care about little integrated webcams. The build quality is perfectly acceptable, it's no aluminum MBP, but it's not as flimsy as, say, the poor parts of the T61 (everyone I know with a T61 has parts flaking off... unsurprisingly, if you play with it for a minute). The design is ... poor, but not as poor as your run-of-the-mill laptop. To be honest, the Dell Mini 9 design is far superior, just in terms of jutting bits and the overall material consistency. For some reason, Carol prefers the Eee's design over the Mini, but she also has a sunshine-yellow, cursive-font Amarok... (just teasing!)... here's what it looks like, and it's a reasonably adequate explanation of the feel of the design of the Eee, if the Mini 9 is iTunes: (and mind you, we still love Carol, just like we still love the Eee!)



The SSD is awesome, though it could have been significantly more awesome. It turns out Asus ships different SSDs in Europe vs. America; Europeans get transfer speeds of ~80MB/s, which is only slightly slower than Jayne's epic hard drives. However, my Eee (and many of the other American Eees) only gets  ~30MB/s, which is closer to the speed of the T61's hard drive. Nothing horrible, but certainly nothing to write home about, either. None of these speeds compare at all to the >200MB/s that people are getting with the new Intel SSDs, but those cost twice as much as an Eee by themselves! (someday, someday, I keep promising myself... two years, perhaps, with my Nehalem laptop :-D) In any case, it's really really nice to be able to swing the machine around without worrying about moving disks, especially with it being so small and light! (it's really too bad that there's still fans... and more unfortunate yet that the Atom runs warm...)

The trackpad is no problem, though I of course have the same problems with it as I do on my MacBook Pro: I cannot obtain an acceleration that I can deal with. I wish there were a magical "match OS X's mouse acceleration" button, but there's not... perhaps there will be in Wayland's input system. Wink, wink, nudge, nudge.

The Xandros install that ships with the machine is a piece of crap. Whoever thought that shipping Xandros was a good idea... needs to talk to whoever wrote the epic Ubuntu-based launcher that ships on the Mini 9. Anyway... after taking ten minutes to determine whether I had accidentally ordered a Windows XP Eee, Robb and I spent a few more minutes laughing quite hard on the floor in our room before grabbing an external CD drive and installing Ubuntu.

I've since hacked up my Ubuntu install quite a much: instead of a full GNOME, I'm using awesome, a tiling window manager, scriptable with Lua. This way, windows take up the full size of my display, always... I have nine "tags", which I currently use purely as virtual desktops, but which actually carry a bit more recombinational power that I have yet to learn to make use of. I keep Pidgin on the last tag, Thunderbird on the second-to-last, Firefox on the middle one, and tend to work on the beginning tags, heading right. This has worked well for me so far, though I think it's rather unconventionally simple compared to the crazy flexible way most awesome users work.



I've constructed a tiny kernel that has just what I need, and massively edited boot and shutdown scripts. Boot is between ten and fifteen seconds now. Halt/reboot is like three, as it's basically just a sync and power down. I'd be able to do five second boot if I had one of the 80MB/s SSDs, but ... I don't!

There's a bunch of buttons built into this silver line between the keyboard and the hinge — I've got them set up to a) play the Jayne song, from Firefly b) xkill c&d) turn on and off the VGA port, auto-detect its resolution, and (if turning it on), set the background to a plain color, for "presentation mode". They're pretty cool, even if I don't usually like extra buttons. I use GNOME-Do for most other launching tasks...



The new hostname is Simon, of course, what with the Eee being a PC (so it must be male), but rather effeminate, and fitting in with my recent Firefly naming scheme...

Robb's Epic Gtk Scrolling

2008.12.18 in code and gnome

Somehow Robb and I got on the topic of two-finger scrolling in Linux, the other day.

Now, being a Mac user, I'm rather used to pixel-precision two-finger scrolling...

Here's what you usually get in Linux:

Bad scrolling from Robert Carr on Vimeo.

Here's what you get now, with Robb's patch to Gtk and the Synaptics driver:

Awesome scrolling from Robert Carr on Vimeo.

Read more on Robb's blog.

P.S. The browser he's using there is our currently-under-development 'complete' Seed browser.

Home again!

2008.12.16 in personal

I finally finished up first semester with a horrific differential equations final, this morning; shortly afterwards I was whisked northwards by mom. I'm now sitting at home with everyone, for the first time since August! Yay!

Jayne's back up and relocated, 1&1 DNS is doing crazy things, so it's not clear everything is quite working, but should be shortly...

I've got a few long posts in draft form, I have letters to write, lots of projects to do, but first, I'm going to rest a bit...

Campus at Night

2008.11.26 in photography and school

I'm bored here because everyone already left (except, apparently Gino/Tara/Cecilia/Kevin, but none of them live here)... so I ran around for a few hours taking pictures...

Photoset here.

Most interestingly, a "little planet"... the best (of, to be fair, only two) I've made so far...



Clockwise from Cogswell (the really big one that consumes most of the left side of the picture): Cogswell; little tiny EMPAC (you can really only see the roof); Folsom (the library); VCC (the Church/Computer Center); JEC (first brick building); J-ROWL (L-shaped brick building); you can just see Academy Hall between J-ROWL and Cogswell again. Cool!

Lights Off Video

2008.11.23 in code and gnome

Here's the video I promised in the last post...

Lights Off v.2 from Tim Horton on Vimeo.

Seed, Intervalometer, School, etc.

2008.11.13 in code, gnome, personal, photography, and school

It's been a while since I've written anything terribly much here, so I'm going to make a nice rambling post spanning various different subjects...

Firstly, Seed! We're going to spend a lot of time finishing up Seed 0.2.0 during the next day-cycle (whatever that means, these days — last night, I went to sleep at 8PM and got up this morning at 4 to do homework...). We'll most likely release this weekend. Robb's changed the core a lot this time around — we get struct support, a much, much better memory footprint, GObject properties (and, probably, signals) from Javascript, Cairo support (it's not pretty, but it works!), many improved examples and tests. Also, exceptions work in a lot more places now, making it much easier to debug apps.

I've also been rewriting Matt's Lights Off example in Clutter — I'll upload a video when I get back if I can figure it out — it's incredibly awesome!

On another note: I got female headers and got the LCD interfaced properly to the PCB; I've taken lots of notes for revision B of the PCB, which should be the "final" revision. I've also started a Keynote (I'll post it here when I'm done) that I'm going to present to E-Club closer to the end of the semester, detailing the project from beginning to "end", as well as what I learned about executing a "project".

As for school — everything's wrapping up; last horrific diff.eq. homework next week, last data structures lab next week, etc. I'm currently in the middle of the last project for VisComm, which is where the muffin pictures on Flickr come from. You really need to take a look at this one full-size... it's... scary!

I'm calling Carol's landlord later tonight to schedule an apartment tour... yikes!

Seed 0.1.0 Release

2008.11.08 in code and gnome

So! Robb announced the first release of Seed tonight! It's been a crazy journey, so far, and we're just starting!

In any case... I'm hacking together Debian packages for our PPA for version 0.2, which will probably land in a week or so... then it'll be really easy to get going...

Thank You

2008.11.05 in personal

Seed: In Screenshots

2008.11.03 in code and gnome

Here's a bunch of applications Robb, Matt, and I have written in Seed... the source is all in Gnome SVN...



Lights Off was Matt's first application — he went from having written no Javascript at all to a nice, working game in a matter of hours one night.



n-oscillator was more or less the first working GTK application; Robb wrote it (who else would be interested in making annoying noises at all hours!?) just to figure out how to get things working... it lets you start an arbitrary number of oscillators and adjust their volume and frequency, and uses GStreamer for output.



calc was my first GTK+seed application. I wrote it on the train on the way to the Gnome Summit, without any documentation... it's a horrible front-end for eval, nothing else!



mini-browser is my rewrite of Robb's original WebKit/seed web browser, Spacewhale. It provides a tabbed interface (though, because of a WebKit bug, no GTK/WebKit-based browser can 'open in new tab/window' at all...), but not much else... I'm planning on revisiting this at some point, and getting it to a state similar to epiphany-webkit.



repl is where a lot of our testing takes place, since it provides immediate feedback. It's a rather vital part of an interpreted language, and can be written in very, very little Seed code:

#!/usr/local/bin/seed

while(1) { try { Seed.print(eval(Seed.readline("> "))) } catch(e) { Seed.print(e.name + " " + e.message) } }


shader is a cute demo Robb wrote that lets you edit GLSL shaders and apply them to an image, using Clutter to display the image and apply the texture.



ide is a small Seed editor that I've been writing, eventually providing syntax checking and (maybe) debugging of Seed apps.

Seed Tutorial

2008.11.03 in code and gnome

I've finished my Seed tutorial, which takes you from square one to writing a quick WebKit-based web browser in Seed, while explaining bits of Javascript and GTK along the way.

I tested it out on Matt, and he's got a working copy of the browser now, so I guess it works...