Tuesday, July 05, 2005

Lachie's birthday list.

People say that I'm hard to buy for. Well, I don't have any trouble buying for my self :)
Here are some things I actually remembered to write down that I like:

Crumpler Satchel or backpack

Very expensive – pretty cool, tho
I think I’d like to get a Salary sacarifice (the bag, not the action), or one of the camera bags
www.crumpler.com.au
these are way too expensive, but its nice to dream

Subscription to MAKE Mag

http://makezine.com
$49.95 / year

Nikon D70 guide (ebook)

http://www.bythom.com/d70guide.htm

Any of the novels nominated for sci fi awards

they must be good, right ??

2005 hugo nominees
  • The Algebraist by Iain M. Banks !! oops! I've read this one
  • Jonathan Strange & Mr Norrell by Susanna Clarke
  • River of Gods by Ian McDonald
  • Iron Council by China Miéville
  • Iron Sunrise by Charles Stross
2004 hugo nominees
  • Humans by Robert J. Sawyer
  • Ilium by Dan Simmons
  • Singularity Sky by Charles Stross
  • Blind Lake by Robert Charles Wilson

2004 nebula nominees
  • Cloud Atlas, David Mitchell
  • Down and Out in the Magic Kingdom, Cory Doctorow
  • The Knight, Gene Wolfe
  • Omega, Jack McDevitt
  • Paladin of Souls, Lois McMaster Bujold (winner)
  • Perfect Circle, Sean Stewart


  • A good graphic novel

    I never know what a good one is, but I know there are good ones out there...

    Sunday, May 29, 2005

    Announcing, beta 2 of Monkeybox, my port of Adrian's Greasemonkey compiler.

    A web interface is available here: http://monkeybox.lachie.info
    The compiler itself:
    monkeybox_0.2beta2.zip

    My original aim was to vary Adrian's python code to handle compilation of multiple greasemonkey scripts into a single Firefox extension. As usual, things have changed a fair bit since then.

    The compiler is written in Ruby (because its hip and somewhat gorgeous ;) It uses templates rather than programmatic construction. Each added user script can be switched on and off via the generated extension's options panel.

    Monkeybox's most interesting feature is the way it implements the essential greasemonkey business. I packaged the reusable parts of greasemonkey as an xpcom component. Monkeybox, therefore, supports all of greasemonkey's special features (i.e. the GM_* functions)

    The interface is as follows

    // add/get a script to/from the singleton
    void setScript( string yourGUID, string scriptKey, Object scriptDescription );
    Object getScript( string yourGUID, string scriptKey );

    // en/disable a specific script
    void setScriptEnabled( string yourGUID, string scriptKey, boolean enabled );

    // en/disable a whole GUID-keyed client's scripts (not yet implemented)
    void setClientEnabled( string yourGUID, boolean enabled );

    Its a very neat separation of concerns - and works pretty well - but there are a few issues which might turn out to be down-sides in time, such as scoping and the security context in which user scripts run.

    Here's a fairly vauge overview of the architecture:


    One special nicety of this arrangement is that you can protoype scripts very easily straight from a local html file (the Monkeybox archive contains an example in test_component.html).

    Although my implementation is pretty experimental, I think it would be really cool if the official Greasemonkey became an xpcom component. Greasemonkey as a reusable engine... hmmm.

    The implementation is pretty patchy so far, but I wanted to get it out there. There are some known issues:
    • reinstallation of a script should be much smarter (if you install it with a different name, same guid, bad things can happen)
    • security model... it need tweaking/investigation
    • what happens when multiple extensions have different versions of the greasemonkey-singleton?
    Feedback is always welcome... lachiec uses gmail spot com

    Friday, May 13, 2005

    Mark Pilgrim has written an online book about greasemonkey

    My Flickr Batch Enhancer script is mentioned... yay!
    http://diveintogreasemonkey.org/advanced/gm_xmlhttprequest.html

    Tuesday, March 29, 2005

    Flickr Batch Enhancer
    Released 2005-03-29
    The batch operations page on Flickr is a good idea, but is too limited. I used Greasemonkey to add some of the missing components.
    1. Better selection control
      • fill selection - selects everything between the first and last selected image.
      • invert selection
      • reload batch with selection - reload the page with only the currently selected images in the batch
    2. Date posted - change the date posted for the batch
      • Date taken to come...
    3. Set license - set (or remove) the Creative Commons license for the whole batch.
    This is my first greasemonkey user script, so feedback is very welcome !

    Friday, February 18, 2005

    I'm such a completist. When I get to like a band, I have this compulsion to own everything they have ever made.

    On Flickr, I'm still discovering the optimum way for me to organise my photos. I love keeping a chronology of photos, especially when travelling. They tell a story all of their own, serving as the journal I never wrote.

    Initially, I thought I'd like to put every photo ever up on Flickr. I could probably do that eventually. But it doesn't make for a very interesting photostream for others to look at.

    Its probably more important to me that people see my photos, and either like them or give me some feedback so I can improve.

    I should probably be more discerning. Its such a lossy record, though!

    Perhaps I could put an exhaustive set up to bore friends and family with, and a small subset of exceptional or "finished" shots on the public photostream. Then, what if there is one I judge as bad, which others might like.

    I hope I don't go catatonic over this dilemma!

    Monday, February 14, 2005

    I'm currently reading the book Straight and Crooked Thinking by Robert H. Thouless. Its a slim little volume, but exceptionally weighty in calm and rational wisdom.

    "The exception that proves the rule" is a wisdom often used glibly to 'prove' any weak argument.
    Its very often used by those who supposedly posesses more worldly knowledge than their opponent. There is the implication that the user has had more real world experience in the matter at hand and therefore has more of a 'feel' for its intangibles.

    He is qualified, therefore, to override all the intervening logical progressions and declare immediate victory by means of superior knowledge.

    When you think about it for more than a couple of seconds, its pretty obvious that it isn't only just wrong. Its validity completely dissolves the logic upon which a rational argument might be based.

    Sunday, February 13, 2005

    A wallpaper I made today. Its corny, I know. Abject cynicism, why hast thou forsaken me? Oh, there you are.


    beetle kiss