Trying out RemixOS

The RemixOS boot logo
The RemixOS boot logo

I’ve always been one for trying out new operating systems, so when I heard news about the latest desktop-conversion effort from Jide I wanted to give it a try.

RemixOS is a proprietary offering based on the work of android-x86, which aims to bring the stock Android experience to commodity PCs. RemixOS adds on interface and convenience changes to make the operating system more usable on PC hardware. This includes UI changes such as multi-windows and a classic ‘desktop’.

The Alpha for PC was released this morning, and can be downloaded here. There was also a leaked version that landed a couple days earlier. If you’ve seen reviews online, most of them came from this. What follows are my impressions of the experience. Continue reading “Trying out RemixOS”

Finding the perfect ancillary travel device

Hackerbeach attendees at the upper dining table
Hackerbeach attendees at the upper dining table

As would be familiar to anybody who knows me, I’m always interested in new tech, especially when it’s running free software and portable enough to be in my every-day carry arsenal.

For the past month or so I’ve been looking at a few devices as a secondary to my laptop to carry with me. In a few weeks I’ll be joining those already there at third installment of Hackerbeach, on the Caribbean island of Dominica.

I wanted an embedded Linux system that could do everything. The scope of this device just kept getting bigger the more I thought about it.

It should: Continue reading “Finding the perfect ancillary travel device”

Modern push notifications with Weechat and NMA

After notifo seemingly stopped pushing notifications to my devices, I began to look for an alternative that more transparently used Google’s C2DM service for notifications.  It didn’t take me long to find NMA, short for NotifyMyAndroid.  This is a very simple http(s) API to push notifications to one/many devices.  I’ve broken this down into a few easy steps.

  1. Sign up for an account on www.notifymyandroid.com.  Log in, click on ‘My Account‘, then ‘Generate New Key’
  2. Install the NMA Android app (around $3 USD) onto your android device.  Launch the app and login
  3. Install pynma.py and nma.py to $HOME/.weechat/python.
  4. (Optional) Symlink nma.py to $HOME/.weechat/python/autoload
  5. In weechat:
    /python load python/nma.py
    /set plugins.var.python.nma.apikey "$myapikey"
  6. (Optional) To inly send notifications when detached from the screen: install and load the screen_away.py, then
    /python load python/screen_away.py
    /set plugins.var.python.nma.only_away on

Now you too can be harassed by inane IRC highlights no matter where in the world you are!  Thankfully, the NMA Android app has a ‘quiet hours’ in case you’d rather not be woken up in the middle of the night.

Running 512 containers on a laptop

As an exercise on how lightweight and extensible LXC can be I decided to create a large installation of LXC containers on my laptop.  I wanted to see if LXC would allow me to create large-scale testing environments often needed for testing software with several moving parts.

Continue reading “Running 512 containers on a laptop”

IRSSI Push notifications to GNOME desktop and Android device

Several people have asked me recently how I forward IRSSI notifications to my desktop and Android devices. The solution could be basically described as follows:

IRSSI configuration

Install these scripts into $HOME/.irssi/scripts (and symlink it in $HOME/.irssi/scripts/autorun) to have them autoloaded when IRSSI starts.

Android configuration

Sign up for a notifo account, download the android app, and sign in with it. Make note of the username and API key, as you’ll be configuring irssi to use them.

You’ll be loading the scripts in IRSSI and setting 2 notifo parameters:

/script load screen_away.pl
/script load socketnotify.pl
/script load notifonotify.pl
/set notifo_username $USER_NAME
/set notifo_api_secret $API_KEY

Now receiving highlights while you’re away (detached from the screen) will send them to your android device.

Desktop configuration

Add an entry similar to this in your $HOME/.ssh/config file (creating it if it doesn’t exist yet). This will forward your traffic being received by the IRC server (on localhost) on port 4443 to your SSH client on port 4443 (IE: your laptop):

Host irc.myshellserver.org
ControlMaster Yes
ControlPath $HOME/.ssh/irc.control
RemoteForward 4443 localhost:4443

Now all we need is a daemon running on your client to listen on localhost:4443 and receive the messages, then insert them into some sort of notification service. My method for doing this is to have a script in $HOME/bin run in a screen and display them using pynotify.

I’ve written a script that I call notifywatch that does exactly that. Save it to $HOME/bin/notifywatch.py and mark it executable.

Add screen -d -m $HOME/bin/notifywatch into your startup scripts, and desktop notifications should work as well (even while connected to your IRSSI screen)!

Ganeti, dealing with node failure

This morning at Mozilla, we had out first ganeti node failure, which meant we got to learn how to deal with a node failure! So far all of our ganeti clusters have been 2 node clusters, so while relatively simple, it meant an extra quirk in bringing everything up. Thankfully we used the iallocator so as to not overallocate nodes on the cluster. Here’s how the process went.

Continue reading “Ganeti, dealing with node failure”

Sharp Netwalker Ubuntu Lucid Image

I recently bought a Sharp Netwalker netbook for daily use in class and on the go. One of the parts that I didn’t like was the crusty old Ubuntu 9.04 install that came with it. Thankfully that’s not the only option available to me. I read some reports online that booting from the MicroSD card is possible. I also found a really cool tool in Ubuntu called rootstock. There’s even an android port for it.

I wanted a recent Ubuntu distribution though, which I couldn’t find provided for me online. So I rolled my own, and am reasonably pleased with the results. All of the hardware works, although there are some annoyances, such as no battery meter in the GNOME notification area, and the wireless card isn’t supported by NetworkManager, although still works with iwconfig and wpasupplicant. Additionally, the hotkeys on the top are not bound to any programs.

So here it is.

UPDATE: Commenters brought it to my attention that the link I posted may not work for some people. If that is the case, please try downloading from here, or here. Thank you.

To install this guy, format an SD card with one big ext3 partition and untar the tarball to it.

$ wget http://files.blueheaven.ws/netwalker/netwalker-lucid-0.1.tar.bz2
$ sudo fdisk /dev/mmcblk0 # Make a big partition
$ sudo mkfs.ext3 /dev/mmcblk0p1
$ sudo mount /dev/mmcblk0p1 /mnt
$ cd /mnt
$ sudo tar xvjpf ~/netwalker-lucid.0.1.tar.bz2
$ cd ~
$ sudo umount /mnt

Afterwards, eject it and insert it into the Netwalker(unless you’re doing all this FROM the netwalker). Then shut the system completely off. To boot off of the MicroSD card, hold both mouse buttons down, then press and hold the power button for 2 seconds. Continue holding the mouse buttons down until black text bleeds through the white ‘SHARP’ splash screen. The first boot should take noticeably longer than other boots. The default username and password are both ‘ubuntu’.

I’m currently updating the image to use Ubuntu Maverick, and will publish a new post once I have a working image.

Routerstation Pro Backfire Nightlies!

That’s right boys and girls. I’ve started compiling RouterStation Pro OpenWRT nightly builds for all punks who like to live on the edge. From my testing these images are rather stable, and aren’t prone to consistent or serious issues. Since this changes nightly your mileage may vary.

Go get your nightly builds here.