This morning’s #taproot update: ditched the crappy old DRY-violating tags module and replaced it with a super lightweight #hypermedia one. Soon I’ll add the ability to store tag descriptions, synonyms/related tags as well as dynamically pull content in from the URLs it lists so the tag pages aren’t quite as boring.
“Open web technologies”, they said. “Web apps are better because they work anywhere”, they said. Then f*cking chrome goes and f*cking “chrome App Store” “PLEASE USE CHROME TO DOWNLOAD THIS WEB APP” ARRRGGGGHHH
evanp funny, I’ve been thinking of doing that for a while. Not sure I’ve got what it takes though, and I’m booked up for the next 4 months :/
5610 #steps today — weird, I went for a long walk. But clearly I need to go for two if I am not wandering around in the workshop all day.
#watching The Matrix Reloaded. Lots of long, pointless scenes, but some fun stuff too. So, is the third one worth watching?
Jovian Salak u dissin pope? HE WHO WEARS POPE GEAR (large, medium or small), WHOSE COMING IN THE POPEMOBILE IS ANNOUNCED BY WHITE SMOKE? BOW BEFORE HIS POPE HAT
Josh Emerson every day is one-day-olderness-day. So happy ODOD!
Josh Emerson well that’s the point — the way we calculate age is so arbitrary I thought I'd poke fun at it. “One day olderness day” is even better, but not so feasible for putting on cards :)
In order to express how arbitrary birthdays (and all their western connotations) are to me, I will from now on refer to them as “one-olderness days”.
8585 #steps today
I’m noticing a #taproot pattern emerge whilst writing the simplified auth code: multiple event listeners which don’t know about each other working on the same object, augmenting and changing it.
E.G. RememberMeListener looks for an encrypted cookie with a URL (my user ID of choice) in — if it finds one it makes an ActivityStream person object and puts it in request.attributes.user.
Then, in the same event chain but at a lower priority level, the Contacts module looks in request.attributes.user for a URL. It looks up the URL in my people DB and, if there is anyone, augments request.attributes.user with all the extra info (full name, roles, photo URL, rel value, etc.)
Then, another listener could run, looking for request.attributes.user with only URL — and look the URL up on identengine.com, caching the response.
Other example is @-name autolinking, working on a similar basis of: basic transformation (raw data => common data format), then progressive augmentation adding URLs, names and rel values.
I think this a very powerful and flexible pattern and something I will make a founding principle of Taproot.
The problem with all mapping software ever:
“Hm, that placename is a bit small to read” (zooms in) “TEXT, WHY U GET SMALLER AGAIN”
rellyab to be fair, last time I checked it produced nonsense even when not translating!
10867 #steps today