saladwithsteve


Saturday, June 29
  Hooray!! DrScheme is finally available in an OS X version that runs on my machine without needing an X server. For some reason, earlier carbonized versions refused to run without an X server on my TiBook.

Talking with Ev and Angus the other day about language preferences made me realize that I'm completely ruined for Boring Professional Programming now. (Boring as in Corba-style boring. Coding Blogger has been anything but boring) I've long had enough of the crappy languages that booksellers and marketing professionals for big tech companies (*cough*Sun*cough*) try to shove down my throat. I have really particular tastes for my programming environments and I feel those tastes are grounded in the silly belief that I want my progamming environment to be efficient, follow simple rules, and be easy to write tools to generate code for. I want Objects, dynamically typed with an Interpreter that has a good source-level debugger, a decent web environment, ties to BerkeleyDB, a good regex library and good socket niceities (just being able to use a wrapper around libnet would be Good Enough). Java doesn't cut it because it's statically typed and can't be run in an interpreter. I don't want to use CLOS (Common Lisp Object System) because I can't seem to find a fast web environment with an active developer community (I'm sure jjwiseman will prove me wrong there if I am), Scheme has no Object system I've liked (I'm sure dnm will prove me wrong if I am), I don't want to use Objective-C because there's no open-source equivalent to WebObjects (sort of like Servlets for ObjC) and you can't run it in an interpreter. One day (soonish) E will be good enough for frequent use but it's never been meant as a web development environment and I don't know how well it will fit into such a worldview. C++ is just plain out of the question. It's too bad Rebol still has a closed runtime. I suppose the only answer becomes Python even though Zope's complexity worries me and writing program generators for Python is a pain with it's enforced whitespace rules. Well, there is still one possibility: Finish Thespia.

Oh, I've never mentioned Thespia here before. It's my Actors-child dynamically-typed prototype-based oo language with method update, event-loop concurrency, and a few other novel things tossed in for good luck. The runtime is being hacked together in ObjC, and it would be coming along much more quickly if I could find a Lex/Yacc that fit into ObjC better. More to the point: I have this belief that if a project puts more than two hard research problems on your plate, then it will fail. Writing my own language, a web environment, then something on top of that would violate that rule.

Switching gears here, I'm enjoying the fact that I work for a company with a really novel idea: Sell something for more than it cost you to make it. Pragmatism. It's what's for dinner.


Stacy is getting ready to move into her new place, mere dozens of blocks from here! She's really excited and so am I. It's not that we lived so far away from each other before, but now we'll both be in the Richmond.

Listening to some Rancid I'm reminded of a strangely realistic dream I had last night where my pal (soon to be married!) Ray and I were touring canada in a little punk band from the back of an old busvan. I sometimes think that dreams are parallel universes bleeding together.

Alright, I'm off to study more about proofs writing. Besides DiffEq, it's probably where my maths knowledge is weakest right now. 23:42#


Wednesday, June 26
  Recently John Dvorak riffed on boingboing editor Mark Frauenfelder for being both scruffy looking and a Mac convert (Frauenfelder was in the Apple Switch ads) sparking some controversy, even a special e-newsletter from O'Reilly against Dvorak's stinkiness.

But I just have to ask, why do people even pay attention to Dvorak anymore? He stirs the stew just for the sake of stirring.He's not interested in actual debate, just getting people to take notice. I suppose the fact that he can still get people to talk about him means he still has a little influence. But that's your fault, not his.

(Before you ask, "why aren't _you_ just ignoring Dvorak?", I am ignoring Dvorak. I've been ignoring Dvorak for years.This entry is just Meta.) 15:02#


  I am so incredibly busy these days. But we're kicking ass.

Here's a few links for you degenerates: Also, I've been bit with the OmniOutliner bug. I do have a feature request: Export to HTML.

Last note: Oracle, you sick sadistic bastards. Why must you try and reshape in the world in your own, retarded image? Tell Larry to go back to his garden. 11:56#


Thursday, June 20
  Congratulations to my friend Dan's company, Cloudmark, for getting their first product out the door. 13:12#


Monday, June 17
  Get well soon, Dave. 13:31#


Friday, June 14
  Another reason to love living in SF, we get a lot of great conferences. The International Conference on Lisp 2002 is being held in October in downtown SF.

I'm only interested in days 1 (talks about Lisp and Functional Languages in general) and 2 (Lisp in Web Applications).

Of course, we'll never get Financial Cryptography. I think it's held in the West Indies next year. Besides the 2 grand price tag, I have no excuse to not go. 13:17#


Thursday, June 13
  Apparently I'm hanging with the cool kids now.

Fortune names Pyra Labs the Coolest Media Company of 2002

daaaaamn straight. 12:14#


Thursday, June 6
  Kevin Burton has been talking about interfactories lately, basically a factory method that can return a class conforming to an interface based on properties found in a ResourceBundle. I've been doing something very similiar with Blogger and it's incredibly useful. But you know, this was never possible before Reflection. Reflection effectively made java a static-dynamic hybridly-typed language. And since many of the supposed benefits of a static type system go right out the door when using reflection, why not just throw away the rest of the bulky, frustrating static type system and just use a dynamically-typed Java instead. You know, Objective-C.;-)

Well, there are good reasons to use Java, it has a fuller class library than ObjC (for now), you know the size of int never changes, and you never have to deal with a core dump in Java but core dumps really aren't a big deal once you've gotten used to them. It seems to me that prototyping systems in Python and implementing them in ObjC might be the next wave. I'm preparing for the static-type backlash. Except among C hackers, who can't be convinced otherwise. Rabid dogs. But hey, even they use void* pointers and pointers to functions. 18:26#


  Thanks to Jeff Darcy and Chris Baker who helped me out with a problem I was having earlier. Not being a windows user, I didn't know the format was all goofy on ie6. 18:10#


  Dee Dee Ramone dead at 50 13:03#


Tuesday, June 4
  interesting site design: catchdubs 18:08#


Sunday, June 2
  I read the recent paper on XBox security (PDF), linked to from wes' site. It's a fairly simple (besides building the custom hardware to do so and determining where to attack) sidechannel attack. Somebody on the XBox team didn't do their homework on the DES hardware sidechannel attacks.

People can whine all they want about how quantum computing will change the face of cryptography and it's role in secure system design but this paper hits it right on the money:

[...] the security of a cryptosystem is only as strong as they secrecy of the key. Thus, some of the most startlingly effective attacks on a cryptosystem involve no ciphertext analysis, but instead find flaws in the protocols that manage the keys.

This is pretty old hat to most of the people who read this blog but obviously not to some of the kids who build these systems.

That's not the least of it, Section 6 outlines a much simpler way of tricking the xbox before it even gets a chance to jump into the bootloader. fun stuff!

I have a bar I try to make it under when I work on a network-based security protocols, and that bar is: "How could Dug Song put a hack for this into dsniff?". Dsniff allowing the entire world access to the ssh MITM vulnerabilities was probably better than several dozen security papers on MITM problems.

I was thinking about the size of the XBox TCB when I remembered that it's not en vogue to call it TCB anymore, the assurance community now calls it TSF for Trusted Security Functions. I don't know if this a relabelling or if there are discernable differences between the terms. If you know, please inform me. thanks! 02:28#


  From raph's diary:
Most applications that need fonts have a "fontmap" file of some kind. This file is essentially an associative array from font name to pathname in the local file system where the font can be found. Actually, you want a lot more information than just that, including encoding, glyph coverage, and enough metadata at least to group the fonts into families. In some cases, you'll want language tags, in particular for CJK. Unicode has a unified CJK area, so a Japanese, a Simplified Chinese and a Traditional Chinese font can all cover the same code point, but actually represent different glyphs. If you're browsing a Web page that has correct language tagging, ideally you want the right font to show up. Unfortunately, people don't generally do language tagging. In fact, this is one area where you get more useful information out of non-Unicode charsets than from the Unicode way (a big part of the reason why CJK people hate Unicode, I think). If the document (or font) is in Shift-JIS encoding, then it's a very good bet that it's Japanese and not Chinese.
Lately I've been studying i18n (mostly for use with Java although Objective-C's support seems pretty decent at first glance) and have heard rumblings that CJKV people hate Unicode. Here's the first concrete fact I've found. Food for thought. 02:17#


Saturday, June 1
  On a side note, it appears that one of my favorite publishers, Springer-Verlag has a new book out on the subject of knowledge management. 23:31#


  From stacy's blog:
"Some dude from Userland writes about "k-logs". (Why the concept has to have a fancy-foo name, beats me)."

Yeah, k-logs are nothing new, it's just trying to take a Worse is Better approach to the area of Knowledge Management, really. People panned the idea when Lotus tried to make it big but the reasons why were more social than technical, as far as I can tell. It's not that it was so hard to use the tools involved with KM, although they were certainly more difficult than currently weblogging tools, but that people didn't feel they had the time. They have "real work" to do. And frankly, I know how they feel. I typically have more than enough on my plate to keep me busy without piling on another hour keeping my "k-log" up to date. I do try to write things up but it can be a bit much at the end of a 12-hour day. The diligence and hard work does pay off, though.

One problem is that most people aren't good writers and don't particularly feel comfortable seeing their words on paper. Email was able to get past this by starting as a more casual writing medium. Hopefully k-logging will be able to ride b-logging's coattails in the same respect.

K-log authoring isn't a concept that's been worked through it's paces. I haven't seen a site that I would really call a Knowledge Log yet. Training people how to use categories, how to format a k-log entry, how to link it to conceptually similar k-log entries, and how to find those entries is of paramount importance even if that training is only one really good public Knowledge Log.

I'm interesting in seeing what people come up with and even more in helping build that one great public K-log to set it all off. 22:19#