Author: Stephane Daury

  • parseMe 20070213 Update

    It’s time for another quick update to parseMe, my little GPL’ed PHP-based RSS/Atom feed reader for mobile phones and other web-capable devices. Pfew [deep breath], that was quite a mouthful, wasn’t it? 😉

    • It now loads the destination links without images by default, for performance improvements on most sites. Links still go through the Google Mobile gateway.
    • Small screen-related interface improvements for the feed selection form.

    You can find the appropriate links below:

    Hoping you’ll enjoy it as much as I do in the bus, on the way to and from work.

  • Lego Mindstorms Automated Car Factory

    It’s not exactly the new Volkswagen glass factory, but this has to be one of the coolest Mindstorms-based project I’ve seen. And there are a lot of them out there.

    A bit on the slow side, but amazing nonetheless. I can only imagine how much time this must have taken to think through and build.

  • /me Like PostgreSQL

    PosgtresSQL ElephantI’ve recently had to take over the role of DBA at work (our previous one left for a job at Google), and I’m trying to make the most of the situation (still have my job to do too) by restructuring the PostgreSQL-powered database at the core of our Web architecture.

    Like so many enterprise projects, it’s grown exponentially, in both size and complexity, over the years and what I’m left in charge of today is less then ideal. Nonetheless it’s been serving us quasi-flawlessly, and I sure am happy my predecessor(s) made the choice to go with PostgreSQL as a database backend. The use of PostgreSQL in an enterprise environment was actually one of the reasons I started working at McGill, back in 2002.

    What I’m doing these days involves modernizing and sanitizing a considerable number of tables, stored procedures and functions. All while staying fully backward compatible so that the countless pieces of software relying on the data can keep on running as if nothing changed. I’m of course modernizing the codebase I have access to so it all takes advantage of the improved data structure. But for the sake of phasing in the upgrade and to not force it on external developers whose schedule I have no control over, replicating the current base is a of the essence.

    This is all proving to be a task our faithful PostgreSQL environment is truly shining at.

    Through the use of temporary tables from queries, case-based views, rules and other assorted options, I am rather quickly and easily able to author scripts that handle the nasty stuff, all wrapped in the safety transactional DBs afford us. They create new tables, populate them from others, tweak the data, drop the old tables once ported, setup views to replace them just-in-time and more, all transparently.

    All of this is of course also possible with many other RDBMS. I’m just dealing with PostgreSQL in this instance, and enjoying (almost) every minute of it! 🙂

  • Integrating the Upgraded Digg Tools in Blogger

    Digg.com released a worthy upgrade to their site integration tools today, with such neat new features as combining the submission process and Digg box, etc. Since I have previously published a method of integrating the first incarnation of the Digg tools in your [new] Blogger posts, it is now time to post an update to take the new features in consideration.

    Before you start, make sure that your blog is set to save post pages. This is a Digg (and other social sites) requirement, since we need unique URLs to submit. To verify, go to your Blogger Dashboard » Settings » Archiving » Enable Post Pages? Select yes and save.

    Then go to your Blogger Dashboard » Layout » Edit HTML. Be sure to check the Expand Widget Templates checkbox.

    Locate the following code in the template’s XML:

    <p><data:post.body/></p>

    And replace it with:

    <p>
      <span style="margin-right: 10px; float: left;">
        <script>
          digg_url = '<data:post.url/>';
        </script>
        <script src="http://digg.com/tools/diggthis.js"> </script>
      </span>
      <data:post.body/>
    </p>

    You’re done! It’s now as simple as this.

    You can also try the new, more discreet, compact mode:

    <p>
      <data:post.body/>
      <span style="margin-top: 5px; float: right;">
        <script>
          digg_url = '<data:post.url/>';
          digg_skin = 'compact';
        </script>
        <script src="http://digg.com/tools/diggthis.js"> </script>
      </span>
    </p>

    Personally though, I’m not too keen on displaying Digg boxes showing 0 diggs when the content has not been submitted yet, nor am I interested in showing the digg box on all my posts. So I’m still going to use my original solution and just update the URL of the Digg javascript from /api/ to /tools/ in my template. Overall, it is a more involved option, but I’d rather have flexibility than ease of use.

    Ultimately, I’d like to see another mode (digg_skin variable) where unsubmitted content sports a simple button (like the Digg Guy), and the box only starts to show if and after the content has been submitted.

    As a side note, it’s probably going to get fixed quickly, but the compact mode of the new tool had a bug with url targeting that made the submit form show in the tiny iframe the Digg javascript outputs.

    Update: 2007-07-26: Updated formatting after import from Blogger.com.

  • Turning 32

    Well, today’s that day when I gain an extra year. It always amazes me how much revolves around our age, and how suggestive the latter is. I’m an old fart for some, yet still a youngster for others. But who sees us as which and when is what usually matters most.

    On a far less pseudo-existential note, kudos to my 7 year old on his first in-match hockey goal (1st season). 🙂

  • Up to my Elbows in Enterprise Search

    Sorry about the lack of updates, but I’m smack in the middle of a huge project rethink at work, and it’s eating up all my time. I’ve been at it for two weeks, and I’m now hitting a point where I’m satisfied with the direction the project is heading. I reached the point where I’m having fun with it. 🙂

    I’ll have more time once this is behind us, which I’m glad to say is coming soon!

  • Mona Lisa Grave Found, Claims Scholar

    From the source article:

    The woman behind Leonardo da Vinci’s Mona Lisa painting may be buried near a now derelict building in the heart of Florence, according to archival documents. The exact location of Mona Lisa’s burial site, the convent of Sant’Orsola, was just a about 900 feet away from the house of the artist’s father, according to the historian, Giuseppe Pallanti.

  • 3D Desktop Linux on Live CD

    Linux.com posted two articles in as many days about the 3D desktops under Linux now being available for preview as live CDs.

    I’m getting them both as we speak to try them on my MacBook.

  • parseMe 20070111 Update

    Update: 2007-02-13: An upgraded version is now available.

    I have released an upgraded version of my GPL’ed lightweight feed reader for web-enabled devices, parseMe, a couple of days ago.

    I have added a couple of interesting new features:

    • It now integrates with Google Mobile to provide full content browsing of the destination URLs. This is done by using their nifty (x)html parser, which reformats standard web pages for mobile/accessibility browsers.
    • There is now a cookie-based feature that lets users define what their default source and item limit should be when first accessing the app. All cookie manipulation is done via PHP, on the server-side, as to not rely on Javascript, which is rarely available on the targeted browsers.

    You can find the appropriate links below:

    I’m obviously quite a bit biased of course, but it’s still is my favourite mobile app. 🙂 And since I’m not seeing an iPhone (or similar smart phone) in any kind of recent future for me (availability in Canada, price, usage fees, etc), it probably will be for quite a while.

  • Parallels Desktop for Mac Update RC Wins MacWorld Expo 2007 “Best in Show”

    RENTON, Wash. – January 10th, 2007 – Parallels announced today that its Update Release Candidate (RC) for the Parallels Desktop for Mac, released today, has been named “Best in Show” at the MacWorld Expo in San Francisco. The “Best in Show” award is presented to the most elite of the several thousand products and services on display at the annual MacWorld Expo and Conference.

    Congratulations! 🙂