News

 Subscribe Add to Technorati Favorites

 

 

 

 


 

 

Search My Blog:

 

 

My Stats

  • Posts - 468
  • Comments - 242
  • Trackbacks - 265

Twitter












Tag Cloud


Recent Comments


Recent Posts


Archives


Post Categories


Blogs


Miscellanous


Noteworthy Stuff


Popular Posts


June 2006 Entries

Campaign for a oil-free Congress


From Moveon.org:

Since 1990, Big Oil has given more than $190 million to members of Congress and 75% ($142,635,314!) of those donations have gone to Republicans. Those donations guarantee an energy policy that serves the oil industry's interests over the public interest. Until we stop politicians from taking oil money, it'll be hard to move into a clean-energy future.

Join the campaign that asks members of Congress to publically pledge not to take bribes money from oil companies.

posted @ Monday, June 26, 2006 11:54 AM | Feedback (2) |


Soccer? Football? Whaaaaa???


Tonight on Conaan O'Brian, he played a new game:

“Audience Member From Tonight's Show Or U.S. National Team Member?”

The point of the “game” illustrates the fact that people in the US don't really give a damn about soccer/football.  In fact, the only people in the US that are watching World Cup games are those that were born or spent a large portion of their lives overseas.

Quote from a “Late Night with Conaan O'Brien“ analysis of one World Cup game: 

“One fruitcake kicked it to another fruitcake.  Then the other cream puff tries to steal the ball....then snow white here tries to pull his pants down.  Wait, this flame-job referree won't let him do it.  Anyway, finally one team surrenders and they all go to a gay bar.”

I bet that will anger my friends Orial, Mike, and Amit, who for some strange reason actually enjoy soccer.

posted @ Saturday, June 24, 2006 9:45 PM | Feedback (0) |


Don't use Google Maps for pushing drugs


I was reading about signing up for a Google Maps API key, and I just thought this was funny(from http://www.google.com/apis/maps/signup.html):

There are some uses of the API that we just don't want to see. For instance, we do not want to see maps that identify the places to buy illegal drugs in a city, or any similar illegal activity.

posted @ Friday, June 23, 2006 8:09 AM | Feedback (1) |


RSSBus Template to output Virtual Earth Maps


I've mentioned before how you can generate Google Earth KML using RSSBus.

The current beta of RSSBus already comes with a yahooMaps operation that will generate an RSS feed that contains a Yahoo Map of a particular location. 

Virtual Earth, you say?  The LoadMap function of Virtual Earth takes a latitude and longitude coordinate as input, so here is some RSSBus Template code that will call the RSSBus yahooGeocode operation and use its lat/long output to generate a Virtual Earth map. 

The first step is to define some inputs.  State, Streetaddress, and City will all be required inputs of the map you'd like to generate.  Since their values are set as variables (defined in square brackets), they are taken from the querystring variable with the same name.  Zoom, Style, and Fixed will all be optional inputs with defaults assigned by the template (thats the def() that you see in the defined value.  If the variable is not defined in the querystring, it the value in the argument to def() will be used instead). 

Note:  Inputs can come from sources other than the URL querystring - such as regular encoded http post data, a web service, an RSS feed, or another RSSBus operation call.

<rsb:set item="input" attr="state" value="[state]" /> 
<rsb:set item="input" attr="streetaddress" value="[streetaddress]" /> 
<rsb:set item="input" attr="city" value="[city]" /> 
<rsb:set item="input" attr="zoom" value="[zoom | def('10')]" />
<rsb:set item="input" attr="style" value="[style | def('a')]" />
<rsb:set item="input" attr="fixed" value="[fixed | def('false')]" />

Next output the html page and necessary script tags to call the Virtual Earth javascript functions:
<html> 
<head>
<title>title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<script src="http://dev.virtualearth.net/mapcontrol/v3/mapcontrol.js">script> 
<script>
var map = null;
function GetMap() 
{
map = new VEMap('myMap');
<rsb:call op=yahooGeocode in="input" out="output">
map.LoadMap(new VELatLong([yahoo:latitude], [yahoo:longitude]), [input.zoom] ,'[input.style]' ,[input.fixed]);
<rsb:call>
} 
<script>
<head> 
<body onload="GetMap();"> 
<div id='myMap' style="position:relative; width:400px; height:400px;">div> 
<body>
<html> 

Above, notice that inside the GetMap() function definition, I am making an rsb:call to the yahooGeocode operation.  This is translating the address that was input to a latitude and longitude coordinate.  This coordinate ([yahoo:latitude], [yahoo:longitude]), along with the optional inputs we defined in the template (zoom, style, and fixed) gets passed to Virtual Earth's VELatLong() in order to define the map.

After I save this template in RSSBus, I can access it with the URL http://localhost:1110/VirtualEarth.rsb.htm?city=durham&state=nc&streetaddress=5007%20Southpark%20Dr

I can specify zoom, style, and fixed arguments in the querystring if I like:  http://localhost:1110/VirtualEarth.rsb.htm?city=durham&state=nc&streetaddress=5007%20Southpark%20Dr&style=h&zoom=16&fixed=true.

 

posted @ Wednesday, June 21, 2006 12:52 PM | Feedback (0) |


Developing for Amazon S3


Jeff Barr pointed to Sergey Schetinin's S3 Manager (he's looking for beta testers).

The screenshot included in this post is not of Sergey's project - but a demo project that comes with the /n software's IBiz S3 Integrator.

The IBiz S3 Integrator is a component toolkit for software developers that allows you to easily add Amazon S3 capabilities to your own applications.  The toolkit comes with the development component as well as the a demo, such as the one you see here. 

This particular demo allows you to browse and manage your S3 buckets, and browse and manage objects contained within those buckets.

You can read more about and download the /n software IBiz Amazon S3 Integrator here.  You can read more about Amazon's S3 service here.

 

 

 

 

 

 

 

 

 

 

 

 

posted @ Friday, June 16, 2006 12:29 PM | Feedback (0) |


The bloglines plumber has really nice shoes


The Bloglines plumber must do a good job, he doesn't even get his shiny shoes dirty. 

He is working on the Bloglines pipes now.  I hope he does more than just fixes the pipes.  Maybe he has a carpenter buddy who can fix some of the broken boards and a painter friend who can put on a fresh coat of web 2.0.

I think he could also use a PR friend, too.  Why doesn't bloglines have a blog?  There is an Ask blog, but it seems a bit odd that a feed reading service doesn't have its own blog.

If he could bring along his general Mr Fix-it buddy, that would be good too.  Apparently the guy who did the good work in the past has moved on to other jobs.  Somebody needs to actually listen to all the feedback and apply it.

Maybe all of the Bloglines plumbers buddies are working on the next Bloglines beta?

posted @ Thursday, June 15, 2006 1:01 PM | Feedback (1) |


Where's Tim's Lunch?


 

In my last post I showed how I can create an RSSBus template to take the Where's Tim RSS feed and output it as a Google Earth KML format.  This time I'll create an RSSBus script to take Tim's most recent location and output an RSS feed of pizza restaurants that he might eat lunch at today.  I'll do this by “pipelining“ together Tim's feed with another restaurant feed.

What's the difference in an RSSBus script and an RSSBus template?  Not much.  A script outputs an RSS feed, and a template outputs any format you like.  They both look the same syntactically, except the template has non-script mixed in with it (like the KML xml elements in the previous example).

In this script, first I call feedRange (one of the free operations that comes installed with RSSBus) and give it Tims location feed as input.  I'll also pass as input the range of items in the feed that I am interested in (in this case, the range is 0 through 0 since I only want his most recent location):

<rsb:call op="feedRange?first=0&feed=http%3a%2f%2fwww.timhibbard.com%2fwherestim%2frss_location.aspx&last=0">
<rsb:call>

Now the effect of this feedRange operation call is that the code inside the rsb:call element will be “executed“ by RSSBus for each item output by the feedRange operation.  In this case that will only be one item - the most recent one from Tims location feed.

Right now there is no code inside the rsb:call, so I'll add some.  Inside I'll make a call to another operation; the yahooLocalSearch operation (another freebie that comes installed with RSSBus).  This operation consumes one of Yahoo's web services and outputs local businesses given a location and search filter as input.  I'll call the operation and pass it the georss point of Tims location, the query “pizza“ (because maybe Tim feels like eating pizza today), and a radius of 10 miles.  

  <rsb:call op="yahooLocalSearch?location=[georss:point | LSplit(' ',2)]%2c[georss:point | LSplit(' ',1)]&query=pizza&radius=10">
    <rsb:push/>
  <rsb:call>

Inside this rsb:call I will do an rsb:push, which simply pushes out each item returned by yahooLocalSearch into the output stream (an RSS feed).  Here's a listing of the full RSSBus script:

 

<rsb:call op="feedRange?first=0&feed=http%3a%2f%2fwww.timhibbard.com%2fwherestim%2frss_location.aspx&last=0">
  <rsb:call op="yahooLocalSearch?location=[georss:point | LSplit(' ',2)]%2c[georss:point | LSplit(' ',1)]&query=pizza&radius=10">
    <rsb:push/>
  rsb:call> 
rsb:call>
Now, it just so happens that Yahoo thinks Tim's location is Topeka, KS.  I guess Yahoo needs to do some work there.  :)  But, the result of these 5 simple lines of RSSBus script is a dynamic RSS feed of restaurants close to whatever Tim's location is.

 

I think Papa Murphy's Take 'n' Bake sounds good.  :)

Technorati tags:     

posted @ Thursday, June 15, 2006 11:19 AM | Feedback (0) |


Where's Tim RSSBus Template


Tim Hibbard has added GeoRSS to his Where's Tim location feed (by the way, you can get your own location feed through Where's Tim On Demand).

I've talked about how RSSBus can be used to work with feeds and generate new output based on them.  Here's a simplistic but  neat example:  I took Tim's location feed and called it from an RSSBus template.  Inside the template I split out KML (Google Earth's XML format) that draws a path showing Tim's path throughout the day.  Here's what the KML looks like in Google Earth:

Now here's a listing of the actual RSSBus Template that I used.  Note that the template itself is simply KML, with two RSBScript calls (rsb:set and rsb:call) mixed in.  Those two RSBScript calls are where RSSBus does its work.

<!-- Set the content type of the output stream -->
<rsb:set item=_httpheaders attr="Content-Type" value="text/xml"/>

<xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Placemark>
  <description>Where's Tim Path<description>
  <name>Tim's Path<name>
  <LookAt>
    <longitude>-95.239424<longitude>
    <latitude>38.9642026666667<latitude>
    <range>305.8880792294568<range>
    <tilt>0.61038665812578<tilt>
    <heading>0.06133439171233<heading>
  <LookAt>
  <visibility>1<visibility>
  <open>0<open>
  <Style>
    <LineStyle>
      <color>ff00ffff<color>
    <LineStyle>
    <PolyStyle>
      <color>7f00ff00<color>
    <PolyStyle>
  <Style>
  <LineString>
    <extrude>1<extrude>
    <tessellate>1<tessellate>
    <altitudeMode>clampedToGround<altitudeMode>
    <coordinates>
    <rsb:call op="http://www.timhibbard.com/wherestim/rss_location.aspx">
    [georss:point | LSplit(' ',2)],[georss:point | LSplit(' ',1)]
    <rsb:call>
    <coordinates>
  <LineString>
<Placemark>
<kml>
All this template is doing is:

 

1.  Setting the content-type to text/xml
2.  Calling Tim's location feed, and for each item in the feed outputting the georss:point element (after reversing it, which is what the splits are for) value inside the KML coordinates element.

Technorati tags:     

posted @ Thursday, June 15, 2006 9:50 AM | Feedback (1) |


Links


http://www.georss.org/ - A standard for representing location in RSS/Atom feeds

Scoble Exit Interview - From Mary Jo Foley at Microsoft-Watch.

Shame on Microsoft - VistaTorrent.com C&D, this makes me sick.

Where's Tim On Demand - This is pretty cool, real time mapping of your location.

 

posted @ Wednesday, June 14, 2006 11:50 AM | Feedback (0) |


GeoRSS - location encoding in RSS feeds


Unfortunately I'm not at Where 2.0 (wish I was), but O'Reilly Radar reports that Mikel Maron revived the RSS as the “Unix pipe of the Internet” analogy today while talking about GeoRSS, a standardized way for encoding location in ATOM/RSS feeds.  Mikel's own mapufacture aggregates multiple GeoRSS feeds into a single map.

Recently I spent some time playing with the RSSBus YahooOps, which contains geocoding and yahoo mapping feed generation capabilities.  I used these operations to generate feeds and maps of locations input by an incoming http request containing and address. I also took the long/lat from the Yahoo geocoding service and pushed it out as a Google Earth .kml file so that I can fly directly to that location in Google Earth.  It would be about 1 minute of trivial work for anyone to add GeoRSS output elements to feeds generated by RSSBus.

Technorati tags:     

posted @ Wednesday, June 14, 2006 9:25 AM | Feedback (1) |


The "Unix pipe of the Internet"


In an interview with ACM Queue last year, Ray Ozzie called RSS "the Unix pipe of the Internet":

"RSS is an extremely important standard. It’s the HTML of the next generation of the Web, or some people might refer to it as the Unix pipe of the Internet. It’s a way of channeling data from one application to another in very interesting and robust fashion. Again, I think it’s important as a technique far beyond just collaborative software."

Again on his blog and at the E-Tech conference Ray hits on this point again while introducing the idea of the Live Clipboard:

...you’re already likely aware of my optimism about the potential of using RSS as a DNA of sorts to enable “mesh” information sharing scenarios at a grassroots level on the internet.   I believe RSS has the potential to be the “UNIX pipe of the internet”, and that one of the simplest and most pervasive “mesh” needs that many of us have is to provide connections for things such as contacts, calendar entries, messages, files and the like.


This is exactly what RSSBus enables:  not only does RSSBus give you the tools to very easily generate RSS feeds out of practically any data/service/application, but it gives you the tools to “pipe" them together very easily.


More than that though.  RSSBus gives you the tools to manipulate feeds in many different ways very easily.  Then you can output or visualize those results as RSS, ATOM, or any other format you like.  And if you are a more advanced user, you can write a little bit of xml code to work with feeds and individual items in a very granular manner using RSBScript.


Technorati tags:     

posted @ Wednesday, June 14, 2006 9:20 AM | Feedback (0) |


Hello Stanley Cup, Welcome to Raleigh


Since the people in Buffalo liked it so much, I couldn't help but add this photo to the Edmonton Oilers Flickr group, too.  All in good fun, of course.  Go 'Canes!

Technorati tags:       

posted @ Tuesday, June 13, 2006 12:40 PM | Feedback (1) |


Fun customized graphics generators


A while back I ran across fodey.com's newspaper clipping graphics generator:

Pretty cool.  Today someone told me about another one, www.churchsigngenerator.com:


 

posted @ Tuesday, June 13, 2006 10:55 AM | Feedback (0) |


Lookout, Chris: Gnome-be-gone


On Uncrate recently:  Gnome-be-gone.  Lookout, Chris, I hope none of these turn up at Gnomedex.

 

posted @ Monday, June 12, 2006 7:43 AM | Feedback (0) |


Race For The Cure Results


This past Saturday was the Race For the Cure (5k). My goal was to finish in 26:30, but I did not quite meet it. Close, but no cigar. My time was 26:56, but I'm happy with that. I was in the recreational race, so I was not chip timed but did my own timing with a stopwatch.

My friend Andi participated in the competitive race (chip-timed), and finished in 1052nd place.  It sounds bad, but out of over 1700 people in that race and a finishing time of 27:17 - awesome!

From what I heard that day, over 19 thousand people were racing, and raised over a million dollars.  By the way, its not too late to donate now.

posted @ Monday, June 12, 2006 6:37 AM | Feedback (0) |


"The most elegant RSS service I’ve seen so far"


Hendry Lee calls RSSBus "the most elegant RSS service I’ve seen so far".

While its true that RSSBus is currently available for Windows only, we will have a Java version available in the future.

How about a chart to describe how the concept works for less tech-savvy viewers?

I hear ya, that's good advice and something that we will definitely do.  Until recently our focus was mostly to reach and get feedback from techies and alpha-geeks.  Now we have gotten a lot of useful feedback, made some positive changes, and come up with some new ideas to use as we look to the future.  One of our goals moving forward towards the end of the beta and the full release needs to be solid documentation and easy to understand explanations and graphics.

More later on the official RSSBus blog.

Technorati tags:   

posted @ Friday, June 09, 2006 10:44 AM | Feedback (0) |


100+ MORE ways to use RSS


Mike Gunderloy points to arc90's 25 New Ways to use RSS.  Here are over 120 more ways to use RSS - all exposed as RSSBus operations:

  • AmazonOps: feeds that provide access to Amazon services.
  • AsteriskOps: feeds of voicemail, call connection.
  • CcOps: feeds for credit card authorization, validation, refunding, voiding.
  • EbayOps: feeds that provide access to EBay services.
  • ExcelOps: feeds for retrieving information from Excel spreadsheets
  • FedexOps: feeds for FedEx shipping, rate queries, and tracking.
  • FeedOps: feeds for manipulating other RSS feeds (concat, union, insert).
  • FileOps: feeds for managing files and directories.
  • FtpOps: feeds for listing and transferring files to and from FTP servers.
  • GoogleAdwordsOps: feeds that provide access to Google Adwords accounts.
  • GoogleTalkOps: feeds that sends Google Talk messages.
  • GoogleSpreadsheetsOps: feeds that provide information from Google Spreadsheets.
  • ImapOps: feeds for receiving information about mailboxes and email on IMAP servers.
  • ImOps: feeds for sending Jabber IMs, pager messages, and SMS messages.
  • LdapOps: feeds for authenticating to and searching LDAP directories.
  • MediaOps: feeds that provide information about digital media files.
  • NntpOps: feeds for working with Usenet news servers.
  • OfxOps: feeds for accessing bank accounts and financial services.
  • PaypalOps: feeds that provide access to PayPal payment services.
  • PopOps: feeds for receiving email messages from POP servers.
  • QbOps: feeds that provide access to Intuit’s QuickBooks.
  • S3Ops: feeds for working with Amazon S3.
  • SforceOps: feeds for access to Salesforce.com account objects.
  • SmtpOps: feeds for sending SMTP email, querying MX records and verifying addresses.
  • SqlOps: feeds for connecting to and querying SQL databases.
  • SysOps: feeds for system management information (processes, memory, etc..).
  • TsvOps: feeds for managing simple tab-separated file databases.
  • UpsOps: feeds for UPS shipping, rate queries, and tracking.
  • UspsOps: feeds for postal service shipping and tracking.
  • YahooOps: feeds for geocoding, mapping, stock quotes, traffic updates, and searching.

    If you're interesting in new applications of RSS, easily exposing your existing data as RSS, or quickly creating entire applications based on RSS feeds - take a look at RSSBus.

    Technorati tags:   

  • posted @ Friday, June 09, 2006 9:50 AM | Feedback (1) |


    Google Spreadsheets API: Library and Demo


    Ready for some feedback.  Download the library and let me know what you think.  There is a csharp winforms demo included that shows how to use the GSheet class that is contained in the dll.  Contents of the zip:

    csharpDemo - Folder containing the csharp source code of the demo
    GoogleSpreadsheetsAPI.dll - Library containing the GSheet class.
    nsoftware.IPWorksSSL.dll - IP*Works! SSL library for communications code

    Update: Download it here, source included.

    Update 2:  The library is no longer available.  Instead, I am using the RSSBus GsheetOps connector.  Example here.

    Technorati tags:    

    posted @ Thursday, June 08, 2006 2:14 PM | Feedback (11) |


    Google Spreadsheets API


    Lots of people are talking about Google Spreadsheets.  Yesterday I wrote some c# code to enable me to access my Spreadsheets account from my .net applications: a Google Spreadsheets API.  So far I can authenticate, list all my existing spreadsheets, create a new spreadsheet, edit individual cells, delete a spreadsheet, rename a spreadsheet, import from a local XLS file, and export to a local XLS or CSV file.  I will post some code later today.

    properties:

    string Email
    string Password
    string CurrentSheetKey
    int SpreadsheetCount
    string[] SpreadsheetKey
    string[] SpreadsheetName
    string[] SpreadsheetOwner
    string[] SpreadsheetDate
    string Localfile

    functions:

    void Auth()
    void ListSheets()
    string NewSheet() //returns sheetid
    string OpenSheet()
    void EditCell(int row, int col, string value)
    void SaveSheet(string name)
    void CloseSheet()
    void Upload(string name)
    void Download(string format)
    void DeleteSheet()
    void RenameSheet(string newname)
    string GenerateUrl()

    Update: Download it here, source included.

    Update 2:  The library is no longer available.  Instead, I am using the RSSBus GsheetOps connector.  Example here.

    Technorati tags:    

    posted @ Thursday, June 08, 2006 7:05 AM | Feedback (4) |


    New bloglines version in closed beta?


    In the referrer logs of my recent post about Bloglines, I see that apparently there are improvements under way after all.  Anybody have access to beta.bloglines.com?  I want to see!

    Technorati tags:  

    posted @ Wednesday, June 07, 2006 7:19 PM | Feedback (0) |


    90 degrees in Carolina, but Oilers still cold!


    As I write this there is 15 minutes left in the third period of the game.  Score board: 5-0.  The Oilers are sinking to a very low level and take cheap shot after cheap shot.  They can't seem to stay out of the penalty box, and half of their pentalties are stupid preventable mistakes caused by their own frustration (including a major on LaRoque in the third).  After this game, I think the Oilers are finished.

    posted @ Wednesday, June 07, 2006 7:16 PM | Feedback (0) |


    Bloglines


    One thing I agree with Tim about is his assessment of Bloglines.  They talk a big game, and they have a good offering - but come on people step back up to the plate!  Bloglines just seems so stale to me.  If it ain't broke don't fix it - true, but don't let it sit there and waste away just to eventually be overtaken by the competition.  A few months ago I sent in some suggestions, but the response I got back was completely off-putting and unhelpful, hopefully not a sign of their interest in improving their service.

    Technorati tags:  

    posted @ Tuesday, June 06, 2006 11:02 AM | Feedback (0) |


    hockey in the heat of the south


    Tim Bray says that "the notion of a championship hockey team from Carolina seems all wrong somehow".  Whats up with that?  Because I live in North Carolina I can't enjoy a hockey game just as much as the Canadians can?  Is there a rule that says you have to have mounted police running around in funny hats in order to have a good hockey team?  :P

    posted @ Tuesday, June 06, 2006 11:01 AM | Feedback (2) |


    Google Spreadsheets Sneak Peek


    Jayaveer has a sneak peak of Google Spreadsheets.

    Technorati tags:   

    posted @ Tuesday, June 06, 2006 7:59 AM | Feedback (0) |


    Pros and Cons of Buying an Apple (sarcastic)


    Pro - Really cool mailbox:


    This picture comes from Flickr.

    Con - Everything except the mailbox burns up in fire:


    Read more about the iBook in flames.

    posted @ Friday, June 02, 2006 9:11 AM | Feedback (0) |