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. 


Amazon jumps off the Google ship

By reeset / On / In Google, Microsoft

Its been noted in a few places around the blogsphere, but a number of notable Google-partners have been jumping ship.  The largest of these partners has been Amazon.  Amazon, who’s search engine, A9, utilized google to provide web search results, has moved to Microsoft’s new Live search service.  The switch came as a bit of a surprise, since Amazon hadn’t given any indications that a move was coming. 

Along that vain, I’m wondering if we will see Google become more isolated as it starts to move into direct competition with its former partner sites.  Amazon, for example, had to be concerned about Google’s own print service that it’s building.  I wonder who will be next and ultimately, who will be the beneficiary of these defections.  On Search Engine watch, there is a feeling that Ask.com could come out the big winner, since they are the last of the major search vendors still providing Pure searching. 

And finally, I’d like to point out a post by Nicolas Carr at: http://www.roughtype.com/archives/2006/04/the_default_war.php.  Carr looks at some of the things that appear to have Google nervous as Microsoft starts focusing more on search and Google in general.



Dealing with malformed http headers

By reeset / On / In Microsoft, Programming

If you have a link checker, you invariably want to just read page headers.  Well, in .NET, they enforce a very strict interpretation of the HTTP header standard.  Unfortunately, a great number of servers (Innovative Interface’s ILS for one), don’t follow the output rules, so .NET’s HTTPWebRequest object will throw a webexception when requesting headers from the server.  Correcting this is fairly easy.  Essentially, you need to build a .config file for your component/application and enter the following configuration data:

< configuration>

< system.net>

< settings>

< httpWebRequest useUnsafeHeaderParsing=”true” />





Dealing with expired certificates and .NET’s HTTPWebRequest object

By reeset / On / In Microsoft, Programming

Some folks that had tried using the Verify URL utility had notified me that it wasn’t reporting a response status when attempting to query materials through an ezproxy url.  The problem it appears, was that the servers in question had either expired security certificates or certificates that were not issued by a trusted site (i.e., hasn’t gone through Microsoft’s verification process).  Well, in .NET, the HTTPWebResponse object cannot accept data by default from a site with an invalid or expired security certificate.  Since this is likely going to be an ongoing problem, I ended up needing to setup a class that would reset the application’s CertificatePolicy object.  To do this, you basically need to setup a class that will accept all Certificates given to it.  Obviously doing this requires a bit of trust — and in this case, since the URLs are coming from MARC records and only being used to read headers–I think we can make that leap.  Anyway, to reset the .NET CertificatePolicy object, you need to setup a class that looks something like this:

internal class AcceptAllCertificatePolicy : System.Net.ICertificatePolicy {public AcceptAllCertificatePolicy() {}

public bool CheckValidationResult(System.Net.ServicePoint sPoint, System.Security.Cryptography.X509Certificates.X509Certificate cert, System.Net.WebRequest wRequest,int certProb){// Always accept

return true; }}

To make use of this function, you need to call this class before you initialize the HTTPWebRequest object with a call like:

System.Net.ServicePointManager.CertificatePolicy = new AcceptAllCertificatePolicy();