Archive for May 2007
A Python module that converts TiddlyWiki format text into XHTML
I’m delighted to announce that the mighty BT has acquired my tiny little company Osmosoft Limited. I’m joining BT as Head of Open Source Innovation, and I’ll be building a crack open source web development team called BT Osmosoft. To say the least, this is big news for me personally, and I hope will have a positive and lasting impact on the future of TiddlyWiki.
BT is becoming a remarkable thing: a truly internet-scale consumer company that doesn’t rely on owning “secret sauce” software for it’s business. At the most senior levels, there’s an appetite to embrace open source that wouldn’t disgrace a web 2.0 startup. I’ll be working with a great many talented and interesting people, and I’m looking forward to it immensely.
Meanwhile, TiddlyWiki has benefited from something rather magical: a global community of eager people who have gathered around it and generously contributed to it, striving to make it better in a spirit of good-natured sharing. I’m regularly astonished by the inventiveness and resourcefulness of this community; I feel a part of something much bigger and more significant than I could ever manage on my own.
I’ve always kept TiddlyWiki fiercely independent — for instance, not carrying advertising (or indeed accepting venture capital investments). I feel that to do anything else would be disrespectful to the grass roots users and enthusiasts who make TiddlyWiki so useful and intriguing. Now that I’m taking up a commercial position it’s necessary to take certain steps to enshrine that independence more formally.
I have therefore legally assigned my copyrights in TiddlyWiki to an open, non-profit foundation called UnaMesa. I think that TiddlyWiki is at once too fragile and too important to be wholly owned by any one player in the ecosystem; common ownership allows everyone to work together on a level-playing field. There’s a lot more to say about UnaMesa, and I’ll return to it in a later post.
I’m looking forward to being able to improve some areas of TiddlyWiki that have not received enough attention in the past – like a better plugin catalogue, automated testing, better accessibility, and easier security. This won’t be by BT taking over the project, but rather by supporting the open source process and helping out with resources when and where it can.
I hope BT’s endorsement of TiddlyWiki will open up new applications that we haven’t thought of yet. To meet the challenges that they bring, I’ll continue to strive to keep the core of TiddlyWiki true to it’s origins as a lean, efficient non-linear personal web notebook.
‘…if it’s in the news, don’t worry about it. The very definition of “news” is “something that hardly ever happens.”‘
Web app to create semacodes, graphical urls you can read on a mobile phone
UPDATE: I’ve now published these bookmarklets to http://www.tiddlywiki.com/#TiddlyBookmarklets
So, I’ve been preparing for the release of TiddlyWiki 2.2 and have just run into a niggling little problem that’s ended up triggering something quite fun.
I’m at the point where I’m preparing the content for the new release, taking the existing tiddlywiki.com content, folding in the new beta documentation and making sure that everything is up to date and cross-references. The problem arises because the new release adds a “changecount” extended field to each tiddler. It tracks how many times that tiddler has been modified since it was created or received from a server. Our current build process will propagate an extended attribute like that all the way from me making some minor edit in my local copy of tiddlywiki.com up to publication on the internet. That’s a problem, because we should be distributing tiddlywiki.com with clean content, with no “changecount” field.
Various more or less terrible solutions occurred to me immediately:
- Doing a search and replace in the final index.html file to remove all the “changecount” attributes just before publication
- Modifying the build process to clear out the “changecount” attribute
- Writing a new macro that presents a button that scrubs “changecount” attributes from every tiddler
The problems with these solutions being “tedium”, “not knowing Ruby” and “inappropriateness” respectively. Inappropriateness being that such a macro would have to form part of the standard distribution/build process, and yet it seems rather a hack that shouldn’t really be needed.
I knocked up a couple of proof of concept TiddlyBookmarklets to explore what can be done:
- ScrubTiddlyFields – Strips out all the extended fields from a TiddlyWiki document, including that pesky “changecount” field
- ScrubTiddlyShadows -Restores any overridden shadow tiddlers in the current TiddlyWiki document. Handy when you’ve gone mad with PageTemplate customisations and your TiddlyWiki document won’t display properly
- TiddlyRescue – Strips out the raw content of a TiddlyWiki document and displays it in a new window. Handy when you’ve inadvertently been editing an online version of TiddlyWiki that isn’t letting you save changes in the usual way.
Here’s how to use them:
- Drag one of the links above straight into your browser links bar
- Alternatively, right-click on the links and select “Create favourite” or “Create bookmark”
- Navigate to a TiddlyWiki document such as http://www.tiddlywiki.com/
- Select your new bookmarklet to execute it
UPDATE: Looks like I don’t know enough about WordPress to make the bookmarklet links work properly (thanks Ace_NoOne). I’m fiddling about to try to get them working…
I’m late with this, but Dean Edwards: MiniWeb
MiniWeb models an entire web site in a single HTML page. All of the site files are stored in a JSON object which you can navigate with a UNIX-like shell or the system browser. It has a built-in templating system and has an approximate separation of client and server. It is in its infancy but is still kind of fun to play with. Parts of it are clearly unfinished but you will be able to get the idea.
This is rather glorious. Similar to TiddlyWiki, it’s an entire website in a single HTML page, but it takes a very different approach, packing a more or less conventional Unix file structure. Naturally I love anything that subverts the mainframe-isation of the web…