Tuesday, January 20, 2009

killer app for the iPhone

Have you ever wanted to use your iPhone to help you kill things? Well, now you can with iSnipe, the first ballistics computer solution for your rifle-mounted iPhone or iPod Touch.

And now there's some competition in the form of BulletFlight for the iPhone.


Thursday, January 15, 2009

You are likely to be eaten by a grue.


West of House


You are standing in an open field west of a white house, with a boarded front door.

There is a small mailbox here.

>OPEN MAILBOX

There is a small leaflet inside.

> READ LEAFLET
(taken)

The Great Underground Empire has recently fallen and the land is in disarray. The stock market has collapsed, leading even mighty FrobozzCo International to fire employees from throughout its subsidiaries. A craze of treasure-hunting has swept through the remnants of the Great Underground Empire. It’s a dangerous time to be a newly-unemployed traveling salesman, but it’s also a great time to try a bit of adventuring.

http://www.gamasutra.com/php-bin/news_index.php?story=21852

LegendsofZork.com

Monday, July 28, 2008

3G iPhoneage achieved

Well, I did it... got my iPhone 3G (16 gb White.) It took almost 3 hours total from arriving at the store an hour before opening to walking out the door phone in hand. I'm only slightly ashamed to admit that I actually waited in a line for a piece of electronics for the first time, like a bread ration line in the 1930s. Anyway I now have the iPhone 3G in my hot little hands.

The good:

  • The iPhone software is great.
  • The App Store itself is great (though many of the apps are total garbage.)
  • It's an "insanely great" Jobsian piece of electronics all around.
  • I've played with an iPhone virtual keyboard before with mixed results, but after using my own phone's for a few hours it felt fairly comfortable.
The bad:
  • The in-store activation process was slow and cumbersome (never mind the two hour wait to get to that point.) My guy also made a mistake which ended up costing another 5-10 minutes as I tried to reach my old wireless carrier (Virgin Mobile prepaid) to re-verify my account number for no reason. He did at least apologize profusely for the mistake, and all of the Apple Store employees were all around very friendly.
  • In most locations I frequent (my home and the office), 3G reception is terrible - either nonexistent, or barely getting 1 bar and sometimes cutting in and out. Sometimes with only 1 bar, the call quality is just fine and data transfers are OK too... but other times it seems to be unusable and it doesn't always fall back to EDGE (2.5G) properly but instead displays "No Service." After searching around a bit, this seems to be a common problem. The most common solution? Turn off the 3G features completely. Gee, I'm glad I'm paying $15-20 more a month compared to old iPhone users for an unusable data network. This despite the fact that the entire greater Austin area is advertised as having full 3G coverage. Hopefully the 3G coverage will improve over time. Simply being inside a building seems to be an issue.
  • The $5/month or 20 cents/message rape for texting. And for all that the iPhone is not multimedia SMS capable (sending/recieving pictures or video through SMS.)
  • No SSH terminal app, at least not w/o jailbreaking the phone.

The ugly:
  • No copy and paste on the phone is my #1 complaint with the software, but this is rumored to be fixed in an upcoming version.
  • Can't sync with multiple computers, but I already knew that.
  • They changed the accessory charging method in the 3G versus the original iPhone which Andrea has. I verified that my USA SPEC iPod adapter for Honda worked with the original iPhone and, perhaps most importantly, charged the phone. Well they changed the charging method in the 3G phone and my car adapter does not charge it. :-( It does play music through the car stereo and the wheel controls are active, but only in so-called "direct" mode locked to the radio controls, not in "hybrid" mode where the on-phone controls also work for changing songs and such which does work with my iPod Nano 1st gen.
So what are my options with dealing with the car adapter situation?
  1. According to USA SPEC's website, wait until September-ish when they will release a new cable that supports charging the iPhone 3G with my current radio unit. I assume I'll have to pay for the cable and shipping. And I will definitely have to pay to have my radio opened up again so the cable can be swapped (at least another $70, plus the cost of the new cable.) This will only fix the charging problem but will not enable "hybrid" play mode like in my old iPod.
  2. Buy an all-new interface unit for $200 plus installation (another $70.) This will both fix the charging problem and work with the new hybrid mode, but the cost is as much as a whole new iPhone!
  3. Buy a separate car charger for $15, and live without the ability to charge and play at the same time. Also live without hybrid play mode, which is annoying but not a killer for me.
So in all, the iPhone 3G itself is as Borat would say, big success, I like. My disappointment right now lies with AT&T's 3G coverage, and with the change in power charging that broke my Honda radio interface.

Monday, July 14, 2008

iPhone 3G still unavailable in Austin

Day 3 after the iPhoneocalypse... the pockets of survivors struggle on in the aftermath of a charred wasteland searching in vain for water, supplies, or a 3G signal. Not a single iPhone 3G unit was to be found in the land, now laid to ruin by the scavenging hordes. Search parties were formed and dispatched to both of the Austin Apple stores and various AT&T outlets across the land, but none returned to tell the tale. Rumors of a nameless horror spread among the grim survivors as they trudged on in search of the promised land, a store which has the limited edition white model in stock.

Friday, July 11, 2008

Jesusphone 2.0 release day madness

So the new iPhone 3G is out and I adventurously decided I would try my hand at picking one up on release day. I had been wanting an iPhone for a while to replace my $10 prepaid junkphone, but I was waiting for the new model of the all singing, all dancing iPhone to come out.

Andrea told me that some of her co-workers had waited for over an hour at the AT&T store right near my office only to find out they were sold out.

Knowing that I would likely be disappointed, around lunchtime I set out for the Apple Store at the Domain mall in north Austin. I knew as soon as I rounded the corner near the store that I would not be in luck; there was a line of people waiting outside the store stretching for a couple of city blocks - possibly at least a couple of hundred people. Then I found that this was just the line to get inside the store, and that there was a separate line almost as long inside the store. I briefly spoke to an Apple employee, wondering if they even had enough phones for all these people in line. She said there was no guarantee, but maybe. At this point I gave up and decided to try to pick one up next week. I'm not even going to bother going to the other AT&T stores in my area today. I'm guessing that if I just wait a few days or at most a week I should be able to saunter into the store and pick one up at my leisure.

Now I'm at the doctor's office waiting for my allergy shot and a woman next to me is talking (loudly) on her cell about her experience trying to pick one up today that pretty much mirrored mine.

Wednesday, July 2, 2008

Fatal Irony

Ahhh, the things you can learn on Wikipedia.

Back in the day one of my favorite Monty Python sketches was "The Funniest Joke in the World". To recap that sketch, a man in England circa World War II writes the eponymous joke and promptly dies laughing. So does his mother who walks in afterwards and picks up the piece of paper with the joke, and so follows the police inspector and so on. Eventually the joke is handed over to the army for further development as a weapon, surpassing the "great pre-War joke". Translators are broken up in teams to translate the joke into German one word at a time. One translator who caught a glimpse of the second word was hospitalized for weeks.

Among the writers and actors in that skit were John Cleese and Michael Palin, who went on to create and star in the film A Fish Called Wanda in the 1980s. In 1989 a Danish man named Ole Bentzen was watching this movie and ... wait for it... died of a heart attack brought about by sustained uncontrollable laughing.

Friday, April 11, 2008

MediaWiki versus Trac Wiki

I've been a fan and user of MediaWiki for many years; it's the software that powers the mighty Wikipedia and countless other public and private wikis. In 2004 I set up an early version of MediaWiki (MW) for internal use for the development team at my employer Journyx. Its use quickly spread to most departments within the company and it became indispensable tool as a simple, easy to use content publisher and collaboration tool. The same humble little 500 mhz Pentium III Dell system running Linux is still powering it just like in 2004, though the MediaWiki software has been upgraded over the years to the latest 1.12 with various extensions like Cite and Gadgets with AJAX style navigation popups.

Recently however I have been working on a project to transition our development team away from CMVC, an outdated, unsupported and obscure version control and issue tracking product from IBM. We are moving into the broad, sunlit uplands of Subversion and Trac. As it turns out, Trac is not only an issue tracker and version control front-end but also a full-fledged Wiki.

So the question naturally arose, should we use the wiki features provided by Trac when we already have a MediaWiki site we know and love? Even if we don't move the entire company's wiki to Trac, should we consider using it at least in the development department? For instance, we're currently using MediaWiki to publish and collaborate on elaborate, hyperlinked technical design documents for Journyx Timesheet features.

Clearly it was out of the question that we would abandon MediaWiki right away for several reasons. Perhaps the must fundamental is the fact that the wiki markup languages are (unfortunately) different enough so that importing large numbers of pages can be tricky, and that there is a small learning curve for users, especially non-technical users, to overcome. The total non-standardization of wiki languages has been a constant pet peeve of mine. Also, other areas in the company such as the Sales and Support teams need to have a general purpose wiki but don't need or necessarily want the intimate connections to the source code that Trac provides.

Naturally some use of Trac's wiki markup features is inevitable because tickets themselves (bug reports and feature requests) allow use of wiki markup within the ticket description. For instance linking to other tickets, or to other revisions (checkins) in Subversion. That means our commit comments can also use wiki markup, because I've set up "commit hooks" so that checkin comments to Subversion are automatically copied to the relevant tickets. (I've also set it up so that you're forced to reference an open ticket on all checkins or the system rejects it.)

After reviewing the differences between these two wiki programs, I thought it would be handy to create a list of each package's strengths and weaknesses. To summarize, MediaWiki is better as a general purpose wiki (appropriate for e.g. a major online encyclopedia) but the Trac Wiki has several features that make it more targeted towards software development teams.

MediaWiki Strengths

  • Much better as a general purpose publicly editable wiki. It's no wonder Wikipedia uses it.
  • Content categories
  • Extensible in-page templates; for instance, boilerplate areas for groups of related topics like the template for the Harry Potter series.
  • Supports watch lists and perhaps more importantly, email notifications of changes to your watched pages.
  • Support for citations (footnotes)
  • Links for special media types like ISBN's
  • Extensive collection of extensions, such as Cite for footnotes and Gadgets for AJAX / javascript widgets.
  • Editing toolbar is extensible and provides more formatting options, such as subscripts, superscripts, and tables.
  • Talk pages a.k.a. meta pages; pages about pages.
  • Separate namespaces for users, templates, help pages, talk pages and others.
  • Moderation features and lockable pages.
  • Page hierarchies (sub-pages) with breadcrumb links. Not enabled in the public Wikipedia but we do use this extensively in our private wiki.
  • More advanced formatting options, e.g. for tables.

Trac Wiki Strengths
  • Wiki markup features that make editing software related documents easier such as `backticks` around monospace stuff; useful for code identifiers like function names. In MW we have to use blocks though I've added a custom edit bar button for that.
  • {{{ code blocks }}}
  • Syntax highlighting of snippets of Python, Perl, C/C++, shell scripts, etc.
  • Supports several different markup languages through a plugin system, including (amazingly enough) an extension for MediaWiki's own wikitext format. You can even mix and match wiki markups within the same page!
  • Support for reStructred Text (reST) as a markup language. This is the preferred documentation format for Python code.
  • Runs well on Postgresql backend. (See my recent adventures trying to get MediaWiki running on Postgresql.)
  • The integration of wiki markup into tickets and other text such as Milestone descriptions.
  • The ability to link to other tickets and changesets (source code revisions)
  • It's integrated with our new software development environment.
So in conclusion, MediaWiki clearly has a place and will be around for the long haul. However I predict our use of Trac Wiki for software development tasks will increase over time. There are some features (such as email notification of watch lists) that I may not be able to live without. Perhaps that's just an incentive to port these features to Trac. ;-)

Thursday, April 10, 2008

Reactionary Forces

I've been enjoying the John Adams miniseries but in a recent episode (#4 I believe) I noticed a possible minor but interesting anachronism.

John Adams is having a discussion with Thomas Jefferson about the long term consequences of the American Revolution. Jefferson predicts the "reactionary forces" will gain the upper hand in post-Revolutionary America (as, of course, they did). But according to Wikipedia, citing the Oxford English Dictionary, the first use in English (as opposed to French) of the word "reactionary" in a political context, at least in print, occurred nearly 50 years later in 1840 by John Stuart Mill.

However I suppose the word could have been in spoken English usage well before 1840. Jefferson was the American ambassador to France and was certainly exposed to the ideals and language of the French Revolution. It's possible to imagine that he could have even introduced the term in English himself.

Saturday, March 22, 2008

Linux on Playstation 3

I installed Linux on my Playstation 3 yesterday. But I am sorely disappointed at how limited Sony has chosen to make it- namely in the area of high speed video. I didn't do much research before installing Linux, and soon found out that Sony has crippled Linux support on the PS3 in a very important way - by not providing full access to the powerful Nvidia RSX graphics chip in the PS3. That means no real support for high-end graphics - for instance showing a hi-def movie. Oh sure, you can get something up on the screen, but it's insanely choppy and unwatchable.

My goal was to use my PS3 as a generic media center for my HDTV. I already have a Windows Vista PC in the living room but I was hoping to use the PS3 instead, to get more use out of the PS3 (I only play Rock Band currently) and also to free up the 2nd monitor port of my video card. I've heard a hacked XBox360 is better for this (generic media center) but I don't have one. At this point you may be asking, why not use the built-in media center features of the PS3? The short version of that answer is that it sucks. The long version is that it does not support the myriad of random media formats in my collection - MKV hi def video, FLAC and M4A audio, etc.

I installed Ubuntu 7.10 on the Playstation 3. I had to fiddle around a bit with the PS3 backups and the proper video mode for my HDTV (an older 55" Sony GWIII with 720p resolution.) But once I got backed up and had the proper video mode set, installation was a breeze. You get pretty much a standard Ubuntu Linux install that is not limited in any way, other than the slow graphics framebuffer. X11 works fine, and can even play DVD-resolution videos at acceptable quality, but it chokes on a hi-def file due to the crippled graphics.

I'm disappointed because Sony explicity adveritises support for Linux and yet limits it in a very fundamental way. I don't know what their reasoning is for this or whether "true" graphics support is planned in the future.

Without fast access to the graphics chip, it's just a underpowered 2 cpu PowerPC box with very little RAM. I have no particular need to use it as a file or app server - I have my PPC Mac Mini for that, which besides having the great Mac interface, also uses a lot less electricity than the PS3.

I've heard some rumors of reverse engineering access to the RSX - the advanced graphics chip in the PS3. Hopefully in a year or two I'll be able to use my PS3 as an all-in-one media center. But in the meantime, I simply bought a second video card for my PC. I got a cheapie $70 Nvidia 8400 GS to go along with my exisiting 8800 GTS. The main card (8800) drives my primary monitor (22" samsung widescreen LCD) and the HDTV, and the new secondary card drives my extra cheapie 15" LCD.

Thursday, March 20, 2008

Spam-like typing detected

That's weird. My blog was locked for over 48 hours as it somehow triggered blogger.com's automated spam watcher after only 2 entries.

The lock came immediately after I saved changes to add Google Analytics to this blog. That's basically a glorified hit counter but it provides a lot of neat features. Of course you may be asking yourself why does a blog that no one reads need a bunch of fancy analytics features? It doesn't, of course, but hey, it's cool and free and appeals to my inner geek.

So why would adding GA suddenly trigger a spam alert? It's ironic - what led me to install GA was a recommendation on Blogger.com's own help page that listed Google Analytics as a suggested hit counter.

Monday, March 17, 2008

Mediawiki on Postgresql: not ready for prime time?

Last weekend I spent a fair amount of time trying to install Mediawiki (MW) 1.12 with a Postgresql (PG) database backend. In the end I gave up and decided to remain on a MySQL backend because Mediawiki's support for Postgresql seems not ready for prime time, to say the least. I wonder if anyone out there is actually using it in production?

The background to this is that I have an old Mediawiki at work. I installed version 1.3 in 2004 mostly as a lark, because I enjoyed Wikipedia and thought wikis were a neat idea. I installed it on a disused old Dell Celeron computer running Debian GNU/Linux.

Fast forward 4 years and the wiki somehow became a mission critical enterprise collaboration tool. Yet it's still running on this old minitower tucked away behind a desk in my office. Getting the official IT crew to take over the wiki and run it on a faster system in the server rack has been on the IT crew's todo list for approximately forever. There has been some resistance on the rather shaky grounds that MySQL was not an 'approved' service - mainly because Postgresql is the open source database of choice where I work, and we already have a large, well administered PG server for just this kind of application.

I have nothing against MySQL per se though I definitely think PG is the superior system by far, for a number of reasons that I may expound on in another post. In truth the database backend didn't matter much; there wasn't much ongoing DB-level maintenance to do no matter which the backend. I already had the backups taken care of; both the SQL dump and the mediawiki directory itself are compressed and copied to a backup server every night.

So anyway, I've been trying migrate to the Mediawiki to Postgresql in preparation for moving it to the server rack.

I was able to create a blank new site running under PG 8.3 using the latest dev checkout from subversion. In other words, the most up to date code. That worked fine I guess, but I started running into problems migrating the data from the current production wiki.

These are the problems I ran into:

  • The mediawiki_mysql2postgresql.pl script included was very out of date. This script is designed to connect to your MySQL database and create a output file suitable for import into Postgresql. I ran into numerous problems, tried fixing a few of them, ran into others, then gave up. I talked to someone on irc who I believe was a maintainer for this script and he agreed that yes, the script was out of date and that at some point maybe someone would fix it.
  • OK, so the actual sanctioned migration script doesn't work. I've heard something about a platform independent XML mediawiki dump command so I try that out. A comment in the top of that Perl script suggests running the XML dump instead of doing a direct conversion (perhaps an admission of the broken state of the conversion script?). Slight problem with that; the XML format does NOT include quite a bit of data such as user-related data. It just has the pages themselves. Clearly my users won't be happy if their user accounts are gone; so much for the XML idea. I did at least take this opportunity to upgrade the production wiki from MW 1.4 to 1.12 in order to gain access to the XML dump feature and presumably a bunch of other bugfixes and features. That upgrade went pretty smoothly, though I did have to run some maintenance scripts afterwards to rebuild things like watchlists.
  • I briefly toyed with writing my own conversion script in Python. It directly connected to both the MySQL and PG databases and copied the data over directly, while performing a few type conversions and table name changes. This actually worked pretty well except I ran into a problem with the PG sequence objects when trying to use the resulting wiki. However once I noticed the next problem, I gave up on trying to fix the sequence issue.
  • The straw that broke the camel's back, as it were, was that when running under PG, many of the command line tools in the 'maintenance' directory either stopped with random tracebacks, or produced logging output that indicated some query problems and yet continued on. This did not inspire confidence and I elected to just give up on this endeavor and continue using MySQL backend.