thingsinjars

  • 16 Sep 2023

    My Books

    Not Geek, Ideas

  • 17 Jul 2008

    Extension building is complicated

    With Firefox releasing version 3.0.1 yesterday, I spent a chunk of last night trying to update the noodle extension. I decided it would probably be a good idea to enable automatic updates so keen users would be able to take advantage of the latest features immediately (or some such marketing gubbins).

    Basic extension building itself is unnecessarily complicated in my opinion. For a start, XUL is an extremely clever and powerful tool but has abysmal documentation. I've now done two sizeable projects using it and I still don't have a clue how it works. Once you've got that bit sorted, however, you then need to package up your extension in a very particular way taking care not to forget updating all of the required versioning bits.

    If you want to enable automatic updating, you now need to digitally sign it. Not a bad idea, really. It just makes the whole process even more complicated.

    My process roughly goes as follows:


    • Update Extension

    • Update install.rdf with the new version number

    • On the terminal, run './build.sh' (automatic shell script to package, zip, remove hidden files, copy, paste, resequence, etc)

    • Upload noodle.xpi to this server

    • On the terminal, run 'md5 noodle.xpi' (to calculate one of the application hashes)

    • copy key to noodle extension post for in-browser installation

    • update update.rdf with the new version number

    • run 'openssl sha1 noodle.xpi' to generate another application hash)

    • update update.rdf with new update hash

    • resign update.rdf with McCoy (embeds another application hash)

    • upload update.rdf to server

    • cross fingers

    This process is somewhat more complicated the first time you do it as you also have to use McCoy to digitally sign the install.rdf before you build your extension. McCoy itself is also password-protected.

    In total, you have 1 password to run McCoy, 1 extension signature, 1 md5 hash to allow in-browser installation, 1 sha1 hash to allow add-ons menu automatic updating and 1 signed update.rdf. I'm sure I've missed one.

    Geek

  • 10 Jul 2008

    The Legend of the Travelling Nev

    The Legend of the Travelling Nev

    The Legend of the Travelling Nev

    Whenever world-weary travellers gather to share a yarn or spin a tale, there will always be a clean shaven, leather-skinned old man with a thick bushy beard who settles in the corner with a whisky in each hand and a pipe in the other, pushes his hat to the back of his head and peers out from under it.

    "Have ye heard the tale o' the trav'llin' Nev?", he'll say, eyes glinting in the moonlight, sun shining through the boarded up windows. Experienced travellers - those that have been around the world twice and back again - will smile to themselves quietly and eye their glass thinking about the next drink. They've heard the tale before and they'll doubtless hear it again but it's never the same twice; maybe this old fellow can weave a good belly laugh or two in there, maybe he can't. We'll keep an ear on him and another can listen for the call for last orders. The other can pick up the gasps of amazement coming from the younger travellers during the telling of the tale.

    Ah, those youngsters...fresh faced and naive as they come. Everyone here was like that at some point but were they ever that young? First time they've been involved in a good old gab and they've thrown themselves into it with every little event that's happened since they left home. Everyone smiles. They're keen. There's nothing nobody's heard a hundred times before. Now they're gathering closer to the old man to find out more about the Travelling Nev.

    "Some say he started his journey many years ago in the foothills of Edinburgh, some say that when he started, there was no such thing as Edinburgh. Either way, it's been many a year since he was able to settle anywhere." the old man takes a deep draught from his glass, wipes the beer from his beard and beckons the youngsters closer.

    "Cursed he was, y'see. With a terrible curse. A terrible, terrible curse had been cursed upon him like a curse. No-one knows why, how, when or why but, since many a year past, the Trav'llin' Nev has been cursed to wander the planet until he finds a town where nobody knows who he is but wherever he goes, his story is already known. Of course, that's the cunningness o' the curse - the more he travels, the more his tale is spread; the more his tale is spread, the further he has to travel to find peace."

    The youngsters are spellbound, their glasses sitting untouched, their mouths open in wonderment. No, it can't be true, can it? Is it? A man travelling endlessly around the world only to find he already knows everyone? No...?

    "Ah, I see fr'm yer faces we've a coupla disbelievers amoungst ye. Well, feast yer eyes on this...", the old man fishes in the inside pocket of his travelling jacket, a jacket that's circumnavigated the globe a few times now and looks like it could probably do it once more on its own. He pulls out an old wrinkled, faded photograph that's been folded more than a few times and hands it over to the group which now includes the season travellers whose interest had been piqued.

    "That, my friends, is the Trav'llin' Nev", he says as he sits back in his chair, a faintly triumphant smile spreading across his lips, and falls asleep.


    In other news, I bumped into Nev this week.

  • 28 Jun 2008

    How to hose your website...

    ...in several easy steps.

    1: Have a too-clever-for-its-own-good CMS that is child-like in its simplicity yet Canadian-lumber-forest-like in its ability to be hacked.
    2: Build several different websites using said CMS, each with their own unique hacks.
    3: Have all the sites open in your FTP client and in your text editor
    4: Play an episode of Firefly in the background to distrct you.

    Now, the next few steps must be done in very quick succession:

    5: Upload files from site A to site B
    6: Realise mistake, download replacements from site C
    7: Upload replacements to site D
    8: Realise mistake, reset Subversion backup C
    9: Upload site C to site A
    10: Watch River Tam kick ass
    11: Realise you're getting confused, delete everything and start again
    12: Delete Subversion backup B
    13: Delete entire project B

    Now that you've done that, all that's left is to put everything back the way it was on A, C and D and trawl old backup disks and Google cached pages to try and get B back.

    14: Watch Mal shoot someone.
    15: Write it up in a post on the freshly-restored, looks-like-it-was-never-broken site B.

    Fairly straightforward, really.

  • 22 Jun 2008

    Again with the Barber stories...

    Regular readers will, of course, remember my previous experiences with my Japanese barber. Well, I started to look like some kind of scruffy hippie again so I braved the rain, grabbed the infamous umbrella and headed out for another haircut. This time, I decided to go the whole hog and find out what the full shave-and-a-haircut experience was like.

    He shaved my forehead.

    My forehead! Shaved! With a cut-throat razor! Exclamation mark!11One!Factorial

    I was so busy being shocked that I only just noticed he followed it by shaving my earlobes. I'm now hairless in places that have had hair since before I was born.

    I don't really have any conclusion to take from it other than - He Shaved My Forehead...

  • newer posts
  • older posts

Categories

Toys, Guides, Opinion, Geek, Non-geek, Development, Design, CSS, JS, Open-source Ideas, Cartoons, Photos

Shop

Colourful clothes for colourful kids

I'm currently reading

Projects

  • Awsm Street – Kid's clothing
  • Stickture
  • Explanating
  • Open Source Snacks
  • My life in sans-serif
  • My life in monospace
Simon Madine (thingsinjars)

@thingsinjars.com

Hi, I’m Simon Madine and I make music, write books and code.

I’m the Engineering Lead for komment.

© 2025 Simon Madine