Built PLT Scheme 200alpha on my ThinkPad 560E (P5-166 MMX, 48MB RAM). A fresh CVS source tree is slightly under 50MB, and a full build and install using plt-cvs-build took 34 min. in wall clock time (30 min. usermode time). VM will be the bottleneck during usage of DrScheme, due to the small RAM and the current massive leakage when Check Syntax is run (which hopefully they'll fix soon). Once the leak is fixed, looks like the minimum RAM requirement for a box with DrScheme atop Linux and XFree86 may be about 32MB. Which means that people in developing nations and elsewhere who rely on antiquated donated computers would probably need at least a P-90 or P-100, since few discarded 486s or lessers would have 32MB. Anyone know about DrScheme 200 memory usage on Macs, and what models of Mac would be adequate?
Article in today's NYT by Katharine Q. Seelye, "TV Drama, Pentagon-Style: A Fictional Terror Tribunal":
The Pentagon was eager to oblige, because, in the wake of Sept. 11, the military sees what television analysts call "militainment" as one of the most effective ways to get its message across, free of the filters of a critical press corps. In addition to "JAG," the Pentagon is cooperating with three other television shows with military themes, including one on VH1, a cable music channel.
This journalist and a handful of others excepted, we still have a critical press corps?
Urgently need to purchase an inexpensive printer that will do good-quality LaTeX printing from Linux. Only want to get 500-1000 pages out of it, and then give it away by the end of summer. The $80 DeskJet 845C or $70 825C would probably suffice, but that's more than I'd like to spend. The bottom-end used ones I'm finding on Ebay are problematic, or not cost-effective after shipping charges factored in. Trying to find a used one in town.
A late-night email on Guile developer morale.
My inbox overfloweth yesterday with emails from people enthusiastic about the packaging of SSAX for PLT. Was distracted with other matters yesterday, but I'll sort through your emails and probably do some more work this weekend.
Saturday means replacing shelf paper that appeared to have been applied in the '50s.
Media Lab people: Medialabber is back online, plus NeCSys have made a better one.
Cadre people: I merged Karen's and Jim's spreadsheets into the Cadroids page; let me know any corrections.
A couple weeks ago, a reader of my weblog sent a very nice
letter suggesting how the Ruby language might fit my needs. I'm
sorry I couldn't respond personally, but the original email is hiding somewhere
deep within my backups. Anyway, I'm currently intending to use PLT Scheme for most of my research prototyping work, and I prefer Scheme as a
language to Python and Ruby. One of my secondary motivations for wanting PLT
to work out is that I can easily see using it as a programming platform for the
majority of an undergrad CS curriculum, if I go the professor route in a couple
years (see 27-Mar-2002 email to plt-scheme list). Language-wise, functional programming, block-structured
imperative, and class-instance OOP can be taught with PLT. This could be
supplemented with Prolog for logic programming, and C/assembler for compiler
and OS courses. Now, if the PLT developers can just find that memory leak in
200alpha involving Check Syntax... Oh, and make a pretty GTK 2 version...
The Scheme family welcomes refugees from the Common Lisp cult. We welcome you with open parentheses!
Released a new port of SSAX to PLT Scheme.
Here's the version of the plt-cvs-build I've been using lately.
I wonder how well this spam is targeted in general:
From: special032102@jobseekernews.com To:nwv@media.mit.eduSubject: Earn Your Degree Online! Date: Mon, 25 Mar 2002 12:41:30 -0500
Did a quick port of Oleg's SSAX and test suites to PLT 200. Now to grab the latest from CVS and make a cleanly-packaged PLT collection out of it.
Amusing: reportedly, Bynari, makers of an alternative to Microsoft Exchange, are gratuitously blocking access to their Web site by hosts on the corporate network of Ximian, embracers of Microsoft proprietary standards.
Googled for inspiration:
media inspiration | Your browser does not support frames! Please download the latest version of internet explorer. www.mediainspiration.com/ - 2k - Cached - Similar pages
The area around Central Square, including Area IV and Cambridgeport, has a wealth of commissioned brightly-colored murals embracing the ethnic diversity of the neighborhoods. The murals also shield the adorned building sides from taggers. I've been doing snapshots of them spontaneously over the last year, and snapped The Potluck: The Area IV Community Mural early the other morning before it became partially obscured by cars (but unfortunately while it was still partially obscured by building shadows). This summer I'll have to do planned photographing of the murals on weekend mornings and afternoons, to get lighting and shadows right.
Good article: A Whirlwind Tutorial on Creating Really Teensy ELF Executables for Linux
Taking a closer look at Oleg Kiselyov's Scheme-based SSAX XML parsing framework. A quote from one of his conference presentations:
As one example, errata E62 changed the interpretation of white spaces in NAMES and NMTOKENS productions; it was later rescinded by errata E108. The latter was rescinded by E20 errata of the second edition. It's hard to believe that white space would cause so much controversy.
As predicted on 9 Feb 2002, Ebay is now forcing you through Mediaplex when you click on some categories on their front page, without leaving the target URL human-readable so you can edit out the Mediaplex part:
http://altfarm.mediaplex.com/ad/ck/SomeNumericId↵
?mpt=AnotherNumericId
Unfortunately, past experience of competing auction services has shown that Ebay has a virtual monopoly, so I don't think that this will cost Ebay customers.
Farber, PGN, and Weinstein dish it out in Overcoming ICANN: Forging Better Paths for the Internet.
Fight back against sgml-mode getting in the way of
psgml:
(setq auto-mode-alist
(let ((cleansed '()))
(mapcar (function
(lambda (pair)
(or (eq (cdr pair) 'sgml-mode)
(setq cleansed (cons pair cleansed)))))
auto-mode-alist)
(reverse cleansed)))
From the update-alternatives(8) man page:
--test Don't actually do anything, just say what would
be done. This option is not yet implemented.
The reprehensible Digital Millenium Copyright Act (DMCA) was used to remove from Google links to a Web site critical of Scientology which, as Google becomes the way of locating information, could be a useful little test case. Removing an independent site from Google is becoming tantamount seizing a printing press. (Whether or not criticism of Scientology in the first place is fair play in a land where equally ludicrous religions reign is irrelevant.)
It appears that Morpheus from Wurld Media trojans users' Web browsers. This particular one is slightly more benign in immediate effect than spyware that has been tried by companies like Microsoft, Real.com, etc. The real issue is whether or not other people should be allowed to secretly install software on your computer that enables them to spy on you (or to control what information you see, or to cause your computer to attack other computers, or to cause your computer to credit them in referral programs or polls, etc.). Some in business and government think the answer should be "yes," and the majority of citizens don't understand why that is such a bad precedent.
Update of Sample Junkbuster Blockfile.
Got up early this morning and walked to the wet Central Square for cocoa and a bran muffin. The photo was taken at 6:39am, when the rainy weather kept the square more calm than normal. More clean than normal, too.
I'm receiving much more spam than legitimate email lately, and
almost all of it is being injected in either China and South Korea. The cost
of spamming is so low that the problem is not going away by itself. Banning
all of .cn and .kr seems like a bad idea wrt
warm-fuzzy worldwide cooperation and open communication. Heuristic and
collaborative filtering are inadequate. I don't have a good solution if the
operators of the hosts that are used for injection cannot be made to accept
responsibility.
This afternoon I'm looking at the current state of XML Web standards work such as SOAP.
It appears that, over the weekend, I set back the Linux effort at least a person-week by getting a dozen developers hooked on Frozen Bubble.
Poor Salman Rushdie it's easy to see that life on the run from murderous religious extremists is a living hell.
It's starting to snow outside. And the furnace has not been working since Thursday of last week. But heat wave expected later in the week.
"The Boston Globe, Boston.com, WCVB-TV, and MIT are undertaking a major exploration of the options for the Central Artery land, called 'Beyond the Big Dig.' The project brings together business leaders, landscape architects, urban planners, academics and community advocates to explore the issues and consider the alternatives for this prime downtown land. The culmination is a Town Forum at Faneuil Hall on May 30." A strong pro-business bias is to be expected, but some of the discussion may be interesting.
Avocados subtle, complex, tasty on sale for 79 cents at the Harvest Co-op, which is less than half of what I normally see them around town for.
Massachusetts didn't really have its share of dotgones, but car-enabled vultures can descend on Lowell for an auction of Mission Critical Linux assets. No Aerons.
At the moment, Weather.com says "27°F (Feels Like:
18°F)," which the apartment furnace thinks is perfectly habitable.
Am running apt-get upgrade on both desktop and laptop
simultaneously to heat room.
While cleaning up some files Friday night, I found a Doom 2 WAD of a certain cubicle farm, which I made in early 1995. The adaptation of the modular partitions and tabletops was fairly accurate, and you could jump up on the desks and let loose with a rocket launcher against occupants of other cubicles. IIRC, the most fiercesome monster managed our ClearCase CM system.
In this article, a long-time IT industry trade rag demonstrates that they think one of the least information-carrying words on the page is more useful to highlight as an underlined red hyperlink than all the more interesting words on the page. Note the prominent search box at the top of the page, which could be used by readers of the IT publication who didn't already know that word, or who were interested in searching for all other articles in the IT weekly's archives that contain that word.
The object system in PLT Scheme 200 actually looks pretty sensible.
Not as flexible as CLOS, and the send syntax is a little annoying
aesthetically (at least if you're only invoking one method on a receiver at a
time), but PLT's object system appears to have better encapsulation and
checking, in addition to conveniently representing fields as variables bound in
the environment of the object instance.
Hacked Emacs 21 to fontify Funcelit comments. I should probably release the Funcelit processor and an
Emacs add-on for it shortly after Guile 1.6 release. Though we should probably
be moving from Texinfo to XML/SGML at some point. Mailed a note on documenting Guile add-on modules to the guile-devel list.
Just before midnight Thursday night, found and reported what appears to be a Goops bug for accessors of redefined classes.
So, the universe is a light beige, just as I predicted in 2002, "when my life and perceptions were changing with the speed of light, there were many things I knew to be true, although I couldn't tell you why." (courtesty of NTK).
Two things in the Lisp/Scheme world that I continue to find disconcerting: (1) limited opportunity for static checking; (2) trying to do information-hiding in CLOS.
Reported two bugs against Goops in the Guile 1.6 release path.
First is that giving a primitive thunk as init-thunk in a class definition
causes a SEGV at instantiation time; workaround is to wrap
primitive thunks in a lambda form. Second is that Goops quietly ignores unrecognized make keyword arguments, rather than signaling errors
at run time, so some invalid programs due to typos or to accidentally-undefined
accessors are not caught when they could be.
Today's tiling wallpaper image comes from Diesel Sweeties.
Put up a page to distribute SICP in Texinfo Format.
Actually considered for a moment implementing the macro
(let-if ((binding ...)
test
consequent)
alternate)
where test and consequent are within scope of bindings, but alternate isn't.
While doing some sockets hacking in Guile this evening, I
remembered that it has neither when nor unless, hence
my eleventh-hour plea to get them into 1.6.
The stairs of the remodeled MIT Museum catch the eye as you walk past (22-Jan photo). A huge facade improvement over industrial slum warehouse look it had before. At the top of the stairs is Doc Edgerton's famous photo of a bullet through an apple. Edgerton worked in MIT Building 20, which was the subject of my little Building20 Memories project.
Keep hoping I never again have to live off this.
You'd think high-profile spammers who use their own US-based servers for injection would be easy to cut off:
To: abuse@exodus.net Subject: bcentral.com / listbuilder.com spam haven Date: Thu, 7 Mar 2002 22:38:01 -0500 Hi. I have once again received spam from "bcentral.com" / "listbuilder.com", despite having opted-out in the past. I understand this is some kind of spam operation run by Microsoft. Could you please terminate their Internet connectivity? Thanks.
Sample chapter from Free as in Freedom, a biography of RMS. Almost makes me want to break my No Paper Books Rule (more on that later).
Looks like Guile 1.6 may be released in a week or so, and my interest is re-piqued. Conclusion on Serveez is that I'm better off using pure Guile and managing the event loop and buffers myself.
I'm still working with PLT Scheme and dabbling with Python too, and
can switch back to Java at any time, so I'm mostly set for research prototyping
tools. At least for those research projects that don't require a
non-Web-browser GUI. I
Message to developers of relatively popular dynamic languages: optional static type checking is not a dirty word.
Having coredump problems with Serveez when used from Guile. Thought I might have found the trigger, but then the coredump quickly reappeared. Even before the coredumps, I'd decided that Serveez had cost more work than it saved for my particular application.
I've been investing in trying out various language implementations, tools, libraries, etc., trying to find a better platform for research. So far, I've ended up disappointed with the vast majority of software I've tried out.
We actually have clear skies in Cambridge this morning, and enough sunlight to make color patches in Central Square (snapped shortly before 11AM). It's been a mild winter thus far. But, given how schitzoid New England weather is, we should see alternating snowstorms and heat waves every week for the next few months.
Construction on the Stata Center is beginning to reveal the Gehry design. I'll admit to having a personal taste preference for Fumiko Maki's Media Lab Extension design. Makes you want to go sign up for M.Arch.I, doesn't it?
A friend who was browsing a random Web site was surprised to see an "Amazon Honor System paybox" on the page greet her by name (Web page reproduced here without a name). Technologically, this is not at all novel banner ads and Web bugs from Doubleclick, Microsoft, and other companies have been tracking people's identities across many sites for years. The interesting difference here is that some independent company is exposing to you the fact that they know who you are and can track your visits to some other Web sites. Presumably, Amazon felt exposing this was worthwhile, perhaps for psychological effect in getting the user's attention or adding pressure to the "honor system."
The Amazon Honor System how-we-know page states "We do not keep or attempt to construct a record of the Web sites you visit." But we know such assurances to be ephemeral and, in any case, virtually unenforceable. And Amazon is the same company that used the indefensible "one-click" patent to help squeeze out competition at a crucial point, so their moral fortitude is questionable, in my opinion. Please to be enjoying my (just-updated) Sample Junkbuster Blockfile, Amazon Honor System.
You can write Perl in any language:
(map-set/default! (method uri version)
(string-split-on-chr str #\space)
#f)
So I quickly did:
(let-map/default ((method uri version)
(string-split-on-chr str #\space)
#f)
...)
Church school and representative government are the foundation of a Christian commonwealth. One must understand this, to understand Massachusetts.
The second edition of Dybvig's The Scheme Programming Language can be imported into the DrScheme 200 Help Desk in the same
manner in which we imported SICP. One reason to have TSPL handy is to complement the
discussions of syntax-case that appear in R5RS and the MzScheme
language manual.
DrScheme's Check Syntax feature was highlighting Dybvig's code in flaming red (due to PLT bug 5302).
Went outside a bit after 2am Wednesday night, and found a man who appeared to be dumpster-diving the trash bags and recycling that I'd set out on the curb. This was not unusual, since homeless people often sift through recycling bins for cans and bottles with deposits except for the fact that, instead of pushing a shopping cart, this man had a black sportscar idling in the street. And he took several minutes. But he left everything neat.
Decided to just ignore concerns of space&time, and use GOOPS when programming in Guile. Life is too short to deny yourself multimethods.
As I learn more of Scheme, I find that, when Scheme doesn't offer me an elegant answer to a question, I want to spend a lot of time considering whether it's the question that's inelegant.
In addition to boasting MIT and Harvard, Cambridge is also home to the Center for High-Energy Metaphysics.
© Copyright Neil Van Dyke Contact