Older blog entries for dnm (starting at number 5)

Insert obligatory groan about not posting to Advogato more often here. See my LiveJournal for corresponding irony on previous statement.

Doing more with E in all sorts of ways. openCOLA has agreed to take me at my word that E is the way to proceed with our DRM strategy and especially for Smart Contracts, the true killer app of distributed capabilities. oC has hired markm on contract and I'm being given the go-ahead to hire stevej as one of two full-timers for E/DRM implementation. I just announced today on the e-lang that I'll be starting work on an E to JVM bytecode compiler. All sorts of hackery abound.

I have other projects I need to devote some more time to, especially Lispy stuff, speaking of which, the LispM has arrived (pictures forthcoming).

I haven't posted in ages, apologies for that.

Work has been fun, and I'm back in Toronto, crunching down on getting the digital rights management (DRM) overview and execution plans done/revised (living document land). Lots of stuff needed for investor presentations, etc. Spent a week+ in California with Steve and Gurjeet. Got to visit Cyan as well ("Hi!" to all you people).

Recent technical playgrounds include Haskell (interesting lambda calculus ideas in a language that's not Lispy! Neat!) and some more Java (I've bought a number of Java books, somewhat in the hopes that their wanting stares from the bookcase will compulse me to at least give Java the benefit of the doubt, and to dabble in it). And Csound! Csound rocks, but this is going to be a steep learning curve. However, I've wanted some more practical reasons to break into DSP stuff anyway, and learning Csound will be excellent for that, plus it'll provide a creative outlet. Somedays I suspect that I'll only do hardcore technical stuff of the nature I'm currently doing for three more years max, before I decide to take up artistic pursuits full time (music, mostly). We'll see.

Things are progressing nicely with the E project. I find my main task now is bringing other non-project people up to speed with E and it's basic concepts, and why they're different (and in some circumstances, better) than what people know about. I have to flesh out some more material on the E Documentation Project I proposed to markm a while back.

I've been wasting way too much time at WikiWikiWeb.

Oh, and most recently, a new laptop. The Dell Inspiron 3800 I had started having issues. Ironically, although not altogether unexpectedly, the most severe issue becoming a problem after it was fixed for a completely different issue (this also happend to a co-worker here). All of the Dell laptops we've had in the company have had a problem of some major nature now, except for one. I'm now using a Toshiba Satellite Pro 4300 series (with DVD!), and I like it, although the Inspiron had an arguably better video card.

14 Oct 2000 (updated 14 Oct 2000 at 18:18 UTC) »

I'm begining to come to the conclusion that understanding Java's learning curve is about 40% of understanding Sun's ontology of confusion on what exactly Java is. Yes, it's a language, but it's also a class library, and a security concept, and a virtual machine. But it goes well beyond even that if you start to deal with anything other than the J2SE. For me, I deal with the J2SE, the J2ME (which encompases the KVM, usually paired with the CDLC, which I'll use with the MDIP in some cases, but not in others). Some of the more interesting non-Sun Java related projects like E and Waba seem a lot more conceptually complete. The constant renaming Sun does to Java seems to be a half-hearted attempt to provide a complete solution to everything using an (IMHO) okay (and saying "okay" is generous coming from me when talking about Java, most days) language/VM/security model/library/rubber duck. And I'm sure it'll only get more interesting when C# and .NET hits the mainstream (MSDN developers already have some iteration of it).

I wouldn't mind having a CommonLisp.NET, necessarily. We'll see.

I'm not particularly looking forward to getting down and dirty with Java anyway, but I'll do it. I think I'll still like it more than C++ or Perl. Perhaps I'll like it more than C (which wouldn't be too hard). The scary thing is that I know enough Java to be dangerous from an architect standpoint yet I don't know if I want to know enough to be dangerous from a builder standpoint.

It doesn't need to be said, but I would so much use Common Lisp, a decent Scheme, or Smalltalk over Java any day, if only I could do with them what I can do with Java (if the hype is to be believed) -- put it on mobile phones, PDAs, etc. Technically, it's all doable, but none of those have Sun rallying behind them as team cheerleader, and others like IBM with pom-poms firmly held high.

I've been playing more with Xanadu and Udanax toys. Picked up where I left off on jwz's Intertwingle too. Current milestones are to hack together a basic Intertwingle implementation in Smalltalk or Lisp (I'm partial to Smalltalk for this for the easy GUI bit). Yet more reasons to work on that Lisp to Smalltalk/Smalltalk to Lisp tool. On a more mundane level, I think you can build a decent Intertwingle out of some common Emacs tools, namely BBDB, VM, and Gnus -- modulo some modifications and hackery to each.

The next bit is to coax secrets out of the Udanax Gold code, which is all currently couched in a particularly twisted, heavily modified ParcPlace Smalltalk and special Smalltalk subset. And there's a C++ translator in there somewhere too.

Flying up to Toronto on Sunday. Planning to kill time with co-workers and launch new and exciting (read: sketchy and dangerous) research proposals. The basic R&D squad is actually coming together quite well, this round of talks should help cement some questions I still have.

Well, the Rijndael code mentioned below will have to wait, at least for now.

Spent most of Saturday playing with various XEmacs betas. I think I'm going to really like the 21.2 chain coming up, I just hope it shows up on Windows sooner rather than later and minus some particularly in-your-face bugs I had to deal with in the two betas I tried. As it turned out, I grabbed 21.1.12 source today and compiled using Visual Studio. Some small build related bugs, but nothing requiring source modifications. I'm grabbing packages as we speak (err, as I write).

Need to spend more time reading. Also, hopefully by the beginning of this week coming up, I'll know where the LispM I bought is being shipped to and can plan accordingly for my next move, which I have a feeling will be San Francisco.

Vapour now has a SourceForge presence. When I manage to get myself back to Boston, I'll tidy up the SPARC code that I've hacked so far and put it up on the CVS repository. Also have some directional documents for the project floating in my head I should formalize and publish on the list. All in due time...

R6RS and CLAS haven't attracted much attention from anyone here yet, but that's probably due to having a lack of motivating material available. Something else to focus on. I think all of these projects will be much easier for me to handle once I can aggregate all of my stuff, especially my library, in one semi-permanent spot.

raph, site suggestion: how about a <project> shortcut tag, a la <person>?

3 Oct 2000 (updated 3 Oct 2000 at 12:35 UTC) »

I've been toying some more with Smalltalk v. Lisp for some projects. I'm not really sold on the "object-oriented programming works for everything" idea (although as far as I'm concerned, Smalltalk does have the best embodiment of a true OO environment), but for rapidly prototyping some stuff in which I want visual control and feedback, it's hard to beat Squeak. Besides, I like Smalltalk, even if I like Lisp more. I blame it all my exposure to NeXT boxen (which was after my exposure to Symbolics boxen). ;]

I'd like to keep the finished product (as well as the code releases up till then) in Lisp though, so that I can back out and jump to a higher, more generic abstraction layer. I was writing in my personal catalog of ideas a while back about the potential of a Smalltalk to CLOS/CLOS to Smalltalk translator. Perhaps this would be a good time to rehash that.

Hacking together more of Clever (my openCOLA clerver in Scheme) as well. Turns out I need to implement XPath tools in Scheme (I haven't found them anywhere yet). I'll give the code away to PLT and anyone else who wants it. Yes, I am a member of the Underground.

Since I may be dabbling in Smalltalk anyway, can I recreate E's basic model in Smalltalk? Would it be of any practical use? I think it may, but there are probably issues with being sequential. I should ask markm before doing any of this, he's probably already done it.

If I get really organized today, I'll put together those implementations of Rijndael in Scheme and Smalltalk I was thinking about earlier today -- more for just kicks than anything else. I wouldn't be surprised if I could get really well performing code out of a Scheme version compiled with Stalin, though.

I'm so glad Rijndael won. Makes me feel as though the papers I submitted to the AES during the public commentary (and other phases) paid off.

29 Sep 2000 (updated 4 Oct 2000 at 02:23 UTC) »

Thanks to raph, my diary here at Advogato is now live! Rejoice. For those of you that may be interested, there's also my terribly maintained but still potentially useful LiveJournal.

Spent some time last night putting up some quickie off-site pages for the R6RS and CLAS projects. Nothing terribly special at the moment, but Darius mentioned in #lisp last night that he may be able to provide some mailing list hosting, which would rock.

Tidying up some professional coding work, exploring some new stomping places (like Advogato and kuro5hin).

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!