Managing RSS Feeds (Sure, the syndication is simple…)

Posted by Kevin Powe on 02 Aug 2008 | Tagged as: Nerd Thoughts

I’m back, after neglecting these sparse and barren lands for some months now. I’ve danced with Stormtroopers, worn a poncho, gone to the zoo with one of my favourite roleplaying authors, and been all ornery. And I’ve left video evidence over here. All of this, however, is a poor excuse for my absence. I promise I’ll be different this time around. I’ll try harder, baby.

Ahem. Onto a more serious note.

I’m currently playing with Flock at the moment (a web browser built on top of Mozilla’s codebase that makes using social networks simpler, if you’re unfamiliar) and I’m reminded of an old problem.

Despite what the characters of Sesame Street will tell you, the internet is not exclusively for porn. If you choose it to be, it can also be a firehose of information we sit in front of and then promptly set to pulverize.

I’ve haven’t configured Flock’s RSS reading capabilities yet, really. And I’m glad. Each time I hover the mouse over the Feeds sidebar icon, the number of unread items creeps higher, a silent accusation that I’m not… not what?

Not consuming every last drop from the fire hose?

And here, I think, is the crux of the problem. Depending on the tools you use, RSS feeds create another job for us, another stream of information that will mount at the dam of our attention. The volume of relevant and fascinating information that is out there is staggering. But unless your job is to monitor industry news and trends, you don’t need to be monitoring items from over 20+ RSS feeds for suitability for reading. (the original number I was going to put there was 100+, but I think even with 20 you create a rod for your own back) The only person putting that burden of responsibility on your shoulders is you.

It’s a bit of a significant question for me at the moment as well - how to manage RSS feeds. Since Oracle purchased BEA, the environment I work in now feels, from a technical point of view, a little like Lori Singer in Footloose. You’re straddling two powerhouses tearing down the highway, one foot in each car.  It’s exciting, but there’s a distinct possibility of ending up mangled roadkill. Oracle have released their middleware strategy going forward, but the entire landscape for both companies is changing technically. So I’m plugged into the vast stream of information Oracle provides around its products. Podcasts, articles, forums, the whole nine yards. There’s a lot going on there.

Personally, I don’t use Flock, or Google Reader, or any one of a number of elegant and sophisticated tools. I don’t want to come back after a week’s holiday to an inbox of neglected articles, with yet another piece of software telling me I’m doing a bad job. If I’m just going to sweep the deck, why have a deck in the first place?

I don’t want to create another problem for myself identical to the one we have with email. We already have extensive methodologies like Inbox Zero helping us to deal with problems created by a tool. Things piling up to be responded to is a definite problem - it’s a virtual weight you carry on your shoulders. And it’s one I don’t need.

I use iGoogle myseLf, divided into a series of tabs. It’s not particularly high-tech, but my RSS needs are deliberately humble, and iGoogle gives me exactly what I need.





When I have time, I can go find out what’s happening in the world. I can dip my toe in the stream of information as it runs freely by, at a given point in time. What if I miss something? Oh well. I’ll take that risk in return for knowing there’s no backlog accumulating. Time is the critical resource here (isn’t it always?) If I do find myself with procrastination time, I can always go mining through specific RSS feeds for hidden gems.

That gives me a solution which provides an ‘at-a-glance’ dashboard, and we all know the cool kids love a dashboard. I can keep up with my friend’s prodigious photo taking, the activity of friends on 43 Things, keep plugged in to 43 Folders and Lifehacker (both the US and the highly recommend AU version), Penny Arcade, and also sanity check my FriendFeed as well as this blog, and the delicious links I’ve tagged for follow-up.

That’s what works for me.

What works for you?

Blogged with the Flock Browser
(which kindly decided to escape all my HTML. You lose points there, Flock!)

I Can Say Clearly Now The Rain Has Gone

Posted by Kevin Powe on 15 Apr 2008 | Tagged as: Nerd Thoughts

I’m going to be unfashionable for a moment. And, I swear, I’m not being unfashionable to be fashionable, despite being a grunge child.

My name is Kevin Powe, and I enjoy writing documentation.

There. I said it. I’m in the process of producing some documents around architecture/development process for a client at the moment, as well as documenting some software we use internally to the company, and I’ve been reminded of the benefits of writing documentation.

I’ve never found a better mechanism for forcing out the fine details of something than having to explain it. Whether its through delivering training, or talking to a co-worker, or, in the dim dark past, getting involved in long Usenet rants. It forces you to take an instinctive understanding of something - the 80% that’s good enough to get you going, and flush out the mystery in that last 20%, where surprises and magic often lie.

Also, it could just be that I’m a giant dork, but I find that there’s this amazing fractal effect that occurs as well, where you realise the minute detail encompassed by broad generalisations or summaries. “Oh, and to get to Mordor, you have to do A, B, and C. And to do A, you have to do X, Y and Z in order.” It’s part of one of the reasons why I love software development. Most coders I know who get involved in a new domain of knowledge (Sudoku, learning French, Minesweeper) write programs as a way of understanding the domain more deeply. A computer assumes nothing, so you have to tell it everything. And that level of detail, explicit understanding rather than implicit, is a fine Tanelorn to reach for when writing documentation.

The other thing I’ve always found documentation great for is is highlighting inefficiencies, or the possibility for enhancement. You may have gone through three screens of input to create a new purchase order every time you tested functionality without thinking, but once you start explaining to the user through documentation that they have to go through those three screens, you realise it’s going to be even more of a pain in the arse for them to do than it is for you to document.

And that brings me to the final coffee-enhanced peace-love-and-mungbean part of what I’m saying:

Good documentation is how you communicate with someone out there, that you’re fundamentally solving a problem for.

Bad documentation? Well, that’s a whole ‘nother kettle of fish

Eep

Posted by Kevin Powe on 13 Mar 2008 | Tagged as: Java, Nerd Thoughts

Two months since a post? Good lord.

Work has been mad, combined with pressure building on writing my convention game for July.

But I do indeed have a post brewing - I’d gone and written up a blog post on the weekend regarding the Google Chart API, and then I go and run into jMaki, which changes a few things significantly. I’m starting to play with it at the moment, and it already provides a wrapper over the Google Charting API. (road testing it will see how much easier it makes things…)

Other than that, my Western genre immersion continues.

So, meaningful updates shortly. In the meantime, I have indeed implemented a script to show my current headspace - you can see it in action here. It uses an ImageCache PHP script that I did indeed end up writing as promised in a previous post, along with a wrapper over the Google Charting API. It’s driven off a database table, and the next step (which I’ll plug jMaki in for, as opposed to developing another custom wrapper over bar charts) is to get it to graph the rise and fall of particular items over time.

Delicious, delicious data! We loves it so!

Oh, and while Ajax does some tremendous things in providing a rich, lightweight interface via a web client, I’d argue that good old SQL is still one of the most powerful, important tools to business, and for finding Truth.

Free developer for your team! Unlimited time only!

Posted by Kevin Powe on 10 Jan 2008 | Tagged as: Developer Productivity, Nerd Thoughts

What if I told you right now that you could have a free developer on your team? No cost except interview time, and this mythical dogsbody would diligently do nothing other than compile the latest code in source control, perform anal-retentive checks against Sun’s coding standards (or your own company coding standards, if you’re one of the rare examples implementing standards beyond Sun’s) and run unit tests. And they’d do this twenty four hours a day.

If you’ve done time doing Java development, you can probably see where this is going already.

Automated builds.

Nothing incredible or revolutionary here. Sure. Nothing new. And yet, the number of times I’ve had conversations with really smart people that have gone along the following lines:

“So, do we have automated builds?”
“Er, no… we didn’t have time to set up automated builds”

Really smart people, and yet there’s a contradiction here that so frustrating that it makes steam shoot out my ears. Automated builds don’t cost time, they save time. Mentally tally up:

  • Time lost across the whole team because one developer either checks in a broken file, or forgets to check in something critical to the build (that’s my personal cardinal sin)
  • Time spent across the whole team hand-cranking unit test suites (or, even worse, manually testing functionality repeatedly) to validate code
  • Time spent by your poor harried release manager lovingly handcrafting artifacts to release to controlled environments.
  • Time spent before releasing code to prying eyes spent polishing and refinding and whoops!… I just broke a unit test.

    …and that’s just off the top of my head. Now compare all of that to a day’s solid work for one developer putting together a workable, basic automated build process in place, and then realistically spending another 2-5 days throughout the project tinkering and tuning.

    For my money, I don’t understand how you can make do without automated builds. An automated build is like a canary in the dank mines of team development. Is it safe to update from source control? Possibly not if the canary’s been pinballing itself bloody back and forth against the bars of its cage for the last five hours. Time to go on a developer witchhunt instead…

    I’m helping out with a development project that is being run out of our Brisbane office at the moment, and even on days when I don’t have time to code, firing up CruiseControl helps me keep an eye on what’s happening up north. Oh, and hey - speaking of CruiseControl, the instigator for writing about all of this was getting a chance to check out the latest release of CruiseControl - 2.7.1. The latest at the time I downloaded it, at least. You know all those magical transformations in teen rom-com-dramas where the smart, funny, practical girl you’d date anyway suddenly gets seriously sexy on the other side of a montage sequence?

    Yeah. CruiseControl has always been a fantastic tool, but with the help of some hardcore GUI development and some serious Ajax love, the automated build dashboard has been enhanced beyond belief. Just a quick look at some of the information CruiseControl puts at-a-glance: (click images for a larger view)

    Current build status

    CVS modification logs - a summary of checkin messages left by developers

    Test suite results

    One to six days work over the length of the project, and you add the most diligent developer you’ll find to your team. And you can scale that commitment in time to what makes sense to your project. You only get to add that magical free developer once, but they’ll never complain, never steal your Jolt, never steal your girlfriend with their more impressive range of Jinx.com T-shirts, or steal your precious torrenting bandwidth.

    I can’t think of another way to get that significant a return for that same amount of time.

Google Chart API

Posted by Kevin Powe on 11 Dec 2007 | Tagged as: Nerd Fu, Pimpin'

I have a confession to make. I’m a huge data geek. I love data. It’s one of the things that’s kept me in IT. I love games like HeroClix and World of WarCraft because they are delicious soups of raw information, leading in the case of WoW to sites like Thottbot.com. In fact, a lot of the time I like the raw potential of these games more than sinking time into playing them. (time, it must be said, is clearly the most precious resource here)

One of the reasons why I work in integration is that integration is primarily about getting data from A to B. It’s like saying you like water, so yes please, I will wrap my mouth around a fire hose to enjoy the torrent of information ensuing.

Part of being a data geek is also being a huge geek for representation of data. The denser your data, the more of a challenge it is to present that information in a compelling and transparent way. Recently I splashed out on Edward Tufte’s works, which I’m going through presently.

The point of all of this is that Google recently released a charting API. Charting’s always been something you could do manually, or programmatically if you were willing to go through some onerous (for my money) Apache configuration, but now you can do it with a simple URL.

Here’s the Google Chart API documentation, as well. Y’know. Could be handy.

This one popped up courtesy of Lifehacker Australia, which is a really great extension to the Lifehacker family and well worth reading. I’m addicted to productivity porn.

On a side note: Generated charts are limited to 50,000 views per day. I’m pretty confident I’m not in danger here, but to add some value I’ll follow this up soon with a PHP script that caches the result of a generated page (using the URL to determine uniqueness, given that all the information is in there) and serves up the cached image instead.

Next »