vlion: cut of the flammarion woodcut, colored (Default)

I keep working on knowledge capture tools at home, off and on. I want to be able to use the computer as an aid to thinking, but so often the tedium and hum drum nature of the thing limit me from using the computer. Using the computer as an advanced notepad only goes so far: OneNote is nice, but it's incredibly proprietary; OrgMode is crabbed; mind-maps are graphical and too specific for a single purpose. I've tried mediawiki, and I lost that years ago because MySQL is a binary format and I didn't migrate the data.

Things like metadata matter; yet, not only does it matter, metadata is hard to keep up to date. So part of the work has been to build a content-indexer for textfiles.

I'm working on an annotator (applied graph database, basically) system now. Automated categorization derived from the indexer will be fed into the annotator, then used to inform on the files. Ideally, given this automated information, I can manually add useful tags to a file, then derive similarity metrics from one file to another.

That is all to say: I want to build an automated cross-referencing tool so that when I write down thoughts, I can find them again, years later, without having to do significant manual tagging work. Speaking of tagging - I'm not using single tags for this system: that's silly. Hierarchy is a thing and a very useful way of organizing information. But, having only one hierarchy is very limiting, because taxonomy is difficult to correctly perform. So I'll be lazy: a file (a knowledge bit), will have multiple hierarchies in the database, as many as makes sense. From a file system perspective, this turns the whole idea of a root filesystem on its head: now every file is a root that many paths can go to.

Another thing I'm working on slowly is a better interactive mode for the shell. Command line is incredibly powerful, but generally it's been left in roughly 1989 or so; bash is an awful system, and horribly tied to Unix 1.0 design. One thing I particularly want to be looking at sorting out is long-term storage of web pages. Many very very interesting pages have gone into /dev/null - and those are the ones I've read! I've dabbled in the Xanadu demo from Ted Nelson, and the concept of persistent transclusion without linkrot is powerful; I want to achieve some of that with this.

The aim here is to let me think and connect thoughts to form very deep thoughts with complex ideations involved in the process. In a sense, it will be a memory system customized around how I want to think.

The final note about all this is absolutely none of it will wind up as a HTTP web server with Javascript. I have a decent professional experience with what it takes to do solid engineering for the Web at this point: there are no words for what a disaster it actually is, after you peel back the frameworks and the abstractions. That rant, I'll leave to another post.


Jun. 4th, 2013 11:36 pm
vlion: cut of the flammarion woodcut, colored (Default)
This was written some time ago: 2008 I would reckon. I was meditating on, well, you can see for yourself.

Cyber. The cyberspace. Cybernetics. Corporations by Congress, sometimes. There's no VR. No virutal D&D with firewalls and viruses.

No, it's much more mundane. Here's a virus for Linux. Wait. No. Suicide-us. Whatever. It won't spread. It's too stupid. Or - yeah. Run it on a Linux system.

while(1) { fork(); }

Maybe Linux will stop it. Or maybe not. It'll just stop about everything from running. It'll crash the box, basically. You'll have to reboot. Don't worry. It won't spread. Sorry, script kiddies.

while(1) {fork();}. That's mundane. No magic. No weird incantation or cyberreality. Just some text, a letter. A letter to your computer. A rude one at that.

Cyberspace. Let's get a file in cyberspace.

curl www.ibm.com -O index.hml

And blah blah blah, index.html appears.

Mundane, I tell you.


The writing is atrocious here. I obviously didn't edit it enough. But what struck me most at the time was the tremendous gap between the 'mirrorshades' dreams of Snow Crash type scenarios and the utter mundanity of typing commands into a computer which mechanically executed them in a entirely predictable and boring piece of engineering.

Today I'm both more depressed and more optimistic. Depressed, because tablets are fundamentally being used and treated as portable TVs, and more optimistic, because I'm entirely and ridiculously confident that I could start putting together the pieces for profound leaps in technology with what I know. There *are* hard problems out there, and they havn't been solved by people working in the 70s, or thought of in the 80s. Things like changeset versioning for non-sourcecode for regular users. Things that are actually innovations in haptic computing. There is light at the end of the dark C tunnel: new languages are exploding out into the world, stopping the spread of certain entirely classes of legacy problems.

I suppose today I most regret the rise of Unix, DOS, and C/C++. They served to exemplify the Worse is Better philosophy; while so many of the world's population do have computers now, they don't have good *systems*; because the inertia of human history drives us to use legacy. And the Legacy was made marred and designed for tiny embedded systems ( by today's standards). While the dreams of the 80s perhaps never were realistic, there were certain realities back then that have vanished from use; Algol 60, Lisps, Lisp OSs. Today while Lisps are held in abeyance (perhaps for another five years?), Haskell, F#, and Rust are finally displaying the results of the research done before I was born. Of these, I have the most hope for Rust. It is a shining example of a language which is radically different than C++, yet targetted at the same level. My industry will radically shift if Rust becomes a viable embedded systems & gaming language. And for the *better*. I can only rage at the bugs that are caused because 'uninitialized variable' or 'null object'.

common lisp

Aug. 3rd, 2012 10:49 pm
vlion: source: lisperati (lisp)
I have picked up rachelbythebay's blog lately and have been going through it. It's remarkably good. Anyway, in http://rachelbythebay.com/w/2012/07/25/versions/, she puts her finger on a major issue of modern dynamic languages.

At work, in order to deal with Python and ensure that we have the right python installed on these (fairly specialty Linux worlds) we manually install a Python version with make install, from a checked in hg repo. I kind of hate that. It says our language is so unstable that we have to forcibly lock ourselves to a version we can trust, because we know that we can't trust the *other* versions. And don't mention Python 3 or we'll... uhh... get awkward, say rude things about Py3, and change the subject.

It's stuff like this that makes me appreciate standardized languages like Java, C++, Haskell, and Common Lisp. One does not simply create new versions of those languages.

I can take thirty-year old (standard) Common Lisp code and run it on a modern Lisp - it'll work. It's reasonable that I can take pre-CL MacLisp or Interlisp and it'll run with small modifications.

The idea that I can write code today that I can build on for years to come, knowing that Common Lisp is stable and has a live community which will probably exist for many year to come -

That's attractive.


vlion: cut of the flammarion woodcut, colored (Default)

August 2017

6789 101112

Style Credit


RSS Atom
Page generated Oct. 19th, 2017 12:40 pm
Powered by Dreamwidth Studios

Expand Cut Tags

No cut tags

Most Popular Tags