Peer Pressure

Month

September 2008

5 posts

“

TiddlyWeb has been in a working alpha form for a few months now. Getting the basic architecture in place was pretty straightforward, but ironing out the details has been the slow part. It’s always this way. The code[2] is available in the TiddlyWiki subversion repository and may be checked out and run. At this stage of the game it requires some degree of proficiency with the command line, and preferably some experience installing Python modules. Development is being tracked in Trac[3] and is ticking along. The major things left to do before we can call the alpha something more than alpha (maybe a beta, maybe more?) include:

  • Clarifying and simplifying the installation process.
  • Developing user interfaces for managing Bags, Recipes and Filters (these are the tools that describe the dynamic TiddlyWikis).
  • Fixing or creating necessary TiddlyWeb related plugins (for example, login handling).
  • Fixing some holes in the security model.
  • Providing a more effective administrative interface for the system.
  • Others that I can’t remember now.
”
— TiddlyWeb in layman terms? - TiddlyWiki | Google Groups
Sep 30, 20083 notes
Twoter: TiddlyWeb Based Web Clippings

In the continuing saga of demonstrating ways that TiddlyWeb can be extended I did some work today that shows what you can do if you use the existing WSGI stack and add to the available URLs.

Previous experiments added to the WSGI stack, added a serialization and added a store. None of these changes add to the fundamental resources that the TiddlyWeb system presents.

Adding to the available URLs in the system adds, by definition, more resources to the system. What we’re going to add is a /twoter. Twoter is a cute little system to take web clippings from around the internet and store them in Tiddlers that can later be used in TiddlyWikis. There’s a demo system running on google app engine: http://tiddlyweb.appspot.com/twoter

Twoter gets its special sauce by having a handy little bookmarklet so you can be viewing anything, highlight some text, click the bookmarklet and presto, instant saved Tiddler. The roundabout process of creating that bookmarklet probably deserves its own posting.

Note: You will be asked to log in using your google account. This identifies your content and make it possible to restrict access so your clippings are only viewable by you and only you can add to your clippings. However, it will be possible for other users to see that you are using the system. They won’t know what you’re clipping, but they’ll be able to see that you have content there.

Bigger Note: Don’t rely on the security of this system, nor on the available of the content at some future date. This is an experiment. If it proves useful to you, let me know, and I’ll try to make it into a useful thing. One of the motivations for creating twoter was so it would expose bugs in TiddlyWeb. It’s doing that very well, already, so expect problems.

Some code has been checked in at: http://trac.tiddlywiki.org/browser/Trunk/contributors/ChrisDent/experimental/twoter

Way down in the center of TiddlyWeb’s pile of WSGI stuff is Luke Arno’s selector. It maps URLs to Python callables. In TiddlyWeb a text file called urls.map is used as input to selector. So adding a URL is just a matter of adding to that file:

# a fun little interface to do bookmarks
/twoter
    GET twoter:base

/twoter/{username:segment}
    GET twoter:user
    POST twoter:submit

/twoter provides an entry point for the system. All it does is redirect to get user information. After a successful authentication the browser will land at /twoter/{username} and be presented with some information for the user.

When called with GET twoter shows that information. When hit with a POST it is looking for form data with title, url and snip fields. That data is transformed into a Tiddler and saved to a personal and secure (only the user can read, write, create or delete) bag for the user.

Each user gets two recipes, one for all their “twotes” and one for their most recent. Each recipe includes another bag that includes some TiddlyWeb plugins so that if they choose to create a TiddlyWiki of their twotes they will be able to save them back to the server without any difficulty. Links to those recipes are shown on the GET page.

So here’s the thing: twoter.py is quite small:

enough:tiddlywebappengine cdent$ wc twoter.py
     164     479    4779 twoter.py

It turns out that TiddlyWeb’s existing WSGI middleware does most of the necessary work already: authentication handling, data storage, Bags, Recipes and Tiddlers. All twoter really is is a simple CGI to access some data and make sure some stuff is created.

I, the framework hater, accidently made a framework. I don’t know whether to be proud or ashamed.

If you try twoter and have some comments, please send them my way.

Update: I should probably mention that this has not been tested in IE and the bookmarklet is unlikely to work there.

Sep 25, 20084 notes
#tiddlyweb
“Message Queues are cool. It’s official. Now, banks and financial institutions have been using big Enterprise Java message systems for years. But it’s only really over the last year or two that the web community at large have got interested. Wonder what all the interest is in Erlang, Scala or Haskell? Distributed systems and a lack of shared state – hopefully leading to some sort of scalability nirvana – that’s what. Matt Biddulph of Dopplr has spoken at varying levels of technical detail on the subject over the last year or so. At barcamps and more recently at dconstruct. But you still don’t find that many people actually starting to use any of this stuff. Looking around the internet I couldn’t find that many examples of how to get started. Their are some pretty mature standards, good libraries, server interoperability, but few tutorials aimed at people who don’t know all about it.” —Using Python and Stompserver to Get Started With Message Queues | Morethanseven
Sep 14, 20083 notes
“Discovery and Invention are processes that result in the generation of new concepts or newly created devices or postulated entities. Both of these processes involve serendipity, questioning and the use of analogy. Invention and discovery are fraught subjects and it is often very difficult to identify the origin of any invention or discovery.” —Bits or pieces?: Definitions …
Sep 2, 2008
“Reading between the lines, it seems like the Google Gears developers said “here’s what we could do with Gears, but the existing browsers are too slow/too crude/etc.” So someone at Google said “fine, let’s make our own browser so that the Gears guys can go nuts.” —My Head Hurts: Google Chrome
Sep 1, 2008
Next page →
2010 2011
  • January
  • February 1
  • March
  • April
  • May
  • June
  • July
  • August
  • September
  • October
  • November
  • December
2009 2010 2011
  • January 1
  • February 2
  • March 2
  • April 1
  • May 2
  • June
  • July 1
  • August
  • September 1
  • October 3
  • November 2
  • December 1
2008 2009 2010
  • January 5
  • February 5
  • March 4
  • April 1
  • May 1
  • June 6
  • July 1
  • August 2
  • September
  • October 3
  • November 5
  • December 4
2008 2009
  • January
  • February
  • March
  • April
  • May
  • June
  • July 19
  • August 24
  • September 5
  • October 7
  • November 3
  • December 1