A few weeks ago, Xeiso 0.1 was published on Launchpad with a tarball to download. It was a pretty quiet release; I had only published it because a few people were demanding a tar.gz to download instead of branching from Bazaar. It’s rather primitive compared to the current revision of Xeiso, but it supports almost the whole spec of XPK. You can get it on Launchpad, but I recommend that you keep reading to get a much more updated version.
I finally got Istanbul working right in addition to learning Cinelerra last night, so I figured I should at least get some demo footage out there. Check it out on YouTube. As of writing, that is the latest revision.
The biggest feature showcased in that video is the ability to download Xeiso packages, .xpk files. If Xeiso is installed with python setup.py install, then a MIME association is automatically added to open these files with Xeiso to install. By default they are installed to ~/.xeiso/xpk, but can also be loaded from /usr/share/xeiso/xpk for a system-wide setup.
The downloading interface is basic: it shows a package name and description, and then downloads the package to install it. A lot more will come out of that feature in the near future.
The web side of things has also been greatly improved. Xeiso.com has plenty of new documentation to have a look at. Currently under development is a web interface to game downloads in Xeiso, which will probably surface early next week.
Also on Xeiso.com is some new packaging documentation. It’s not complete, but it’s available if you want to have a stab at it.
The Live CD portion of the project has not been started. I’ve been holding it off to develop as a part of my class project for the year, so the pace will pick up very soon. But another reason for the delay is that I’m also trying to make Xeiso easily installable on already-running Linux machines. With the local installation will be a separate series of Xeiso “require-local” packages that don’t contain the game themselves, but call the game if it is already installed on the user’s system.
That said, while there will eventually be a Xeiso PPA, I do not want Xeiso to be in Intrepid. The project is still being constantly updated, and is not currently supported. If anyone manages to get it into 8.10, expect plenty of SRU bugs to be shoved down your throat. Daily. 
Edit: PPA ready.
And finally: Revision 39 marks the beginning of more open development. Starting now, I will be accepting patches, merge requests, bugs, and blueprints, all of which can be done on Launchpad. There is currently an open blueprint for sound in Xeiso: while it is supported, Xeiso remains mostly quiet. Boring.
If you are interested in heavy development of Xeiso, start out by branching and making merge requests on Launchpad. There is no official development team (~xeiso is just used on Launchpad for friendly URLs at the moment) but one can be made when necessary. If you need specific help, mail me (my first name at xeiso.com) or visit #xeiso on freenode.
15 August 2008
I’m too tired to write a clever opening for this post. There. Now that that’s out of the way, let me introduce Xeiso.

Xeiso is:
- A game console.
- An operating system.
- A bootable LiveCD.
- An intuitive interface.
- Open source.
Time to elaborate: it will be an Ubuntu-based system with a custom interface with the goal of making a fast-booting, open game console. I’ve been researching solutions for a few months now, and have been testing out various languages and methods, from C++/SDL, to Python/Pygame, and back to C++/OpenGL. But now I think I’ve finally found a compatible, fast development and fast running framework for the user interface: Python and Pyglet. Hey, if it can run an OpenGL ortho projection on a 1680×1050 screen at 60fps with minimal CPU usage, it’s good enough for anything.
I’ll stop blabbing for a few minutes while you watch this video:
Xeiso Early Tech Demo
That’s the basic interface. Keep in mind that that demo is relatively old; the current revision is varied quite a bit. But that’s the gist of how it runs: everything, from games to controller options, is configured and controlled via this “slider” interface. It’s intuitively simple: if an arrow appears on the screen, you can press that arrow on the keyboard to go there. Allows for blind and quick motions. Like it? Cool. Hate it? Great. Suggest an improvement on Launchpad or in the comments.
A lot of the meat is under the screen - there is a rather extensible packaging system that allows for anything to be run from Xeiso. In the latest revision (17) there is a basic Neverball package, though currently Neverball must first be installed. “Hey - if this is to be an APT-based distro/system, why not use dpkg?” Good question. Because in the future I’m hoping to support downloadable content - and remember we’re looking for a fast-booting system - “xpackages” are being used. It’s basically a tarball and module system, meaning that packages can be dynamically loaded into memory at boot from an external device without much delay.
Some planned features:
- LiveCD:
- Fast booting: “Boot to X in 10 seconds or less.” Likely? Not for a while.
- Ability to use the host HDD or an external device as a “memory card” to store game save data, additional XPackages, boot configuration, etc.
- Automated CD build system (near completion)
- Install to system w/ GRUB
- Partial install: Copy most of the files to the host device, and chainload it from the CD to speed up boot
- XPackage:
- Ability for banners, small animations that load on a preview screen (almost done)
- Content distribution system for downloading games (still researching)
- Patched games to support a freeze menu to reset, configure controllers, etc. (designing)
- Controllers:
- Mouse/Keyboard, Wii remote, Joystick
- Key customization
- Multiple players
Working code is available on Launchpad. It’s still under heavy development, so if you make a feature branch expect it to be 99% incompatible within a day. I’m not currently looking for any main developers - as I said it is being worked on at a fast pace and things can’t easily be coordinated. (I’m having trouble keeping up with my own documentation!)
In the future, though, I’ll be looking for:
- Packagers - work with XPackages and patch games.
- Graphic artist - I’m not too creative.
- Someone good with audio. Can’t have a game console without sound! Mostly creating/finding tracks/sound effects for the UI.
Again - don’t contact me about getting involved with development yet - you will be able to soon.
3 July 2008
I was innocently minding my own business today, when all of a sudden I stared getting notices about identi.ca on Twitter. Judging by the activity over there, it seems there was a mass migration today.
So far, it seems okay in terms of speed (but who knows what will happen once more users find it) and is fairly simple. It is missing SMS, an API, and a bunch of Twitter features, but more important is that Jabber works. To top the whole thing off is that the entire service is released under the AGPL and uses OpenID.
I’m willing to see how long it holds out. Who wants to help break it? I’m at http://identi.ca/jacob (horray for early-adoption usernames). Anyone else out there?
2 July 2008
Know of some users who might be new to the terminal and are willing to explore? I’ve made a cheat sheet for beginners and experts alike of frequently used (and frequently forgotten) commands in Hardy, including from new applications like ufw. Check it out below!
Comments, suggestions? If you like it, pass it on!

Edit: I’ve reworded apt-get dist-upgrade, switched out xserver-xorg reconfigure and reworded description, and changed apt-get remove to purge.
23 April 2008
Hey! Going to be in Ohio this Saturday, April 26? Then come join us for an 8.04 release party!
There are currently two locations that you can attend; the wiki page will be updated with any more:
Click the links above for driving directions and parking information. Both locations provide free WiFi. Bring money for food if you want. Bring friends!
Both parties start at 5:00 PM EST on Saturday. Open to anyone and everyone interested in Linux, Ubuntu, or free software. Sign up so we can get a good idea of who is going to which locations. Registration is optional, but if you do it we’ll have a better idea of who to expect.
See you there!
21 April 2008
I met someone on IRC who had a difficult time understanding Ubuntu’s release style, so I came up with the following:
[jacob] Windows beta releases come in chunks
[jacob] consider that like going down a river on a tour boat that stops at sites for a few days, then keeps going to stop some more. each stop is a beta, and eventually they will arrive at the destination.
[jacob] Ubuntu’s release scheme is like white water rafting
[jacob] you can jump in at any time, and you will constantly get hit with updates
[jacob] eventually you will end up at the end; there are no “stopping points” per say, just landmarks that represent betas
Yes, I’m weird. But hey, it worked.
19 April 2008
This is the ckbw script I briefly mentioned earlier. Before going any deeper into the subject, realize that this script assumes some things about your system:
- You are using the “combined” Apache2 log format.
- Logs are stored as /home/username.logs/domainname.com.access.log and compatible logrotate (.1, .2, etc) equivalents.
In a general sense, ckbw parses through all log files in the above directory and gets a file size total for all items used. Some things, such as unbuffered PHP scripts, will not return a file size and so will not be counted. Be sure that you at least have a month of logs if using logrotate or data can not be reported accurately.
Onto the script itself:
ckbw script; Perl
Basic usage:
ckbw apr - grab the bandwidth used in April on the current user
sudo -u bob ckbw apr - get the bandwidth used in April by “bob”
The script is hardcoded to grab the bandwidth per user and not per site, but it should be very easy to adapt it for a getting stats of a single site.
If anyone has a more elegant way of grabbing the output of system() or similar without piping to a file, let me know.
15 April 2008
I have no issues with DreamHost’s service. Before I moved to a VPS provider, I was with them for all of my hosting. They had provided (and still do provide) great service and reliability for a shared host. Customer service for the most part is excellent, and gets things done in usually 5 minutes to an hour.
But when your signup form begs you not to leave, then you better run as fast as you can.
When trying to close the page:
- An alert appears.
- A confirmation dialog appears.
- If you hit Cancel, the “live chat” appears.
- Trying to close the “live” chat yields another confirmation box.

While I’m at it, might as well join the parade:
jacob@codechunk:~$ history|awk '{a[$2]++ } END{for(i in a){print a[i] ” ” i}}’ |sort -rn|head
108 sudo
56 cd
36 tail
35 ls
31 svi
28 vi
19 screen
19 fg
17 ckbw
14 htop
svi = sudo vim
ckbw = script to check bandwidth on an apache site.
There you have it.
12 April 2008
I’ve decided my MOTD has gotten stale. What better to do with your free time than to look up escape sequences?

Bringing annoyances to the terminal, one color code at a time.
10 March 2008
Yesterday morning at a hotel, I woke up to prepare for a presentation. I looked out the window and there was a light snow. No problem.
Skip to noon of that day. A winter storm warning is in effect. 8 to 10 inches of snow expected. Okay, we can still make it out of Columbus.
By 4 PM, a blizzard warning was in effect. 12 to 15 inches projected by the end of Saturday (today).
This morning, I woke up to a level 3 snow emergency (only emergency personnel allowed on the roads). Everything is covered in snow, and it doesn’t look like it is going to stop.
How bad did the snow hit the rest of you in Ohio or the Midwest?
The dog seems to like it.

8 March 2008