October 2008
7 posts
Yesterday Fred and I went through the tiddlyweb tickets at http://trac.tiddlywiki.org/ to separate them into two groups: pre-beta and post-beta. Or maybe that’s pre-1.0 and post-1.0. Not really sure that this point. It will depend, I suspect, on how things go.
As announced on the TiddlyWikiDev Google Group recently, there’s an emerging plan to get TiddlyWeb stabilized, major bug free, and relatively easy to install by the end of the year. Sorting the tickets with Fred was an important part of this; any ticket with a priority of “major” is on the to do list, anything with a lower priority is not.
That leaves us with a somewhat dubious looking list of about ten tickets. Dubious for a few reasons:
- Much of the list is enhancements or feature adjustments, not bugs in existing stuff.
- Much of the list is related to client side work (in TiddlyWiki not TiddlyWeb) that hasn’t bee done yet.
- There’s a distinct lack of tickets related to installation, use and API. Are such things supposed to have tickets?
So I don’t quite trust the list yet. If you have been or are interested in poking at TiddlyWeb and know of some issues, please let me know. For newcomers TiddlyWeb recently got much easier to work with. There are regular eggs being built and distributed. You can download those, unpack them, sudo python setup.py install and then follow the instructions in README and COOKBOOK. If you’ve got setuptools going, dependencies are handled.
It’s been nearly two years or so since I bought my last computer, so today I caved and bought a new 2.4Ghz MacBook, 250GB hard drive, 4GB RAM. Summary: Win!
It’s been said elsewhere, but the important thing about macs is that they are not there to save you money. They are there to improve your experience in some fashion. Each mac laptop I’ve had has been better than the last in some way. This one is prettier, lighter, faster, has better battery life, and is shit hot to look at. The single piece of aluminum thing is better than I would have expected. It appeals to the “oh yeah, I do care about industrial design” guy inside me.
It’s nice to have a lit keyboard back. I had missed that in the previous MacBook and the 12 inch powerbook (best size yet, please bring it back). Before those two I had a 15 inch powerbook (too big, but I didn’t know it at the time). However, I got a UK keyboard and man, there’s some things about this that make it hard to type. The backtick/tilde key is to the right of a narrow left shifty key. This means I’m both having trouble shifting, and making reference to my home directory.
The cmd key no longer has an apple on it, just the 4 leaf symbol and the word ‘cmd’. This is sad. Similarly the option key says ‘alt’ but not ‘option’. And now there are two of them, one where the enter key used to be. The function keys have all be remapped to different things, mostly sensible, but going to require some retraining. The return key is now taller than it is wide, and the backslash/pipe key has changed rows. I’ll adjust. The keyboard has an acceptable feel to type on (for a laptop).
Screen looks great. It really is instant on. It is very bright.
The new trackpad is pretty much awesome. Once I get used to it, fun will be had. At the moment I’m conflicted between click to click and tap to click and sometimes getting myself confused.
The unboxing experience was suitably impressive. Apple is making the boxes smaller and smaller, which is good, and you get less and less stuff, which is also good. In a way.
As I’ve used it throughout this evening I’ve been impressed with the speed of the video and the overall sense of responsiveness. I’m very picky about such things, and this is much better than the previous pute.
An observer earlier today thinks that this is small and light enough cut away from the Air’s market share. I suspect that is right. I like the Air for its lightness but it is just too underpowered. This is a nice compromise. And it has a similar look and feel to it.
So, overall, thus far, pleased. Recommended.
An update on things TiddlyWeb.
Much of the work lately has been on making TiddlyWeb easier to extend. When I first started working on TiddlyWeb, I was committed to the idea that the service should be as small and simple as possible: satisfying its primary goals and nothing else while being transparent. To reach this goal I decided it was best to avoid using a web framework (such as django, pylons or turbogears) because in my experience such things sort of obscure much of the mechanics of the system, and as a new Python programmer I wanted to see and expose as much of that stuff as possible.
So, TiddlyWeb is a fairly raw WSGI-based service that can be run with a variety of servers (cherrypy’s wsgi server is included, it can run as a straight CGI, there are instructions for integration with mod_python, and a googleappengine version exists). It uses its own pieces of middleware to manipulate the incoming request and transform the outgoing response. Here’s a confusing diagram for your edification:
![]()
Irony, this looks a lot like a framework, and in fact this has proven to be the case. TiddlyWeb has become a fairly complete framework for building systems that required authenticated access to tiddlers stored on a server. The evolution has been mostly in response to user requests (people developing things like the Plugin Library) and the exigencies rising from experiments like twoter and spowt.
The latest feature coming out of this work is a simple way to do plugins in TiddlyWeb. Twoter and spowt have been turned into plugins, extending the URL space of the system; the plugin library uses a plugin to extend the filtering system; a static file delivery plugin has been written.
In nice Python fashion, a plugin is a module that gets imported into the process and then does pretty much whatever it wants. It can extend the URL map, change function definitions, manipulate the database. The only requirement is that it have an init(config) function which can just pass if config is not needed.
Some experimental plugins can be found in my space in tiddlywiki svn. They show how they are used and may give some idea of the possibilities.
I hope my dear old uncle Ingy will be proud. It’s rare for me to intentionally encourage such unfettered possibilities.