December 17, 2007

Battle for Wesnoth : A free turn based strategy game

While sitting around waiting for Starcraft 2 to be released, why not try out some of the other excellent offerings out there? Personally, I've been itching for some "You, move there, you kill him, you, build that" action for quite a while, and I was not particularly up for reinstalling Warcraft on the windows machines.

I had taken a look at Battle for Wesnoth about 2 years ago, and while I found it 'interesting', it didn't really grab me. I checked the project page, and saw a lot of work had been done on it, so decided to give it another try, and boy am I glad I have.

I won't go into details about the game. There's a very nice Youtube trailer here that shows some basic gameplay and highlights the amazing artwork that has gone into the game. Artwork tends to be the achilles heel of many opensource games. Getting good artwork (and in the amount necessary) is very difficult. The Wesnoth folks have filled in their entire tileset, characters, and dialogs with very clean, professional artwork. It's a joy to play.

Check out the Youtube video of the trailer.

Sure, by World of Warcraft standards, this game looks primitive. But the gameplay is intricate and detailed, no rough edges nor incomplete implementations. There is a decent music soundtrack, and sound effects in the game are amusing and bolster the enjoyability.

And it's free. And runs under Linux, Mac, or Windows.

What more could you ask for?

Posted by dbs at 12:34 PM | Comments (0) | TrackBack

November 6, 2007

Photo Managers - Digikam rocks

Today I am full of Mad Love for DigiKam, the photo manager distributed with KDE. I've been using it off and on for a few years, and for one reason or another, I would stray away and use manual file copies for a while.

As of about a year ago though, I've moved to using it full time for managing the (sometimes hundreds) of pictures I take in a given session. There's a whole slew of wonderful functions in it, but the ones that made me finally stick with it can be summed up as follows:

  • Automatic directory creation and sorting when importing from the camera. Directories can be created according to the date the picture was taken (importing 250 pictures from my camera may make 4 directories, if I was shooting over several days)
  • Direct support for my Canon 400D. When I plug in the USB, KDE prompts me to start Digikam, and everything is imported.
  • Full support for Exif data, including image orientaton, etc. Exif data is never removed or 'flushed' from the images.
  • Excellent export functionality to either Flickr or to a series of HTML files and thumbnails.
  • Very good gallery organization, sorting, and previewing. I can work with thousands of images and sort them into appropriate directories.
  • Tagging allows sorting and categorizing of images without reordering the directories. Searching for tags, dates, or other data generates a new view based on the tag criteria.
  • Easy calling of external programs such as The Gimp for post-processing.

All of this, combined with, well, it LOOKS great, make Digikam one of my favorite KDE apps.

Posted by dbs at 1:31 PM | Comments (0) | TrackBack

October 2, 2007

Journeying Abroad - Life without Mozilla

It's become almost a truism that if you use a Linux machine for your desktop, you must be running Firefox as your web browser, and Thunderbird as your mail client. The former is certainly more prevelant than than the latter, but even so, both of these programs are fairly common in the greater Linux community.

However, despite their popularity, they have their drawbacks. On the Firefox side, the program suffers from it's core dependance on XUL, the XML based rendering engine that is at the core of the product. While XUL is remarkably flexible, powerful, and useful, it is also a performance hog. Firefox, even on yawl, my desktop machine, which should have enough oomph to drive it, can come to a painful crawl after only a few hours of use.

The memory leaks in Firefox are well known, and to Mozilla's credit, they are being addressed in Firefox 3, currently under development.

On the Thunderbird side, I've been having some absolutely infuriating problems with sending mail. Hitting send will regularly cause a pause of 5-10 seconds in my complete desktop before the mail actually gets sent. I've checked DNS, my SMTP configuration, everything, I can't find the problem.

So why not use this opportunity to play the field?

Here there be dragons...
For the last week, I've been on a No Mozilla campaign, with an audience of one. I have on occasion needed to start Firefox (most notably to view Google Calendar), but for the most part, I've been using Konqueror, the browser within KDE, as my primary web browser.

Konqueror has been remarkably stable and useful, I will happily admit. It is noticeably faster than Firefox in almost every way, and I've seen only 1-2 websites where rendering has failed completely (noteably Google). KDE's inherent ability to allow keyboard redefinition has made the transition to Konqueror quite easy (for instance, Firefox uses ^L to jump to the address bar and edit/copy/whatever your current URL. Konqueror has ^L bound to 'clear address bar', something that was driving me bonkers for a few days, before I realized I was simply using the wrong function. A quick key redefinition, and I was happy again).

For the most part, all my plugins are working correctly as well. Konqueror adapts the Flash, Java, and Shockwave plugins as used in Firefox without any problems. In stream videos and animations work just fine.

Will I continue using Konqueror? Most likely I'll stick with it for a while. I do miss a few basic things though. For instance, I use Google Browser Sync to make sure all my bookmark folders are synced across all my machines. My Konqueror installation does not have my, er, large selection of bookmarks I've accumulated. Secondly, I've been using Sage as my RSS reader (as it syncs in with the Firefox bookmarks quite nicely). That naturally won't work with Konqueror, so I'm without a centralized RSS reader right now.

Even with these niggles, I'm finding myself using Konqueror more and more. Speed, stability, and functionality. How pleasant!

Great Dave, but what about mail?
Oh yeah, the mail. Well, this one doesn't have quite as happy a story.

In my journey away from Thunderbird, the first choice was naturally KMail, the mail component of the Kontact system in KDE. I'd used KMail on and off several times over the year, and I'm sad to say, it really hasn't improved at the pace other applications have. In many ways it's quite pleasant to work with, snappy rendering, good layout and feel, complete and workable dialogs, but it still suffers from a Linux 'half complete' feel. The keyboard bindings for mail navigation are obtuse and, oddly, impossible to reassign (I even have a bug open on it - it's still not fixed). The thread model in KMail is abysmal - making it very easy to freeze the entire interface on very large mailboxes, etc etc.

So KMail was okay for a bit, but wasn't cutting the mustard for regular use. The next natural check was of course Evolution, the Gnome mail client.

I've used Evolution off and on a lot over the years, and in general, it's okay. I don't particularly like GTK based apps (I find them overly hungry for screen real estate, and a bad combination of eye candy and ham-handed attempts at UI design), and Evolution shows many of these traits. However, even with those faults, it's not a bad client. I got it up and running without any problems, and it's working fine.

So why am I gripey?

I miss Thunderbirds spam filtering. I get a LOT of spam. My monitors regularly log 500-700 spam messages a day into my inbox. boomer does an awesome job of catching the lions share of the spam (about 80%), but the rest shows up in my inbox. Thunderbird was catching perhaps 90% of -that- spam, and tagging it for me. I could review what was tagged, agree with whatever it set, hit "purge", and it would all go away.

Evolution has very rudimentary junk filtering, and it's not catching much of this spam. I'm finding myself spending much of my time just deleting spam messages, and growling.

Conclusions
Will I stick with Konqueror for a while? Yes, I think so. I have to rethink my RSS aggregation and viewing. I'm not keen on a locally managed RSS list (because I change machines so often), but I'm also not excited about a remote 'web' based system (Web 2.0 can bite me, and old sk00l type applications are not fast enough for my reading habits). So that need is still missing.

Will I stick with Evolution? Perhaps, if I can fix the spam filtering problem. Evolutions handling of multiple accounts is FAR better than Thunderbirds (have a bug open on that one too), and the UI is one I can deal with, if if if...

I'm just never satisfied I guess.

Posted by dbs at 9:49 AM | Comments (0) | TrackBack

August 30, 2007

Calendar sharing. Nirvana found?

What is seemingly the bane of existence for most non-Microsoft users is the constant problem of "How can we share calendars?" Exchange does this extremely well, and there are many a Linux zealot, when confronted with the "Okay, we'll try Linux. How do we share calendars?" has had to hide in shame.

For me, the problem has been "how do I sync my Treo 650 so I can see my family and friends' calendars, without having to manually do some rigamarole involving synchronizing through some Windows based custom tool?

My savior may have arrived in the form of a tool called GooSync.

The concept is simple. The world in general has failed to come up with a standard calendaring system that actually makes sense, and allows multiple people to share, view, and update each others' calendars. iCalendar, while very good for publishing calendars and allowing people to subscribe to them for viewing, does a poor job of allowing others to update someone else's calendar.

Along comes Google Calendar. Ahh, a good, interactive, free calendaring service that allows multiple users to share, update, and publish calendars interactively. Not only that, Google Calendar has a published API specification that allows users to write programs that interact with it.

I had been using CompanionLink to hotsync my Google Calendar down to my Treo, but after months of complaints to their tech support and sales department, explaining that without multiple calendar support, their tool had only limited functionality, and after they even said to me "If you can figure out a way to keep the calendars synchronized without duplicating entries, feel free to tell us how" (and I did), and still not getting an update, it was time to look elsewhere.

GooSync has a number of very strong advantages over CompanionLink and, frankly, any other tool I've seen so far.

  • The base version is free. It allows you to sync one personal calendar to and from the Treo to a single Google Calendar
  • For a small fee (about $20 a year), it supports multiple calendars, with read and write access.
  • It keeps all the calendar entries separate on the Treo, either via a text tag in the entry, or using categories.
  • It syncs wirelessly. That means it'll use the Treo data network (whichever one you have) to talk to their servers to get updates and to post changes. This means you do NOT have to cradle-hotsync your Treo and run some Windows app to synchronize your calendars

That last item bears closer scrutiny. Once the GooSync client is installed on your phone, all subscriptions and maintenance to your calendar list is done via Goosync's website. Want to add a new calendar to your phone? Go to the website, say "show me all my Google calendars" (and it does), and click the checkbox next to the one you want to show up on your Treo. On the phone, run the Synchronize function in the GooSync client, and 30 seconds later, your Treo is updated with all the new entries.

I've tried this with my own calendar, and shared calendars I have write access to, and it works perfectly. No duplicate records, nothing showing up in calendars that I didn't have there before, it just plain works. I now have full control and view into all my Google Calendars from my phone.

With all the gloom and doom about the PalmOS platform (both from me, and also from very well known tech blogs like Engadget), this is a small ray of sunshine. Note that GooSync supports a ton of different devices, so even if you don't have a 'smartphone' per se, you can probably sync your Google Calendar to your device.

Yay technology, and thank you Google for making it possible, and thank you GooSync!

Posted by dbs at 11:33 PM | Comments (6) | TrackBack

August 28, 2007

Another Linux user. Our ranks grow.

About 6 months ago I was having a conversation with my roommate Beth, talking about her aging Dell laptop. She was considering getting a desktop machine to use as her primary workhorse for her up and coming graduate student immersion.

I thought a bit, and said "Hey, I could probably get you something decent. We could even make this an interesting experiment. Tell you what, I'll get you a machine, but it'll run Linux. Up for it?"

"Sure!"

And we were off...

The Requirements
Naturally, the first steps for any project were... no, not figuring out desktop colors. First was trying to figure out what she really needed to DO with her machine. She'd been working on her Dell WindowsXP laptop for a few years now, and had many a tale of technical problems; lockups, crashes, and endless hours on support calls. So the first step was something stable, updateable, and zippy. That was the easy part, but what about applications? What was on the requirements list for software?"

We started out by listing needed functions, rather than specific applications. Most requirements refer to a task that has to be accomplished. If you start out with "Well, my first requirement is Internet Explorer", you're not going to get very far. But if the task is "Web browsing", that opens things up. So we started with a list of 'what needs to be done.'"

  • Web Browsing - that's sort of a given. We needed a web browser that could handle not only the normal HTML and CSS and Javascript noise of Web 2.0, but also plugins such as shockwave, flash, java, and other goodies. The primary websites Beth was using Google-based (GMail, etc).
  • VPN - For her paying job, she needed to be able to VPN over PPTP into her work servers.
  • Remote Desktop - the VPN system used remote desktop (RDP) clients to attach to machines within their internal network
  • Personal Finance - Balancing checkbooks, doing online bill payment, interracting online with the credit card companies and banks, that all had to be work.
  • Digital Camera interfaces - Needed to be able to upload images from a digital camera, and needed to be able to work with the image galleries, sorting, fixing, discarding, etc.
  • USB pen drives - Have to be able to socket in a pen drive, copy files to and from it, and take it with you.
  • Word processing / etc - basic office suite functions. Must be able to do descent document management, and be fairly compatible with Microsoft office formats, though this was primarily for exchanging documents with other students and faculty, not dealing with Large Corporate Insanely Complex Spreadsheets [tm]
  • A decent PDF viewer
  • Ability to print to the network printer(s) at the house. This was important, as we have a nice color document printer available on one of other PC's, and being able to work with that was crucial.
  • Network access to shares - With other PCs in the house, transparent access to remote file shares, and copying files to and from her old laptop, that was important.
  • Music! Must be able to listen to Radio Paradise! In addition, have to be able to manage a portable music player like an ipod, and be able to buy and download music online.
  • Most video and audio formats were needed. Not just flash animations, but also WMV files and the like
  • Graphic Editing - A high end photo editor and graphics editing tool was definately needed - not just for cropping, resizing, and the like, but also for composition, effects, and other detail work
  • IRC - yeah well.
  • IM - Google chat is fine, but really, the other chat systems needed to be available as well. Not everyone is on google. Mostly.

The list wasn't short, and there were a few red flags in there, but all in all, I was pretty sure I could accommodate all of her needs on a Linux machine without too much yak-shaving. It was time to start.

The Machine
100_1784.JPGNaturally, I had start with a computer. None of the requirements were particularly CPU intensive, so I didn't need to go bonkers on horsepower, though memory was going to be important. I had had great luck with 'yawl', my Dell GX260 desktop machine, so I opted for a similar configuration. Some fast ebaying, and I aquired a Dell GX270 with a P4 2.8gig CPU, 1gig RAM, and 80gig HD for $150. It was an SFF machine (small form factor), so it would be smallish. Perfect for her desk, and was in a configuration I was comfortable with. After some discussion, the name 'wherry' was chosen, in keeping with our boat-based naming scheme. (A wherry is a type of boat used for carrying cargo on canals in England).

The OS
Now to choose an OS. This really didn't take much thought. I've been a convert to the Ubuntu banner for about a year and a half now, and with each successive release of the platform, things have only improved. Because I wanted this machine to be as maintainable as possible, I opted not to go for Kubuntu, the KDE variant of Ubuntu, because I was trying not to apply my own biases toward KDE, and therefore defaulted back to GNOME. I later regretted this decision, but more on that later.

I downloaded the Ubuntu 'Feisty Fawn' release (what at the time was considered 'current' and stable), and burned a CD for it. Popping it into 'wherry', I booted it, selected 'Install!' and off it went. 15 minutes later, I had rebooted, and had a lovely Ubuntu login screen available, running at 1024x768 (the maximum my current monitor could support), in full color, and on the the net. We were in business!

The basic applications
Naturally, we needed to do some of the basic things. Firefox was the natural choice for web browsing. While there are certainly alternatives, Beth was already comfortable in Firefox, and we knew it was easily extended and had lots of plugins. With the latest updates in Feisty Fawn, we also had fully functional Flash and Shockwave plugins, as well as an updated Realplayer. Video and audio playback on websites worked like a champ. The only thing missing was WMV support, which required some fiddling to get working. We enabled the Totem Browser Plugin for Firefox (via installing the totem-mozilla package, which automatically installed all the necessary support tools, such as gstreamer). With these bits installed, we had virtually the same browser experience as was provided under Windows, with full audio, video, and graphic support, within an interface Beth was already familiar with. Score!

The VPN
I thought this would be the easy part, but of all the components I thought we'd be able to cover, this one completely stumped me. The goal is to be able, as in Windows, to double-click on a VPN icon, authenticate to the remote PPTP server, and voila, we would be tunnelled in.

Alas, this was not to be the case. I worked with KVPNC for almost 3 weeks, but was consistently foiled at this seemingly simple task. There are many tutorials on the net on how to configure PPTP via various utilities, but I could not get success no matter what I worked with. This was vastly disappointing, and as of this writing, I still don't have it working.

In the end, I realized that the only way to make this work was to have Beth use her VMware installation (see below) for VPN access. This is a solution I really don't like, so if anyone has any ideas on how to debug this KVPNC or NetworkManager to work with Windows PPTP servers, please let me know!

If we had a working VPN, we could easily use the awesome remote desktop tool Krdc to access remote machines via RDP. Unfortunately, no VPN, so we'll have to remote desktop via the VMware install

The VMware Instance
I already knew there were certain things we weren't going to be able to do under Linux. There are gaps in what can be easily moved to a whole new platform. In this case, the great immovable obstacle was Quicken from Intuit. There will never actually be a Linux version of Quicken or Quickbooks, I am fairly sure of that, having some... experience with how Quickbooks is developed - there is no reason for Intuit to ever port their application to Linux. I did look at other possible replacements, such as GnuCash, but in reality, businesses and banks support Quicken. Without Quicken, we were just going to get in trouble.

There were two possible ways to get around this. The first is to go sort of 'halfway', using an interim environment. The best free tool around is WINE, which has gained a reputation as being quite robust for certain applications. It's still a 'half-step' though, as you're emulating a windows environment under Linux. A better solution is Crossover, by Codeweavers. A commercially supported tool based on the work done in WINE.

Both of these solutions MAY result in a running version of Quicken, but it would be a hybrid installation - half in Linux, half in Windows. My experience with Quicken is it depends very heavily on it's environment in order to fetch data from banks, print invoices and reports, etc. I wasn't really sure it would work completely, and I was trying to avoid as much yak shaving as possible. In the end, I decided to install the absolutely fantastic VMware, and create a WindowsXP virtual machine that Beth could start up and shut down as needed. We already had an XP license, and we knew we'd need XP for VPN access. Running Quicken under the VM was just the logical solution.

vmware-2I purchased a license for VMWare Workstation and created a new workstation image. I installed XP onto it (a truly surreal experience if you've never done it. Windows running in a window on a Linux desktop), and then installed the VMware tools into the Windows XP VM. (The tools allow much faster screen updates and mouse integration - rather than having to 'shift in' and 'shift out' of the VM, the tools allowed basic mouse navigation to and from the VM without really missing a beat.)

Once the patching process was done (a handful of reboots, all within the VM of course, updates, and very very boring downloads), the VM was determined "OKAY!" by me, and I was ready to install it on wherry. VMware has this fantastic little 'mini' installation called VMPlayer which allows any machine to run a VM configured elsewhere. This means I could simply install VMplayer on wherry, copy over the VM I created on yawl, and we'd have a legal, simple running VM of WindowsXP for Beth to use. And in fact, it worked! VMplayer works as advertised. The only drawback is if the VM needs to be reconfigured or changed or updated, it needs to be copied back to the Workstation install, edited, then re-deployed. No problemo! Thank you VMware!

Photo Downloads and Editing
So with the personal finance stuff out of the way, it was on to the graphics. Beth has a digital camera she needs to pull pictures from, as well as a huge collection of photos being scanned in from a film scanner. We needed a good tool to browse, organize, label, tag, and perhaps edit these several thousand images.

My favorite tool, and one that I feel has not be equaled, is DigiKam. It started out as the KDE alternative to gPhoto, but has since far surpassed it in functionality, ease of use, and in features someone actively working with many many digital photos really needs. DigiKam has excellent browsing and album tools, can export photos to Gallery or to flat HTML directories for publication, but also has a great interface to allow uploads into Flickr.

DigiKam also interfaces very nicely into the KDE desktop tools. When a USB device comes online (just by plugging it in), KDE pops up a dialog asking if you'd like to import pictures into DigiKam from it, or just open it in a browse window. If you select DigiKam, it starts up, and previews the pictures on the device. This works great for pen drives or for digital cameras, most of which support the USB mass storage specification, and files on the camera just appear as normal files. No special reader needed.

But beyond basic photo browsing, uploading, and categorization, Beth also needed to do photo editing. Cropping, resizing, color changes, effects, compositing, the whole works. The natural choice for this is the GIMP, or the "Gnu Image Manipulation Program." GIMP is the defacto standard for graphic editing under Linux, and is frequently compared to Photoshop for functionality. As far as differences, the big one comes in the price. GIMP is free, and Photoshop, well, isn't. GIMP doesn't have the huge array of commercial plugins that Photoshop has (and there are a lot of them), but it has a pretty large array of plugins on it's own. The other criticism frequently levelled against GIMP is that it's hard to use, or has a very 'strange' interface. I don't know about that, but have you ever really looked at Photoshop? It's interface is just as bizarre, complex, and unintuitive. It's just been around longer. Beth and I discussed the differences between GIMP and Photoshop, and after talking through the things she needed to do with it, decided GIMP would probably work just fine for her needs.

Word Processing and Office Apps
I thought this might be a challenge as well, but in the end, the conversation was brief. "Hmm, office stuff." "Can't I just use OpenOffice?" "Uhh, sure. You okay with that?" "Hell yeah, we use it all the time.".

Okay then, Open Office it was.

PDF Viewer
This was a little bit tricky. Adobe provides a fully functional reader for Linux, that has the familiar Reader interface and all that jazz. I've used this under numerous circumstances on yawl. But in point of fact, it's not 100% necessary. KDE and many other environments come with perfectly functional PDF previewers and readers that let you browse and work with PDFs. Adobe's reader is more complete, and includes PDF extensions that may not be in the opensource tools. I know that Beth works with a TON of very complex PDFs when dealing with our cohousing project, so having the 'fully supported' reader is probably a good idea. In that goes.

Network printing and share access
This one was pretty nerve-wracking as well. Linux (and in fact all Unixim) have had a long history of not-playing-well-with-printers. In fact, up until a year ago, Firefox couldn't even print a page correctly in a standard Linux distro. So with great trepidation, I set about configuring wherry to talk to the HP color inkjet printer attached to 'dragon' (my wife's computer running Windows XP). KDE provided a simple Printer dialog screen, and after specifying the printer was on //dragon/HP930C, I selected 'Print test page' and... it printed! Knock me over with a feather. That wasn't supposed to be that easy. I set the printer as wherry's default printer, went in to Firefox, ran up a Google map, said "print this", and it came out on the remote printer perfectly. This sort of transparent network resource access, particularly for printers was virtually unheard of as little as a year ago. What fantastic advances have been made.

Accessing file shares was just as easy. In Konqueror (KDE's all purpose filesystem and web browser), simply typing in 'smb://dragon/' immediately let me browse the shares available on 'dragon', copying files to and from them and working with them as if they were local filesystems. We had network access! Strike another requirement off the list.

Playable music and mobile device management
amarok-4Naturally what would a computer be without the ability to listen to the best online music, as well as local MP3 archives? I set up Beth with Amarok, the KDE music player. Each time there's been an update to this outstanding package, it's just gotten better. It functions well as a music player, archive browser, and online streamer. It also has the capability of managing plug-in music players like the iPod, by managing what files are tagged for transfer, then performing a synchronizing update.

Unfortunately, one of the things that Amarok cannot do is interface with the iTunes store. To do this, we'll need a full iTunes installation. We haven't tackled this particular issue quite yet, but there's been a lot of work getting iTunes working under Wine. Stay tuned for an update on this front!

IRC and IM chatting
While not quite ranking up there with Open Office in importance, the need to be online with friends and family for IM and IRC chat is definately there. In the past, Beth had been using tools like ChatZilla for IRC chat, and Google Talk for Jabber conversations. We'd like to move her up a few notches, so we dug around for what would work best

A lot of my associates are very keen on Pidgin (formerly 'GAIM'). I personally have tried it a few times and really wasn't that impressed with it. Beth apparently agreed with me, as after she used Pidgin for a day or three, decided the interface was just too uncomfortable to work with, and abandoned it in favor of Konversation. As far as IM goes, we're planning on checking out Kopete for multi-protocol chatting. I use Kopete for all my Jabber contacts, and it's been a very stable, useful program, and integrates well into my desktop

Wait, what happened to GNOME?
Boy you folks are sharp! In the beginning of this article, I specifically said I was going to use Ubuntu Linux with GNOME as the desktop environment to avoid straying into 'my personal favorites', and coloring Beth's experience in the new environment. The last time I tried to use GNOME full time, I gave up after only a few weeks. At the time I speculated that my long time exposure to KDE made me uncomfortable in GNOME, but after trying to get things set up and useable and easy for Beth to work in with GNOME, I gave up in disgust, and switched her to KDE. Konqueror, the embedded browseable targets, DigiKam, all the other decent tools in KDE not only made it easy for me to get her up to speed, but it also made it easy for her to learn and explore new things, allowing her to figure out stuff on her own. GNOME's minimalistic interface puts up more barriers than anything else, and in the end, wasn't appropriate for this new user. A quick change of login preferences, and she was happily working away in KDE.

Conclusions
It's now been about a week since 'wherry' first came online. So far I've only been called down to Beth's desk once to figure out a simple URL problem with the SMB share. Everything else - photo editing, browsing, printing, copying files to and from the shares from her old laptop, and just plain Getting Work Done she's done on her own, without needing my input. This alone shows how stable and, dare I say it, user friendly the Linux desktop has gotten.

I'm tickled to note that 95% of the functionality that Beth needs was accomplished with native Linux applications. The VMware instance is now less of a "here's where we'll do all the things Linux can't do", and more of a "We need to run these old crufty applications that have no choice but be wedded to that icky OS. We'll give them a special place to run so they'll be happy."

Special thanks...
I have to give a big thanks to Beth for letting me give this project a try, and the go-ahead to write about it here. Make sure you stop by her profile and send her a thanks! Also thanks to my wife Catya, who has also been a great supporter, trying her darndest not snark at our geeky pursuits. Thanks everyone!

Posted by dbs at 3:01 PM | Comments (6) | TrackBack

August 16, 2007

ScribeFire - A handy blog posting tool?

I'm trying out a new tool today called ScribeFire. 

The idea is to provide a rich user interface for doing blog postings via a Firefox plugin.  I've tried this a few times before with other tools, and have always gone back to just using plain old HTML pages.

So far, the interface is useable, and appears to support many different blogs (including Livejournal, Wordpress, and other content management systems). 

It appears to also support editing existing postings and content, but maybe it's because PG has several thousand posts, the list never actually came up.

The intriguing thing is that ScribeFire is supposed to support Drupal, which would be awfully handy for some of the work we're doing, but I can't seem to get it working.

Folks who do LiveJournal, WordPress, Blogger.com, or Movable Type should definately give it a try.

Posted by dbs at 12:49 AM | Comments (0) | TrackBack

July 8, 2007

Darwinia Mini-Review

I haven't been doing much reviewing lately, but I thought I'd point a couple of the folks who keep whining about the lack of Linux games to the fine work at Introversion Software.

I just completed the demo for Darwinia, a sort of 'Populous meets TRON' game.

Darwinia is very much a 'god game' in that you are 'above' the life forms you're interacting with, but, like Populous, you can't directly control them. You can influence them in several ways ("All citizens, you feel an urge to move sort of in that direction!"), but can't give the "you guys, move there and build a building, you guys, there and shoot them" sort of detail that's common in things like Starcraft.

From Introversion's page:

The world of Darwinia is a virtual themepark, running entirely inside a computer network and populated by a sentient evolving life form called the Darwinians. Unfortunately Darwinia has been overrun by a computer virus which has multiplied out of control. Your task is to destroy the Viral Infection and save the Darwinians from extinction.

The plotline does sound somewhat trite, and there's certainly an 80's-esque flair to the entire game. It's modelled very heavily on TRON in imagery and concept (a model that Introversion seems to use a lot), so the rendered playing feels very much like one of those graphics demos you oo'ed and ah'ed at the first time you saw an SGI machine (well I did, anyway). If you make sure you're not being overly critical and immediately jump up with "Gosh, Doom3 blows this away!", you might find yourself enjoying yourself.

First of all, it's a Linux-enabled, full GL, full sound, network enabled, multiplatform game. There's no 'hack' or backsupport or Wine-fiddling here, the game has native Mac, Windows, and Linux builds. Installation was a matter of downloading the demo and running the installation script. On my machine, running Ubuntu, it installed and ran without a hitch, in full screen high resolution, and some phenomenal refresh rate (I noticed -zero- lag in any of either the cut scenes or actual gameplay, when I had several hundred characters moving on the screen).

Introversion has made it 'de rigeur' to have full Linux ports of all their games, and they have several that are top notch. I'll be taking a look at others shortly. But if you're into god-games, and have a Mac, Windows, or Linux PC, and don't mind a new twist on the game with a good story line and comfortable game play, this is a game you should definitely check out.

Posted by dbs at 9:12 PM | Comments (0) | TrackBack

June 10, 2007

Rampant Eye Candy

It's about time I did something with some of this horsepower on my desk. So this week I fired up a couple toys just to have some fun.

Beryl and Compiz

If you've got any inroads into the Linux geek community, you've probably heard about the two compositing window management systems, Compiz and Beryl. A compositing window manager marries window actions and motions with a fancy rendering engine, in this case OpenGL. The end result is a stunningly animated desktop that bears loose resemblance to some of the effect on OSX (such as the schwoopy windows, and the minimization to greyed icons of open desktop windows), but with the extra 'fun' bits Linux folks are known to toss in.

Last week I enabled the beryl manager on yawl, and played around with it for a while. The first thing that can be said - it's certainly pretty. The smooth animation, wobbly windows, and the oh so awesome 3d cube rotation, with live windows is pure eye candy. Add to that toys like the rain drops on the desktop, or the 'floating' windows that stir the 'water' whenever you move them, and you've flat out gone into gratuitous.

For all the toyness, the window manager actually functions quite well. I found myself comfortable in the environment for several days, using it as my primary window manager, while still using KDE for desktop operations.

So why did I stop? Beryl is close - and I mean very close - to being usable on a day to day basis. What stopped me were a few basic issues:

  • The alt-tab 'task switcher' was cumbersome to work with. I found the flickery desktop activity and the lack of "here's where you are, here's where you were, here's how to get there" distracting. I'm sure this could be tuned very easily, but since I alt-tab between apps at a speed that would make a hyperactive-5yr old sweat, this bit of clunk slowed me down enormously.
  • Beryl does NOT play well with SDL applications. Since I do in fact game on occasion, I frequently found myself unable to even control-alt-f1 to get to a console to kill my X server, and had to actually ssh in from another machine to kill and restart X. Not good.
  • The multidesktop-ness of the Beryl 'cube' wasn't playing well with my desktop manager in KDE. I didn't have the 'multiple desktops' I was used to, I simply had one long desktop that was wrapped around 4 sides of the cube. I could control-alt-left and control-alt-right from one cube face to the other, but I was very used to control-f1 and control-f2 to switch to desktop 1 and 2 respectively. That didn't work with Beryl.

In reality, these were my only beefs with Beryl. With the going merge between Beryl and Compiz, I believe the future looks particularly bright for this sort of system.

Doom3

I admit it, I'm a sucker for a FPS shooter. I spent far too much time blasting away in Quake3 Arena for my own good, but I'm completely cured now. *twitch* *twitch*

Doom3 is the latest chapter from ID Software in the Quake / Doom FPS world. It actually came out about 3 years ago, but had such high hardware requirements I wasn't really prepared to play it. Now with yawl equipped with a mildly powerful video board, and having some extra CPU cycles, it was time to give it a try

ID Software is also, it should be noted, one of the few software companies that actually supports Linux directly, releasing their games and systems for Linux and Windows at the same time. No delay on ports or the like. I often wonder why other developers don't follow suit - Linux users are some of the most loyal and vocal, and I'm firmly convinced that the deep Linux support ID has always shown is one of the reasons they're still a leader in the gaming world.

Back to Doom3. After downloading all 485 meg of the 'demo', I unpacked it and ran it. It came up perfectly, ran through the intros, but I had a mild sound problem. A quick look at their FAQ for Doom3 pointed out I needed "+set s_alsa_pcm plughw:0" on my command line. Did that, and voila! Success.

This game is dark. And scary. And amazingly detailed. And intense. And scary. Did I mention scary? Oof. I played through the introduction and until things starting getting spooky / nasty, at which point Zach wandered in, so I had to put it off. I'm going to run it again once he's gone to bed. It's a game that should be played in the dark at night. The game is smooth, beautifully detailed, and runs PERFECTLY under Linux. Yay multi platform support.

More eye candy on the way, but for now, I have to do some level exploring...

Posted by dbs at 8:04 PM | Comments (3) | TrackBack

April 6, 2007

Review: Bang! Howdy

A long time ago on a laptop far far away, I chanced across a new game called Puzzle Pirates. It was from a new outfit on the block calling themselves Three Rings. It looked fun, and even better, ran on Mac, Linux, and Windows without problems due to the wonderous portability of Java. I was impressed then, but stopped playing after a year or so and moved on.

Now ThreeRings has done it again with a new game called Bang! Howdy. Lets take a look...

The Engine
From a geek standpoint, Bang! Howdy jumps right out with a few baseline tech points that really are worthy of noting up front.

First and foremost, it's a Java application, which means without recompilation, it runs on Windows, Mac, and Linux. In fact, it's based around the Java Monkey Engine, defined, on that website, as "a high performance scene graph based graphics API". As soon as you start the applicaton, you can see its roots in the GL graphics system. JME is layered on top of the LWJGL application layer, which has proven to be an outstandingly powerful and flexible system for getting GL performance into Java games and applications.

Second, JME, LWJGL, Java, and most of the development tools are all opensource and GPLed in one form or another. This means that your average developer can download all the libraries and tools and build a system just like this if you have the skills and the time. No license fees, proprietary libraries or secret handshakes needed. Just download and code. I admire a company that realizes the opensource community has a strong offering in tools and environments, and it is no longer necessary to kowtow to large corporate interests in proprietary systems.

Sociopolitical commentary aside, Three Rings has put together a slick, clean interface, using full 3d rendering and animation, that runs smoothly on Windows, Mac, and Linux, and I for one am excited to see such an attractive and elegant application running cleanly and smoothly on my desktop Linux machine.

The Game
Oh, right, the game! Almost forgot about that.

Bang! Howdy is at its core a series of realtime tactics games. There are several variants of a basic theme, with scenarios giving environmental challenges. The entire game is set in a 'Western' motif, with plenty of 'pardner'ing and 'yerself'ing tossed in for flavor. At times it gets a little heavy handed, particularly during the tutorials, but it's easy to slip into the 'fun' aspect of the environment. The chat system will even translate your comments into western-talk if you like (a thankfully disableable feature).


Gameplay
The games themselves resemble simple tabletop 'move the pieces' boardgames. You're given between 3 and 5 game pieces, with varying levels of skills, bonuses, and penalties. Your opponent (either a 'bot' or another player) also gets to select from a pool of available resources (both after viewing the playing field), and then the pieces are placed on the 'board'. Each piece is moved simply by clicking on it and selecting where to move it to.

Long time gamers will feel echoes of Starcraft in the environment, though you're not really managing large numbers of pieces, nor are you mining and building. This is a purely tactical game, as opposed to strategy. The crucial element that balances out gameplay are the timers. Once a piece moves, a timer starts (which is visible as a partial circle under the piece). The timer determines how long it is until the piece can move again. Some pieces move faster than others, and some can move a longer distance. While a piece is waiting to move, it can be given 'orders' telling it where to go when its timer allows. For me, this is where I felt myself in Starcraft mode, frequently saying out loud "You go there, and you go there, you shoot him, and then you go over there..." - then sitting back and watching it happen.

At first I was thinking in large unit numbers, frustrated that I only had 3-4 pieces to work with, but the game balances out skills well, and your opponents don't have any more pieces than you do. The scenarios are simplistic in presentation, but even in the tutorials, it took me 4-5 tries for each game type to actually win a round.

The Graphics and Sound
The board view is isometric, though rendered in full 3d (you can change your 'height' of view, as well as viewing angle), but you don't have full control over every angle and view position. There are 3 levels of zoom, and you can only view the board from the four compass points. Despite this, I found the interface pleasant to work with. Keyboard and mouse interaction is very good - the standard ASDW key arrangements moved or slid the board around, while the mouse was used to select and interract with game pieces. Rotation and zoom was also controlled with keys around the ASDW arrangements.

The rendering and environmental views are extremely well done, and not over the top by any stretch. The artwork, as in Puzzle Pirates, is first rate - and Three Rings obviously went to great pains to make sure each scenario, character, dialog, and room adhered to a very specific set of guidelines as to look and feel. I can't imagine the hours spent drawing these views, but they're fantastic.

The pieces and other features in the game area are all rendered similarly, but they're animated as well. When a gunslinger whips out their six shooter and blazes away at another piece (for 4d6 of damage! [I just made that up]), the piece does it with the flare you'd expect for a gunslinger. When your steam cannon fires off a shell, there's a great animation of a steam burst and the cannon jumps up appropriately. All of these details make the game a pleasure to interract with.

I have to make a note about sound. Sound under Linux has always been a challenge with various n sundry false starts over the years. It has always been the thorn in the side of many adopters.

Fortunately, coherence is coming to the environment, as everyone is agreeing that the ALSA project is the way to go when doing multi-source sound (and who isn't nowadays). Unfortunately, many older systems still use OSS, and there are occasionally problems. Initially, I had problems with sound in Bang! Howdy, until I remembered an article I wrote about how to get Firefox working with ALSA, to view Youtube videos. Since Bang! Howdy is launched from Firefox, I figured it was worth a try, and LO! It worked! I now have full sound.

The sound and music in Bang! Howdy is outstanding. With the kaPWING of bullets, the background music, and the moo of cows, it all works smoothly. I frequently listen to music while at my desk, so I was happy to see a configuration screen that let me turn the music down while playing. Nothing like listening to a cannon fire over a Counting Crows song.

Compensation and Advancement
The game, in much the same way Puzzle Pirates did, encourages single and multiplayer interaction. Winning at games gains you 'scrip', (sort of temporary money), which lets you go to the general store or the bank or the ranch and purchase things like new clothing ('Duds'), new henchmen ('Big Shots' or 'Units') or other items. Scrip can be exchanged for Gold Coins (and vice versa) which is the real currency in the game. Gold coins can also be purchased online (which is one of the ways Three Rings makes money on the game - no fault there :). I haven't figured out all the twisty passages of the game economy yet.

Total Game Environment
Three Rings made an interesting choice with the game environment. Unlike the trend in other MMPORGs, you never actually see your character moving around between games. The only time you see them is in an actual match, and then just as a playing piece. There's no "walk your character across town and into the general store" where you see other players moving about. Each 'room' is basically static. Interacting with other players can be done through the 'Saloon', where a normal chat system is in place. The Saloon is divided into 'Rooms' where you can link up with other players to play games. It's quite a different feel, and has echoes of the game environment on Yahoo! Games.

Conclusion
Bang! Howdy seems like a win. Seeing a fully animated GL application running cleanly on a Linux box without jumping through hoops is enough of a reason to endorse the game, but it's also just plain fun to play. The games are enjoyable and challenging, the environment is comfortable and pleasant to work in, and the application has a clean polished feel to it. I've certainly felt the pull of "I need to practice the Land Grab game more so I can get better at it!" - so by that measure, it's definitely a success. But in particular, for those Linux folks continually frustrated about not having decent games for their platforms, go try Bang! Howdy, it's worth it!

Posted by dbs at 12:32 PM | Comments (0) | TrackBack

March 29, 2007

Subversion + SSH - Close but no banana

About a year ago, I switched my primary source code control system from the venerable old CVS to the (relatively) new kid on the block, Subversion. On the whole, I've been ecstatically happy with the system. It patched many of the ridiculous problems with CVS, and added on things that opensource community has been asking for for ages (like 'rename'), but never made it into CVS.

Now I have all my projects stored in SVN, and my main client is using it as well for their code (they've chosen to go with SVN and are planning to End Of Life their VSS server - to the dismay of no one).

Subclipse
One of the best tools that made this switchover workable (aside from SVN's similarity CVS in many respects, particularly on the command line) is the Subclipse plugin for Eclipse. Subclipse provides a great easy to use interface into SVN servers, giving all the functionaly one would have on the command line via a very simple, tightly integrated GUI.

One thing that had been bugging me, however, was the access methodology I was using to get to my (remote) SVN server. It involved setting up a tunnel in SecureCRT (though Putty can do it as well), and then telling subclipse to use my 'svn://localhost/stonekeep' repository.

SVN+SSH configuration under EclipseWhile doing some surfing, I found that Subclipse supports the svn+ssh syntax for specifying the repository. "Great!" says I, "I won't need to set up the tunnel each time!"

A few more fiddles, a pleasant discovery of a configuration screen in Subclipse, and I had an SVN over SSH connection to my repository, even using my ssh key pair.

Danger, Will Robinson!
But wait! All is not well. When I tried to browse the repository from Subclipse, I quickly hit this error:

Could not open file system at /var/lib/svn/stonekeep (13)Permission Denied: Berkley DB Error while opening environment for file system /var/lib/svn/stonekeep/db:

This vexed me, because I had been having no problems accessing the repository locally on the server, and over my ssh tunnel. Both used the locally running 'svnserve' on the repository host, so why wasn't the svn+ssh connection using it?

The answer comes in the SVN documentation, and via a little research:


What's happening here is that the Subversion client is invoking a local ssh process, connecting to host.example.com, authenticating as the user harry, then spawning a private svnserve process on the remote machine, running as the user harry. The svnserve command is being invoked in tunnel mode (-t) and all network protocol is being “tunneled” over the encrypted connection by ssh, the tunnel-agent. svnserve is aware that it's running as the user harry, and if the client performs a commit, the authenticated username will be attributed as the author of the new revision.

When running over a tunnel, authorization is primarily controlled by operating system permissions to the repository's database files; it's very much the same as if Harry were accessing the repository directly via a file:/// URL.

The Problem With This
I'm really unhappy with this model. The problem is that now the user must have read/write access to the entire repository tree. When using a local socket connection (or one over ssh via a normal tunnel), the Subclipse client connects directly to the svnserve process running on the repository box, and interactions with the server happen under that processes ownership.

The svn+ssh protocol does not use the svnserver on the target machine. It tunnels the command to a user-invoked svnserve process, and that process must have read-write access to the repository.

"Well gosh, that doesn't seem too bad. What's the issue?"

The issue is that to make this methodology work, I have to give the user read/write access to the repository tree. Meaning, they could happily type 'rm -rf /var/lib/svn' and destroy the entire repository. Even worse, the configuration files (including the password / access file, which has passwords in plaintext) must be made available to the general users.

Why svn+ssh doesn't simply make a local socket connection to the svnserve process already running, I don't know. But I can find no way to make that happen.

The fix?
As far as I can tell, there really is no direct fix for this. There are various workarounds, which the SVN documentation discusses, including setting up an 'svn user' for the svn+ssh logins, and the possibility of using unix groups for permissions, but I feel that if you have a listening socket server on your repository host, you should use it, not introduce a second methodology and have to jump through hoops to implement it.

For now, I have to abandon the svn+ssh possibility, and go back to my hand-configured socket tunnels. There's no real loss here - they work remarkably well, are very secure, and quite stable. The slight annoyance of having to open up a SecureCRT session before doing work in Eclipse is just that - a slight annoyance. I've dealt up until now, and I'll just continue to deal.

Posted by dbs at 3:34 PM | Comments (8) | TrackBack

October 31, 2006

LDAP and Thunderbird

I have an ongoing project dream. Someday, have a fully functional suite of opensource-driven services available to our community that gives, if not the full functionality of something like Exchange, but gives enough so that the users can interract and exchange information cleanly, without having to jump through hoops or pay ridiculous amounts of money or subscribe to proprietary, predatory application suites.

I made another step toward this lofty goal this week.

Mmm, geekery

I had been tinkering with LDAP services for a while. The idea of a centralized general information repository that could be used for authentication, contacts, and general configuration details was appealling. LDAP is not for the weak of heart, though, and with only sporadic time to work on it, I never quite got things rolling.

I've recently switched to using Thunderbird as my mail client, which includes a basic address book manager, but what I really wanted to do was share my addressbook with other users and people in my community. Really the only answer to this is LDAP. So, websites bookmarked and google searches in hand, I undertook the task.

Let the yak-shaving commence!

I had already set up the LDAP server for our user, and populated it with some basic contact information. I'd had only limited success in doing contact lookups though, and had let the project lay fallow for several months. With a fresh look at things, I dusted off the configurations and took a closer look at it.

Initially, there was a lot of success. The Thunderbird Addressbook lookup was easy to configure and point at the LDAP server, and searches were working perfectly. The problem was that address completion was not working. I could type an address and have it expand on a local lookup, but addresses in the LDAP server were not coming up.

It turns out there were a few problems. First, address entries in the LDAP directory must subscribe to the Mozilla LDAP Schema. Some basic information will work without it, but to fully populate an address book entry for Thunderbird, you'll need the schema added to your server.

ldapsetup-1

Second, the LDAP interface in Thunderbird isn't completely stable. As reported in this bug, the Addressbook LDAP configuration in Thunderbird is dead broken. It actually won't configure anything. I confirmed this by running my server in Debug mode (slapd -d 254) and watching queries. When configured via "Preferences" "Directory servers", no queries were sent.

To get Thunderbird to talk to LDAP for address completion, you need to right-click on the account entry, go to Properties, select Composition, and define your LDAP server there. Once you do that, you'll start seeing queries against LDAP immediately.

But wait, there's more! The search parameters against LDAP are not very good. The searches are doing pure left-hand matches on only a few of the attributes in LDAP. In contrast, the 'search' function in the Addressbook does a full search, as seen in these log entries:

An address completion attempt:

Oct 27 14:50:36 localhost slapd[12171]: conn=4 op=1 SRCH base="dc=stonekeep,dc=com" scope=1 deref=0 filter="(|(cn=smith*)(mail=smith*)(sn=smith*))

An addressbook lookup:

Oct 27 14:49:06 localhost slapd[12171]: conn=3 op=2 SRCH attr=title company o modifytimestamp mozillaHomeState mozillaHomeUrl homeurl st region mozillaCustom2 custom2 mozillaHomeCountryName description notes department departmentnumber ou orgunit mobile cellphone carphone mozillaCustom1 custom1 mozillaNickname xmozillanickname mozillaWorkUrl workurl fax facsimiletelephonenumber telephoneNumber mozillaHomeStreet mozillaSecondEmail xmozillasecondemail mozillaCustom4 custom4 nsAIMid nscpaimscreenname street streetaddress postOfficeBox homePhone cn commonname givenName mozillaHomePostalCode mozillaHomeLocalityName mozillaWorkStreet2 mozillaUseHtmlMail xmozillausehtmlmail mozillaHomeStreet2 postalCode zip c countryname pager pagerphone mail sn surname mozillaCustom3 custom3 l locality birthyear

As far as I can tell, there is no way to fix this behaviour. It has been opened as a bug. There is apparently a small workaround involving a hidden preference:

ldap_2.servers.MyServer.autoComplete.filterTemplate

An ancient mail posting regarding this is here. Much as I enjoy the product, I find it disheartening that this bug has been known about for over 5 years, and has still not been addressed.

Plugins

Thunderbird supports the same plugin mechanism that Firefox uses, by downloading and running 'xpi' scripts. I haven't had a major need to do a lot of tuning or fiddling with the client though, but one plugin in particular has made the entire application a 'slam dunk' for me, as it were.

Nostalgy adds quick-searching on available mailboxes to Thunderbird. This means that if you wish to move a message to one of several folders (locally or on a remote server), all you need to do is type 's', type any part of the folder name, and hit enter. Nostalgy auto-completes the best match, and files off your messages. This has been a huge interface issue for me in applications such as Evolution and (dare I say it), Outlook. Kudos to the authors of Nostalgy!

So what's missing?

The idea of sharing an addressbook among users is great, but the big lack that I've found is there's no easy way for the general user populace to edit those addressbook entries. No mail client that I've found supports LDAP updating directly from it's interface. There's various tools (such as phpLDAPadmin and JXplorer that let you maintain an LDAP directory remotely, but these require active, external work to add or maintain entries. It would be difficult to get an organization (or even a small group of people) to use these tools to maintain address lists, when all mail clients support basic local book editing on the fly.

The other missing component is a coupled scheduling / calendaring application. This has been the 'Holy Grail' of opensource applications for ages, and is the primary argument companies use to keep supporting Exchange + Outlook. We've started using Google Calendars for shared scheduling, and it's quite good, but is not an integrated desktop application. Someone mailing me a meeting invitation can't be clicked on with an 'I accept this invite' and have it automatically added to my calendar. Perhaps this is on the way with tools like Sunbird, but it's not here yet.

Conclusions

Overall, I'm extremely happy with Thunderbird as a mail client. I've made the transition from my old KMail arrangement with very little fuss (and frankly, a lot of relief over some of KMail's very poor user interface decisions). My wife has been an email power user for ages, and up until recently was an avid Mulberry fan, but with the recent demise of Cyrusoft, Thunderbird became a natural choice. She's been very happy with it.

With a few more tweaks, Thunderbird + LDAP could continue its maturity into an enterprise-class application. Whether these changes will be implemented and in what time frame remains to be seen.

Posted by dbs at 8:20 AM | Comments (7) | TrackBack

October 4, 2006

More gloom for Palm, and the X5 Bluetooth Headphones

P5190129.JPG
I have been looking for writing this review for quite some time. A grand triumph in geeky innovation, platform utilization, and clever use of available technologies. A step forward in mobile communications, entertainment, and convergence in the media, communications, and personal networking space.

Unfortunately, that's not how it turned out.

I have high demands for my mobile gear. I want it to do many things, work consistently, and not be a hassle. To that end, I've been trying to condense the pile of equipment, wires, adapters, and other goodies I carry in my Ogio backpack (similar to this one) down to something manageable. Since I've been travelling a lot lately, this has taken on a particular urgency, as I tend to carry not only my laptop and associated hardware for that, I also bring along an ipod, decent headphones, earpiece for the Treo, and power supplies for all of these. Wouldn't it be nice if I could condense some of this down into one tool?

The perfect solution seemed to be a Bluetooth headphone arrangement. The Treo has Bluetooth capability, and laptops generally have this it as well. My goal was to come up with a wireless headphone I could use to listen to music or chat on a VOIP client from the laptop, but also use to listen to music from my Treo, while still being able to answer calls. Bluetooth seemed the answer. First though, I had to find the right headphones.

The Blueant X5 Headphones

These headphones looked great. They had all the bells and whistles I wanted, at a decent price. They supported AD2P, the Bluetooth audio streaming protocol, and are small and portable, folding up when not in use. Last but not least, they had to actually be two way! An amazing number of headphones are 'listen only' units, without a microphone. The Blueant X5 covered all these needs, and at $89 or so on eBay, worth taking the plunge.

Getting them set up was pretty much a snap. The volumnuous manual (it was a glossy half-page. Double-sided though) provided details on how to pair up the headphones with my Treo, as well as hook them up to my PC with a handy 'audio streamer' module. All components are about the size of a big oreo cookie, so the size was just about right.

Pairing the headphones to the Treo was simple enough as well, and shortly I was taking calls and chatting with no worries. It is odd doing phone calls with stereo headphones, as the persons somewhat tinny voice feels like it's in the middle of your brain, but if that doesn't bother you, these work great.

I will recommend using the foam earpad coverings over the faux leather ones though. The X5 came with both, and I quickly found the leather ones slipped down off my ears too easily, or endedup with the support band sitting on top of my ear. Very uncomfortable.

The Music

But enough about the phones. Lets go to the real fun.

The goal of this project was really to be able to listen to music off my Treo on the same Bluetooth device that I could use to make or receive calls. The hybrid headset I got a few months ago was great for this, as music playing on the Treo (via the included Realplayer music player) would be interrupted as I took a call, and resume afterwards. I just didn't like the wiring, and the uncomfortable bud headphones.

To get streaming audio working, you need some extra software. Softick makes a set of fantastic Bluetooth tools including a Streaming Audio Gateway (SAG) that allows the Treo to stream audio out to a remote Bluetooth device. Perfect!

I downloaded and installed the SAG demo (21 days before a license is required), and tested it out. The SAG connected up cleanly to the X5 headphones, and shortly I was listening to music streaming from the Treo! With a 2 gig memory card installed, I had the same available music pool as an iPod nano, but without having a second set of headphones, USB cables, and charges along with me. I was set!

Or so I thought.

First, the X5 headphones

I have to admit, I do like the headphones. They're small, lightweight, and work as expected. They have the benefit of recharging directly from a standard USB cable, so even though they include a wall power adapter, all you really need to do is find a spare USB port.

I'm not blown away by the sound quality or the functionality. Like many Bluetooth devices, the only indication of what the headphones are doing is a small blinking LED. Carrying around the small cheat sheet is a must to figure out what buttons to push when to get what functionality. Some audio cues in the headphones would be handy to tell you what mode you're in or whether you're connected to the bluetooth host or whatever.

Sound quality was mediocre, and sound levels were quite low. Compared to, say, my iPod headphones, these couldn't really compete, particularly when doing phone calls directly on the phone. I also had range problems listening to music from the Treo. If I twisted my body to the right (I carry the phone on my belt, on the right), the music would cut out. That's pretty spooky for a local network system thats supposed to carry 30 feet.

The Problems

The problems started when I received my first phone call. The X5 obediently went quiet, and gave a soft chiming sound saying that I had a call coming in. I tapped on the MFB (Multi Function Button) on the right earpiece, and the phone said "Connected" - showing a call in progress. Except, I couldn't hear anything. Tapping on the phone to shut off the headphone connection resulted in nothing happening... the phone had crashed.

And so continued the problems I starting seeing last time I tried something like this. Anything Bluetooth on a Treo that is beyond basic 'handsfree' operation can cause the Treo to crash, requiring a soft reset.

I was frustrated, but decided to not go down without a fight. After posting to the Softick forum on the SAG, I also sent mail to the Softick developers asking for help. The forums are FULL of people having identical problems - Treos crashing, not working correctly, etc. It was truly painful to read. No real solutions, though Softick put out a series of beta updates trying to address the problems.

I got a reply back from the developers basically stating "We're working around the bugs in the Bluetooth stack as quickly as possible, but we can't find a stable solution."

Palm is Dying

To me this is unfathomable. The Palm platform is enormously popular (though less so now than it's been before), and with problems like this, I can see how it's steadily losing market share. The Treo 650 was released in November, 2004. In two years, there has not been a software update that addresses these flaws. The only assumption one can make is that PalmOS is incapable of this sort of functionality. And the conclusion from there, the Palm platform is dying.

The recently released Palm 700p has virtually no changes from the current 650 release, and going by what others are saying on the forums, the Bluetooth implementation is no better than the 650.

Conclusions

I cannot recommend this combination of hardware and devices for audio. While I could easily get music streaming to the headphones, all bonuses gained by this connection were lost because the phone connection was now unuseable, and the Treo could crash at any moment. If Softick does manage to find a stable configuration, I'll probably revisit this and try again, but for now, I'll most likely go back to the hybrid headphones for general music wear, and a standard Jabra earpiece for long conference calls and travelling.

Posted by dbs at 8:01 PM | Comments (1) | TrackBack

August 28, 2006

QuickReview: Synergy2

Have to point this handy tool out to folks.

My busy deskBecause of the complexity of my desk, I can't really have a pile of keyboards and mouse lying around. I switch between machines constantly, and switching keyboards would just drive me batty. I had been using X2VNC for quite a while, which, while 'okay', had it's own quirks. One of which was it couldn't work in reverse (I could go from an X host to a Windows box, but not the other way around). It also wouldn't let me slide from an X display to another X display. Pretty limiting.

Enter Synergy2, a simple client-server tool set that lets you configure multiple displays to a single 'server' that controls the mouse and keyboard. With Synergy2, I'm able to configure all my machines in whatever configuration I want. At the moment I can slide my mouse off my primary Linux display onto my WindowsXP box, across it's display, and onto my laptop.

That's pretty neat, but.. the kicker? Synergy2 manages clipboard cut n paste operations across machines. If I slide over to hunter (the laptop running Ubuntu linux), highlight something and click 'Copy', then slide back to my primary desktop on yawl, I can just click 'paste' and it works. This is miraculous to my eyes!

If you run more than one machine on your desk, I highly recommend Synergy2. Available in apt repositories everywhere.

Posted by dbs at 7:59 PM | Comments (0) | TrackBack

August 15, 2006

The URL Game.. An Interview with Jonathan Whiting

Web games. There's zillions of them. Find your way out of the room, play Zork, all the fun in the world can be found on the web somewhere. Everything's been done to death.

Or has it?

I have to blame blk for pointing me at a very simple webgame. I'd tell you the name of it, but... well, it doesn't have one.

The premise is simple. Go to n.nfshost.com. You'll see a nice big black page with the number one on it. This is the beginning of the game. Your task, find the next page. This one is obviously '1.html'. Hmm, what could the next page be... ahh, clicking on the '1' gives you the page '2.html'. Okay, pretty good Now, though, what could be the next page? Probably... 3.html. But there's no link to it, so maybe typing it into the web browser will work. Aha! It does.

Now find the next page.

And the next.

And the next.

Each page provides a hint as to what the next pages' url will be.

Need a hint? DON'T GOOGLE IT! Some bright folks have put the entire URL list on the net, and it really takes all the fun out of it. You will need to use google for some of the hints, but just be careful about where you click.

As I am wont to do, I was curious about the motivation behind this nifty game. It seems so simple, I wonder how it came about. After a big of digging, I managed to get ahold of Jonathan Whiting, aka 'Piglet', who agreed to a quicky interview on the game...

dbs : First of all, what's the game called? I keep referring to it as the 'web 404 find the page quiz search thingie.' - which doesn't quite trip off the tongue.

JW : Umm, good question.. I simply call it n.nfshost.com (literally 'en dot en ef es host dot com'), it's working title was 'num', but really it's essentially nameless I'm afraid. I kind of hope that people end up thinking of it as "That odd number puzzle thingumy" or something than it to have some cheesy pseudo-cool name.

dbs : When were the pages initially written?

JW : I uploaded the first 20 a bit over 3 weeks ago (01/07/06 apparently), the next and 'final' 10 followed a few days after that. The actual writing didn't actually take much time at all, although coming up with ideas was progressively more difficult.

dbs : Did you have any particular inspiration or help with it, or was it just your standard geeking "hm, lets do something neat."

JW : It was a little bit of both really. It was trying to think of something neat and geeky I could do (I was in that sort of mood) when I had the idea of doing an online puzzle, and making it a really minimal and hopefully easy to start. Somewhat later, and after a few glasses of wine I suddenly got the inspiration for the 'theme' of the set (which should be pretty evident whilst playing it). From there it was a pretty easy thing to start.

dbs : The implication in the middle of the puzzle is that it's generating a heck of a lot of traffic for your provider. Any ideas how much?

JW : Yeah it is, more than I could have imagined it would. I set out with the intention of making something that'd amuse my brother and some of my friends.. but a week or so after showing it around a little (and without any advertising effort on my part) it peaked at 600 megabytes of traffic in one day. That doesn't sound particularly huge, but it's worth noting that's 600meg of page loads that are typically a few hundred bytes each. It's nearly hit 3 gigabytes of traffic total traffic since its start, and had over a million page 'views' (counting mis-guesses as well as genuine hits).

I'm truly stunned by the response it's had.

dbs : Any plans to expand it or do another one?

JW : When it started to balloon I initially intended to add another ten at least as soon as possible, now I'm not so sure that I'm going to. Beyond a certain point it becomes really difficult to come up with new puzzles that'll be interesting and challenging whilst keeping to the fairly strict theme and trying to avoid just rehashing old puzzles. Life gets in the way ;)

I'd love to write something else this popular, but I'm not convinced a kind of sequel would work in anywhere near the same way. I'm certinally going to be more motivated in trying to get any more silly ideas I have out there, just maybe somebody will like them.

dbs : Tell a bit about yourself - as much or as little as you like, what do you do, where do you live, etc.

JW : hmm.. I'm a recent Computer Science graduate from the University of Kent at Canterbury. I live near Oxford and I'm really just starting out in the big bad real world. I'm very keen on climbing and only slightly interested in puzzles.

My 'normal' website is http://piglet.nfshost.com but it's not nearly as visited or interesting.

dbs : Geek question - your site may be in the top running for the most 404 errors ever, certainly when compared to actual content delivered. Ever considered putting something on the 404 page itself? :)

JW : Hehe, yep, it was considered. In fact I did once contemplate putting the one small piece of advertising there, but that sounded like a bit of a cheap shot. Something really simple and unhelpful would perhaps have been tempting too. I'm not convinced that nearlyfreespeech have a feature to adjust the 404 pages however, so it may well be ultimately irrelevant.


Thanks again to Piglet for taking the time to talk with us. Make sure you check out the game at n.nfshost.com.

Posted by dbs at 10:54 PM | Comments (5) | TrackBack

June 10, 2006

Google Browser Sync

I found this one while doing my daily browse through Digg. It's a tool from Google that lets you sync multiple Firefox installations in realtime. I personally have 3 different machines... nowait, 4... that I run Firefox on, and being able to seemlessly keep my bookmarks, cookies, form elements and tab/button bar layouts synchronized is a total win, not to mention having an off-site backup of all these goodies.

I recommend starting this on the machine you have your most complex and involved bookmark mechanism on, as when you add a new machine to the mix, it appears to import your saved bookmark collection from Google Sync, and then synchronize. So the first one in should be your largest. I probably have 400 bookmarks in my setup, organized into dozens of categories.

Give it a try!

As found via DesktopLinux.com.

Posted by dbs at 10:44 AM | Comments (1) | TrackBack

June 9, 2006

MythTV Update - New video!

It's been a while since I last posted about the ongoing MythTV project here at Chez Geek. For the most part it's been quiet. After coming back from Ubercon, where the box was very well received, I sort of parked it on the side and didn't touch it for a few weeks.

This week, things have gotten busy again.

I had been steadily grumping about the one thing that I was unhappy about with the entire setup. The TV. I was using a generic 27" non-flat TV for my video, coupled with a dolby amp and speakers. It was an 'okay' solution, I could run the S-Video out on the MX4000 card at 800x600, but it was... sketchy at best. Movies looked like, well, television shows. I wanted better.

HDTV was the obvious solution, but as anyone who has touched on this environment knows, HDTV is a minefield of buzzwords, technology, and, lets face it, cost. HDTV monitors / televisions are expensive.

The Choices
I had been keeping an eye on ebay for months watching prices on HDTV monitors fluctuate up and down. I knew I wanted something largish, 42" diagonal or larger. It appeared plasma screens were on the way out (too expensive, prone to problems). LCD direct displays were good, but not large enough. So, a projection unit of some sort, either rear projection or standard front display.

While the front projectors seem quite good, and the prices are getting better and better, I worried about how to set things up for all-environment viewing. Front projectors really require a nice dark room to work properly, and I like to watch tv during the day on occasion as well.

DLP rear projection monitors kept cropping up as a high quality, relatively low cost option. So, after lurking for a couple weeks until the right deal came up, I found what I was looking for.

The Decision
A company in New Hampshire called Tradeport USA had an auction up for a Magnavox 50ML8105D DLP 50" rear-projection HDTV going for a very reasonable price. I set up my software to watch the auction and bid for me, and let it run it's course. After a tense day or so, I was the proud owner of a lovely 115lb television, located only about an hour and a half from me, for around $750. Couldn't complain! A few days later, I drove up to NH, met with the folks at Tradeport, and loaded up the TV (complete with manual and registration papers), and came on home.

A quick word about Tradeport. I'm always skeptical about buying high end equipment, particularly 'consumer' equipment, from an ebay reseller. But throughout the purchase, paying for it, a phone call or two to check status, and visiting with them in their offices in New Hampshire, they have been courteous, helpful, and professional. Their customer support line answers on the first or second ring every time, with a real human being, who is always helpful and productive. Even when I got somewhat lost driving to their warehouse, they were very helpful on the phone giving directions. I would love to do more with them - they're now on my eBay 'favorite sellers' list.

The Installation
Now that I had it, I had to get it installed. This TV has more inputs than you can count. Okay, I did count, there's about 13 different channels you can select from. I did some initial testing running the input via the s/video front panel, which worked great, but was a far cry from the 720p the unit was capable of. The folks on IRC said the best way to get a clean signal is to run HDMI or straight VGA. Since the TV did in fact have a VGA input on the back, I wired things up, told my X-server that "yep, it's just a normal 1024x768 monitor", restarted GDM, and voila - I have a full screen, high resolution mythtv menu in place. Lovely!

Now what?
We've tested normal television feeds (since I only have a PVR-150, cable television still comes in at SDTV 4:3 format, so no HDTV off the wire yet), and some DVD. I'm having some problems with my DVD player right now, so we're skipping feeding HDTV-level video from 'Xine' on the mythtv box. I've MythWeather in HD.hooked up my old DVD player with component cabling, and that's doing JUST FINE, thankyouvermuch. Also, I was pleasantly surprised to note the Magnavox handled resolution shifts for Xmame games without a twitch. It is a bit disturbing to play Digdug, a game written for a 200x320 screen, on a 50" monitor, but the HxW ratio was correct, and the image was crystal clear. In downtime, I tend to let MythWeather run. It provides a nice 'screensaver' while working on other things.

Conclusions
The jump from SDTV 4:3 tube-based video to HDTV DLP video is... stunning. I feel doubly happy that I did not fork over several thousand dollars for this unit. $750 strikes a good balance between "Spend the money I should for a high quality unit" and "get a good deal that does what you want." Right now, I'm ecstatic.

Tonight, we watch more movies.

Posted by dbs at 12:14 PM | Comments (1) | TrackBack

January 24, 2006

KDE Chatterings: Amarok

I'm really getting into my new KDE 3.5 desktop based on the latest release of Kubuntu linux. The level of integration and polish that has gone into the system is constantly amazing me. I'll be chatting about various applications and components shortly, but I'd like to talk about one in particular right now. Amarok.

The Application

Amarok is to KDE what iTunes is to the rest of the world. A slicky smooth application with a ton of 'community' and 'wide world' stuff in it, but at it's core, it's a music player. Linux is certainly not without it's share of music tools, but a decent, intuitive, and powerful system has been scarce for quite some time.

Amarok fills a niche for a tool that is not only a capable player, but also manages your music collection, organizes playlists, titles, and tags, as well as keep track of what was played when, and what order it was done in. Amarok makes no distinction between a local playlist and a streaming audio feed - the entire interface handles both sources without skipping a beat.

Add onto that a popup 'banner' display that shows the current track when it changes, then disappears (without affecting keyboard focus, windows, or anything - it's a neat trick), and an extremely compact and well designed interface, and you have all the makings of an attractive and useful tool.

The Experience
I've been using Amarok as my default player now for almost 3 weeks, and I find myself pulling it out of its hidey-hole in the KDE toolbar to do basic things "Ahh, skip this track, it's boring." "Who the hell IS this?" "Switch over to that other playlist." "I just added a couple more albums to the store, rescan please." without spending half an hour navigating man pages, unintuitve menus or hacked interfaces that don't behave like any other application on the planet. It's delightful.

Other little tidbits that surprised me include things like Amarok's link wth Amazon.com. Album covers can be automatically displayed based on CDDB or FreeDB signatures, and they're invariably correct. Another one is integration with your iPod. Dock them, and you can drag and drop songs into the iPod directly. Amarok also has an interace to last.fm, a community based site oriented around music. The songs you play can be reported in as favorites / regularly played, and will update the 'popular songs' info on the site.

Conclusions
Amarok may be one of the best applications out for KDE, but it has great company with all the other improvements in KDE 3.5. Stay tuned for other reviews, but if you have a chance, take a look at Amarok now. You won't be disappointed.

Posted by dbs at 10:03 PM | Comments (0) | TrackBack

January 2, 2006

Web Developer Firefox Plugin goes 1.0.

One of the best Firefox plugins out there, Web Developer has gone to v1.0 as of January 1st.

I reviewed this plugin last year and I still use it on a daily basis. The latest version has tons of new features. Check it out via the Firefox 'get extensions' option.

Posted by dbs at 10:49 PM | Comments (0) | TrackBack

October 29, 2005

MythTV - Success!


"It's really unstable"

"It's painful to set up"

"Good luck with all the yak-shaving!"

Poppycock! I come to you happily reporting on the successful installation, configuration, and implementation of MythTV.

For those not in the know, MythTV is an opensource (aka Free) system that mimics much of the behaviour normally attributed to a Tivo. At it's very root, it is a Linux-based Personal Video Recorder (or PVR) that allows cable (and DVD and other mediums) to be stored, displayed, and manipulated in realtime, effectively turning an ordinary PC into a home video component.emotes.

Alas, MythTV has a long history of being INCREDIBLY complicated to get running. Starting with a baseline Linux install, people have talked of months of twiddling network drivers, card configurations, database problems, and video drivers all to get the system into perfect 'balance', at which point the system would work fine, but the process would ultimately leave a bad taste in the mouth of the implementor. Hardly a glowing recommendation.

Recently though, some bright folks have built up KnoppMyth, a MythTV installation wrapped into the well-known cd-based distribution, Knoppix. Knoppmyth allows you to go from a powered off 'blank' machine to the MythTV main menu - system installed, configured, and drivers ready to be enabled, in less than 10 minutes.

It wasn't without a few hiccups - mostly due to the smoothness of the installation, it was easy to try and go right into viewing online video without actually configuring the image capture boards. The system has an enormous array of configuration options which can easily baffle a newcomer, but in the end I was happily watching Comcast cable on my VGA monitor, and able to tune around the entire spectrum, complete with on screen programming guide.

For reference, here's my configuration:

  • Athlon 1400
  • 512 meg RAM
  • 80gig ATA-100 drive
  • Hauppage PVR-150 video encoder card
  • nVidia NV3 video

I'll be exploring this system more over the next week or two, but so far, I'm exceptionally impressed with what the KnoppMyth folks have done in bringing a previously complex and potentially painful installation into something mere mortals can attempt.

Posted by dbs at 8:20 PM | Comments (3) | TrackBack

October 28, 2005

K3B. Polished, useful, clean software for Linux

In my ongoing quest for "Really Good Software", I tend to get grumbly about the vast quantity of software around for Microsoft platforms that 'just plain works'. It's polished, clean, and looks great. Occasionally though, I come across gems under Linux that