Digital image post-processing

Over the last few years I’ve been learning more and more about digital photography and what is necessary to take a decent picture. What I’ve been ignoring up until now is the importance of post-processing. To me that’s something folks do in magical tools like Photoshop using mystical hand-waving and “File->Picture->Make Better” type operations. But the other day I decided to see what I can do in The Gimp to improve a picture in the way a Windows user would use Photoshop.
I selected as my sample picture this image of a beech tree on the north end of our property. It’s really quite striking, and I thought a nice portrait shot of it would work well. When I went to preview the images though, I was disappointed with the color level. Even though there was enough light (it was a nice sunny winter day), the image didn’t quite grab me the way I wanted it to.
I pulled the image into Gimp and started noodling around with menus. At a hint from a friend on flickr I upped the contrast level and fiddled some of the color saturation values. This is the result. I think the picture is much crisper and the colors are stronger. A definate improvement!
Last was cropping the image to focus on the tree itself. Since it’s, well, a tree, I decided to slim things down to draw out the height. I cropped inside the bracketing trees.
I like the end result. I think I can do better with other images, but I think from now on I’ll be spending time in post-processing before publishing my pictures.

KDE Tricks – Using DCOP to communicate with AmaroK

Sort of following up on my conversion to Kubuntu and the following of the KDE Way, I learned a couple tricks about KDE this week.
I had been using XMMS as my music player forever and a day. Since I like chattering about what music I’m listening to when I’m on IRC, I wrote a little macro into X-Chat that let me say on channel (or in a msg) what XMMS was currently playing. To do this I used xmms-shell, a command line utility for interacting with XMMS. But since I converted to AmaroK, that obviously wouldn’t work anymore.
I started looking around for something similar to xmms-shell for AmaroK, when a fellow on #kde-users suggested looking at the ‘dcop’ command line tool. I had very little exposure to dcop – I knew it was one of the technologies underlying KDE, but I wasn’t sure exactly what it was.
DCOP, according to the wikipedia page on it, stands for ” Desktop COmmunication Protocol”, and is a light-weight interprocess and software componentry communication system. What this means for the layman is that virtually any application built for KDE has a series of methods and properties exposed for access from a dcop client. KDE provides the command line tool ‘dcop’ and a GUI desktop tool called, unsurprisingly, ‘kdcop’ for exploring and using these interfaces. I used kdcop to browse through the AmaroK DCOP remote methods, and found ‘nowPlaying()’. It was a simple matter of putting this into an x-chat macro:

/exec -o echo `dcop amarok player 'nowPlaying()'`

Binding that to the ‘x’ key in x-chat, now at any point I can just type /x and whatever track I’m listening to shows up in the channel or msg window I’m in.

My Daily Conversations with Eclipse

Having now converted my development environment to Eclipse, I’m going through the normal growing pains associated with going from a total command line “edit, save, exit, compile, look at error, re-edit…” cycle to a totally integrated interactive IDE. The last immersion I did in this type of environment was using Turbo Pascal 7 somewhere back in the mid 90’s.
Mostly it’s going okay, but I’m sort of entertained at the ‘compile on the fly’ functionality that Eclipse has. Errors are shown immediately, not at compile-time, so you can see the state of your app at any moment. I just find some of my conversations with Eclipse amusing. The ‘Problems’ pane at the bottom of the screen shows the current state, and I feel like I see this sort of convo happening all the time:
dbs – typeitytypetyptyp type type. think. typetype
eclipse – Warning: variable foobar is never used.
dbs – yes yes, i know. I’m still working on it.
eclipse – Warning: you type too slow.
dbs – You’re not helping.
I’m sure it’s only a matter of time before the “Dave. Your code is absolute garbage.” HAL-like plugin will be available.

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 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, 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.
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.

Improv group arrested on NY Subway for not wearing pants!

As reported on their website Improv Everywhere staged an event and… :

Today’s No Pants was halted by the cops about halfway through. One frustrated cop freaked out and called in 25 more. 8 were ticketed and summonsed to court, 6 of the 8 were handcuffed and traveled in a police van to a precinct. Everyone has been released and is fine. More info as it develops. Keep checking this page, and the comments below for updates from everyone involved.

There’s a wonderful Flickr photo set available.
I’m still wondering what they were actually arrested for.

PalmOS is dead. Long live PalmOS!

I’ve been a long term user of the Palm platform dating back to the original US Robotics PalmPilot with it’s serial hotsync cradle and absolutely zero expansion capability. I initially poopooed the first person who described the device to me. “No connectivity, no storage, can’t do anything except tap on the screen when it’s not docked? Go away.”
In the intervening 10+ years, the Palm platform has stabilized, grown, and matured, while still maintaining the vast library of free and commercial software that has made the Palm platform so attractive for such a long time.
Unfortunately, this legacy design has, I feel, been Palm’s achilles heel. In holding onto what was originally an outstanding system design (and truth be told, it was an excellent design – one of the reasons the platform has lasted so long!), Palm has fallen behind the performance and feature curve. What was once dismissed as “fancy glitzy doodads for corporate niche users” has now become the requirements for everyday users.
Admittedly, some of the fault does not lie with Palm, Inc directly, in fact the history of PalmOS is a map through the DotCom mayhem of the late 90’s. Spinoffs, renamings, corporate mergers and aquisitions, and changes in the market made it impossible for one company to latch onto the Palm platform long enough to redesign it into a new generation environment.
Now, with my recent aquiring of a Treo 650 hybrid cell phone and PDA, I feel this is most likely the last great product from the palm line. The design is almost 2 years old now, and while the entire platform is smooth, workable, and well supported, I feel the acute need for features that will require an entire system redesign to implement.
Note that Palm (or whatever company owns PalmOS at the moment – Palmsource I believe) knows this, and has made several abysmal attempts at a system rewrite. Palm users have been waiting for the ‘next generation’ environment, called Cobalt for almost 3 years now. The first version of Cobalt was adopted by no one, and in theory an entire rewrite is in progress, now using a Linux Kernel, though AFAIK, no Palm device is out that actually runs Cobalt.
Now we see the release of the new Treo 700w, a smartphone similar to my Treo 650 in form factor, design, and hardware. Except… it runs Windows. The Windows Mobile platform has all the capabilities PalmOS surely should have had by now. Multimedia (“Who would ever listen to music on their handheld?”), wireless connectivity (“Ahh, they can just sync it!”), multitasking (“What, on a PDA? Use your laptop if you need that!”), and so on and so on. Features that the current PalmOS platform (5.x, aka ‘Garnet’) simply cannot provide, and looking around at the current offerings, don’t look to be coming down the pike any time soon.
I’m feeling fairly resigned that the Treo 650, the outstanding piece of equipment that it is, will be my last PalmOS + phone device. Since my phone cycle seems to run about 1.5 – 2 years between devices, I can’t see Palm coming out with a full multimedia multitasking wireless enabled cell phone device that has a full software library behind it within the next 12 months.
Microsoft wins another round in their plan for world domination.

A week of changes.

“Forgive me Blogosphere. It’s been 9 days since my last posting…”
A lot has happened that’s new an interesting in the last week, but let me touch on a few highlights. I have many interesting postings brewing about various topics, but here’s a few tidbits…
Kubuntu Linux Rocks
Yes, I had ANOTHER hard disk fail on me. This took my home dir with a fair amount of localized twiddling with it, though the way I run my laptop – all my mail files, web work, source code, etc is all stored on a remote fileserver. (Note to the masses – a Laptop is not a permanent storage medium. Always remember that, and design your processes so you can recover your environment within 24 hours). I decided to try Kubuntu Linux, since it appears to be a widely-supported, Debian backed setup specifically designed to streamline KDE operations. Wow is it impressive. KDE 5 is a masterpiece, and just keeps getting slicker and slicker. I haven’t found anything truly broken so far, but I’m still working through it. I’m running the most recent ‘cutting edge’ release, named ‘Dapper’. Updates are coming fast and furious, but for now, I’m up and running (total time from having a new drive in my hand to up and running with a restored home dir, and up on the net with mail, web, IRC, chat, and dev environment: 12 hours. I’m getting better at this.
Arisia Rocks!
This past weekend saw Arisia come to life. This is a great SF convention, and the one I consider my ‘home’ event. I was the head of registration, using my own system and hardware to run things. All went smoothly despite a misfed printer during peak time on Friday, and a great time was had by all. Still slightly sleep deprived, but all in all good.
Treo 650 goodness
Yes, I know in my previous post I railed against the evil that is Verizon. However, my Kyocera 7135 just rebooted One Too Many Times, and it was time to replace it. Despite Verizons evils, I renewed my account with them, picking up a shiny new Treo 650. More chitchat about this later on, but for now, it’s one mighty sexy device, I have to admit.
There’ll be more detailed posts about some of the fantastic tools I’m finding in KDE 5 coming along in the next few days. Now, alas, I must prep for a trip down to New Jersey for a few days. Whee!

More Verizon Obscenities

I’m having a harder and harder time lately getting behind my phone provider, Verizon Wireless. On the one hand, they have by far the most complete and well run network around. No dropouts, excellent coverage, etc. I’ve been using my Kyocera 7135 phone for almost 2 years now on the Verizon network, and things have been pretty good. My plan had been to upgrade to a Treo 650 within the next month or two (now that the prices have dropped down to something reasonable, I don’t mind being behing the tech curve if I get to pay half the original price of the device), but Verizon has been doing some very shifty things that make me want to seriously consider jumping ship.
First, they have deliberately crippled Bluetooth functions on several of their phones, including the Treo 650. (See article here and thread here). There have been attempts to explain away these changes as ‘benefits’ to the user – providing ‘more security’ or such other bunk. In reality they are nothing more than pure greed. An attempt to lock in the captive user into a system that requires them to use expensive Verizon services, even though the devices are capable of the functionality on their own.
Now there’s a confirmed report that Verizons new music service, which is advertising itself as supporting MP3’s and the like, is a total sham. This article details the deal that Verizon and has struck with Microsoft to make sure you absolutely must use Microsofts proprietary audio format AND audio player to work with music on their phones. That completely cuts out Macintosh and Linux users, not to mention opening up the device to nefarious DRM restrictions:

You may ask why this was done? As far as we can analyze, Microsoft made an agreement to enginner [sic] VCast Music phones as WMA-only devices, in order to lock out iTunes and other competition from most interaction with the device that does not involve burning, ripping, and integrating into Windows Media Player. This type of monopolist tatic [sic] is something that iTunes has avoided, but Windows Media Player embraces.

It appears Verizon knows internally that this is a liability. In a leaked internal memo from Verizon’s corporate intranet, Verizon states that customers that want MP3 support should be issued a refurbished VX-8100 with V04 firmware. However, the average consumer is to not be informed that there is a difference between what VX-8100s support formats, and customers are encouraged without prior warning that MP3 support will be lost with the V06 update. Presumably a Mac or Linux customer could be downgraded to V04 firmware.

These sort of tactics make me seriously question whether I want to continue my business relationship with Verizon. Already, Microsoft has had a strong hand in destroying one of the only decent alternatives to the Microsoft ‘smartphone’, the Treo line – by forcing Palm to manufacture and distribute… a device running Windows Mobile. It’s enough to make you head for the mountains and give up on all this techno-crap.
I’m not ready to embrace the evil that is Microsoft’s monopoly and suppression of innovation. I suspect soon I may have to, but until then I’ll continue to fight.

Microsoft in a nutshell.

While working with a client in the first stages of abandoning a tightly coupled Microsoft environment for a Java based one, the following phrase was uttered:

“MIcrosoft is like a girlfriend that makes it impossible to break up with. You think you’re free, but you’re not because she still has all your cd’s.”

I do like working with these folks.

The Culture of Opensource Support

One of the big arguments often heard against using opensource software for mission critical applications is “Who do I call if something goes wrong?” In the commercial sector, the answer is simple – call up the manufacturer’s support lines, and in theory, you can get your answer.
In practice, as most have discovered, this is rarely the cure-all, with problems ranging from inability to get in touch with tech support at all, through to finding that support is available, but it’ll cost money, and there’s still no guarantee of a solution. The true detail is that with a commercial vendor, if something goes wrong, you have someone to yell at.
As opensource software gets larger and more complex (Openoffice has over 5 million lines of code), the traditional “Use the source, Luke!” argument really doesn’t work anymore. Other avenues need to be followed to track down problems.

Continue reading “The Culture of Opensource Support”

Verizon melt-down on NYE?

I haven’t found a cite yet, but I’m willing to bet that Verizon SMS network traffic leapt through the stratosphere last night on New Years Eve. I’ve been using SMS messaging a fair amount with Cat, and last night got a “Happy New Years!” (she was out pahtaying whilst I was home with sick child and friend). 20 minutes of trying to reply with tons of “Network Error” messages pretty much convinced me that Verizon’s SMS service had gone belly up.
Apparently Verizon wasn’t the only one inundated.
Maybe this’ll convince VZ that SMS has seriously taken hold in the US.