Wednesday, December 31, 2008

Term Extraction Tools

Revisiting my long dormant toy that uses analysis of song lyrics and Flickr or Google Images to do contextual visualizations. I have implemented a simple ti.idf frequency counter and am getting decent results but wanting for more. In this web 2.0 world maybe I should be looking for services to do this?

Consider:

Yahoo Term Extractor API
Topicalizer
OpenCalais
Alchemy

and mabye Wordnet for synonyms.

Also, possibly relevant is Echonest's colossal db of music metadata intended to spur research into music recommendation / discovery tools.

Wednesday, December 17, 2008

Why we Iterate

The struggle continues. Faced with being increasingly outnumbered by PMI habituated and prediction minded project managers we've hired lately I'm returning to this question of why we iterate.

People are using the word. But too often not groking the motives.

We have things like 9 month long
efforts to build an internally deployed version of a currently external system being called an iteration. To me that's a whole other project or a "phase" but certainly not an iteration.

We have PM candidates that my peers are gushing about. I get asked to interview. I ask about things like how they think requirements work should progress in an iterative methodology. I get back ideas about getting tomes of requirements first and then planning iterations.

We have months long breadth first swipes through the requirements for a whole system being called an iteration along side plans for a second iteration to do "design".

We have business users insisting that it's pointless to test an incomplete system. "I dont want to see it until it's done".

We have directors asking for MS project plans in the first weeks of a project detailing how many iterations it will take and what will be done in each.

Seems like we have a future destined for many more failed projects and missed "estimates" before we start to figure this out.

I have dreams about some speech, presentation or as of yet un-conceived prop that will suddenly bring the idea home to folks. But in waking life am running thin on optimism that we can get this concept across and make it work.

So, maybe one more time I'll try to collect some nuggets of persuasion and contemporary thought about why emergent software planning is more healthy than predictive planning.

Maybe something will come of it.

Coding Horror: Boyd's Law of Iteration is a good summation of the detail in Roger Sessions' A better path to EA

The neglected practice of iteration Jeff Patton sends a reminder that software developers who neglect the practice of iteration will get caught either delivering poor quality software or delaying schedules in order to make time to iterate. We kick ourselves, or others, for not "getting [software] right up front" when we all know that the hardest part of software development is figuring out what to build. But there's hope, and it comes in the form of prototypes and frequent iterations

Good quip about devs not being the constraint From David Anderson's blog article Why We Lost Focus on Development Practices
In my Zen of Agile Management class, I teach participants about constraints. I then ask them, in a collaborative exercise, to speculate about the bottleneck in their organization and discuss how they would prove it and what they would do about it. In almost 3 years of teaching this class, over 4 continents, and around 12 occassions with groups ranging from 16 people to 250 people (at Javapolis in 2007), I have concluded that developers are the constraining factor on project and team performance less than 10% of the time. In some groups it is as low as 3%.

My belief around this is quite simple. Basic agile practices focusing on quality including collaborative working such as pair programming, and a strong focus on unit testing and early defect detection with continuous integration and test automation, have greatly improved software development to the point where initial software quality (i.e. bug insertion rates) is not the constraining factor on team performance. With immature teams, with sloppy development practices and poor initial quality (i.e. high defect insertion rates) development is the constraint. Agile has successfully fixed this!

So we can declare victory!

In this sense, the crowd who argue for a continued focus on better development practices are fighting the last war.

The rest of the community moved to other areas - most notably project management and business analysis / value-based software engineering. The community tends to get sucked to where the constraining problems are occurring. This is the natural and correct behavior. And it shows that many in the community interpret better ways of developing software in the broad sense rather than the narrow programming-centric sense.

Metaphors & Quips
OOPA - Observe, Orient, Plan, Act (or maybe P really should be Decide)
Shoot, Move, Communicate
Fail early and often.

Sunday, November 30, 2008

YouTube - How to prepare for civil Unrest

The classic imperitive of those predicting the impending police state is a call for citizens to acquire guns. To stock pile ammunition, water, dried food, and prepare to take up arms to defend your life and property.


YouTube - How to prepare for civil Unrest is a limp wristed example. (not recommending watching it, but if you must...)



I favor my right to own arms and think any reasonable person should have put some effort into emergency preparedness, whether from natural disater or civil unrest.

But I wonder if guns will be enough in the future some imagine. The inevitable outcome of dueling it out against the police, SWAT or some paramilitary group would almost certainly mean death...and probably little impact in the hearts and minds of other citizens.

The "offical" story would be told through the increasingly conglomerated and well sanitized media. Memories of Waco, TX would be invoked. You and your god would know you made a nobel stand. But that's about the end of it.

It has often surpised me that the conflicts in Iraq and Afghanisan during this hyper-connected internet era have not produced some game changing privately submitted bit of video. Something that never would have made it past the media censorship or at least pushed the envelope.

Maybe it's there. Maybe I havent been paying attention. Maybe YouTube and its ilk are just so full of noise it wouldnt matter, or be credible, or would be taking down promptly.

We may have an option short of the last resort of taking up arms that the doomsayers havent quite got figured out.

How about Google Civil Disobedience as the next beta feature?

Many police cruisers have had video cameras for years. Following the tradition of the UK, the US is investing heavily in large scale surveilence systems in every major city. Good, or bad, one thing about these systems is that they are closed. They are not accessible by the public. The privacy arguments dont help here. It's one thing to have a duly authorized governement actor monitoring citizen activities and another to know anyone could be watching. Which is worse?


What if we all had our own google streetview cars? What if we had our homes wired with our own cameras? Millions of video capture capable PDAs and iPhones are out there.

What if these devices could regularly upload their content to a LimeWire-like distributed network of other citizens computers. Not one copy to one server, but to many private machines.

The owners of those private machines wouldnt be able to access the video. Some electronic equivalent of the "open this letter if something ever happens to me" would seal it from them.

It would remain sealed and private until either you released it, or perhaps didnt respond to some regular email tickle; "are you okay".

When things were okay, you could dispose of the video, use it for your next video scrapbook, or you might just set it to evaporate if nothing interesting happens.

Maybe you could set a group of friends who would be able to review your feeds before it went public?

The choice to make a last stand against tyranny is a deeply personal one I hope nobody has to face. Whether you take up arms or submit to their dominion, I think anything that can be done to increase the odds that someone will know what really happened is powerful.

So perhaps those out shopping for a new AR-15 will think about buying webcams and working out some ways to distribute feeds to trusted friends and patriots.

Back to the Blazer

With the need to drive the blazer again as a daily driver (4 mile commute) and this weekend's focus on unfinished projects I came up with some need and nice to haves for the'71 Blazer.

Need




  • Fix front drag link

  • fix pass. side D44 hub seal

  • fix upholstery @ front seats

  • Bottle jack w/ saddle



Nice



  • Air Conditioning

  • custom cage / roof rack / soft top

  • lighten up rear rack / add tool mounts & hi-lift mont

  • interior bed boxes (side & floor)

  • jump seats intead of heavy suburban 3rd row


  • Rover Connection-Land Discovery Jump Seat

    Also..
    DAP inc seats.

Friday, November 28, 2008

Two Inch Art Tiles


Someday I'll get back to woodworking and to remind myself of that, I forced myself to take some time this weekend to clean up and re-organize the workshop a bit.

Among the unfinished projects I dusted cobwebs from I found a small jewllery box that is finished except for a 6" x 2" relief in the face I'd been planning to fill with some nice 2" art tiles.

I havent gotten around to finding the right ones as yet, but found these today.

Verdant Tile Co. - Two Inch Art Tiles

Monday, July 28, 2008

The coming RIA wars

The thin vs. Swing wars are old news for us. We still keep reaching for desktop apps and mistakenly compare their merits vs. html or dhtml (ajax) clients.

RIAs are pretty compelling but frighteningly proprietry. I favored OpenLazlo for some time but am starting to see some apeal in Flex/Air.

This post is simply a catalog of good reads in the area. Cannon fodder, perhaps.


schematic » Flex Vs AJAX - How Forrester got it wrong

Wednesday, July 02, 2008

O2 unveils pedal-powered mobile charger - News at SmartPlanet.com

O2 unveils pedal-powered mobile charger - News at SmartPlanet.com

I want to know more about the design. I think this would be fun to build.

Monday, June 16, 2008

A vending Machine for Crows

Simply amazing in concept. He's trained captive crows to collect spare change. Now posits a device to train wild crow to do the same...and more! Forget the sharks with frickin laser beams! I scream for crow! [Beefheart] I've got an enourmous murder of crow here and am willing to bet that this wouldnt be taxable income! Joshua Klein, Mobile, Personal, and Future Technology Specialist

Wednesday, June 04, 2008

Iterative vs. waterfall software development: Why don't companies get it?

Sometimes it seems my entire career as a software professional has been framed in this long suffering debate about development methodologies. I think I subscribed to the big planning, big requirements, big design upfront concept for a few early years. Eventually I noticed the soul crushing death marches, huge overruns, and scandalous politics so common to PMI/waterfall projects and nearly went back to law school.

It was my good fortune to work on several dot com startups and the works of Booch, Rumbaugh on UP and later Ambler, Beck and Fowler on agile approaches that convinced me that there was indeed a more profitable and humane way to produce software.

It worked well when the focus was on innovation and entrepreneurial ventures. When there was a mix of people focused and actually engaged in delivering product, not satisfying prediction. Once the companies dragged in a few too many investors and the obligatory sr. management that things started to come off the rails and the focus became, to my mind, too much focused on prediction, rigorous estimation, and unrealistic expectations.

Again I find myself in an organization struggling with how to manage the software process. In this case we are playing from a technical deficit and have a service orientation rather than a product orientation. We try to say yes to everything and often over commit and under deliver. We have the typical mix of middle management that has, to my mind, spent dangerously little time involved in the craft of software development and tends to see software as a manufacturing problem, not a creative one.

This debate will heat up in the coming months and I'm not sure I have the strength to fight it again. Scott Ambler once told me "You either change your organization or you change your organization."

This post is both a place for me to dmup some links and fodder for the coming discussions and a plea to anyone who's listening to chime in on which end of Ambler's paradox I should take up.




[]


Iterative vs. waterfall software development: Why don't companies get it? [Computerworld]

[]


The problem with waterfall methodologies is that they don't work all that well. Trying to create complete, perfect system specifications before you start any coding simply ensures you've wasted a bunch of effort, because once developers start coding, design flaws become evident and require that you revisit earlier stages.

Except that you can't, because that stage is complete and there's no budget for going back.

This isn't something that can be fixed by getting better at design and specification, because the more you try to design everything before you start coding anything, the longer the delay between requirements and production. That delay means some of the design "flaws" aren't flaws at all - they're changes that are the result of the future not looking exactly like the past.
[Infoworld: What "waterfall" means ]

[]



Perhaps not authoritative but a good bullet list of when iterative makes sense and a (shorter) list of when waterfall makes sense: [http://www.joisinc.com]

[]



Good, if cheesy, flash video contrasting Agile vs. Waterfall: [A Tale Of Two Teams]




[]




Good metaphors for incremental vs. iterative and some witty agilist thoughts: [agileproductdesign]

[]


Fabulous origins of "The New Methodology" by Fowler. Plainly lays out the motivations for agile & iterative.

[]


Ambler's rants about agile planning. Explains the problem with WBS, GANTT, PMI and MS Project.

Explains the schedule by value vs. task here:
Agilists typically schedule the development of requirements (user stories, features, use cases, ...) into iterations as the line items, not tasks such as design, test, .... For example, the line items of iteration 5 might be "Implement Search for Books", "Implement Search for DVDs", "Implement Process Mastercard Payment", and "Implement Capture Different Billing and Shipping Addresses" for an online e-commerce system. These line items would stretch the length of the iteration, I would trust the team to schedule the actual work appropriately and wouldn't go into any more detail in the project schedule.

[]



In the end, laughter might be necessary: waterfall2006

Thursday, May 29, 2008

LM Remote KeyMap for Firefly PC Remote

I have often been frustrated by the lack of config. for Firefly. Perhaps this will help?
LM Gestion : LM Remote KeyMap for Streamzap, Firefly, Firefly Mini, USB-UIRT, TechnoTrend or MCE PC Remote

Sunday, April 06, 2008

Whole house audio/media

I've been really happy with my Roku Soundbridge radio. Great management of fav internet radio stations, plays my mp3s and podcasts from iTunes running on my HTPC system. No, it doesnt play the Apple protected stuff since Apple wont license that to anybody. So I just say NO to DRM.

I'd like to add players in the kitchen, living room and back yard but not convinced of Roku's longevity with Logitech getting in the game with their acqusition of Slim Devices and the release of the Squeezebox Duet.


There's also competition from Sonos with a fairly expensive but robust multi-room offering.


So...which of these to consider? I like Roku but they seem to be lagging in features now. Sonos looks sexy with their controller and multi-room control. But spendy.

Then there's the fact that all of these are audio only solutions and fairly closed systems. With the Snapstream PVR and iTunes on the HTPC I might just as well build cheap toaster PCs for the barn, kitchen and living room.

Because Roku does it's internet radio favorites through a web portal I could access them from any PC with a browser. With a Snapstream BeyondTV client I'd be able to play recorded shows from the PVR and even access live TV.

Hmmm...choices. Audio only seems limiting.

Tuesday, February 12, 2008

Calais

Reuter's new Calais API/service provides ontology generation for your docs. They tout it as a tool for the vaulted semantic web. This might be a worthwhile alternative to the simple frequency analysis I've been doing on my iTunes / Flickr mashup tool which presents a slide show of pertinent images from the lyrics of the now playing song.

Monday, February 04, 2008

java.net: Exploring ESB Patterns with Mule

java.net: Exploring ESB Patterns with Mule

Mule: A Case Study

TSS has a good meaty write up on Mule ESB. Mule: A Case Study

We're planning an IBM MQ deployment to aid in some 15 or so ERP integration points and I'm pondering whether we should plan on an ESB now.

Tuesday, January 29, 2008

Friday, January 25, 2008

Understanding art for geeks

Understanding art for geeks - a photoset on Flickr

Very clever techie annotations on famous art works!