Jan 26 2007

Groklaw – Patent Office Orders Re-Examination of Blackboard Patent

 Uh, oh.  Looks like the folks at Blackboard should have just let well enough alone.  Given a short period of time, a pluthera of prior art was able to quickly be located — enough to cause a re-examination of the patent.  See the link:

Link to Groklaw – Patent Office Orders Re-Examination of Blackboard Patent

 

I always wonder why a company would try to enforce a patent that is questionable at best.  The whole process to defend the patent is expensive — and the ill will generated certainly can’t be worth it.  Ah, well.

–TR


Jan 22 2007

Nicholas Carr — Wikipedia as a black hole

I like to track Nicholas Carr’s blog, Rough Type, partly because it deals with a number of media issues — particularly with Wikipedia.  So it was interesting to get his take on Wikipedia’s decision this last weekend to make all its external links, no-follow links.  Here’s the post:

http://www.roughtype.com/archives/2007/01/is_wikipedia_a.php

 

–TR


Jan 20 2007

Translating ETDs from Dspace OAI to MARC

I’m giving a short 15 minute presentation at ALA (How Catalogers and System Developers Work Creatively with Metadata: 1:30-3:30 pm at the Convention center) on the process OSU uses to moving ETD data going into Dspace directly into MARC/OCLC and our catalog.  Its a pretty simple process.  If you want to see how we do it, please attend.  Otherwise, I’ll post slides, script and xslt stylesheet following the presentation.

–TR


Nov 5 2006

Wikipedia taking it in the teeth today

Ouch — on slashdot today, two not so flattering articles surrounding wikipedia.  In the first, there are reports of the German version of wikipedia being used as a platform for speading a virus.  An interesting idea.  Given that folks trust wikipedia, noone seems to think twice about clicking on links that go outside of the tool. 

And then the second article — this goes to the trust issue.  As wikipedia pushes itself into the mainstream, questions a plagiarism are sure to come up — and they have.  Testing 12,000 articles, a researcher found a number of instances (128) of plagiarism within the encyclopedia.  See this article here.

 

–TR


Aug 12 2006

Saxon.NET example

I was playing around with Saxon.NET and I like it.  Its also very well done (not suprisingly).  Benchmarking, I found that its competitive with my custom processor for XSLT 1.0 while providing 2.0 support.  I’ll be integrating this into MarcEdit, likely even this weekend, so folks can start using XSLT 2.0 in the application.  I just need to figure out exactly how I’ll implement this engine — partly because my custom processor still outperforms when using XSLT 1.0.  So I’ll likely mix the two processors — but allow users to define which that they want to use. 

Anyway, here’s a quick sample of how you utilize the XSLT processor in C#.

// Create a Processor instance.

Processor processor = new Processor();System.IO.StreamReader reader = new System.IO.StreamReader(@”c:\OREboyscouts.xml”, System.Text.Encoding.UTF8);System.IO.TextWriter stringWriter =

new System.IO.StringWriter();stringWriter.Write(reader.ReadToEnd());

stringWriter.Close();

reader.Close();

System.IO.TextReader stringReader = new System.IO.StringReader(stringWriter.ToString());System.Xml.XmlTextReader reader2 = new System.Xml.XmlTextReader(stringReader);reader2.XmlResolver =

null;// Load the source document

XdmNode input = processor.NewDocumentBuilder().Build(reader2);

 

// Create a transformer for the stylesheet.

XsltTransformer transformer = processor.NewXsltCompiler().Compile(new System.Uri(@”c:\xslt\EADlitetoMARC21slimXML.xsl”)).Load();transformer.InputXmlResolver = null; 

// Set the root node of the source document to be the initial context node

transformer.InitialContextNode = input;

// Create a serializer

Serializer serializer = new Serializer();//serializer.SetOutputWriter(Console.Out);

serializer.SetOutputFile(@”c:\xmlstream.xml”);

// Transform the source XML to System.out.

transformer.Run(serializer);

Console.ReadLine();


Jul 29 2006

OSCON 2006 — Presentations I attended

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

–TR


Jul 29 2006

OSCON Day 3

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.

KeyNotes

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.

–TR


Jul 28 2006

OSCON Presentation notes

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
http://conferences.oreillynet.com/presentations/os2006/pillai_premshree.pdf

–TR


Jul 28 2006

OSCON 2006: Day 2

Keynotes:

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. 

–TR


Jul 27 2006

OSCON: Day 1 sessions

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();
    sc.addSearcher();
    sc.draw();
  • 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.

    –TR