ideas

Anti-Folksonomry

Idea: make an anti-folksonomy page. On anti-folksonomy, it's funny how Morbus has moved towards wanting a more rigidly hierarchial structure, and I'm moving more towards abandoning it in favour of inherent metadata. Opposite strategies, but with the same net effect: we don't like folksonomies.

Wiki RSS Feed

I should probably make an RSS 1.[01] feed of this available too. Still not sure whether or not I should take up d8uv's advice and just move it all to /notes/

The problem with providing an RSS 1.[01] feed is that it'd be nice to provide both one for entirely new pages, so that'd act a bit like a weblog, and another for all edits. The problem being that some "edits" might be more or less equivalent to making an entirely new page. Perhaps I should be able to flag when I want a page added to the RSS feed. Hmm.

[Historical: this bit was once under the second heading of a superset of the same title. "Actually, once you start doing double titles for stuff, you should probably separate it out into another page. Of course, this is a bit of an ephemitopic. On the other hand, it'd be nice to retain the history."]

Anyway, it'd be cool to use "phenny: blog <wikiname> <description>" as the syntax for providing information to the RSS feed. Then you could use the description in the descrption tag and either get pwk to parse down the post into wiki format and publish it in content:encoded, or just export the content as normal but content:encoded. I suppose it'd be better to scrape out the <body>...</body> content then, or maybe even div.content or something like that.

Wiki Paraphenalia

The root page should probably be automatically generated by a CGI, rather like /notes/recent Actually, /notes/ is a bit badly named anyway—I like to use the singular.

Looking at the notes updates, it seems that some of the pages in there really are just too big and disparate to be able to edit with a wiki. For example, aposuse requires particular styling and so forth. On the other hand, the seed topic pages, and also some of the list stuff and other things derived from the original pwyky wiki installation on sbp.f2o.org seem like they should be moved over to the current wiki.

Wiki Styling

It'd be nice to have some sort of background image for this. At the moment, the plain style is nice but not very exciting. Actually, using longer titles often helps too. Note that pwk will just substitute the short-name of the page itself if the user doesn't provide a page title (in the form of the first heading in the document, if it's right at the top). That's quite an elegant bit of pwyky, really.

@@ Further references on notadict, and a page about further references being either there to bore or to intrigue.

Single-Line Syntax, and a Python Feature

I was thinking that instead of doing "phenny: <<< wikiname\ntext\ntext\nphenny: >>>" it'd be good to be able to do "phenny: <<< wikiname text | text >>>" all on one line. In thinking about the implementation, I guess that splitting on pipe would be adequate, but the problem is that I'd really like to strip only a single character. You can' currently do that in Python:

>>> '  blargh  '.strip(' ')
'blargh'
>>> '  blargh  '.strip(' ', 1)
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: strip() takes at most 1 argument (2 given)
>>> 

(Shut up blogbot!) Obviously it'd be possible to write a def strip(...) implementation that does this, but it should definitely be built-in; it's a bit like rstrip in that it just seems to have been overlooked.

[03:21] <crschmidt> why is it in two places again?
[03:21] <crschmidt> that is, why not just on inamidst?
[03:21] <sbp> because I like inamidst.com to be entirely static
[03:21] <sbp> since I'm using rsync
[03:22] <sbp> I don't want to have to slurp each time before I do edits
[03:22] <sbp> very annoying
[03:22] <sbp> really I should look into unison or something, but I 
   think I'd need to have AaronSw install it on vorpal then

Site-Widget

Since I've been working on a lot of tools that allow you to do specific things to pages on inamidst.com, e.g. show a directory listing or show Python source, I thought I'd be a nice idea to actually let people deploy these over such as the entire website. In other words, say you visit /sbp/ At the moment you can't get a directory listing, but one will probably be available soon at /list/sbp/ Or perhaps you visit /svc/reflector and want to check out the source? Again, there's no one-click way of getting to /inside/svc/reflector which'll show you the source, even though it's a very logical name.

The first method I thought of for solving this is to have lots of little bookmarklets. This is mainly for me, and it's a pretty custom site, so I guess this as a custom solution wouldn't be too bad—but I've had another idea too.

URIid is a Firefox extension that lets you have sitewide styles. Why not have a style to do a fixed toolbar placement on all the pages under inamidst.com? Problem is in the loading of the actual toolbar content itself... So far, CSS can only reposition stuff that's already there, not do JavaScript style manipulation of the DOM... so I suppose I really want something like URIid for JavaScript.

o/~ Clearly displaying the remote possibility of love on the turquoise blue seas. o/~

When phenny gets a "new entry" command whilst someone's already editing she should... oh wait she already does. Cool.

[03:48] <sbp> phenny: <<< ideas
[03:48] <phenny> You're already editing a document here.

Use textwrap on {{ ... }}} areas.

Also, ignore any ">>>" line from crschmidt...

This one should probably go to "projects" (which is an idea in itself), but it'd be cool to have a Python pre-processor to make it easier to run scripts from the command line. For example, it'd be nice to go through checking for stuff being used, and have a default wrapper, such that something like ppy "sys.stdout.write(stdin())" would work. And hey, there we go! There's even a name for it: ppy.

It wouldn't even have to be all that complicated. For example, ppy itself could be a bash script doing something like 'python -c $(pypreproc "$1")', and then the pypreproc file could easily be written in Python or whatever (Python really does make sense here).

I wonder if there's an easy way to get a list of all the modules that it's possible to import?

I was thinking about allowing phenny to post to wikiname.section, but that would mean changing the fact that she only appends, and I think that violates the principle of least power: it's hard to remember title names properly anyway, so wiki style remerging should be fine.

Archiving the RSS Feed Bloggings

Actually, the heading says it all: currently, old blog entries will be lost, whereas it actually forms quite an interesting record. It shouldn't be too difficult to modify pwkblog.py to append to a list of bloggings so far, perhaps as a yearly .txt archive.

Miscellaneous

Done:

Todo:

It'd be nice to separate out /misc/ into types and dates by mtime.

Indiscrete Art; possible miscoranda post?

<crschmidt> there should probably be a link in the eph style to go up to eph

SuperString—s += 'something'; s.set()

One word: planet.swhack.com That so is one word!

Communicating via Filenames

Idea: communicating via filenames, a la Seth Schoen when vitanuova went down and he wrote a message to people using filenames only. The benefit: it's zero bytes in total! Actually, I don't quite understand why filesystems tend to misreport that, since it must be taking up some space, of course, but all the same it gives the impression of saving. Another thing is that it means you don't have to think up filenames for the data. The filenames are the data. And this would all just be to communicate with people who read /updates, so to tell people why certain things are like they are; but it would also be neat in and of itself. --2005-05-19

Here's some code for the unique IDs idea:

>>> from sha import new as sha1sum
>>> from base64 import b32encode
>>> def makeid(data): 
...    digest = sha1sum(data).digest()
...    return b32encode(digest[:4]).lower().rstrip('=')
... 
>>> makeid('d8uv')
'3vlh5ri'
>>> makeid('lalala wtf lol')
'yqocgnq'
>>> 

bit of modified probability code, from a linux-security-module post by David Wheeler:

def prob(hashspace, instances): 
   s = float(hashspace)
   n = int(instances)
   p = 0.0
   for i in xrange(2, n + 1): 
      p = p + (1.-p)*((i-1.)/s)
      if i == n: return p

Start a quotes book of some kind, gradually categorising the quotes into different chapters. By quotes, I mean a substantial amount of material, however, so it'd have to be a privateish thing.

--2005-05-20

.tar.gz Caching

It'd be better to use file.tar.gz/filename and mod_rewrite all the .tar.gz names than to use /tgz/ all the time. It should also probably use caching if it's to be a major mechanism, and have ignores and stuff like that. Perhaps /home/sbp/cache would make a good unified cache, then both man and dict could use the same (though there'd need to be a lot of prefixing).

And ooh, Site-Widget (above) can be done with Greasemonkey now. Neato. --2005-05-25

Subdomains

Even though inamidst.com is basically static (oh yeah, should probably hack on policy too), it'd be okay to run cool services at subdomains thereof. So... what kind of services? Pastebin? TinyURI? Hmm...

I should move inamidst to policy. And filesystems should come with revision control *built-in*, and togglable. Man, that'd be sweet.

sh syntax checker, and /tag/ for the meta-database interface --{$date}

@@ Assembly code wiki. --{$date}

Sean B. Palmer