I'm stealing SourceForge's idea about keeping diaries. Since I haven't figured out how they run their diary system, this page will have to suffice for the moment. The point is to keep interested observers updated on the progress of CryptoGnome development, especially since this is a part-time project for me and subject to periods of inactivity.
And another thing: the 'Forge says that browsing the CVS repository is a good way to get a clue about the status of the project. Not for me. You're way better off looking here. I commit frequently. I commit broken code. I leave useless comments on check-ins. I reorganize the directory structure. Get an accurate picture, read the diary.
Reorganized the Ordo code quite a bit. It also
configure
s and installs itself using make. No,
it's not much progress, but I was just getting a bunch of
broken stuff in my Emacs environment to work again, and I
got this for free.
Work on the dired
support has cascaded to
features for the server-side, too. I think it's about time
to write up the protocol
details, before featuritis makes it impossible.
The dired support works pretty good. You can't create arbitrary files yet, but you can create collections anywhere in the managed repository. You can't delete objects from the repsitory with Ordo, yet.
Have also moved a step closer to supporting multiple content-encodings. Starting to think real hard about the reification problem, and will probably do a CVS-store next.
Been hacking the dired
stuff. Actually it's
more like hacking
the file-name-handler-alist
(as used by
efs
), which is very cool and somewhat
tricky. Basically, there's 20 or so pseudo-hook functions
which need to be written to incorporate a user-level
filesystem into emacs. I'm about halfway done the hooks, but
I've got 70% functionality.
So practically, this means that the vanilla file-access stuff sorta works. It's very usable, but mostly because Emacs is incredibly robust. Current problems:
vc
:(
dired
is pretty broken, but I need to do a
bit of server-side work on collections to fix it.
find-file
from an Ordo buffer doesn't work
right, at all. I have no idea why :(
I love VHLLs! The emacs client is now useful, and
moving into featuritis mode. Still need to hack the dired
mode and metadata handling, but it is very cool as it
stands. Give cg-find-file
a CryptoGnome URL and
you're off!
Once I get dired mode done (metadata handling is a necessary precursor) I'll be using this sucker on a daily basis.
Hacking the network infrastructure for the Emacs client. Successfully (and robustly) sent a request to the server and slurped the response into a buffer. Still need to parse the response buffer; which really means just validate the headers and squirrel them away somewhere, as we are leaving the interpretation of the buffer to higher-level functionality (to better support different content-encodings).
I need a cute name for this client, I really do. Maybe I'll call it "Ordo" after the crypto-hardened Emacs in Neal Stephenson's book...
Just had a brilliant idea, which crystallized out of some
XEmacs hackery I've been amusing
myself with, my unending delight in efs-mode
,
and a glass of
Hoegaarden
beer. Don't know if the beer helped, but it sure tasted
good.
As does this idea: Use Emacs
as the first
user-friendly (Hah!)
client.
No really, dired-mode
is perfect for handling collections without having to reify
the directory structure on the client system; we can
maintain security by never writing plaintext to disk (yeah
yeah, still got to deal with packet sniffers); Scheme data
is easy to read...Who could ask for more.\?
It was pointed out to me that my email address on these pages is wrong. It should be fixed now. I'm too busy over at S2 and in Real Life to be doing much here at the moment. Be back soon.
Stomped a buglet or two in the arbitrary ring
multiple-precision multiplication code
(common/crypto/convolve.scm
). I think I'm going
to have to rewrite the sucker to explicitly use CPS; there's
just too many receive
's in there. Besides, I
can't use S2 to
create a version that will run under
LispMe, since
LispMe doesn't support
call-with-values
.
Stole a few cycles from working on
S2
to tighten up the configure
/make
cycle. IOW, make install
now works and
configures a default
unix-fs
repository. Actually, it probably doesn't do it
right because I haven't thoroughly tested it.
Also a few web-twiddles, mostly on the
repository page. Boy, these
pages look horrible under
Lynx.
Is it really the case that <dd>
tags
don't have a %flow
content-model before
HTML
4.01?
I'm probably not going to change this markup if that's the
case (unless
SourceForge
installs an server-side XML/XSL system like
mod_xslt. I
suppose I could achieve the same effect with a cgi, but I'd
rather work on the project than the web pages, you know?
I was astounded today by the number of web hits I seem to be generating. I didn't think all of that traffic is me so I created the cryptognome-list in an attempt to get some feedback. I reckon I'll create a forum, too. Although I really think they're a poor communications medium, they may be better suited to someone with only a casual interest.
Hacking a bit on the crypto code. Mostly trying out some ideas about a novel approach. Mostly it looks like I'm re-inventing either RSA or or Terry Ritter's BBM ciphers.
Anyway, I'm not quitting just yet. I certainly haven't exhausted the possibilities of the convolution algorithm, just eliminated a large class of uses. Watch this space!
Major web-site updates. Started the diary. It looks like there's going to be some publicity for the CryptoGnome via a column titled "Regular Expressions" by Cameron Laird about Scheme in the Real World (TM). I'll post a link to it if I ever learn one.
Of course this really means that I need to provide some kind of release version, if I want to get any benefit out of getting noticed. It's going to be pure Anonymous CVS for the time being.