One of my original intents of registering the beckshome.com domain name was to publish photos of my new baby son or daughter. That was two years and two daughters ago and, until this weekend, photos were nowhere to be found on my blog. I host my blog on the Windows platform and had no desire/time to do any of the following: (a) buy a separate package for image management; (b) cobble together an ASP.NET solution to manage my photos; (c) switch blogging software to a tool like Community Server that has integrated photo management. Furthermore, I already manage my photos on Flickr and I’m more than happy with the service, user experience, and the cost-benefit. What I really needed was a way to integrate my existing Flickr photos into my current .NET-based blog (DasBlog). The pursuit of this goal is what this blog entry is all about.
Being a regular blog reader, what I’ve seen a lot of out there are the Flickr badges. These badges, available in either HTML or Flash versions (like the one below), are pretty slick and can be found pretty much everywhere on the Web. The problem with these badges is that they only offer the opportunity for shallow integration. Click on the badge and bye-bye blog, you’re zipped off to Flickr’s site to look at the photos. Since I aspired to achieve a bit deeper integration, I needed a different approach.
Next thing that I looked into was programmatic access to the Flickr API or a pre-existing solution that I could use wholesale or reproduce with little effort on my part. The Great Flickr Tools Collection has a vast assortment of very interesting tools – none of which quite seemed to meet my needs. I checked out the Flickr.NET API Library, which was written about in a Coding4Fun post and can be found for download here. It’s very well done and, although it probably won’t be the last time I mention this API in my blog, it will be the last time I mention it in this posting.
What I eventually stumbled on was a simple and elegant solution that got me exactly what I wanted by embedding the Flickr slideshow viewer into a custom page on my existing blog. Paul Stamatiou has an excellent post on his blog on how to do just that. By using an iframe and setting some API attributes you can get this up and running very quickly; qualifying this as a super easy hack that just works. Note that only photos marked as public will be displayed.
With the Flickr slideshow viewer up and running, I only needed to add the ability to select between multiple photo groups and I was done. With the actual Flickr viewer taking care of all of the real AJAX work, all that was needed was a bit of light JavaScript to tie this all together. Below you will find the code that does all of the lifting.
<script type="text/javascript">
function changeSlideshow(url, title)
{
document.getElementById("SlideShow").src=url;
document.getElementById("Title").innerHTML=title;
return false;
}
</script>
Clicking on any of the photo group links / thumbnails makes a call to the above function passing the URL for the slideshow in the manner stipulated in Paul’s article for populating the slideshow viewer. The title is also passed so that the title of the page can be updated. You can see this at work on my new photopage. By viewing the page source, you can see the exact mechanism I used to make this work. If you’re have any questions, feel free to drop me a line.
I realize that the title of this blog post is something that one would probably not associate with a blog that purports to cover technology. Bear with me please and surf over to YouTube (or view below) to look at the video posted by the Pennsylvania Fish and Boat Commission. I think you will agree that the video is very well done. Much like the partnership between Google and the Pennsylvania Tourism Office that I blogged about a couple of months back, this posting to YouTube represents some signs of forward thinking, Web-based focus, and creativity on the part of state government.
Granted, with tourism and fishing, we are looking at revenue generating sectors of state government. You don’t yet see this sort of thing from Welfare service divisions. How long will it be though until other sectors of state government start looking at public Internet services as an alternate channel for communications with their constituents? The economics of these services surely works in their favor (that is, they’re free). It then becomes a question of what the best channel is to reach one’s constituents.
Face-to-face interaction, snail mail, and government sponsored portals will be around for a while to come, I surmise. But as usage of cell phones, email, inexpensive audio devices and collaborative community-based Internet services like YouTube continue to permeate through the layers of citizenry, state governments will not be able to ignore these viable communication mediums. The one question that remains is whether state governments are prepared to engage in the two way dialog and deal with the power shift that these new communication vehicles will invariably bring.
The innovation engine at Yahoo is heating up, looking to get
Yahoo back in the race with the “Big Boys”, rivals Google and Microsoft. In an
environment categorized by copycat service offerings and one-upmanship, Yahoo’s
offerings are refreshingly unique. I cover three of the most recent services
that I’ve been playing around with and that I think will prove entertaining to
my readers as well – Pipes, OmniFind Yahoo! Edition, and TagMaps.
- Pipes – No less a luminary than Tim
O’Reilly called Pipes “A milestone in the history of the Internet”. Pipes is a browser-based visual editor that
allows you to take input from one source and pipe it (in UNIX parlance) to another source. Along the way, you can
apply a series of filters and transformations to manipulate the data. The data
sources start and end as common feeds (RSS, RDF, etc). What you do with the
data between its input and output is constrained mostly by your imagination.

Yahoo! was certainly not first on
the scene with this idea. Dapper and others have preceded them in this regard.
What Pipes brings to the party that no one else does is a really cool visual
environment that allows you to trace the path of the data through the
transformations and filers, interactively debugging along the way based upon
the value of the successive outputs. It also has this cool reuse flavor to it,
where you can experiment with, tweak, learn from, and potentially improve or
fork off new versions of other peoples pipes or just reuse them in a black box
sense.
After you’ve read Tim O’Reilly’s
introduction, I encourage you to play around with Pipes. Although seeing is
believing, you’ll learn best by actually doing.
- OmniFind Yahoo! Edition – Product of a
nifty partnership with IBM, the
OmniFind Yahoo! Edition is an enterprisey search solution that is the baby
brother to IBM’s commercial
OmniFind enterprise product. Built on top of the open source Apache Lucene
search engine, OmniFind has the solid lineage necessary to be considered worthy
of the task.

The product is a very easy
install, whether on Windows or Linux, requiring very few steps to get the
product up and running. OmniFind returns search results against locally indexed
documents and the Internet, with the results being returned in the familiar
Yahoo! look and feel. For those interested, the UI can be styled to match a
particular site’s look and feel or you can go the direct route and work with
the exposed REST APIs.
With the pricetag (free) and
support for a couple hundred file types, there’s little not to like about
OmniFind. Search performance has proven to be very fast with a few thousand
documents. Indications are that the tool scales pretty well although the
indexing process can be quite processor intensive and there are a couple of
known issues with cleaning up very large temp files that could eat into your
available disk space.
- TagMaps – I stumbled onto this product a
couple of weeks ago while looking for some information about creating GeoRSS
feeds. TagMaps is another way of visualizing data (tags in this case) on maps.
I must confess that seeing tags on a map takes a bit of getting used to. I
found that the best way to indoctrinate myself was by using Trip Explorer

Trip Explorer is a mashup of
TagMaps and Yahoo! Travel users' public Trip
Plans. What’s cool about Trip Explorer is that the clustering of
tags reveals hidden tour gems that you might not otherwise find on a
traditional map mashup. These gems become more evident (and detailed) as you
progressively zoom in.
TagMaps is built upon Yahoo’s
Flash maps, which are very interesting in their own right and need to be
experienced if you haven’t yet had the chance. Aside from using Yahoo’s canned
Explorer TagMaps, of which Trip Explorer is one, you can create your own
TagMaps mashups. Simply create a GeoRSS feed or select an existing GeoRSS feed
that returns a set of weighted tags for a given lat/lon bounded box. Easier
said than done, I know. I’ll be writing more about how to do this in a coming
blog entry. Until then, give this a look.
I don’t like to do book reviews back-to-back but Founders at
Work has kept me pretty busy reading (and not writing) over the last couple of
weeks. The book definitely deserves a five star rating and at $13 for the
e-book version, it really is a great deal. My review follows…

This is an absolute must read if you’re job, your passion,
or both (if you’re lucky) has anything to do with creating technical innovation.
“Founders at Work” is a wonderfully meander through the stories of successful
company founders – across several decades. Far from focusing on just those who
made it big during the first dot-com boom or those who are profiting from Web
2.0, Jessica also includes some of the true pioneers in the field. She
recognizes that, not only do these industry veterans have valuable stories to
convey but, since many of them are helping to steer companies and venture
capital funds to this day, their advice is quite topical and current.
From the great introduction right through the final
interview, this book is packed with great anecdotes, advice, information
and inspiration. Makes you wonder as to what the story is behind the story - how
did Jessica get unfettered access to such a broad array of the founding
fathers?
I’ve included some illustrative quotes from the book below.
Give them a read and then go pick up this book. The printed copy is a bargain
and the e-book version is a steal. It may turn out to be one of the best
investments you ever make.
- “You
guys are nuts. Throw out your business plan. Your customers—or potential customers
- are telling you what your business should be. The business plan was only
used to get you the money. Why don’t you rewrite a business plan that is
focused just on providing what your customers want?” - Q.T. Wiles advice
to Charles Geschke (Cofounder, Adobe) on the real purpose of a business
plan
- “There
were some warning signs. Consider McKinsey, which holds itself out as one
of the world’s leading repositories of knowledge on how to manage a
business. They say they’ll never grow their company by more than 25
percent per year, because otherwise it’s just too hard to transmit the
corporate culture. So if you’re growing faster than 25 percent a year, you
have to ask yourself, ‘What do I know about management that McKinsey
doesn’t know?’” – Philip Greenspun (Cofounder, ArsDigita) on scaling
corporate culture
- "That
[not improving core product quality] was probably the biggest mistake we
made. And that’s the advice I give everybody. All those little coupon
schemes, this is what General Motors does. They figure out new rebate
schemes because they forgot all about how to design cars people want to
buy. But when you still remember how to make software people want, great,
just improve it." – Joel Spolsky (Cofounder, Fog Creek Software)
- “I
think some people slept; I know I didn’t sleep at all.” - Max Levchin
(Cofounder, PayPal)
- “There
were times when we were really broke before we had our angel investment,
when only one guy who had children was getting paid.” – Caterina Fake
(Cofounder, Flickr)
With nearly 21 of the 32 interviewees having the term
“Cofounder” in their titles, Joel Spolsky’s advice seems perhaps to reflect
best on what was critical to the success of these companies. “But because they
never really take the leap and quit their job, they can give up their dream at
any time. And 99.9 percent of them will actually give up their dream. If they
take the leap, quit their job, go do it full-time—no matter how much it sucks—and convince one
other person to do the same thing with them, they’re going to have a much, much
higher chance of actually getting somewhere.”
Windows Power Tools is a collection of brief tutorials and overviews of freeware and open source .NET development tools. What kind of rating you might give this book depends largely upon what type of background that you’re coming from. If you’re the kind who has stuck religiously to the Microsoft Press series of books and acknowledge only the old testament, than this book will be either an epiphany (5 stars) or outright blasphemy (1 star). If continuous integration, test-driven development, and object relational mapping (new testament type stuff) are terms that you are fairly conversant with, then this book will probably land somewhere in the 2-4 star range.

Since I put myself in the 2-4 star group, I’ll start by mentioning that there are great online tomes of knowledge that contain most of the tools listed in this book and a bunch others not listed here. One of the most respected and well linked lists belongs to the author of this book’s forward, Scott Hanselman. His Ultimate Developer and Power Users Tool List for Windows has been dutifully updated on an annual basis. Despite the fact that there are free, decent resources out there that fill some of the same purposes as this book, I enjoyed thumbing through the book and picking out tools I hadn’t heard of to fill in some knowledge gaps.
The main reason that I landed on a 3 star rating instead of a 4 star rating is that the brief tutorial format that worked so well for James when describing Visual Studio functionality is his previous book, Visual Studio Hacks, just doesn’t do justice to tools that represent significant pieces of an application or support infrastructure. I would have preferred to see less tools and deeper coverage in certain areas. Understandably, since not everyone would want to see the same tools as me; a broader, shallower approach trades off depth and detail for marketability. I’ve included my complete list of pros and cons below so that you can see how I came to my rating:
Pros
- Great reference book with enough of an introduction to get you started with a broad array of tools
- If you’re an O’Reilly Safari subscriber, this book is included in your subscription
- The authors aspire to keep materials current on the book’s companion Web site. At the time of this review, the site is little more than a list of tools in the book
Cons
- Lots of this material is available for free on the Web, if you have the time and inclination to find it
- Introductions to tools are not sufficiently in depth to communicate any more than the most rudimentary of use cases
Technologists who spend their time working on line of
business projects are typically exposed to subtle and not-so-subtle messages
about business ethics. Most recently, the implementation of the Sarbanes-Oxley
Act has touched most of our lives in some way, shape, or form. At a bare
minimum, it has heightened our awareness of how terribly wrong things can go
when the trust afforded certain practices (accounting and reporting, in the
case of SOX) proves to be misplaced.
As strong as the reaction to Enron, Tyco, and WorldCom
debacles was; it surprises me again and again to see just how willing the corporate
community is to shrug off major IT project failures. This is especially true
when you compare the strict regulations, codes of conduct, and ethical
guidelines in place for the public accounting community and the almost complete
lack of anything resembling these structures in the professional software
engineering community. Enron and Tyco may be examples of otherwise ample process
controls gone awry. In the software engineering community, we don’t even have a process.
The recent IT conversations Podcast on the utter failure of
the project to stand up the FBI Virtual Case File system reinforced this point for
me. For those of you who want to get the down and dirty on the FBI Virtual Case
File story, the IEEE has a pretty good article containing what appears to be a
fairly objective history of the project. “So what does this have to do with
ethics?”, you ask.
I think most laypeople, let alone professional software
engineers, perceive about halfway through the IEEE article that this project
was a train wreck in the making. So why was this not apparent to the 200 plus
contractors and countless FBI staff involved in the project? Have we, as a
profession, been conditioned into silence or is virtually every software
project so fraught with journeys into uncharted waters that we have become ethically
ambivalent to the dangers?
The real “story within the story” here is the tale of Matthew
Patton, a security contractor who, despondent about lack of management concern,
posted his concerns about the project to a Web-based bulletin board. The Web
post, which has been archived online, lead to an FBI investigation, denial of
his clearance, and a situation in which Mr.Patton had little choice but to
resign. Perhaps it’s just me but I find it a bit ironic that Mr.Patton was
forced out of the FBI project in the same year that an FBI employee made it
onto Time magazine’s “Person of the Year” cover along with whistleblowers from
Enron and WorldCom.
There have been movements in our profession (if I can refer
to it as such) to institute a code of ethics and similar measures. Both IEEE
and the Association of Computing Machinery (ACM) support a unified software
engineering code of ethics. With membership in these organizations representing
just a fraction of the population engaged in software engineering, this code
has nowhere near the professional impact of similar measures released by organizations
such as the American Institute of Certified Public Accountants (AICPA). Where
does this leave us as software engineers?
- We need more people like Matthew Patton amongst
our ranks because there are certainly more train wrecks like the FBI Virtual
Case File system just waiting to happen.
- We have to start taking software engineering as
a profession seriously. The fact that late and over-budget projects have come
to represent the norm needs to change.
- We need to think long and hard about how to
police ourselves as a profession. Accounting and auditing tried, failed, and
then Congress stepped in and told them how to run the show as part of Sarbanes-Oxley.
If we don’t figure out how to do this ourselves, someone will tell us how we
have to run our show.
We as software engineers are bound by the same laws that we
created. There are no silver bullets for the issue of ethics in software
engineering. There is only the fact that a lot of software projects are
delivered late, over-budget, or both. It is our ethical obligation to speak up
or support those who do speak up and call out the doomed death-march projects
before they’ve done too much harm – to us, to our organizations, and to our
profession.
The Technology and
Venture Capitalism Podcast on IT Conversations featured some interesting
guests who brought a lot of good ideas to the table. Phil Windley, the
moderator, got the guests to kick around the concept of patterns for
applications that are good prospective candidates for funding in the VC world. The
discussion started with the simple advertising-only model (a’la Google) and the
group then moved onto the Apple iTunes / iPod model.
The premise of the Apple discussion was that the combination
of offering digital media services (iTunes Store), a rich user management
interface (iTunes), and a non-traditional computing device offered a model that
might be increasingly followed in the future. The group referred to Tim O’Reilly’s
O’Reilly Radar presentation, in which
Tim cited hardware hacks as an important trend to watch in the future. They
also chatted a bit about the Chumby, a much-hyped hardware hack that is
available is being circulated in prototype mode to über-Alpha-geeks.
All of this talk got me thinking and putting together a
mental model. It brought me back to a McKinsey interview I had in the late
dot-com era where the interviewer asked me to draw out a value map for several
emerging digital media technologies. Granted, there were no iPods or Chumbies
back then but the value map visual seems to work just as well for these newer technologies
too. I’ve included a simple map of some representative technologies (circa
2006-2007) below.

In the diagram, the dollar signs [$$$] represent where the
primary value derivation occurs in the chain. If you buy into the Value == Services + Device equation,
TiVo and Apple are set to come out on top since they control both services and
devices. Brings to mind all types of questions around potential commoditization
of the services and devices as well as to what strategic leverage (aside from
high switching costs) these companies enjoy. Audible and MySpace own only the
services, having to rely upon complimentary products (MP3 players and the
browser, respectively) to deliver their services. The Chumby is in an
interestingly unique position, controlling only the device but not the
services. This makes me wonder what the long term value potential is for this
product. It would seem that, without very strong branding and product loyalty,
the Chumby would be exposed to all sorts of knock-offs. I guess time will tell.
All of this makes devices like the iPhone very
interesting in the future. With the combination of very strong branding and the
ability to integrate content from all of the major media channels, it would
seem that the iPhone is a market killer in an increasingly mobile society. With
all of that power in one place, you might want to keep an extra one or two
handy, just in case…
Try this on for size – the EPAct2005 is the Y2K of Y2K’07. No, this is not an anagram. No sooner is 2006 behind us and folks are already worried about “the next Y2K”, the Energy Policy Act of 2005. Between January 1st and January 3rd, I’ve received no fewer than 8 emails on this topic. These emails include everything from details about software and hardware that will require some form of remediation to EPAct2005-related business opportunities.

What is the Energy Policy Act of 2005 exactly, you ask. If you read the Wikipedia entry on EPA2005, you will get a face-full of legislative overload. What’s important to look at, at least if you’re in the IT industry, is the one section titled Change to daylight savings time:
“The bill amends the Uniform Time Act of 1966 by changing the start and end dates of daylight saving time starting in 2007. Clocks will be set ahead one hour on the second Sunday of March instead of the current first Sunday of April. Clocks will be set back one hour on the first Sunday in November, rather than the last Sunday of October. This will make electronic clocks that had pre-programmed dates for adjusting to daylight saving time obsolete and will require updates to computer operating systems. The date for the end of daylight saving time has the effect of increasing evening light on Halloween (October 31).”
“Will require updates to computer operating systems”. Ugh, that sounds both nebulous and uggy. The links below lead to the vendor specific remediation instructions.
From the links it doesn’t really look like things are so bad. What makes this a bit less containable than it appears at first glance is the pervasive nature of embedded devices, occasionally connected devices, and computing systems other than the ones with keyboards and monitors on them. Y2K turned out not to be so bad because it was a bit easier to quarantine the old iron running the offending code. With EPAct2005, getting to the desktops and big machines is only part of the battle. There are just so many other devices out there running on computers of some form that much is bound to slip through the cracks. Then again, your DVR and your kids’ robotic dog aren’t exactly air traffic control systems.
|