Tim Hibbard

Software Architect for EnGraph software


News





Add to Google



My Stats

  • Posts - 593
  • Comments - 337
  • Trackbacks - 507

Twitter












Tag Cloud


Recent Comments


Recent Posts


Article Categories


Archives


Post Categories


Image Galleries


EnGraph Blogs


Links


Other


Roll


September 2006 Entries

Generate Google Earth KML using ASP.net and XmlTextWriter




I've posted an article that shows how to create an Google Earth KML file by writing to the response stream. The code is for this page:
http://timhibbard.com/demo/kml.aspx
That page creates a KML file that show Memorial Stadium in Google Earth.

The code also shows how to use query strings to create a KML file for any location like this page:
http://www.timhibbard.com/demo/kml.aspx?lat=39.0485&lon=-94.484&icon=http://timhibbard.com/images/chiefs_icon.jpg
Arrowhead Stadium in Kansas City.

Read the article for more information:
http://geekswithblogs.net/thibbard/articles/92625.aspx

posted @ Thursday, September 28, 2006 6:10 PM | Feedback (2) | Filed Under [ .NET Mapping ]


Debugging Windows Services


Bob talks about using Windows Forms for debugging windows services. Great post. I've needed this in the past.

posted @ Wednesday, September 27, 2006 12:04 PM | Feedback (1) | Filed Under [ .NET ]


Trying out NewsGator




On recommendation from Jeff, I'm trying out NewsGator. After 12 hours of use, this is what I think:

Love the mobile app. The interface is pretty and smart. It marks my items read on the server side, so I don't read posts twice. It also allows me to "clip" a feed, so that I can look at it later from the computer. The app is a bit buggy though and often just exits.

The NewsGator Online is ok. Nothing special except that I can see how many people subscribe to a particular feed. It's a little slow, but not as bad as Google Reader. It also marks my posts read across the board.

FeedDemon is also ok. I really don't like the name, it just seems evil. I'm used to the look at feel of RSSBandit and would love to be able to subscribe to my NewsGator feeds through RSSBandit. Also, it didn't organize my feeds in the same folder hierarchy that is on NewsGator Online or the mobile app. I like the "Home" button that shows a snapshot of the feeds you haven't read and of course the biggest selling point is that the feeds are marked read everywhere.

I tried the Outlook add in and just hated it. Outlook is for reading email, and NewsGator wanted to take it over as an RSS reader. I know Kyle has tried Outlook RSS readers and liked them, it's just not for me.

I have 30 days to test the software before I have to shell out $60 for FeedDemon and the mobile app. The mobile app is just killer and I'll probably buy the whole package just for that alone.

posted @ Wednesday, September 27, 2006 7:52 AM | Feedback (1) |


RSS to GeoRSS Converter


Geo-Names has released a utility that will scan an RSS feed for geographical content and spit out a GeoRSS feed. So you can grab the RSS feed for this blog and convert it to GeoRSS. Since Where's Tim understands GeoRSS, you can view the geographical data of my feed in relation to my current location here.

You can also use the same utility to spit out KML and view the data in Google Earth

posted @ Tuesday, September 26, 2006 9:15 AM | Feedback (0) | Filed Under [ Mapping ]


Kyle's rocking the VB.net


Kyle has finally started using Visual Studio .net for one of our new products! He talks more about it here.

posted @ Monday, September 25, 2006 1:37 PM | Feedback (0) | Filed Under [ .NET Where's Tim ]


Where did the geocoded Flickr pictures go?


I noticed this weekend that viewing geocoded flickr pictures on Where's Tim wasn't working quite right. It would only grab one or two pictures and I know there is over a thousand geocoded pictures in Lawrence. The code looks fine and my geocoded pictures in flickr were still there. I ran my code through flickr's api explorer and it looks like their api is returning a limited result for some reason. Maybe there is a glitch somewhere.

posted @ Monday, September 25, 2006 12:15 PM | Feedback (1) | Filed Under [ .NET Mapping Where's Tim ]


Interview with Sky News


I did an interview with Sky News this morning. It was a bit odd because the idea was do a prerecorded interview over webcam, but we had technical difficulties getting their cameras to pick up my video and sound, so we did the video over the webcam and sound over the cell phone. On his end, he had to ask me the question and then plug his phone into the computer that was recording the interview. So he would be asking me questions and once I said something he liked, he would say "ok, repeat exactly that in 10 seconds", so I had 10 seconds to try to remember what I just said :) I'm not sure how much of the interview is actually going to air, but it is going to be on Martin Stanford's show. We really didn't cover that much ground, we talked a little bit about Where's Tim and privacy implications of consumer real time GPS services. We are planning a follow up interview next week if this piece gets a positive reaction. If anybody in Europe catches the show, please let me know how it turned out. Wikipedia has information about which channels it is on in different countries.

posted @ Friday, September 22, 2006 7:44 AM | Feedback (2) | Filed Under [ GPS Where's Tim ]


More FeedMap GeoRSS stuff


I added new functionality to the FeedMap wrapper service that generates GeoRSS. You can now use the query string url= to get blogs around a specific blog. So for example if you wanted to see the blogs around my blog, use this url:

http://timhibbard.com/wherestim/feedmap.aspx?url=http://geekswithblogs.net/thibbard/rss.aspx

You can then view that data on a more visually stimulating platform, like Where's Tim. Here's the 10 feeds closest to Jeff:

http://www.timhibbard.com/wherestim/?gzoom=9&georss=http://timhibbard.com/wherestim/feedmap.aspx?url=http://geekswithblogs.net/jjulian/rss.aspx&count=10

I've also posted the code for the ASPX page so you can see how to consume the FeedMap API and generate GeoRSS.

posted @ Thursday, September 21, 2006 2:36 PM | Feedback (1) | Filed Under [ .NET GPS Mapping Where's Tim ]


I need a webcam


I am doing an interview with a UK tv station tomorrow. The cool part is they are going to do the whole thing over the internet using MSN Messenger. So now I have an excuse to go buy a good webcam. Any suggestions on a good one to get? We only have a Best Buy here in Lawrence.

posted @ Thursday, September 21, 2006 7:02 AM | Feedback (5) |


Adding GeoRSS extensions to FeedMap


Chandu Thota, a Microsoft MapPoint developer has a service called FeedMap. A lot of people have FeedMap badges on their blog that shows the blogs around their location. The one thing missing from this service is GeoRSS tags, so I took a look at his API and created an RSS feed with GeoRSS extensions.

My service is driven by query strings. You can pass in a place, or a lat and a lon, and also an optional count like this:

http://timhibbard.com/wherestim/feedmap.aspx?place=lawrence,ks&count=45

or this

http://timhibbard.com/wherestim/feedmap.aspx?lat=38.5&lon=-95

Then, you can overlay the data from FeedMap in relation to my real time GPS location. So, to see all the bloggers in Lawrence, KS on Where's Tim, use this url:

http://www.timhibbard.com/wherestim/?gzoom=11&georss=http://timhibbard.com/wherestim/feedmap.aspx?place=lawrence,ks

Just another cool way to easily view geographic data using GeoRSS.

posted @ Wednesday, September 20, 2006 9:01 PM | Feedback (2) | Filed Under [ .NET GPS Mapping Where's Tim ]


GeoRSS is the future of geographic data


GeoRSS is an extension of RSS that allows for geographic information to be associated with a blog post, an event, a gps location, a photograph or any other information where geographic information would help better describe the item. Several websites are recognizing the value of GeoRSS and are adding these extensions to their feeds. Most recently, Wordpress is using GeoRSS to add maps to their posts.

One of the things that Jeff and I talked about on our roadtrip is adding GeoRSS tags to ESS. ESS, Event Syndication Standard, is a syndication format that is embedded into RSS and provides a standard format for events. By adding geographic information to your events, someday, you will be able to sync your Outlook with your personal navigation device and be alerted when you need to leave to make an appointment and automatically generate the best route to your event based on real time traffic conditions!! How fun does that sound?

Where's Tim supports GeoRSS feeds. You can overlay a feed that has GeoRSS extensions and it will show up on the map with my real time location. You can also overlay a collection of GeoRSS feeds and specify the icon that displays on the map. Look at this XML file that powered the PodcastStudio / Where's Tim mashup.

Lance is also doing cool things with GeoRSS and RSSBus.

posted @ Tuesday, September 19, 2006 7:55 PM | Feedback (1) | Filed Under [ GPS Mapping Where's Tim ]


AJAX.net code online


I've posted the code and slide deck from my AJAX.net talk at SC CodeCamp this past weekend.

slide.htm

slide.ppt

code.zip

posted @ Tuesday, September 19, 2006 10:27 AM | Feedback (0) | Filed Under [ .NET ]


Hanging out at Reality Check




We are hanging out at Chris Williams's coffee / game / wifi shop, Reality Check here in Greenville. Jeff, John and I are doing some last minute polishing up of our talks for tomorrow's CodeCamp. Dru and Joseph are getting ready to do a podcast with Chris. The Where's Tim / PodcastStudio.net mashup has been quite a success!! The guy that traded a red paper clip for a house sent me an email talking about how he liked the technology and wants to use GPS on his future adventures. Very cool!! I also did an interview with Rick O'Shea over in Dublin while we were driving through Illinois. It will be on the air on Monday on 2FM.

posted @ Friday, September 15, 2006 6:02 PM | Feedback (0) | Filed Under [ .NET Where's Tim ]


Driving to South Carolina


Jeff, Dru, Joseph and I are just leaving Kansas City for the Code Camp in South Carolina.

We just recorded a podcast at a Walmart and uploaded it.

There is more CPU in this van than in most small offices.

Podcast Feed

Picture Feed

We got a 16 hour trip ahead of us, so call us on my cell to keep us entertained - 785.550.1483.

Welcome to Guardian readers!!

posted @ Thursday, September 14, 2006 8:37 AM | Feedback (0) | Filed Under [ Where's Tim ]


Flickr tag support on Where's Tim






As I talked about earlier, we've add geocoded pictures from flickr to Where's Tim. With a flickr=true query string, you can see pictures taken in the area of my real time location. We've added a little UI under the map that will allow images to be turned on or off and also the ability to only map pictures that match a tag. Tag support is also supported by query string (flickrtags=), and the following url will map flickr pictures taken close to my location with the tag ppc6700:

http://www.timhibbard.com/wherestim/?flickr=true&flickrtags=ppc6700

Now, when Jeff, John, Joseph, Dru and I go down to South Carolina this week, we can upload pictures from our camera phones and give them a specific tag. We will make that the default tag on Where's Tim and you will be able to see the pictures we take on our trip in almost real time. How geeky is that?

posted @ Sunday, September 10, 2006 9:04 PM | Feedback (0) | Filed Under [ Where's Tim ]


More history query strings


In addition to passing a date as a query string to get history on Where's Tim, you can also pass the values "today" and "yesterday" to get the history for those days.

http://timhibbard.com/wherestim/?history=today
http://timhibbard.com/wherestim/?history=yesterday

posted @ Saturday, September 09, 2006 1:06 PM | Feedback (0) | Filed Under [ Where's Tim ]


Get History on Where's Tim by query string


You can now get historical data on Where's Tim through a url query string. So to get my history for yesterday, use this url:

http://timhibbard.com/wherestim/?history=09/08/06

It also works with other query strings. Like if you wanted Carl's history for Sept 1, use this url:

http://timhibbard.com/wherestim/?history=09/01/06&xml=http://timhibbard.com/wherestim/gpsdata_carlk.xml

posted @ Saturday, September 09, 2006 9:36 AM | Feedback (0) | Filed Under [ Where's Tim ]


Geocoded flickr pictures on Where's Tim




It's not all the way done yet, but throw a flickr=true query string on Where's Tim and you can see what I'm working on.

Anybody want to help make the icons look not so cheap?

posted @ Friday, September 08, 2006 7:25 PM | Feedback (0) | Filed Under [ .NET GPS Mapping Where's Tim ]


Using AJAX.net instead of XMLHttpRequest




I've been brushing up my AJAX talk for next week's Code Camp. One of the things I want to talk more about is why to use the AJAX.NET library instead of the XMLHttpRequest object. Having used them both, I can say that I feel more like a hardcore geek when I use the XMLHttpRequest, but I get more done when I use AJAX.NET. Here's the main reasons why:

1) All my business code stays in .NET. I can create reusuable classes that I can use in other applications. I can use intellsense and my own custom objects. Also, you don't have to use the ugly javascript methods of parsing XML. You can use the friendly XMLTextReader.

2) Cross domain calls. You can't talk to other servers with the XMLHttpRequest object. This makes it hard to use all the APIs over at programmableweb. With AJAX.net, just create a .NET class that talks to any server and return the data back to your javascript.

posted @ Friday, September 08, 2006 3:39 PM | Feedback (2) | Filed Under [ .NET ]


Extending the IO.FileSystemWatcher object


The FileSystemWatcher is very useful when you need to be notified of changes made to a specific folder. You can raise an event when a new file is created, or deleted and you can also filter by file type and choose if you wish to monitor sub directories. The only problem with the object comes with large file transfers. The created event is raised as soon as the file transfer begins to your watched folder, not when the file has finished transferring. So if you need to move a file or pull data out a file, you will get an error if the file hasn't completely copied yet. In one of our enterprise GPS solutions, we transfer GPS data over VPN and we need to know when the file has fully transferred.

I extended the FileSystemWatcher class and added a new event, ChangeComplete. This event is raised after a new file is completely transferred or is renamed. I accomplished this by adding files from the created event to a queue and then trying to open them exclusively every two seconds. If the open call failed, then the file is not finished transferring. If the call succeeds, I close the file and then I raise the ChangeComplete event. I've posted the code here:

http://geekswithblogs.net/thibbard/articles/90675.aspx

posted @ Friday, September 08, 2006 3:14 PM | Feedback (0) | Filed Under [ .NET ]