enjoying salad since 1978.

Tuesday, June 29, 2004

Lessig on Dirty Deeds Done Dirt Cheap

Lawrence Lessig: "In an ideal world, such scientific controversy would be settled by science. But not this time: Without public debate, funding for such "fantasy" was cut from the NNI-authorizing statute. Thanks to Senator John McCain, not a single research proposal for molecular manufacturing is eligible for federal dollars."

Monday, June 28, 2004

Christopher Hitchens ain't a fan.

Christopher Hitchens didn't like Farenheit 9/11: "Fahrenheit 9/11 is a sinister exercise in moral frivolity, crudely disguised as an exercise in seriousness."

Graphics Programming Black Book by Michael Abrash

Graphics Programming Black Book by Michael Abrash is now available as PDF's. It's massive; the index alone is a 2.2M PDF.

Friday, June 25, 2004

openmcl handles utf8 decently

I tested openmcl recently to see if it can store and print UTF-8 without harming it. Worked like a charm. You can most likely attribute this to CLHS 13.1.3 that says a character is a non-negative integer. In Lisp, an integer has no upper bound.

testing-utf8.lisp: (defvar *utf8* "𐌸𐌹𐌶𐌰𐌹: 𐍅𐌿𐌻𐍆𐌹𐌻𐌰")
(format t "~A" *utf8*)

$ openmcl -l testing-utf8.lisp
; loading system definition from
; /Users/stevej/.openmcl/asdf-install/asdf-install.asd into #<Package "ASDF0">
; registering #<SYSTEM ASDF-INSTALL #x63BD006> as ASDF-INSTALL
𐌸𐌹𐌶𐌰𐌹: 𐍅𐌿𐌻𐍆𐌹𐌻𐌰
Welcome to OpenMCL Version (Beta: Darwin) 0.14.2-p1!
?
Awesome!

MOZ2004 invites Mark Miller

Mark Miller is an invited speaker at the MOZ2004 Conference for Mozart/Oz. Very interesting. This probably has nothing to do with the fact that the Oz-E project was announced two weeks ago.

On a separate note: look at that uri. node? view? LtU should learn to use their fancy new internet whiz-bang to generate cruft-free URIs.

Using Plane 1 Characters

Plane 1 Characters under OS X Displaying "Astral Plane" Unicode characters.

If you can't view some of these characters, you may not have the right fonts installed.

日本語: 明朝
Русский: Здравствуйте!
Ηελλένικα: Γειά σας
Español: ¡Hola!
Türkçe: Merhaba
عربي: السلام عليكم
𐌸𐌹𐌶𐌰𐌹: 𐍅𐌿𐌻𐍆𐌹𐌻𐌰

Wednesday, June 23, 2004

Debian Non-Profit

"Debian-NP [Non-Profit -steve] is an internal Debian project to develop Debian into an operating system that is designed to fulfill the requirements of small non-profit organizations. "

SpaceShipOne

A photo of SpaceShipOne's victory lap in the Mojave desert.

Tuesday, June 22, 2004

Peter Norvig on Moore's Law

From the Google Blog: "Hoey is an excellent computer scientist, but he said he spent days writing a disk-based B-tree package for his program. I was saved all this, because a dictionary now fits in main memory and I could use straightforward binary search. Thank you, Moore's Law."

As they say, memory is the new disk and disk is the new tape.

Paul Boutin on Privacy

From PRWeek: "Boutin: There's certainly no lack of coverage when it comes to privacy. But there's no sense of priority or severity among issues, and poor discernment between real intrusions and hypothetical scenarios. Every new angle anyone comes up with becomes Privacy Panic of the Week and gets the four-alarm treatment. As a result, the [USA PATRIOT] Act gets pushed out of our national discourse by stupid stuff like DidTheyReadIt.com. "

Monday, June 21, 2004

The Design and Implementation of the FreeBSD Operating System

"The Design and Implementation of the FreeBSD Operating System": The long awaited update to the 4.4BSD book

Internationalization

For the record, Blogger passes Sam's first test for I18N with flying colors. See: Iñtërnâtiônàlizætiøn ☺

Things get tricky (read: broken) if you claim your blog is a different encoding than what you're giving it. In general, Blogger works with Unicode quite well.

Sunday, June 20, 2004

MScheme - Lisp in Mozilla.

Back in 2002, I wrapped a Javascript Scheme interpreter in XUL and put it up on the web. I've finally gotten around to making an installer for it

It's missing a lot of functionality, and even a menubar, but it works well enough for learning how XUL and XPI packages work.

Clicking on the 'Install MScheme' link will automatically install it under Mozilla. Unzipping it will show you how an XPI installer works.

Wednesday, June 16, 2004

Joel on Software demonstrating the Blub Paradox

Joel on Software: "Whenever you hear someone bragging about how productive their language is, they're probably getting most of that productivity from the automated memory management, even if they misattribute it."

Joel unwittingly shows firsthand the Blub Paradox. I'm way more productive in Common Lisp than in Java and yet both have automatic memory management.

Monday, June 14, 2004

Bill Joy wants to require insurance for risky research

Bill Joy "[...] says he believes that businesses doing research in areas deemed risky by their peers should be forced to take out insurance against catastrophes. He also says that science guilds should have the authority to limit access to potentially dangerous ideas."

"There's no better way to stimulate innovation than to put a pillow over it's face and press down. firmly. oh so firmly.." says Joy.

Emerson on Foolish Consistency

"A foolish consistency is the hobgoblin of little minds, adored by little statesmen and philosophers and divines." Ralph Waldo Emerson

Test post from my treo (posted using vagablog)

Thursday, June 10, 2004

Fasttrack to UFFI

I performed a small experiment, trying to track down a bug in a Common Lisp package that I'm porting to OpenMCL. I realized that some of my steps for tracking this down would probably make for a super simple tutorial on using UFFI

First, make a quick C library

lib.c:

#include <stdio.h>

int teststuff(int i) {
return i;
}


Now compile it:

$ gcc -g -c -dynamiclib -o lib.o lib.c

Now build a dynamic library:

$ libtool -dynamic -o lib.so lib.o -lc

Use ASDF to install UFFI

Now create a simple Lisp program that calls your function

test-uffi.lisp:


(asdf:operate 'asdf:load-op :uffi)
(uffi:load-foreign-library #p"/Users/stevej/lib.so" :supporting-libraries '("c"))

(uffi:def-function "teststuff" ((hello :int)) :returning :int)

(teststuff 1)


Voila, your first UFFI program.

WebDAV spam

I've been writing a WebDAV server in Common Lisp lately which means I've been leaving it running for long periods of time. Check out this strange request I found when I got home tonight:

SEARCH / HTTP/1.0
Host: 127.0.0.1
Content-Type: text/xml
Content-Length: 1399

<?xml version="1.0"?>
<g:searchrequest xmlns:g="DAV:">
<g:sql>Select "DAV:displayname" from scope()</g:sql>
</g:searchrequest>


SEARCH is part of DASL, an extension to WebDAV. It looks like somebody thought I might be a SharePoint server?

Tuesday, June 08, 2004

riaa go away.

From Future Now: [...] the Recording Industry Association of America "is hoping that a new breed of music player which requires biometric authentication will put an end to file sharing." [...] However, a recently-published article reveals that "Japanese cryptographer has demonstrated how fingerprint recognition devices can be fooled using a combination of low cunning, cheap kitchen supplies and a digital camera."

ha ha