Blog Home  Home Add to any service  
Beckshome.com: Thomas Beck's Blog - Thursday, July 06, 2006
Musings about technology and things tangentially related
 
 Wednesday, July 05, 2006

Jacob Reimers’ Google Maps Control has been a genuine blessing for me over the last couple of days. After a lot of prototyping with Google and Yahoo maps, I decided to go with Google maps for GeoGlue and keep Yahoo maps open as an option based upon the development of the APIs as well as any potential licensing or usage constraints. After dealing with the Google APIs directly, and feeling the pain of issues such as the well-known Internet Explorer “Operation Aborted” maps loading issue, I was yearning for an intermediary API that had already thoughtfully addressed some of these issues.

 

The Google Maps Control does just this and more, and hit the sweet spot of platform combinations that I was dealing with - .NET 2.0 and Google Maps v2.0. The component is well documented and its design well thought out. Its naming convention emulates the Google API naming fairly closely, so when in doubt, most standard Google Map documentation will lead you to the answer of how to address the issue with the control’s API. The control also contains methods to support Google’s newly released geocoding functionality as well as support for Yahoo’s geocoding functionality, which by virtue having been around longer, is more likely to be in use in existing applications.

 

The component is well maintained and aligns well with the newest releases of the Google API. It is closed source but free for all use (Jacob’s words) although no license is included in the distribution. Best of all, it enables you to remove all the Javascript references in your .NET source code and use pure C# / VB.NET. The sample below is a snippet from GeoGlue that replaced 60 odd lines of Javascript code scattered across several files. In brief, it sets the latitude, longitude, and markers and then adds a number of markers to the map from a data source -- all in pure C#.

 

GoogleMap.Latitude = double.Parse(locationResult.Latitude);

GoogleMap.Longitude = double.Parse(locationResult.Longitude);

GoogleMap.Zoom = 1;

while (ProductResults.read())

{

   GoogleMarker gm = new GoogleMarker();

   gm.ID = ProductResults["Title"].ToString();

   gm.Latitude = double.Parse(ProductResults.["Latitude"]);

   gm.Longitude = double.Parse(ProductResults.["Longitude"]);

   gm.MarkerText = "<b>" + ProductResults.["Title"].ToString() + "</b><br\\>" + ProductResults.["Description"].ToString();

   GoogleMap.Markers.Add(gm);

}

Wednesday, July 05, 2006 9:40:02 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |   |  Trackback
 Tuesday, July 04, 2006

I received the Bose SoundDock as a gift for Father’s Day (thank you girls!) and felt compelled to tell everyone about it. For a couple of days, I mulled over trading in the white model I received for a black model to match my IPod. After reading all the glowing reviews on Amazon.com, I just couldn’t bear waiting another week to try the SoundDock out. I was not disappointed…

 

 

The sound on the unit is incredible given its small size. What’s most amazing is that you can crank up the volume and get little or no sound degradation. Given the rather limited controls on the speaker unit, fine tuning is more a matter of tweaking the IPod’s equalizer settings. It gets around pretty well within the house, having made the rounds from the bedroom to the study and ultimately to the basement to accompany me for workouts. From the reviews I read, it would seem that caution (and adequate packing) is advised for transporting the SoundDock over longer distances. I believe that a separate case is available for the SoundDock. If nothing else, you can box it up again and move it around that way.

 

With a $300 non-negotiable Bose pricetag, the SoundDock doesn’t immediately appeal to your thrifty consumer (that’s me). However, I implore you to drop by your local electronics store with your IPod and give it a listen with some of your favorite tunes. You might be surprised at how compelled you feel to get a SoundDock after you’ve heard how it sounds.

Tuesday, July 04, 2006 11:09:29 AM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Sunday, July 02, 2006

Since I originally published my article on active authentication in the Java Developer’s Journal a couple of years back, I’ve been receiving a trickle of requests for the source code. It looks like the article is still available online although the accompanying source code seemed to have disappeared. I rummaged through my archives and dug up the WAR file containing the source code in case you’re interested. I can’t vouch for its absolute correctness. I seem to recall recreating the source code for a guy in Switzerland a couple of years back to run on Tomcat 5. I’m not sure if this is the version I’ve posted.

 

ActiveAuthentication.war (6.11 KB)

 

Also, since I’ve been less involved with Java over the past 3 or 4 years, I’m not sure that this solution is even necessary or applicable anymore. Even when the article was written, there were various degrees of vendor support for active authentication through HTTP filters across the various platforms. I most vividly remember the differences between Tomcat and Websphere. Give the code a whirl and let me know if it works or needs a bit of improvement.

Sunday, July 02, 2006 2:08:28 AM (Eastern Standard Time, UTC-05:00)  #    Comments    |   |  Trackback
 Saturday, July 01, 2006

With Suzanne and the kids away for a week, I’ve been holding up my end of the bargain and working to make some significant progress with GeoGlue. After getting hung up quite a while on the nuances of Google and Yahoo maps – not to mention Flash encoding -  I chose to take a more lightweight approach to getting a first-cut working product out to production. I’ve revamped the user interface pretty significantly but still  many of the tried and true styles still manage to show through.

 

 

 

I’m now engaged in getting the site ready for a production push, albeit in a much scaled-back mode, prior to my departure for Detroit on Friday. I’ve included a fuzzy screen shot to give you and idea of what I’m dealing with. As always, if you’re interested in becoming an alpha adopter, drop me a line at alpha@geoglue.com.

Saturday, July 01, 2006 10:07:54 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Thursday, June 29, 2006

The BSCoE project recently received a Computerworld Honors Program laureate honoring the project for its use of information technology to benefit society. It looks like the official case studies and pictures of the award ceremonies have been posted online. You can find the BSCoE case study here. I’ve also included a couple of interesting photos from the Computerworld ceremonies including the snapshot of our client receiving the award.

      
Thursday, June 29, 2006 3:02:10 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Wednesday, June 28, 2006

I’ve been experimenting quite a bit with Web-based video for GeoGlue as of late. I knew very little about the medium out of the gate but with a bunch of reading and prototyping over the past couple of weeks, I’ve learned quite a bit. The first revelation to me was that the majority of professional-grade video sites such as YouTube and Google video encode their video as Flash. A bit of further research found claims of 98% pervasiveness of the Flash plugin, as opposed to much lower rates for Real, Quicktime, and Windows Media. Scott Persinger’s post on the video format wars proved to be quite interesting reading in this respect.

 

My first inclination was to look at desktop-based software for Flash video encoding just to get a feel for the potential end product and dealing with streaming media. Most of the software that is available for desktop Flash video encoding is extremely easy to use and provided the encoded video, JPEG stillframe, video player controls, and an HTML snippet as the end product. I tried out encoders from On2 Technologies, Blue Pacific Software, and MSI Web Video. All of them worked pretty well and provided a good way to generate Flash-based video suitable for posting to a Web site.

 

What GeoGlue really needs, however, is to provide on-demand, server-based encoding of a variety of audio and video formats into Flash. It appears that On2’s Flix Engine API is one of the market leaders in this area. I chose, however, to experiment with the Turbine Video Engine SDK from Blue Pacific. The Turbine SDK proved to perform efficient asynchronous and synchronous conversion of videos to Flash. Its potential shortcomings (based upon your requirements) are that it does not encode to Flash 8 and that it is intended solely for deployment on Windows-based machines. Wrapping the Turbine SDK calls in a component called by a Windows Service running cron-type jobs proved to be more than adequate for meeting my needs.

 

 

 

Scott also provided an excellent follow-up entry on Web-based video that handles the costs associated with video-based hosting. This was my first introduction to Content Distribution Networks (CDN) such as Limelight Networks. This post was quite an eye opener and is causing me to reexamine the long-term costs associated with the growth of GeoGlue. In subsequent reading, I’ve been floored by some of the numbers that I’ve heard thrown around for streaming media hosting. Most recently, I recall reading that YouTube’s bandwidth costs alone total a couple of hundred thousand dollars – per day. Keep that VC funding flowing…

Wednesday, June 28, 2006 9:38:48 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Monday, June 26, 2006

I got through the entire book Pragmatic Version Control Using Subversion over the weekend. You can read my Amazon.com review on the book’s page. Overall, the book follows in the footsteps of the other guides in the Pragmatic Programmers series in that it is written to be easily understandable and provides to be a relatively light read.

 

 

 

Although the first several chapters are relatively elementary, the material gets a bit better as the book progresses. Towards the back of the book, there is coverage on organizing Subversion projects and directory structures, handling common libraries, and dealing with vendor libraries and source code. To me, it was this material that justified the cost of the book. If you’re interested, I’d personally recommend getting the book directly from the Pragmatic Programmers website (no offence, Amazon). These guys are very good about providing updated versions of their books as they become available. They are usually free of charge or at reduced rates. A great bargain as long as you don’t mind reading PDFs.

Monday, June 26, 2006 12:22:16 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Sunday, June 25, 2006

We had quite a harrowing experience this weekend with what was previously to us an unknown ailment – nursemaid’s elbow. This partial dislocation of the elbow is caused by lifting the child (Anna, in this case) by her arms. Anna screamed like we’ve never heard her scream before and was inconsolable. This resulted in our first child-related ER visit, putting an early damper on what promised to be a very busy christening weekend (Mia’s, in this case).

 

 

 

The ER staff made a precise diagnosis and immediately performed a “reduction”. Anna gained back control of her arm and was using it at 50% strength by the time she went down for bed 2 hours later. When she woke up the next morning very stiff and with similar symptoms, I became worried about a misdiagnosis, incomplete reduction, or other oversight. I did a bit of research and reaffirmed (in my mind) the diagnosis. I’m happy to report that, 2 days later, Anna has regained 90% of mobility and strength in the affected hand. This seems to contradict the reports of a full 100% recovery within 24 hours that I found in my research. However, Suzanne and I are elated to have our Anna back and functioning near peak. A couple more days Children’s Tylenol and pampering and she should be completely back to normal.

Sunday, June 25, 2006 10:47:30 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |  Trackback
 Saturday, June 24, 2006

The official press release just came out announcing that the Commonwealth of Pennsylvania will be using LogicLibrary’s Logidex product as its asset metadata repository. This is quite an exciting development since it will afford BSCoE the opportunity to automate many of the asset cataloging, management, and approval functions that would have otherwise been manual processes.

 

As a card holding member of the tool skeptics club, I admit to being plesantly surprised and impressed by all of the product demos that I’ve seen and the technical expertise displayed by LogicLibrary’s product technicians. Logidex has a number of extremely interesting features that I have seen in no other product, let alone product suite, including:

 

  • Visualization of the enterprise architectural layers with the Federal Enterprise Architecture (FEA) included out of the box and support for the integration of other popular models such as the Zachman framework. This allows users to navigate the layers of the enterprise architecture and examine the assets associated with each of the layers. 
  • Cataloging the contents of multiple disparate version control systems and presenting them as a “virtual repository”. This repository includes UDDI discovery of Web services and baseline .NET and Java assets from Microsoft’s Enterprise Library and Sun’s core J2EE patterns, respectively.

         

 

  • Providing a configurable workflow for the review and approval of software assets as well as notifications to asset consumers of changes to existing assets.
  • Exposing core Logidex business services as Web services, lowering the barriers to integration with existing solutions, portals, etc. LogicLibrary eats their own dog food in this sense, by having their IDE plug-ins for Visual Studio and Eclipse consume these same Web services.

All in all, quite an interesting tool from some industry visionaries, including those responsible for IBM’s ill-fated San Francisco project. Like many large software packages, it’s hard to get a sense of how the software works since you can get trial software. Microsoft and LogicLibrary offer a limited trial version available on the MSDN lab. If you’re interested, I encourage you to check it out. Also, sharing of any experiences with this toolset, positive or otherwise, would be greatly appreciated.

Saturday, June 24, 2006 6:37:40 AM (Eastern Standard Time, UTC-05:00)  #    Comments    |   |  Trackback
 Friday, June 23, 2006

After a while searching for blogging hosts or blogging software for .NET, I finally settled on Scott Hanselman’s DasBlog. The installation of DasBlog proved to be extremely easy; involving the simple extraction of a Web project into a folder (virtual or otherwise) under which one intends to host. Furthermore, storage is all file-based so that no database interaction is required whatsoever. All of the expected amenities such as rich HTML editing (see below), a variety of skins, and a plethora of configuration options are offered through Das Blog as well.

 

 

Kudos to Scott and the rest of the community for creating and supporting such an excellent product. DasBlog has received pretty much rave reviews on the Web and is fairly widely used based upon my research. The only criticism I heard about the product was from the German-speaking community, where a vigorous debate is underway as to the gender of the word ‘Blog’. Blog appears to be neuter now but there are a fair number of advocates for the masculine blog (i.e. “DerBlog”) as well. Another great case for the externalization of string literals to external configuration files…

Friday, June 23, 2006 11:50:27 PM (Eastern Standard Time, UTC-05:00)  #    Comments    |   |  Trackback
Copyright © 2008 Thomas Beck. Some rights reserved.

Creative Commons License