August 2005 Archives

Glenn Letham

AddThis Social Bookmark Button

Related link: http://www.gisuser.com/content/view/6773/

You’ll likely start seeing a fair number of announcements regarding efforts supporting the search and rescue, as well as the clean-up efforts taking place in Louisiana, Mississippi, and Alabama. Naval vessels are in transit bringing relief workers and support, ESRI has pledged their offer for support, and just today the URISA GISCORPS has also responded. In response, URISA is increasing efforts to mobilize the deployment of GISCorps volunteers to the region affected by the hurricane. The immediate need is for 5-10 volunteers at this point. These volunteers must have enough GIS experience to work effectively in an emergency situation. If you are interested and are not already a volunteer, please See Details HERE - http://www.gisuser.com/content/view/6773/

Glenn Letham

AddThis Social Bookmark Button

Related link: http://www.symbianone.com/content/view/2185/

Wireless application developers, and in particular Symbian OS developers, will have some excellent educational and networking opportunities at the coming CTIA Wireless IT event taking place Sept 27-29 in San Francisco, CA. Special developer focused events have been organized by Navteq (LBS), Forum Nokia, and Sony Ericsson Developer World. Read on for details. We recently posted some information about special developer sessions and events taking place at the conference including: the LBS Challenge, a Games Mini Conference, Sony Ericsson Developer Day, and Forum.Nokia developer sessions.

Glenn Letham

AddThis Social Bookmark Button

Related link: http://www.flickr.com/photos/gisuser/sets/

While I’ve been searching for real-time weather and imagery KMLs I’ve also generated some output of the results I’ve had using Google Earth. These images are now featured at my photoblog at http://www.flickr.com/photos/gisuser/. Also of interest is the real-time stream flow data and gauge readings available from the USGS - these data are useful for tracking hurricane flooding. You can find out about it here http://www.gisuser.com/content/view/6733/. Those looking to download Google Earth KMLs of HNC (national hurricane center) data can find listings in our downloads section at GISuser.com. Finally, best wishes to all of our friends and associates in Louisiana, Alabama, Mississippi, and anywhere else that may be affected by Katrina.

Glenn Letham

AddThis Social Bookmark Button

Related link: http://www.symbianone.com/content/view/2137/

In April 2004 Taproot took $7m in venture capital. Up to that time it had been providing contract services for about 4 years, undertaking telephony design, for a range of handset manufacturers. The goal in taking venture capital was to allow Taproot to invest in a range of products. One of the results was the launch of a WiFi product for Symbian OS in October 2004, which was successfully licensed to Symbian in June 2005 for inclusion in future versions of Symbian OS. This was followed by other telephony products. If your interested in more about how they took their VC and ran with it check out the full article at http://www.symbianone.com/content/view/2137/

Glenn Letham

AddThis Social Bookmark Button

Related link: http://www.gisuser.com/content/view/6647/28/

The City of Nanaimo, British Columbia recently started using FME Suite’s KML support to provide residents with access to some of its geographic information via Google Earth. Using FME Suite, the City’s web site is providing KML links to visitors. KMLs include a virtual tour of the downtown core, 3D building models, and links to downtown businesses as well as orthophoto data for the Nanaimo region. We’re pleased to take a closer look at these cool applications taking advantage of the latest API’s made available from Google.

Kudos to the City of Nanaimo for being so proactive and for allowing their IT department and GIS crew to dabble with technology. Nanaimo has been a long-time “power” user of GIS and has some of the best online webmapping sites you’ll find in BC or Canada for that matter!

Check out complete details, examples, and some screen shots of the app at http://www.gisuser.com/content/view/6647/28/

Do you have any leads on cool Google Earth implementations or sources of KMLs?

Bill Glover

AddThis Social Bookmark Button

Related link: http://www.billglover.com/blog/archives/000148.html

Here’s a low-res shot of the cover art for the book. Mary told us that this is based on a photo of a train yard, and that is the train’s headlight in the bottom right corner. While it’s not really meant to be symbolic of anything the reference to shipping and something big approaching seems appropriate. The signal lights reminds me of modem lights (router lights for you youngsters).

RFID Essentials: cover art
(click for larger image)

What would you have put on the cover of a book about RFID?

AddThis Social Bookmark Button

Streaming MP3 has been around for years, and despite the emergence of new formats such as AAC, it remains the dominant audio format on the web. Streaming MP3 works well enough in with a LAN or broadband connection, but what about mobile networks, where bandwidth is generally more limited? This article describes a simple trick that enables the creation of rate adaptive clients, among other things, without breaking backward compatibility. This trick, I am reluctant to call it a hack because the idea is so simple, also enables audio hyperlinks within an MP3 stream.

I am calling this RAXAR, for rate adaptive experimental audio relay. I don’t like the name all that much, so if someone else has a better idea, go for it.

MP3 + ID3v2 = RAXAR

Embedding meta-data within MP3 streams is easy using the ID3v2 system. ID tags are routinely used to embed title, author and other information within a stream. So why not extend this to define a family of tags that enable MP3 streams to point to downsampled streams, relays, and even to affiliate streams or audio hyperlinks.

Adaptive Rate MP3 Clients

By embedding a few ID3 tags in a stream, it can refer listening clients to alternate streams that run at higher or lower bitrates. This will enable the creation of smarter MP3 clients that automatically upgrade their connection when bandwidth is available, and automatically step down to a lower bitrate when network performance is lacking. The client could either do this automatically, or in response to the user clicking a user interface element. Imagine a cellphone MP3 player that allows you to increase/decrease sound quality via a rocker switch (similar to volume control).

To do this, we define a convention for a set of link frames in the ID3 namespace. The tag Wxxx, where xxx is the bitrate in kbps, contains a URL that points to an alternate bitrate stream. Simple. Clients that know that W064 means “a 64kbps stream lives –> here” will use this information accordingly. Older MP3 clients will just ignore the tag.

Relay and Mirror Sites

One of the neat things we can do with RAXAR is to embed pointers to relays and mirror servers. Smart MP3 clients would parse these tags and build up an index of where peer stream servers reside, and could autonomously select stream servers closest to their network address space. Think of this as a sort of poor man’s multicasting.

How would this work? A RAXAR client would connect to the root stream, which would embed tags that point to relays. The client quickly learns where relays are located, and can automatically switch to them, either on its own, or in response to a force redirect tag.

Of course, existing load balancing techniques work well for spreading the initial connect requests around, but one of the neat things we can do by embedding tags in a live stream is to enable redirection after a connection is already in progress.

For example, let’s say that midway through a session, a new relay becomes available. The root stream starts broadcasting this information every few frames. The client decides that the relay server is closer than the root server, and connects to it.

Using this technique it will be possible to build multi-hop MP3 relay networks, with each relay appending additional pointers to upstream and downstream relays.

To enable this feature, we create a set of ID3 tags as follows:

WRxx –> URL of relay or mirror stream #xx

The stream server will rank relays using the numeric identifier (00 = best, 99 = dead last). This list will be dynamic, so smart clients will weight relay recommendations by numeric rank and time since the recommendation was made.

Again, this is a simple trick, but it enables us to do some interesting things, like enabling automatic discovery of peer stream servers just by connecting to one stream. There is an obvious security issue here, as a stream server could insert bogus URLs for relay servers, and therefore cause all sorts of mayhem. We assume the source stream is a trusted source, probably not a good assumption, but in a trusted system, you can do some interesting things with this technique.

Stream Groups and Audio Hyperlinks

Another nifty thing we can do is to create stream groups, where one stream publishes links to other streams within an affinity group. So let’s say you want to create your own package of Internet radio stations, you just embed pointers to other streams within the group. A smart client that connects to one stream will automatically learn the location and current URLs for affiliated streams.

Why do this instead of look up the shoutcast directory? Well, maybe your streaming on a mobile device with a tiny screen. This trick enables MP3 clients, especially those designed for mobile devices, to automatically discover other streams, and to enable channel surfing via a simple channel up/down interface. This also guarantees that the URLs for affiliate streams are current, as they can be updated mid-stream.

To support stream grouping, we define a few more ID3 tags:

WAFN –> name of stream or program
WAFD –> description of affiliate stream
WAFC –> channel number of affiliate stream
WAFU –> url of stream

NOTE: these tags are sent in a group, so the source stream can define as many affiliate streams/channels as it wants. RAXAR aware clients will capture these tags as they are sent to build up a channel map (a well designed client will cache maps from previous sessions).

Next Steps

The great thing about RAXAR is that it is backward compatible with existing ID3 aware MP3 players. Older players that do not recognize the tags will simply ignore them. New clients will be able to use this information to automatically discover alternate streams, and to build a channel guide from information embedded within the stream itself (a nifty capability that could be used in all sorts of creative ways).

For example, a radio station could use the stream groups feature to embed links to recent podcasts within their main live stream, or could play short tones as queues that a phrase is a hyperlink to another location. This ability to make MP3 streams hyperlinkable could lead to some neat applications.

What’s left to do? To send a RAXAR stream, all you need to do is add the newly defined tags to your existing MP3 or other ID3 friendly stream. Note that as of this writing, this is a very informal spec, and the names for the new tags are arbitrary. If someone else wants to add to this or has a better idea for tag nomenclature, go for it.

It should be equally straightforward to update MP3 clients to listen for RAXAR tags. Implementing a rate adaptive MP3 client is simple enough, just listen for Wnnn tags, and build a map of which bitrates map to which URLs. Automatic upgrade/downgrade behavior will be somewhat of a black art due to the unpredictable nature of Internet connections. A good rule of thumb for mobile clients will be to be to start with a mid-range bitrate, say 64kbps, and upgrade if the connection is faster, downgrade if it’s slower (e.g. GPRS). It will also be good to provide the listener with a way to manually upgrade or downgrade the connection.

Other features, such as channel groups and relay networks, will require a little more work, but not much. A simple UI for channel groups is to provide a basic channel up/down click interface so the listener can cycle through a group of streams without looking at a graphical user interface.

Audio hyperlinking is an especially interesting area. One idea that came out of the camp was to announce audio hyperlinks with a short tone. While this would be obnoxious in a music stream, this would work nicely for spoken word programming, possibly with different tones to signify different types of hyperlinks (e.g. one a completely different document, one to a short recording that defines a term or concept then reverts back to the original stream). Of course, it would be better to use a markup language to define more complex hyperlinked audio documents, but the goal here is to hack MP3 streams so this can be baked right into the stream itself (this should work for any ID3 friendly stream, not just MP3).

All in all, this should be straightforward to implement, because 95% of what we need is already there. Lastly, I should point out that I am not putting this out there as a “big idea”. It’s a pretty minor tweak to a widely used system, and if we can get some consensus tag nomenclature, we’ll be able to build some interesting services. When I started working on this, I was mainly interested in embedding information about downsampled streams within a parent stream. While I was exploring that notion, I realized that this could be extended to other areas, such as audio hyperlinking. I like the idea of being able to explore an audio stream, so who knows, this could lead to some interesting things. I thought I’d put this out there and see who bites.

Matthew Gast

AddThis Social Bookmark Button

Related link: http://www.oreillynet.com/pub/a/oreilly/digitalmedia/2004/10/14/digital_tv.html

Last September, I started using terrestrial digital TV as a program feed to my TiVo. I later described the setup in this article almost a year ago. Ever since the initial setup, my TiVo has worked flawlessly with the Hughes HTL-HD digital TV receiver. It cycles through inputs if it receives the same channel repeatedly, but it never missed a channel change command in a year. A large part of my research for the initial setup was devoted to finding a digital TV receiver that I could control over a serial connection from my TiVo. After getting it running in late September last year, I never had to touch it. The software started at version 4, and I’m not even sure how many times it was updated since then. The HTL-HD receiver just kept on chugging away, feeding my TiVo a flawless digital picture. As far as I can tell, the HTL-HD never missed a channel change fed to it over serial control.

Until this week, that is. All my recordings that took place after the early morning of August 17 were on the same channel. My TiVo had suddenly lost the ability to change channels on the receiver, after working so well for a year. As far as I can tell, the TiVo service pushed a new software version (7.2.0-oth-01-2-140) to me in the wee hours of the 17th.

It didn’t take long to diagnose the problem. When I changed the channel the TiVo thought it was tuned to, nothing happened on the HTL-HD. Whatever the TiVo had been doing to change channels, it no longer was.

First step: reset the HTL-HD, and see if it starts responding. Nope.

(It’s worth noting here that the HTL-HD is a DirecTV satellite receiver. DirecTV can push software updates to the receiver as part of the subscription, and software updates can change all sorts of things. I’m using the HTL-HD as a terrestrial receiver only, so DirecTV has no way of feeding me new software. It’s apparently somewhat common for new software updates to alter serial control capabilities. Since I have nothing connected to the satellite port, though, I can safely rule that out. Or start glowing in the dark, I guess.)

Second step: re-run the channel changing setup in TiVo. It’s very different from what it was a year ago. Last year, when I first set it up, you had to identify the type of serial control. Two protocols were in common use: MPG and APG. The HTL-HD uses APG. Those comfortable, familiar screens are gone, though. In its place, the TiVo now tries to guess what protocol to use, and those tests fail on my hardware. In the first test, the TiVo sends a channel change command. In the second step, you must reset the external receiver and try again. It doesn’t work.

I unplug both the satellite receiver and the TiVo, and try again. Still no luck.

Third step: re-run guided setup to be an antenna-only TiVo. Then re-run guided setup a second time to be antenna+satellite. This takes a great deal of time, and also does not work.

At this point, I just want my TiVo to change channels, so I dig out the infrared blasters from their original packing material. Changing the TiVo to use IR control for an external receiver is now different, too. There’s no longer a control code. The TiVo runs a bunch of experiments (”The TiVo tried to change to channel 2. Did it work?”), and I guess it deduces a code from that.

Infrared control has two major drawbacks. One, it’s much slower than the old serial system. If I move too quickly through the channels, say from channel 4 to channel 5, I wind up on channel 45. More ominously, the flakiness of IR that I was trying to avoid in the first place is readily observable. About half of the channel change operations have failed. When the TiVo tries to go to channel 20, it winds up on 2. Or channel 3 instead of channel 36.

This morning, I went to the TiVo web site for help. According to TiVo’s information, the latest released software for my Series2 is 7.1, but I have 7.2. The TiVo help forum this thread, dated August 15, says that version 7.2 is still beta software, and that it has leaked out to customers who aren’t supposed to get it. The initial poster even has the same problem I do–serial control of his external receiver quit working. A response on the thread advised calling TiVo support for help.

Given the paucity of information on version 7.2 (including the TiVo community, since a beta usually has non-disclosure rules), I decided to give TiVo a call to see if they could tell me why serial control quit working. Unfortunately, I didn’t get any help. I’m not sure that I got across the point that there was no software change to my HTL-HD. Although it’s a satellite receiver, I don’t have a satellite subscription, so I don’t get software updates. The rep I spoke with agreed that I shouldn’t really have 7.2, and I was part of his first look at the code. He insisted it was released code, but it was a mystery to him whether serial support was still in the code; he didn’t have access to any information about changes in the software. In the end, he wouldn’t admit that it was a bug, preferring instead to point a temporary finger at my serial cable. Until I buy a second serial cable at my own expense and try it out, apparently TiVo won’t admit that there might be a problem with their software.

Boo hiss, TiVo! I called with a very specific problem report, and got no help. It’s a good thing I have my MythTV box set up, so that it’s not particularly problematic that I can’t depend on my TiVo to record on the right channel.

Matthew Gast

AddThis Social Bookmark Button

Related link: http://digitalmedia.oreilly.com/2005/08/17/myth_tv.html

After a longer gap than I would have liked, the second article in the MythTV series is up. The gap between the first and second articles was due to a grand tour of Asia for most of July. At the end of June, I rushed to get my system operational in advance of the trip, and I intended to file the second installment from my first stop in Australia.

Midway through the QuestNet conference in Australia, I logged in remotely to look at some configuration files to start filling in the sketchy parts of the article, but discovered instead that my machine had been compromised. The compromise was extremely easy to detect because the person (or script) that owned my machine made a mess of the rootkit installation, and several key commands stopped working. I had carefully secured the network, allowing only ssh in through my home firewall, but my Fedora installation enabled both ssh version 1 and ssh version 2. I suspect that I was hit with an ssh1 exploit, though I don’t know for sure.

One of the biggest surprises for me was where my time went. Although MythTV itself is complex, its installation is fairly straightforward, especially if you use a package system with good dependency checks. By far, the two most time-consuming tasks were getting the LCD panel on the front of my case working, and getting the remote control to work, both of which preceded the MythTV installation.

Matthew Gast

AddThis Social Bookmark Button

Related link: http://www.linuxjournal.com/article/8320

I have two articles in the September issue of Linux Journal. The first is a how-to on xsupplicant, one of the two major 802.1X software packages for Linux. (Articles are only available to non-subscribers after a month.) In my professional work, I have often needed to help people get Linux running with link-layer wireless security. The users who are demanding wireless networks are usually the power users, and precisely the same demographic that tends to run Linux.

There’s also an interview with Chris Hessing, the lead developer of xsupplicant. I first interviewed him along with Terry Simons, another xsupplicant team member, late last year. Since then, Chris has continued to ride herd on the wireless networks at the University of Utah as part of the expansion of secure wireless networking throughout the campus. In the interview, we talk briefly about an outdoor 802.11 project that he’s heavily involved in. Combining indoor and outdoor networks is one of the big trends in wireless networking right now, especially at universities.

Glenn Letham

AddThis Social Bookmark Button

Related link: http://www.gisuser.com/content/view/6647/28/.

KMLs include a virtual tour of the downtown core, 3D building models, and links to downtown businesses as well as orthophoto data for the Nanaimo region. We’re pleased to take a closer look at these cool applications taking advantage of the latest API’s made avvailable from Google. For some coll examples of what the city is doing check out the full article at http://www.gisuser.com/content/view/6647/28/. This is a very cool story of a city’s testing of the waters, so to speak. The applications are not a replacement of the city’s fine efforts to date in mainating an eccellent webmapping service. It is, however, an example of how the APIs can be used to extend the reach of their GIS.

Are you aware of any other government agencies testing the wwaters with the Google APIs?

Glenn Letham

AddThis Social Bookmark Button

Related link: http://www.gisuser.com/content/view/6585/

The clever developer of this site has incorporated the Google Map API along with some publicly available crime data from the City of Chicago. Visitors can browse crimes by type, street, date, police district, ZIP code, Ward, or specific location. Viewing a them like Arson will reveal details of a specific occurrence sorted by date/time accompanied by an address and a direct hyperlink to a crime map served via the Google map API.

Are you famliar with any other inovative hacks? If so please share some ideas.

Matthew Gast

AddThis Social Bookmark Button

Related link: http://www.oreillynet.com/pub/a/oreilly/digitalmedia/2005/06/22/myth_tv.html

As an addendum to part 1 of my MythTV series, here is the cost (excluding tax and shipping) for each of the components in my system, from when I ordered the parts in late April and early May of this year. (The percentages do not add up to 100% due to rounding.)

Component Description Cost
($) (%) of total
HD capture card Two pcHDTV HD-3000 cards* $320.00 26%
Case Silverstone LC03V** $207.45 17%
Power supply Seasonic S12-330W $52.95 4%
Mainboard MSI K8N Neo2 Platinum $137.00 11%
CPU AMD Athlon64 3200+ (Winchester)*** $195.00 16%
RAM 1 GB PC-3200 (DDR) Kingston ValueRAM $95.00 8%
Hard disk 120 GB Samsung SpinPoint $85.00 7%
Video card Giga-byte GeForce FX 5200 8xAGP TV-Out $52.00 4%
Optical drive Toshiba SD-R5372 dual-layer DVD burner (IDE) $49.99 4%
IR receiver Home Electronics IRA-3 $23.63 2%
TOTAL: $1,218.02


* The price of the capture cards reflects a volume discount for the purchase of five, since I shared a purchase with other interested hobbyists to take advantage of a volume discount.

** I ordered the case from pcalchemy.com. The price of the case includes a bottom case fan that was so noisy I tossed it out, and a front-panel IO module.

*** As a comment to the article notes, a Venice core running at comparable speed would only be $145.

The biggest chunk of money is the outlay for dual tuners, a luxury I use only once or twice a week. I also spent significantly more on the case than necessary to get a case that would look good with all my other A/V equipment. It’s definitely possible to build a perfectly functional system for significantly less money. Naturally, the prices of many of the components have fallen by now, and you should be able to get an even better deal.

Matthew Gast

AddThis Social Bookmark Button

Related link: http://www.nttdocomo.co.jp/service/data/mzone/

On a recent visit to Japan, I took the Tokyo Metro to the Meiji Shrine. As I was getting off at the nearest station, I noticed a sign announcing wireless LAN service on the platform. At the time, I only had my tourist gear with me (the 802.11-equipped laptop was back at the hotel), and couldn’t see what the service was like.

It must be very convenient whenever there are train delays to be able to pull out a PDA and get networked. I wouldn’t be surprised if the wireless LAN service is part of a longer-term plan by NTT DoCoMo (the operator) to offload mobile phone minutes on to much cheaper unlicensed spectrum. It’s a lot easier to put 802.11 access points underground than mobile phone equipment, and much less costly to expand.

The picture is a bit fuzzy because I snapped it with my camera phone, but here it is.

image