« Back

Introducing Xeiso - soon.

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.

Identi.ca?

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?

Ubuntu Beginner Administrator Terminal Reference

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.

Ohio!

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!

Explaining the Ubuntu release schedule

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.

Check how much web bandwidth your users are using

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:

  1. You are using the “combined” Apache2 log format.
  2. 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.

DreamFAIL

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:

  1. An alert appears.
  2. A confirmation dialog appears.
  3. If you hit Cancel, the “live chat” appears.
  4. Trying to close the “live” chat yields another confirmation box.

dreamhost-dontleave.png

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.

MOTDs are boring

I’ve decided my MOTD has gotten stale. What better to do with your free time than to look up escape sequences?

colormotd.png

Bringing annoyances to the terminal, one color code at a time.

Snow.

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.

0308081217.jpg

SSH loves rDNS

Since a few weeks ago, every time I would run SSH to sign into my server I would have to wait about a minute before I could even get a key/password prompt. The problem never really went away, so I contacted my ISP.

After a few email exchanges with some SSH debug logs and traceroutes, they added a reverse DNS record to see if it helped. Strangely enough, it did. I’ve never had a reverse DNS entry associated with my IP, and I’ve never had any trouble with it in the past. Only recently did connections start to halt because of it.

So, if you don’t have a reverse DNS entry on your IP and have been noticing slow SSH connections, call up or email your ISP to get one added. You will love your connection that much more.