Blog Home  Home Add to any service  
Beckshome.com: Thomas Beck's Blog - General Technology
Musings about technology and things tangentially related
 
 Monday, March 10, 2008
I've been contemplating the move towards a self-hosted Subversion repository for quite a while. My earlier attempts worked but left me with a lot of inconvenient and sometimes quirky side effects. These experiences always led me back to hosting Subversion on Linux, which is really where it works most naturally. Recently, however, I decided to retry my luck with Subversion hosting on Windows and I made the call to go with a "package" instead of doing the Apache / Subversion integration myself.



The tool that I went with, VisualSVN, is a Windows version of Subversion that targets primarily Microsoft developers using VisualStudio as their development platform. Matter of fact, the Subversion server package is freely distributed and the actual product that is sold is the Visual Studio plugin that allows you to tap into Subversion from Visual Studio. With a 30 day trial period and $49 price tag, I decided that it couldn't hurt to try it out. My findings are below:
  • VisualSVN Server - The VisualSVN server, as mentioned earlier is a freely distributed product. You can get this piece of software whether or not you ultimately decide to buy and use the Subversion Visual Studio plugin. The server runs exclusively over HTTP / HTTPS (using OpenSSL) and does not support Subversion's binary protocol or running Subversion over SSH. Obviously, this means that Apache is in play. A version of Apache is included in the distribution. Initial configuration of the server is very easy, the setup instructions describe the extent of it. As I blogged about previously, this changes a bit if you try to get Apache and IIS to run side-by-side. In this case, you need to be very explicit and tell the very greedy IIS to stop listening on other IP addresses so that port 80 can be shared by IIS and Apache. I included links to the Microsoft article in my earlier post. In this case, you'll want to use httpcfg delete iplisten -i xxx.xxx.xxx.xxx to stop IIS from listening on the port Apache is running on.      
The folks who designed VisualSVN added some cool management functionality that shields the administrator from lower level Subversion commands. Implemented as a Windows MMC snap-in, Subversion repository administration be performed right alongside other server management tasks. The MMC enables one step creation of repositories (with or without the standard Subversion folder structure), creation of users and groups, and assignment of user privileges to repository actions.
  • VisualSVN Visual Studio Plugin - As useful as the server is, the real product is the VisualStudio plugin. The most recent version of this plugin works on VisualStudio 2008 so I thought I'd install it and give it a whirl. Installation is fairly easy. Both TortoiseSVN and the VisualSVN plugin must be installed. I don't know exactly how VisualSVN communicates with Tortoise but it seems to make sense to leverage an existing Windows Subversion library rather than building everything from scratch. Using both the plugin and Tortoise gives you two ways to work with Subversion. In my experience with other Java IDE plugins (Netbeans and Elcipse), this is sometimes necessary to get around the shortcomings of the browser plugin.
Adding a project to VisualSVN using the plugin is, as it well should be, a relatively easy task. VisualSVN has some intelligence built in above and beyond the basicTortoiseSVN libraries. In my case, the plugin didn't add my Visual Studio settings, binaries, or a bunch of MP3 and JPEG photos that represent content and really didn't belong under source control. Other than that, a lot of the processing is just handed over to TortoiseSVN. The SVN UI presented by the plugin should all be pretty familiar to you if you've ever used TortoiseSVN before.

This looks to be my keeper for Subversion hosting. Now I need to port over my existing repositories into the VisualSVN server.
Monday, March 10, 2008 10:37:01 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  |   |  Trackback
 Monday, January 07, 2008
I've been busy since returning from vacation on getting my new iMac up and running. Aside from the machine being a physical work of art, it's also been performing very well and runs so silent that I'm hearing all kinds of new noises in my house that I wasn't aware of before. This doesn't mean that I've completely forsaken Windows. In fact, the move to the Mac has allowed me to finally move to Vista on my home machine and install Visual Studio 2008, which is killing my work laptop. For those of you remotely familiar with the Mac, running Windows side-by-side with OS X has been possible since the release of the Intel-based Macs. This started with Boot Camp and gained serious traction with the release of Parallels. Most recently, VMware jumped into this space with their Fusion product for the Mac. I went with Fusion due to reviews on both Apple's site and Amazon.com that seemed to indicate that Fusion was more stable and that there were far more converts from Parallels to Fusion than in the opposite direction.

I'm running 3 operating systems now on this machine, 2 of them under Fusion 1.1. Mac OS X Leopard came pre-installed with the machine and Vista and Ubuntu Linux are running under Fusion. Despite the 64-bit Intel architecture on the new Macs, both the Vista and Ubuntu installs are 32-bit. I didn't hear enough good news about the 64 bit releases to convince me that they were worth pursuing. All of this is running on 4GB of memory. Only 1 GB was stock and you'd be crazy to pay Apple's prices for memory. Other World Computing (OWC) will get you to the 4GB maximum for less than $100. The memory install took all of about 10 minutes and OWC's service and delivery were nothing short of outstanding.

As far as the individual operating systems, they are all running fine. That said, everyone puts different kinds of stresses on their machines. Mine is software development and I require each of my operating systems to run at least oneIDE. That's actually the reason for the existence of these VMs in the first place. Although my initial research prepared me for the worst, I've had no issues with running IDEs concurrently on all 3 operating systems. I've encountered some small quirks, which I've documented below for anyone who might find this sort of thing useful:

  • Mac OS X Leopard - I'm running NetBeans 6.0 with the Ruby-only configuration. Much to the chagrin of many Mac developers, Leopard did not ship with Java 6 even though it was included in some of thepre-releases. This proved to be a non-issue for the installation of the latest version of NetBeans. Obviously, running NetBeans in Ruby-only mode means that I'm not exercising the JDK and thus avoiding what could potentially be a lot of issues.
  • Windows Vista - Although I've had issues getting used to the Vista operating system from the Windows 2003 Server / Windows XP I've become so familiar with, I've had few issues actually running Vista. I'm running Vista with the 1 GB RAM that Fusion recommended and have had no issues thus far. The only issue I encountered was trying to install Vista in Fusion Easy Install mode with multipleCDs , as opposed to a DVD. This is a documented issue with Fusion that I didn't become aware of until I ran into it head-on. Simply switching to a normal install solved all of my issues. On top of Vista, I'm running Visual Studio 2008. This runs pretty quick - even on 1 GB and builds of moderately sized solutions are pretty fast. TheIDE is really responsive and you really only notice that your running in a virtualized environment if you try to resize the entire Vista window to get more real estate for the IDE.
  • Ubuntu 7.10 - Despite the size of the operating system, this installation took longer than Vista. I chose not to use one of VMware's canned virtual appliances and go with a fresh install.  I would probably re-examine this decision if I had the chance to do it all over again. Ubuntu is running NetBeans 6.0 with the full Java EE stack. The install of NetBeans downloaded directly from netbeans.com went really well once the proper Sun JDKs were installed. Both the Java 5 and Java 6 JDKs were available directly from Ubuntu's installation utility. I installed Java 5 first and, after realizing that it was a vanilla 1.5.0 release that didn't meet the requirements for NetBeans 6.0, I installed Java 6. Things have been just dandy since then.
Monday, January 07, 2008 7:18:33 AM (Eastern Standard Time, UTC-05:00)  #    Comments    |  |   |  Trackback
 Wednesday, December 19, 2007
After a long hiatus, I just got done working my way through a 6 month photo backlog, arranging and backing up photos and picking the best ones out for uploading to Flickr. You can find the new photos in the photo section of my blog. I was working my way through videos as well and preparing to convert some of these to Flash for uploading. If you look at the videos section of my blog, you'll notice that there are no new videos. So what happened?

Although I'm really happy with On2 Technologies Flash encoding software, the process of importing and transcoding video is time consuming and CPU intensive. Then there's the entire upload and markup creation process, which is a royal pain that I should have long since automated away - but I haven't. What I'd really like is a process similar to the one that I have with Flickr: I upload photos using a OS-specific program (uploadr) and they just appear on my blog. I've known that this process needs to be replaced for a while, I've just been hesitant to pull the trigger. Enter Smugmug...

Smugmug, the family owned photo service that leans heavily on Amazon's S3 service for file storage, announced last week a significant upgrade to their video hosting capabilities by supporting the H.264 video format. Right now, Apple's QuickTime plugin provides the best support for H.264 but Adobe's newest version of Flash will also be supporting H.264. If Microsoft wants to remain competitive with Silverlight, they'll be following suit as well. So what does this mean? This means that Smugmug will automatically transcode your uploaded video. Depending upon your membership level, video can be encoded at DVD resolution (960x540, for power users) or HD (1280x720, for pro users). You upload it and Smugmug transcodes and hosts it, providing unlimited bandwidth and storage space. Since seeing is believing, click on the image below to see a sample SmugMug Thanksgiving video and tell me you wouldn't like to have online video of this quality.



If you're going video, you've got to go big and at $150/year, Smugmug carries with it a fairly large price tag. However, when I factor in that I can cancel my Flickr subscription, stop upgrading my Flash encoder, decrease my bandwidth utilization on my hosting service, and have a hassle free upload and transcode experience... in HD, I'm sold. As an added bonus, Smugmug has just added an adaptive imaging sizing capability they call "SmugMungous" that automatically selects the right size picture for your screen. To get the full effect, this needs to be tried on a fairly large monitor. And by the way, you can point to your smugmug gallery using a custom domain or sub-domain and you can share video updates as an iTunes Podcast that friends and family can subscribe to.

SmugMug is just one more piece in my grand attempt to upgrade my life to HD. We went with HD TV almost 3 years ago now and it's hard looking at a normal signal now, especially on a large 16:9 screen. I'm strongly considering Smugmug for its HD capabilities but this is going to cause me to reexamine two other areas of my life that need HD upgrading: my HD recording capability and HD playback capability. I'm waiting for Santa Claus to drop an HD TiVo down the chimney. The $1000 dollar price tag for the original Series3 TiVo was a pill I couldn't bring myself to swallow, no matter how much I love TiVo. AT $300 and almost all of the features of the Series3, the HD TiVo got my attention. I'm also looking at an HD camcorder, an essential item if I'm serious about the Smugmug thing.

That's a lot of upgrading to do. Still, there are several areas that I'm not upgrading. I'm waiting for the Blu-ray / HD DVD war to show some signs of abating but this is definitely a medium worth revisiting in 2008. HD Radio - now I just don't get this one!
Wednesday, December 19, 2007 11:10:00 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Saturday, June 23, 2007

I feel as if someone tacked a “show me your enterprise service bus” sign onto my back and I’ve been walking around blissfully unaware of this fact for months now. Client presentations, vendor presentations, casual conversations – everyone wants to show off their visuals of an ESB, SOA, and next generation architectures. Thank goodness there’s no fine print on my sign restricting me from asking tough (and not so tough) questions.

  • So how do I avoid vendor lock in?
  • Do we really need SOAP?
  • Grid computing… show me some client references!
  • JSR 168 portals… yawn.

To escalate the situation, I came up with my own next generation architecture diagram and talked it through with a bunch of my peers. People liked it at first because of all the nice icons. They really loved it when the answer to any of the hard questions was “let me show you how this works, do you have a Web browser handy?” I’ve included the diagram below for your enjoyment and jotted down some quick write-ups with the obligatory links so that you can see, understand, and convince yourself of the reality of these tools.

  • Ruby on Rails – Although there are tons of free services and a number of high quality paid services that can be leveraged to enhance applications on the Web, it’s hard to go very far without having some dedicated computing power. Using Ruby on Rails and MySql will get you the maximum bang for your buck (that’s no bucks for those who are counting). While you’re riding the Rails, make sure to take advantage of Ruby gems and Rails plugins.
  • Web Service APIs – Lots of folks talk about enterprise applications that invoke common APIs to store documents, images, or access business services. For most, it’s talk of a far off and distant future. Would you like to see how this works today? Check out box.net, flickr, and salesforce.com for file, image, and business Web Service APIs in action.
  • Yahoo Pipes – The minibus within the bus, Yahoo pipes provide a visual environment for aggregating, manipulating, and mashing up data and producing value-added output. Good mashup implementation but the interactive visual editor gets most of the attention – rightfully so. Imagine your business users mashing up business data to solve problems in new and creative ways that your analysts and developers never imagined.
  • Google Base – A loosely organized, metadata-driven, data store available through Google. Data is accessible via an HTTP API with either Atom or JSON feeds.
  • Open ID – Rather than supported a single point of control system for authentication, like Microsoft’s Passport, OpenID is a decentralized system that relies upon distributed identity stores and, for the most part, ownership of a particular URI. The system is lightweight yet still manages to provide for the distribution of basic profile information in addition to straight authentication. With more and more sites adopting this service, adoption is likely to steadily increase over the next several years.
  • Amazon Web Services – Despite the lack of any hard-and-fast SLAs on their services, developers are increasingly leveraging the AWS platform for production applications. Their Elastic Compute Cloud (EC2) provides the average developer access to a significant grid computing array. Their Simple Storage Service (S3) and Simple Queue Service (SQS) provide access to globally distributed storage and messaging services, respectively. All of this is based upon a very fair “pay as you go” model that requires you to only pay for what you use and scale up and down without the usual provisioning and financial burdens.
  • Sugar CRM – For one, I like Sugar’s tagline “Commercial Open Source”. A PHP-based CRM alternative to products like Siebel and Salesforce.com, Sugar is gaining pretty significant traction in the marketplace and is proving to be the first lucrative open source business application. The software has a good look and feel to it and their distribution options will likely set the standard for all other open source business software. You can opt for off-site dedicated hosting (on-demand), fully configured appliance-based distribution, or host-it-yourself (with or without a support contract).
  • Bit Torrent – Peer-to-peer file sharing technologies have yet to find their place in the enterprise. On the open Internet, though, such technologies are said to account for as much as 40% of global Internet traffic. As desktop search technologies mature, sharing of decentralized data is going to be the best way to get at all of the knowledge otherwise hidden within the enterprise.
  • Google Gears – If you don’t have the time or inclination to build offline clients to support your disconnected users, how about just making your Web app “disconnectable”? Gone are the cross platform, DLL, and distribution issues. Your Web app can sense when it’s lost network connectivity and go into disconnected mode. A great idea that will likely only gain limited traction in the enterprise.
  • Netvibes Universal Widget API (UWA) – JSR 168 (or is it 286 now) compliant portlets seem so passé. With widget-based start pages becoming the norm and Windows and Apple both integrating widgets as integral parts of the future desktops, “write once, run anywhere” were just a matter of time.
  • Microsoft Virtual Earth – I’ve blogged about this before and even did a quick Webcast. Take the hottest Web 2.0 visualization technique (AJAX maps), add birds-eye views in 2D and realistic 3D virtual earth renderings that run in-browser for both IE and Firefox and you’ve got Virtual Earth. It simply must be experienced to be believed.
  • Simile Timeline– An equally interesting visualization technique but one that’s got significantly less press is the Simile Timeline AJAX widget for bringing time-based information to life.
Saturday, June 23, 2007 3:52:14 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  |   |  Trackback
 Wednesday, April 18, 2007

The Microsoft Live Search Maps update to include Firefox support that I blogged about a couple of weeks ago was released sooner than I expected. The updated maps API supporting Firefox has not yet been released but word has it that this is imminent as well. I’ve put together a brief screencast of Live Search Maps running in Firefox. Omitted from the screencast are the features that have been available in Firefox for a while, like bird’s eye view. Focus is given explicitly to navigating with the 3D control.

The Camtasia Studio video content presented here requires JavaScript to be enabled and the latest version of the Macromedia Flash Player. If you are you using a browser with JavaScript disabled please enable it now. Otherwise, please update your version of the free Flash Player by downloading here.


When running the 3D control, you can turn detailed building rendering on or off from the options link in the upper right corner of the screen. Detailed rendering chews up more space but looks a whole lot better. It looks like Microsoft is definitely taking the geospatial market seriously and is out-innovating Google in this area. Cross browser 3D support (albeit limited to Windows), bird’s eye views, and other features are real eye catchers. In the 3D realm, I like Microsoft’s approach to creating the 3D space on their own. Google might have overextended the community participation concept with  Google Earth’s philosophy of user-created 3d models. Do we really need 60 different virtual models of the Empire State Building? That seems just a bit too confusing. Still, if you look at the number of mashups built using the respective mapping APIs, Microsoft still has a lot of catching up to do. Either that or folks just aren’t willing to admit that Microsoft might actually have something here.

Wednesday, April 18, 2007 8:56:12 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |   |  Trackback
 Sunday, March 04, 2007

I finally got around to adding videos to the site that I’ve been accumulating over the last couple of years. I’ve blogged about investigating Flash video a number of times before. After putting a number of videos on YouTube and being disappointed with the quality of the end product after their compression and resizing process was completed, I decided to go it on my own.

The decision to make this move provided the necessary impetus to do the final research and prototyping necessary to make this a reality. From my experience, I’ve come up with the three things that you’ll need to host Flash Videos, aside from the source video itself, of course.

  1. A server with plenty of bandwidth and the capability to stream media.  Even though the Flash compression process yields fabulous results as compared to a raw video stream, these files are by no means small. I am seeing sizes of 6 – 12 MB per minute of Flash video depending upon the quality of the underlying source and some tweaking of the video encoder settings (like bitrate). Depending upon how much traffic your videos get, this could suck up quite a bit of bandwidth. With respect to streaming media, I suggest that you select a host that explicitly allows this or who gives you control over your server so that you can take care of this yourself. Beware that if you’re hosting on the Windows platform with Windows Server 2003, this server will not stream Flash videos out of the box. You’ll need to explicitly set the MIME type for the Flash videos as noted in this Tech Note from Adobe.

  1. A solid Flash video encoder. With the explosion of Flash media at sites such as YouTube, Google Video, and MySpace, the number of tools available to do consumer Flash video conversion are on the rise. These tools range from rank amateur stuff to automated server-side tools like those used by the big boys. In the consumer space, you’re paying for three things: ease of use; the video encoder (codec); and the flash player. The most important of these things to me (but I’m sure not to everyone) is the actual codec.

The codec is like the engine in your car. That is, you can buy those flashy spinner wheels and fat (phat, maybe?) muffler but without a good engine, you’re going nowhere fast. That said, there is quite a war going on in the codec camp based upon proprietary versus non-proprietary formats (VP6 versus H.264). You can read On2’s summary of the issues here. Since On2 is the source of the proprietary “next generation” Flash codec, this comparison is to be taken with a grain of salt.

From a consumer’s point of view, you either buy On2’s technology or somebody else’s since most everyone else supports H.264. Many of the counterarguments to On2’s codec revolve around the portability, openness and near universal adoption of H.264. From my tests, the VP6 (On2) encoded videos looked better and compressed to smaller file sizes. The encoding process, however, is a bear and will peg the most capable of CPUs at near 100% utilization during encoding. The real proof for me was in the marketplace. With many major media and technology companies (including Adobe, themselves) using On2’s codec, I’ve assumed (rightly or wrongly so) that people much more knowledgeable than I in this area have done their homework and are convinced that On2 offers something that H.264 products do not. What seals the deal is that On2’s standard bare-bones encoder package costs only $39. Granted, it’s not as slick or user-friendly as some of the others that I tested but it has the most horsepower under the hood.

  1. A configurable (ideally scriptable) Flash video player. The player is the part that actually drives the Flash video and allows the user to interact with the output, moving the video forwards and backwards, setting volume, etc. Many of the video encoder packages include a selection of players out of the box; so you may not be required to pick up one separately. If your codec doesn’t come with a player or you’re not satisfied with your player’s capabilities, I strongly recommend that you take a look at Jeroen Wijering’s Flash player.

As you can probably see from the screenshot above, Wijering’s Flash player is, well… not that flashy. What it lacks in glitz, it more than makes up for in power and flexibility. The player is very easy to use in its default configuration, playing either single Flash videos or running though multiple videos specified in an XML playlist. Furthermore, you can perform runtime manipulation of the Flash video by passing a set of parameters known as flashvars. This very handy feature alone makes this player standout head and shoulders above the rest. Finally, there seems to be a decent community support around this open source player with plugins built for popular tools like Wordpress, Drupal, and Coppermine. This extra article by Jeroen provides some good guidance on embedding Flash. For specifics, it’s best to download the tool and play with the samples.

Hosting Flash video is really not hard once you have these three things figured out. Although I didn’t mention source video, it really is key in the equation. Videos that I shot on older still cameras needed to be scaled up in size and are a bit pixilated. Videos that I shot on my newer Canon A630 look much better, but they are not in stereo and show signs of pixilation even if I use optical zoom. From this whole conversion effort, my most important takeaway is that I’m going back to my Sony Hanycam Digital for shooting video. It yields the best video and sound quality. The only downside is the digital tape to digital file conversion process.

Sunday, March 04, 2007 7:47:42 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Thursday, March 01, 2007

In the final installment of this March 1st trilogy, I’ll hit something really topical, the precipitous fall of the Dow Jones Industrial Average (DJIA) two days ago on February 26th. For those of you just diligently minding your stakes in the market, you probably got wind that all the major indexes tanked pretty badly on the 26th. The Dow, however, tanked in a rather unnatural fashion that was quite different from the others.


You can see the “Live” and recalculated Dow Jones numbers on the graph above. Although the actual  Dow (in orange) did drop pretty steeply, there’s no way it could have done the near vertical drop that the graph indicates without some outside intervention. It turns out that this outside intervention was provided by a “computer glitch”, as reported in the general press. More specifically, one of the queuing systems that feeds data to the system that actually calculates the Dow Jones index got backed up under record trading volumes. When market watchers got suspicious that the index movement did not align with the sliding values of its core components, they decided to investigate. Discovering the backlog, they manually switched over to alternate systems. When these systems worked down the backload, a new DJIA was calculated and voila, we had a 200 point drop in a couple of minutes.

As painful as this must have been for professional traders and as painful as it’s likely to be (in terms of lawsuits) for the Dow Jones company, this is really interesting from an IT point of view. If you’re an IT person looking for insight into how these markets work, I thoroughly recommend the book Practical .NET for Financial Markets. It’s one of the most advanced .NET texts I’ve ever read and, as a positive side effect, introduced me to a completely unfamiliar business domain, financial markets. Reading this book will not only make you a more educated developer (whether or not you use .NET), it will help you understand the causes and effects of events like those on the DOW two days ago.
Thursday, March 01, 2007 8:57:08 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback

In the first of my beginning-of-the-month speed blogs, I’d like to start with the topic that I’ve been putting off longest, building applications on top of Amazon’s Web services. For those of you that think of Amazon.com as just a book store, or an e-commerce platform, or [add your assumption here], think again. In the last year or so, Amazon has released a number of services that have not only established them as a first-class platform, but have pushed the envelope considerably on the idea of virtualization.

This trend started with Amazon’s Simple Storage Service (S3) and was expanded on with their Simple Queue Service (S2). Late last year, Amazon blew the roof off with the limited release of their Elastic Compute Cloud (EC2) service. EC2 is a configurable computing environment where you can load up virtual instances (roughly equivalent to your average Linux server) – on demand. You can load or unload these instances to meet cyclical demand and you only get charged for the computing time that you use. Couple this grid computing potential with S3 for storage and S2 for queuing and let your imagination be the limit.

Doug Kaye’s architecture for GigaVox Audio Lite, an audio file transcoder, might give you some ideas about what can be done with these services. The related ITConversations podcast contains plenty of details, with both Kaye and Jeff Barr, from Amazon, on the wire with Phil Windley. This podcast does a good job of conveying the vision and the realities of using these services. Some of the discussions, like managing and developing on top of a globally distributed queuing system where a call like size = MyQueue.size doesn’t really make any sense, will cause you to stop and think.

The final new Amazon service that I didn’t mention is Mechanical Turk, which is, simply put, a computer interface onto human services. This one has been around for a while and never got much attention from me until I heard the Podcast. Interestingly, the site castingwords.com, which produces Podcast transcriptions, farms out their work via Mechanical Turk. The combination - digital input in (MP3); digital input out (electronic transcript); virtual computing; virtual workforce – that’s pretty radical. There are some other great uses for this service mentioned on the Podcast as well.

The Podcast is absolutely worth a listen. And if this sort of thing piques your interest, you’re not alone. The queue to get into the EC2 beta program is a few months long. If you’re even remotely interested, get in line now.
Thursday, March 01, 2007 6:05:37 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Tuesday, February 27, 2007

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.

 

www.flickr.com
This is a Flickr badge showing photos in a set called Thomas's Best Of 2006. Make your own badge here.

 

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.

Tuesday, February 27, 2007 1:04:52 AM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Sunday, February 25, 2007

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.

Sunday, February 25, 2007 2:58:01 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |   |  Trackback
 Wednesday, February 21, 2007

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.
Wednesday, February 21, 2007 11:33:25 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |   |  Trackback
 Tuesday, January 16, 2007

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…
Tuesday, January 16, 2007 9:14:01 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Wednesday, January 03, 2007

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.

Wednesday, January 03, 2007 11:10:31 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |   |  Trackback
 Thursday, November 30, 2006

Following up on my This Digital Life post last month, a couple of folks have sent me emails asking if I had some recommendations around other Web 2.0 tools. In the sprit of a recent podcast that defined Web 2.0 as “really anything that’s cool online nowadays”, I decided to post some Web 2.0’ish tools that I highly recommend. Some of these tools I’ve been using for a year or more (a mighty long time in the Web 2.0 world) and some I’ve been using for just a couple of weeks. Most are, with the exception of Central Desktop, free services. Enjoy and let me know if you find these useful.

  • scanR – Snap digital pictures of whiteboards or paper documents and upload them for processing to scanR. The images are cleaned up, PDFed, and sent back to you in an email. You can also upload images of business cards, which are then converted into vCards that can be imported into your favorite contact management program.
  • Vyew – I’m a recent convert to Vyew and have been nothing but impressed with its features and ease of use. Think WebEx; but it’s better and it’s free.
  • Zamzar – File conversion online. Format… you name it. Upload a file, identify the type of conversion you’re looking for and Zamzar quickly converts the file; returning the finished product to you via email. Zamzar supports over 200 conversion types. Some of my favorites are doc-to-pdf, ac3-to-mp3, and avi-to-flv.
  • Mediamax – So now that you have all of this digital media, what do you do with it? Enter Mediamax. You get a whopping 25GB of storage for free and the pricing plans for more space are very reasonable. This includes sharing and hosting of digital audio and video and a Windows-based tool for file synchronization and automated backup.
  • Google Calendar / Remember the Milk – With some recent integration efforts, this is a tool match made in heaven. The best calendaring tool combined with the best to-do list manager, all in one very intuitive UI. Although not combined, these tools both have great browser-based PDA versions as well.
  • Central Desktop – The Cadillac of the tools listed here and, as mentioned earlier, the only one that does not have a perma-free option. This tool is simply so awesome that it warrants mention. Central Desktop is software as a service at its finest. Portal based functionality, project management, full text indexing and search of uploaded documents, Web meeting and audio conferencing capabilities, IM and Skype integration, version control, and the list goes on. It’s not as lightweight as Basecamp but it has all the features you wish for in Basecamp and is even more intuitive.
Thursday, November 30, 2006 12:06:59 AM (Eastern Standard Time, UTC-05:00)