OSCON 2006 — Presentations I attended

By reeset / On / In General Computing, OSCON 2006, Programming

There are still a couple that are not posted yet — I’ll update this post as they are added. –TR 

Test-driven Development meets design-by-contract
Jim Weirich, Compuware
URL: http://onestepback.org/articles/TddMeetsDbc

Google Ajax Search API
Mark Lucovsky
URL: http://conferences.oreillynet.com/presentations/os2006/lucovsky_mark.ppt

Driving Rails Deep into the back office
Obie Fernandez
URL: (URL hasn’t been posted yet — but should be soon)

Ruby and .NET
John Lam, ObjectSharp
URL: URL doesn’t appear to be posted — but the Ruby bridge seems to be here: http://www.saltypickle.com/RubyDotNet

PHP 6 & Unicode: The tower of Babel, Next Generation
Andrei Zmievski, Yahoo! Inc.
URL: http://www.gravitonic.com/do_download.php?download_file=talks/oscon-2006/php-6-and-unicode_oscon-2006.pdf

Building Rails to Legacy Applications
Robert Treat, Open Source Developer
URL: http://conferences.oreillynet.com/presentations/os2006/treat_robert.pdf

AJAX + .NET = Atlas
Christian Wenz, Hauser & Wenz
URL: http://conferences.oreillynet.com/presentations/os2006/wenz_christian.ppt

Leveraging Mono for Cross-platform Development
Kevin Shockey, Information Technology Consultant
Joseph Hill, GotMono
URL: (Not posted yet)

Scripting .NET with IronPython
Martin Maly and Mahesh Prakriya
URL: The presentation slides have yet to be posted, but here is the link to the IronPython implementation (http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython).

Building Internet Applications with Mozilla XULRunner
Benjamin Smedberg
URL: http://conferences.oreillynet.com/presentations/os2006/smedberg_benjamin.pdf

Roadmap to Free .NET Development Tools
Lee Fisher, Huckleberry Software
URL: http://conferences.oreillynet.com/presentations/os2006/fisher_nfoss.zip

Making things move: finding inappropriate users for scripting languages
Jonathan Oxer, Internet Vision Technologies
URL: This is from an older talk — but I’m assuming that they slides are pretty close to the same http://jon.oxer.com.au//sb/modules/talks/attachments/22/20051205-MakingThingsMove-slides.pdf



By reeset / On / In Digital Libraries, General Computing, OSCON 2006, Programming

Just a note — The presentation notes have been posted for all the presentations now (at least as far as I can tell). I’ll post another post with direct links to all the sessions I attended after this one.


The first few keynotes really weren’t that interesting (I thought) and I’ll admit that I spent my time downloading the presentations (since they were announced as being posted) for the sessions that I wanted to take another look at later this weekend/week. However, that all changed with the last keynote came up.

openTalk 2.0: Maximizing Non-stakeholder Buy-in by Leveraging Depatented Generic Information Transfer Protocols
Damian Conway, Thoughtstream

This was the last openning keynote and it brought the house down.  Conway’s talk was a spoof and took shots at nearly everyone (Microsoft, Apple, Google, etc.).  And during the course of laughing so hard that I was literatly crying — there was a very serious topic as part of his talk as well — that of patents.  Which was great, because the very last talk of the day was given by Eban Moglen on the dangers of software patents.  I’m not sure if anyone recorded Conway’s talk, but I hope that they did an that I can get a copy.  It was one of the most hillarious things I’ve seen in a while — and I can always use a good laugh every now and again.

Making Things Move: finding inappropriate uses for scripting languages
Jonathan Oxer, Internet Vision Technologies

This was a great session — though I’m not sure how pratically useful for what I do at work — but it has inspired me to try to convince my wife that I need a soldering gun so that I can start trying some of this stuff out.  You knew that this wasn’t going to be your average session when he lead off with a warning that says that the things that you see in this session could kill you.  What a start — at that point, I knew it would be interesting :).  The session showed how with a little bit of coding and some ingenuity, you can control real world devices through your computer’s serial ports.  He showed showed some simple examples (turning on lights, electronic locks) — my favorite though was a demo where he actually sent a message to a server in Austrailia and SMS’d one of the attendees at the session.  I loved it. 

Highly technical management of software projects
Alex Martelli

I’m hoping that Martelli is able to generate a quicktime of this session — its difficult to explain — it needs to be watched.

Closing Keynote
Eben Moglen

This was an inspiring session and a great way to finish the session.  While I don’t always agree with the FSF, I respect the passion and dedication that they have to keeping software/ideas/computers free.  This was the only session of the day that ended with a standing ovation, and it was deserved.  I hope someone was recording this one as well.


Using XMLTextReader to improve XSLT processing

By reeset / On / In Microsoft, Programming

One of the things that I spend a little too much time working on was how to setup a more streamlined version of resolving entities and ignoring entities.  The key has to do with avoiding a call to the XMLValidateNavigator object, and using the XMLTextReader gives you more granularity over the process.  Here’s an example:

* Function/sub: TransformXSLT
* Description: Does the XSLT translation
* ====================================================*/
public int TransformXSLT(string sSource,
string sDest,
string sXSLT,
bool bRemote)
System.Xml.XmlTextReader reader = new System.Xml.XmlTextReader(sSource);
if (bRemote==false) {
reader.XmlResolver =
 System.Text.UTF8Encoding Encoding = new System.Text.UTF8Encoding(false);
System.IO.StreamWriter writer =
new System.IO.StreamWriter(sDest, false, Encoding);

  System.Xml.XPath.XPathDocument doc = new System.Xml.XPath.XPathDocument(reader);
    System.Xml.Xsl.XslTransform xslt = new System.Xml.Xsl.XslTransform();
    xslt.Transform(doc, null, writer, null);

 } catch (System.Exception eee) {
    this.sXSLTError = eee.ToString();
    return mengine60.ERR_XSLT_ERROR;
return 0;



OSCON Presentation notes

By reeset / On / In Digital Libraries, General Computing, OSCON 2006, Programming

For those interested in seeing all the presentation notes from OSCON 2006, you can find all the sessions currently posted at: http://conferences.oreillynet.com/pub/w/46/presentations.html

For sessions that I’ve attended and written about, I’ve placed them below.  As more sessions become available, I’ll post additional links.

Building Internet Applications with Mozilla XULRunner
Benjamin Smedberg
URL: http://conferences.oreillynet.com/presentations/os2006/smedberg_benjamin.odp (Open Office files)

Google AJAX Search API
Mark Lucovsky
URL: http://conferences.oreillynet.com/presentations/os2006/lucovsky_mark.ppt

Handling Cross-domain XMLHttpRequests
Premshree Pillai


OSCON 2006: Day 2

By reeset / On / In Digital Libraries, General Computing, Microsoft, OSCON 2006, Programming


The Zen of Free
Simon Phipps, Sun

“Opening” the Possibilities: APIs and Open Source
Gary Lang, AutoDesk, Inc.

Ugh — As good as the first day’s keynotes were — these were not.  I was nearly ready to bag the keynotes when…

5 a day
Robert “rOml” Lefkowitz, Root Markets

This was a fantastic keynote.  He started with a tomato and eventually wound his way around a discussion of the quantification of open source.  It was hillarious and interested…fantastic.

Building Rails to Legacy Applications
Robert Treat, Open Source Developer

Since we are in the process of porting a set of code from PHP to Ruby, I thought I’d go to this session to see what was up.  There was a number of interesting tricks and techniques discussed that I definitely am looking forward to trying.

AJAX + .NET = Atlas
Christian Wenz, Hauser & Wenz

Since frameworks are big right now, I wanted to see what Microsoft’s frameworks offerings are.  What I found was that I actually find this pretty interesting.  The .NET Atlas framework provides a comperable framework to Rails, but specifically generated for ASP.Net.  Looking at some sample code — it looks very simple and I’m pretty sure — looking at the implementation, should run on a ‘nix machine using MONO.  Also, the javascript/ajax code generated is browser neutral.  This I found somewhat suprising, but very cool.  The code generated works equally well in the current major browsers.  I’ve actually downloaded the framework and am looking at it right now trying to see how I might be able to incorporate it in some of the ASP.net coding that I’ve been doing lately.

Scripting .NET with IronPython

I’ll admit, I went to this session primarily because I’ve been putting together some documentation on running MarcEdit with IronPython for dchud (btw dan, I’ll send you these slides/code as soon as they post them).  I really wasn’t sure what to expect with this session, partly because IronPython was first released 2 or 3 years ago at OSCON and at the time, only would run a single test case.  In 3 years, the development team has been officially picked up by Microsoft and has implemented ~80 percent of the current Python 2.4 feature set.  At the session, they showed some very cool demos, like some 3d work, an mp3 player, etc.  Very cool.  They will actually be posting the source code to all these projects later so when I see them, I’ll let folks know.  Oh, and they announced that the software has hit release canidate 1 status.

Building Internet Applications with Mozilla Xulrunner
Benjamin Smedberg, Mozilla

Aside from showing demos of code written using XULRunner, the speaker spent a bit of time discussing how Mozilla is looking to implement this platform for developers. 


Looking for McDonald’s Lightening McQueen

By reeset / On / In Uncategorized

I have a bit of a request.  My boys love the Cars movie, toys, ect. and we ate at McDonalds until we were able to get the little Red Lightening McQueen car.  Well, last night, the boys left their car ourside and our puppy apparently liked the car as well, because she chewed it up.  I’ll probably take a look at ebay later today to see if I can find a couple of these cars, but I thought I’d drop a note out to the blogsphere first to see if anyone might have one or two of these cars that they wouldn’t mind parting with.


OSCON: Day 1 sessions

By reeset / On / In Digital Libraries, General Computing, OSCON 2006, Programming

Test-driven development meets design-by-contract
Jim Weirich, Compuware
Slides: http://www.onestepback.org/articles/TddMeetsDbc

I enjoyed this session partly because I’m not a big fan of Ruby’s Unit Testing and liked the idea of a contract testing method.  The session discussed a separate testing packed called rSpec (http://rspec.rubyforge.org/).  I’ve included a link to the presentation which includes sample code on how one would go about doing this type of testing method.

Google AJAX API Search
Mark Lucovsky, Google
Slides: Unsure — but will post if I can find them

This was a fun session.  I love that Google is making these APIs available and am looking forward to getting home and playing with this in some of my toys.  I don’t like the license (i.e., you are not allow to co-mingle search results) — but maybe that will change in the future.  Here are the notes from the slides.

  • Easy way to add Google search to your page
  • Parallel search over web, local, listings, google video, and blogs
  • supports clipping of search results
  • Buzzword compliant
  • Ajax
  • json
  • html microformats
  • free and open
  • http://code.google.com/apis/ajaxsearch/
  • API Overview – Search Control
    • GsearchControl – UI layer to expose multiple search results
    • Common APIs
    • .addSearcher() – add a searcher instance to the search control
    • .draw() – bind a search control to your page
    • .execute() – execute a parallel search across all searchers
    • .setOnKeepCallback – handler for receiving copies of search results
    • .clearAllResults() – reset the search control
    • .setLinkTarget() – control the link following behavior
  • Expected sequence:
    sc = new GsearchControl();
  • UI-less object that executes type specific searches
    • GwebSearch() – search the web
    • GlocalSearch() – local search results and geo-coding
    • GblogSearch() – search blogs
    • GvideoSearch() – search google video
    • Common APIS
    • .execute() – execute a search
    • .setSearchCompleteCallback() – handler for search completion event
    • .setResultSetSize – select number of results
    • .setLinkTarget() – Control the link following behavior
  • Search class specific API
    • .setSiteRestriction() – site restricted blog, web search
    • .setCenterPoint() – local search scope control

    What is a search result:

    • Javascript Object
    • Uniform Properties (common across all searchers)
    • .GsearchResultClass() – indicates type of the search result
    • .html – HTML node containing microformat based result data
  • Domain specific properties
    • .title – the results title
    • .titleNoFormating – the title without any HTML markup
    • .url – the associated URL
    • .visibleURL – url fragment for suitable display
    • .content – snippet of information summarizing the result
    • .lat, lng – the latitude and longitude

    Closer look at local search results

    • .url – Google maps detail page for search results
    • .lat, .lng – latitute and long
    • .streetAddress, .city, …
    • Easy way to add Google search to your page
    • Parallel search over web, local, listings, google video, and blogs
    • supports clipping of search results

    The Atom Publishing Protocol as Universal Web Glue
    Tim Bray
    Slides: Post them when I find them

    I’ll be honest, I attended this session partly because I wanted to get a chance to hear Tim Bray speak — but the topic was interesting as well.  The AAP protocol is nearly completed and Tim discussed where they are and some of the reasons why it was needed.

    Ruby and .NET
    John Lam
    Slides: When I can find them

    This was cool.  I love writing in C#.  Its one of the reasons that I participate with the MONO Project testing code — I like the .NET framework and find it very comfortable.  I also am getting to like Ruby and wanted to know what the possiblity was of using the two together.  Well, it turns out, you can.  Lam has created a crl for Ruby that allows ruby to utilize the .NET platform.  Pretty cool stuff.

    I attended two other sessions, one on PHP 6 and unicode, the other on AJAX — both I’d heard in parts before.


    OSCON 2006 Wed. Keynotes (Tim O’Reilly)

    By reeset / On / In Digital Libraries, General Computing, OSCON 2006, Programming

    In the openning keynote, Tim O’Reilly presented what he calls his 5 big ideas about open source.  Some I thought were fairly interesting. 

    1. Architectures of participation beyond software development (Web 2.0)
      The idea here is that in this new world of Web 2.0, successful companies are looking to architectures where people build systems simply by using them.  He noted companies like Amazon and Google, where basically through the act of using the tools, users contribute to the growth of the application.  He argues that open source needs to borrow from this model — (and to a large degree I think does) — in that people build tools out of need.  The next step of course is to share those tools once created.
    2. Open Source Licenses are Obsolete:
      I guess context needs to be added here.   O’Reilly wasn’t saying that the licenses themselves are obsolete within the current software distribution model, but in the Web 2.0 model, where software is no longer distributed but hosted, the open source license model is broken.  So how do we deal with this?  O’Reilly notes that we need to reinvent “open source” for a world in which software is performed rather than distributed and rely on vast databases and not just code.  He points to some new development models (mashups, developers apis like Google APIs and Flickr Services), and argues that the open source community needs to address this idea of building an open services api.
    3. Asymmetic Competition
      The idea that open source should look seriously at business frameworks and how they can be implemented to drive open source.
    4. Operations of advantage
      Notion that in the future, software will be hosted and virtualization will become more important in the future.
    5. Open Data
      Data needs to be made free as we at this point don’t know what data lockdown will look like in the future.  He points to some services working on this problem: http://www.movemydata.org/


    OSCON 2006

    By reeset / On / In Digital Libraries, General Computing, Programming

    I’m going to be away from the office for a few days while attending the OSCON 2006 conference here in Portland, Oregon.  I’ll be periodically blogging about the sessions throughout the conference — so stay tuned.  BTW, if anyone is here at OSCON, give me a hollar.

    Just finished the STP (204 miles in one day)

    By reeset / On / In Cycling

    Its late, actually early (Sunday morning) — but I just got back today from doing the STP.  204 miles of cycling fun taking you from Seattle to Portland.  Lots of fun — me and my closest 9000 friends pack the streets of Seatle till you are able to create some space (by riding faster than the other riders).  Its  a great ride.  There is a one day and a two day option.  Most of the 9000 rides will do the ride over 2 days but I’ve never ridden 200 miles in a day and I wanted to see if I could do it.  We left this morning at 5 AM and over the next 14 1/2 hours made our way down to Portland.  The first 100 we, I should probably say who the we was — Kyle Banerjee and Brian Miyagishima — rode in about 5 1/2 hours, which by the way, is the fastest I think I’ve ever done a century.  We slowed down a bit on the second hour (9 hours) — but everyone started to get tired and the ride through Portland was slow as you ran into other rides, making it so that the last 10 miles was done at ~8 miles an hour.  But lots of fun.  The ride hires a photographer, so there will soon be lots of pictures posted.  When I get them, I’ll link to a few from my blog.  However, at the end of the ride, the city of Portland throws a big party and they give you a ribbon that identifiers you as a 1 day STP manic.  Mines attached.

    It was fun, exciting and to be honest, I’m a little surprised at how easy it was to ride 200 miles.  I figure I probably could have put on another 40-60 before bonking out — and that’s good to know.  🙂