Oh yes.

Media_httppimpinellia_ozcml

From the cool person @ pimpinellia.tumblr.com

Nethack for Android

By far, one of the coolest things about Android over iPhone is that Android allows open-source apps.  More specifically, it means that Android phones can run the single greatest game ever made: NetHack.

NetHack has been around in some form since the 1980s, and the "Net" in its title refers to how its development was coordinated almost entirely over the then-new Internet, rather than having some form of online multiplayer.  Ever since its first release, there's been a concentrated group of users improving and discussing the game, both at its official website, http://www.nethack.org/, or via its USENET group, rec.games.roguelike.nethack.  Development has largely stopped as of the 3.4.3 release, and code patches are the order of the day now.

I previously played the hell out of the official Windows Mobile port.  Since WinMo doesn't require a touchscreen like Android does, the interface had to be reworked around the limited keyboard and 4-way rocker switch.  Even worse, since not all WinMo phones have a QWERTY keyboard, the only thing that could reliably be used was a modal 10-key input pad, which worked miserably on my phone.  Even with all the issues stemming from the uncertainty of the hardware, the underlying NetHack gameplay was so good I ended up wearing out two directions on the 4-way rocker, which made using the phone even more of a chore than it should have been.

Thankfully, all of these hardware issues are straightened out with Android.  The nethack-android has made a port so good that its worth blogging a glowing review about.  The latest update adds godsend features like touch-to-move, a requirement on a phone that may not have a rocker/trackball/directional swipe for movement.  The full set of features are here, including tiles and TTY, configs (with a clever import/export scheme for easy editing and rollbacks), and well-hidden save-games to stop save scummers.

I can't think of too many ways the port could be improved.  As new phones come out, fixes to support the hardware are a continued requirement (and there have been many).  Good job, and keep up the work.

Bonus: I'm still evaluating and playing with it, but OSX now has a native version of NetHack, courtesy of the nethack-cocoa project.

Desk Equipment

2010-08-26-17-20-08-934

New York City

2010-08-27-18-08-31-080

The ramps leading up to Port Authority Bus Terminal have always been great for "big city" and "urban decay" style shots.

Android Part V: Twitter

I use Twitter.  A lot.  Especially from mobile devices.  Previously I used a combination of Motorola q9m (no data plan, so I just used SMS) and iPod Touch 1G + Twitteriffic.  On desktops, I go with Tweetie on Mac and Seesmic on Windows, but lately I've been trending towards libpurple (Adium and Pidgin, respectively).  

Android, being an open platform, benefits from a myriad of free and pay Twitter clients.  For the hell of it, I decided to test out four: Twitter for Android, Seesmic for Android, Twidroyd, and Toiteur.  All are available for free, and Twidroyd and Toiteur each have paid versions with a few bonus features.

My goal here is to narrow down each client, based on the features available in the free version only, and then make a decision on which to keep.

Interface-wise, each was unique.  Toiteur (pronounced "Twitter" but with a heavy French accent) has a very nice interface, with a good amount of tweak options, and the official Twitter client has a nice, clean interface.  The official client also has annoying animated backgrounds that can be disabled.  Seesmic features muted colors, and sticks closer to the desktop Seesmic look than the Android color scheme.  Twidroyd is probably the worst, looking drab and boring, and with a collection of too-small buttons at the bottom of the screen driving application use.

For functionality, Seesmic wins hands-down.  It supports multiple accounts (something offered in the pay versions of Toiteur and Twidroyd), background updating, and also support for Google Buzz.  Toiteur has the best means of retweets (supporting both the API-based, "Via," and "RT" styles).  Twitter has a unique feature in its contact sync, but I haven't been able to get it to work yet.

Ultimately, I found myself using Twitter and Toiteur the most.  Twitter is nice for its clean interface, but Toiteur provides more functionality.  A paid version is available (and the free version doesn't have any ads).  I've already uninstalled Seesmic and Twidroyd, even though I used them both heavily when I first switched to Android.

Update on Twitter

You cannot uninstall the official Twitter app.  The other three can be  uninstalled normally.

Hoboken

2010-07-31-08-56-28-633
2010-07-30-20-42-57-077

Vignette may be the better Android camera.  Its only weak point is that its £3 in the Market, while FxCamera is free.

Introversion - Darwinia

Media_httpstoreintrov_ejxeh

Introversion, the developers of the sublime Uplink, awesome Darwinia+Multiwinia pairing (especially the oft-overlooked Multiwinia), and the turn-the-genre-on-its-head DEFCON: Everybody Dies has started selling the source code of Darwinia and Multiwinia.

While I'd like to see the source code be GPL'd, which is how id releases its old engines, $45 is definitely way too much for source code w/o art assets.

Adventures in Terminal.app coding (Part I)

Media_http4bpblogspot_wmcez
In June of '08, I decided to get myself a MacBook.  As a CS student going into my second year, and most of my assignments requiring UNIX compatibility (well, NetBSD to be totally accurate), I wanted a system that would last a while, have some pretty hot hardware, be somewhat reasonably priced, and have strong support for *NIX OS's.  Granted, the MacBook isn't the cheapest laptop in the market, but for what you get, its a decent value.

One great feature is how there's an awesome terminal built right in.  It runs bash by default, and has a lot of the GNU tools (and I'm a HUGE GNU screen fan) installed either by default or with the dev tools.  Most important is its support for a SSH connection and X forwarding running on top of that.  Previous semesters saw projects that ran entirely in console mode, or were (mostly) cross-platform Java apps, while now I'm writing GLUT apps that need a screen to display on, so I'm moving outside of simple terminal use.

My preference, so far, has been vim in an SSH login.  It's easy enough to learn, and I haven't really had the time or desire to learn emacs to date.  My only issue is having to jump into pico for a Makefile, since I have vim set up to use 2 spaces instead of a tab.  Aside from some of the usual *NIX grumbles (specifically, constant use of the command line), this is a great experience.  Running inside screen, a utility I discovered only a few months ago, has seen my productivity double or triple, and allows me to do work from anywhere for either a few minutes or a few hours.  The only issue is that a wireless connection is a bit much for a SSH session, with the lag ruining the otherwise native speed of access.

As a bonus, here are my .vimrc and .screenrc files:

.vimrc:

set background=dark
syntax on
set softtabstop=2
set shiftwidth=2
set tabstop=4
set expandtab
set nowrap
set ruler
set number
set numberwidth=4
set cursorline

.screenrc:

hardstatus alwayslastline
hardstatus alwayslastline "%{+b kw}[ %H ] %{yK} (%n). %t  %-=%{kk} %{gk}%c.%s  %{yk}%d.%m.%Y"
startup_message off
screen -t screen1 1
screen -t screen2 2
screen -t screen3 3
screen -t screen4 4