Moss's Bloglet

About

This is the personal weblog of Moss Collum, a programmer living in Healdsburg, CA. I mostly blog about tech stuff, linguistics, politics, and fun things I find on the web, but there's really no set topic.

If you've found this page through Google, I hope it helps. The search tool may help find the exact post you're looking for. If you want to see what I've posted lately, you can go to the front page of the blog.

If you're someone I know, you probably already know about this blog and come here regularly, but if not, please leave me a note: chances are I'd be delighted to hear from you.

If you want to contact me, you can email me at gmail (where my address is my first name dot my last name), or just leave a comment here.

Note that the "Bloglet" of my page title is the Perl script I use for my blogging, not the other, better known Bloglet.

Journal

Oh, right. If you know the language and it's formatted well, you don't notice the parentheses. Okay then. _
respond? (1)
04:02:43 PM, Friday 26 May 2006

-

I talk about wanting a language with a very small core, but really, there are two different senses in which I could mean this. On the one hand, there’s the core in the sense of the set of primitive functions and types in terms of which the rest of the language is defined. But on the other hand, there’s also the core in the sense of the minimum that has to be implemented in another language before the language can exist—what you might call the bootstrapping core.

For example: in Lisp, read can be defined in terms of more primitive functions, such as read-character. But you can’t read this definition unless you first implement read in another language, because there’s nothing to read it in with.

It’s kind of like the difference between things that are first to us and things that are first in themselves.

_
respond? (7)
09:03:41 PM, Tuesday 23 May 2006

-

So I've read "Technical Issues of Separation in Function Cells and Value Cells", and I guess I can see how it's a more complicated question than I might have thought, but I still can't see the use of Lisp2 as anything but pure cruft. On the other hand, Common Lisp has a substantial and useful standard library, and Scheme doesn't, particularly, so I doubt I can avoid Common Lisp forever. Such is life. _
respond?
02:19:25 PM, Tuesday 23 May 2006

-

A couple of good programming language features on what you might call a cultural level: a standard format for embedded documentation (PerlDoc, JavaDoc, RDoc, etc.) and a standard package distribution format. It might even be nice to explicitly give sources for packages when including them, as in:
import AutoTemplate version 1.1 from dev.m14m.net
(One assumes this would look for a local cache first. Ideally it could also look for a cache at some central repository, too.) _
respond?
08:43:26 PM, Monday 22 May 2006

-

Well, that's three Programming Posts in a row, so it must be time for another Political Musing Inspired By Something On Chris's Blog: A lot of people seem really offended at the thought that Starbucks workers would think of unionizing, apparently on the grounds that they've already got it better than a lot of people. This doesn't really surprise me, the Internet being the terribly libertarian place that it is, but it doesn't make sense either. The point of unions isn't to fix only the most terrible problems, it's to give all workers a better bargaining position, so that they can keep more of the wealth they work to create. Who should join a union? Anyone who can benefit from it. It's as simple as that.

This is not to deny that there's an enormous range in working conditions in the world, and that Starbucks workers have it, comparatively, pretty good. Those of us who live in relative comfort should realize that there's a long way down to go. But it seems to me that the other side of this is realizing how many interests all workers have in common.

(On a related note, it seems to me that, if you're worried about your job leaving the country, the really revolutionary thing to do is to fight for better working conditions in the countries it would go to. If other people are no easier to take advantage of than you are, that's a more level playing field than you could get from any kind of tariff.) _
respond? (10)
02:21:30 AM, Friday 19 May 2006

-

Yet another way of putting it: S-expressions are good for representing lists, but they aren't very good for representing lists of lists, and they're pretty bad for representing deeply nested lists of lists. But the thing that makes Lisp so flexible is not that it uses S-expressions, it's that it uses lists. So maybe it would be good to use a format that's better for dealing with the kinds of lists Lisp uses. (It could also be good, as Ron Garret suggests [PDF], to use associative maps instead of lists, at least for some things). _
respond?
08:48:08 PM, Thursday 18 May 2006

-

It occurs to me that what I want in a programming language can really be summed up pretty concisely: The syntax of Smalltalk, the flexibility of Lisp, and the speed of C. _
respond? (9)
03:33:51 AM, Tuesday 16 May 2006

-

Something that's surprised and delighted me lately, while researching how compilers work, is the discovery that even a compiler--seemingly the program most inextricably bound to the details of a particular architecture, because it has to generate machine language--can be written in a reasonably cross-platform way. As far as I can tell, what a lot of them basically do is first compile from the source language to a slightly abstract generalized assembly language (something like what bytecode-compiled languages do), and then, in another (machine-dependent) module, translate that into machine language. _
respond? (1)
06:36:55 PM, Friday 12 May 2006

-

Howard Dean: The Democratic Party platform from 2004 says that marriage is between a man and a woman. That's what it says. [via Gillen]

Abraham Lincoln: I will say then that I am not, nor ever have been, in favor of bringing about in any way the social and political equality of the white and black races, that I am not nor ever have been in favor of making voters or jurors of negroes, nor of qualifying them to hold office, nor to intermarry with white people

Now, I obviously intend some analogy between these two cases, so it seems like a bit of a cop out to admit that I don't really know what my point is. Maybe just that the analogy is there.

That we shouldn't pay too much attention to what politicians say when they're trying to get elected? Well, no: it's true that politicians pander, but Dean didn't do much for gay marriage in Vermont, and Lincoln showed no more interest in abolishing slavery before the war.

So, that there really is no difference between the parties, and Thus Has It Always Been? But of course, that's not it either.

Maybe just this: that whatever Lincoln and Douglas had to say about it, slavery did end. The parties always do belong to the powerful, and the powerful always fear change, but their power isn't absolute. _
respond? (8)
02:24:45 PM, Friday 12 May 2006

-

Remember, the enterprisocity of an application is directly proportionate to the number of constants defined _
respond? (3)
02:24:42 PM, Friday 12 May 2006

-

Ladies and gentlemen, The Internet:


PEOPLE WHO SAY POP ARE EMASCULATED EUNICHS. IT'S SODA, YOU EFFEMINATE JERKFACES!
-
People who say "Pop" are much, much cooler. LIAR FAKE
-
Hey Southerners. Can I offer you a Ford automobile? What kind? Oh, a Mercedes, maybe a Ferrari. To you guys they're all Fords right? Idiots.
-
Anyone that says "pop" sounds like a retards and should just call it soda, why would you wanna say "pop" anyways, you could be describing anything from a sound to your dad!
-
Since both Coca-Cola and Pepsi originated in the South, the Southern term of 'coke' is the correct term. Native American tribes could name themselves, no Englishman got to name the Sioux a 'more proper English term' so the rest of the country must pipe down and ask for 'coke'.
-
Ryan Wilson is the king of Shasta High!
-
TANA RAULSTON IS THE HOTTEST GIRL EVER TO USE THE WORD "POP" EVEN THOUGH SHE IS WRONG BECAUSE YOUR SUPPOSED TO CALL IT "COKE" NO MATTER WHAT THE HELL IT IS.
-
Jared eats poo
-
soda or pop - sure, I can see how it could go either way. But people who call a Sprite a "Coke" are just stupid. Coke is a brand name. It's a registered trademark. It is Coca-Cola. That's what Coke is. "A Coke" is one serving of Coca-Cola. That's the only thing it is. I think it's because in the South you have so much practice convincing yourselves that ridiculous propositions like "Jesus Saves!' and stuff are true, that you can convince yourself that ANYTHING is not incredibly stupid and inbred. The correct term for a 7UP is "Coke"??? Jesus Christ, it's just so dumb.
-
mutha effin soda biatch
-
If some retard wants a coke but asks me for a SODA in my restaurant, they'll get a SODA...as in soda water (i.e. scotch & soda). If you want a Coke, ask for a Coke!
-
Satan
-
Ninja Juice
_
respond? (7)
06:00:33 PM, Wednesday 10 May 2006

-

Amusing observations at last.fm: two of my top artists this week are Brian Harvey and Immanuel Kant. _
respond? (1)
04:04:39 PM, Monday 8 May 2006

-

Bruce Schneier's comments from a while back, about how easy it is to fly on someone else's airplane ticket, make me happy, because I've noticed the same thing the last couple of times I've flown. This kind of security theater is just maddening to me: it does nothing to make people safer, but encourages them to accept routine intrusions on their privacy. _
respond? (4)
03:29:56 PM, Monday 8 May 2006

-

Speaking of language-specifying god Guy L. Steele (which we were, sort of indirectly), and of filk (which Sarah was, anyway), the Telnet Song is very amusing. If you're, you know, an enormous geek. _
respond?
03:20:23 PM, Friday 5 May 2006

-

The accepted narrative about the recent Colbert thing seems to include the idea that, in the video, there are clearly a lot of unhappy people in the audience (though this may be presented as either "he bombs horribly because he's being so inappropriate" or "they're squirming because they can tell he's onto them"). But someone on Flickr has compiled screen shots of the audience reaction, and it sure looks like most people are laughing. Hell, Scalia's unrestrained glee at the whole thing is impossible to miss even in the video. _
respond? (3)
02:44:33 PM, Friday 5 May 2006

-

The really, really good thing about Lisp’s syntax: program code is represented using the two most basic data types in the language, lists and symbols. This means code is, not just data, but particularly easy-to-manipulate data. It also means that the textual representation of source code looks just like the data representation of it.

The bad thing about Lisp’s syntax: it’s completely crap. The excessive parentheses are terribly hard to keep track of, even if you format your code well and your text editor helps you out. For a lot of things, prefix notation is really dumb.

An important lesson from newer dynamic languages: good notation is an enormous win, and less notation is usually better. Ruby is at its best when it reads like English text, with no symbolic programming junk. My favorite thing about Python is the way it delimits blocks by indentation, rather than having to surround them in annoying braces. In Lisp, you have to surround every expression in annoying braces. (All that said, a bit of well-chosen symbolic notation can be incredibly nice: quote in Lisp is one good example, and blocks in Ruby are another).

A lasting truth: being able to do something elegantly doesn’t help unless that’s also the canonical way to do it. I can (define first car) all I want, but it won’t make anyone else’s code more readable, and it’ll just make mine more confusing to people that already know what car means. I can use English in every Perl script I write, but it still won’t keep legacy code from looking like line noise. This is why syntactic sugar isn’t necessarily very helpful: if it just feels like an optional abbreviation, rather than The Most Natural Way To Do It, then people won’t bother using it.

Therefore: ...well, I’m still working on the therefore. A better Lisp—or a better dynamic language with the same syntactic advantages of Lisp—would have to have better notation for things, and hiding somewhere in this observational thicket is the path to that better notation. I’m not there yet, though.

One seemingly unconnected thought: The best thing about object oriented programming is polymorphism. It lets things look the same, so that you don’t have to worry about what they’re like inside.

_
respond? (12)
10:50:30 PM, Wednesday 3 May 2006

-

A useful heuristic: if the words "bloggers" and "journalists" appear together in something, it probably isn't worth reading. _
respond? (4)
02:03:37 PM, Wednesday 3 May 2006

-

One of the many fascinating moments in Regency House Party was the episode in which a prominent abolitionist visited the house. Among other things, she urged everyone, over breakfast one day, to give up sugar, which (at that period in history) was typically grown by slaves. The reactions of the regular cast seemed appropriately in-character for the period: one decided that it would be a good idea to give it up for the week that she was visiting, but another was terribly offended, and considered it tasteless to bring up such things over breakfast. (It was months ago that I watched this, so I may be misremembering some details).

All of which brings me, in a roundabout way, to my current thought: I'm wondering what everyone things of the idea of giving up products of slave labour. _
respond? (3)
10:02:40 PM, Tuesday 2 May 2006

-

I realize that my last post about V for Vendetta wasn’t really very substantive. I don’t know that it’s worth going into much detail, but if I don’t say anything it feels like I’m just being coy, so I may as well sketch out my reactions.

I think there were three main things they did wrong in the movie (as well as lots of little things that bugged me):

1) They failed to show how entirely human the fascists were. In the book, they felt like real people: frightened, self-interested, nasty, often profoundly messed up, but still basically real people trying to make the best they could of a bad situation. In the movie, Finch got to be real, because he was a Good Guy, but the others were just Big Brother and his mindless servants. This also made it hard to understand why anyone would be taken in by the fascists in the first place, and indeed, in the movie, they didn’t seem to be: whenever we saw the public, they seemed to be laughing off everything the government said.

2) V, on the other hand, they tried to make too human. V in the book never quite feels like a person. He feels like the embodiment of an idea, and this is what makes him so convincing as a psychopath. The scariness and unreality of V is the reason Moore can get away with putting such strident political rhetoric in his mouth: he undercuts his own ideology by showing what it’s like without some humanity to anchor it.

3) Finally, anarchism seems to have been totally erased from the movie. Now I can understand why they would want to do this—anarchism often comes off as pretty silly and naive, and they were trying to make a Serious Political Point—but it means they miss one of the most critical things about the fascism in the book, which is that it’s something the people have done, or allowed to be done, to themselves. In the book, V goes into explicit, and harsh, detail about this. The movie pays lip service to the idea, but on the whole the fascists feel like a few evil people who have somehow taken control of the innocent masses. This is played up even more by the hints that they faked the disaster that originally brought them into power. And as a natural consequence of all this, V seems to become the new Heroic Leader, rather than showing people that they have to lead themselves

_
respond? (5)
07:39:26 PM, Tuesday 2 May 2006

-

An excellent summary of why the glass flow thing (the claim that glass is really a liquid, and that you can see evidence of this in old windows where the glass has flowed down toward the bottom of the window) isn't true. _
respond? (6)
03:21:53 PM, Tuesday 2 May 2006

-

Happy Labor Day! _
respond? (7)
08:24:14 PM, Monday 1 May 2006

-


Use The Other One _
respond?
06:47:50 PM, Monday 1 May 2006

-


The Party _
respond?
12:49:15 AM, Monday 1 May 2006

-


View _
respond?
10:39:15 PM, Sunday 30 April 2006

-


Outside 2 _
respond? (1)
10:35:24 PM, Sunday 30 April 2006

-


Outside 1 _
respond? (6)
10:30:21 PM, Sunday 30 April 2006

-


The tree I'm posting from (detail) _
respond?
10:26:24 PM, Sunday 30 April 2006

-


The tree I'm posting from _
respond?
09:56:49 PM, Sunday 30 April 2006

-

Rafe Colburn: Every morning I get up and read something in the news that makes me want to throw up. So I share.

...yeah.
_
respond?
12:49:14 PM, Wednesday 26 April 2006

-

Sorry Hobbes was all fuckedy while I was off at Croquet and unable to fix it. It's back now! _
respond?
08:45:10 PM, Monday 24 April 2006

-

The consensus [1, 2] seems to be that we should meet at 49 West at 11:30 on Saturday (in practice, probably trickling in between 11 and 12). It's not a terribly detailed plan, but it's worked in the past, so lets go for it. _
respond? (14)
01:19:21 PM, Friday 21 April 2006

-

One thing I'll say about Iran, it sure is an apt demonstration of how effective violent revolution is at making things better. _
respond? (5)
11:39:58 PM, Thursday 20 April 2006

-

So I've been playing with the Dojo Toolkit, and it looks pretty cool--in particular, I seem to have set up an interface for writing Bloglet posts in a rich text editor, and it wasn't even particularly hard. I'll see if I can get it polished up enough that other people can use it. (If y'all are interested. What it basically means is that it feels more like using a word processor when you write blog posts: you can select stuff and hit buttons to boldify it, or make it into a link, or add a list, rather than having to enter HTML manually.)
_
respond? (3)
08:43:11 PM, Thursday 20 April 2006

-

How much more complicated than a detailed functional spec does a program's source code have to be? _
respond? (6)
05:16:01 PM, Thursday 20 April 2006

-

Advice for Christopher:

At the store, search through the rock-hard avocados for the two or three that are perfectly ripe, or just on the edge of being ripe.
Eat the best of them that night.
Leave the rest out, and eat them the next day.
If one of them is not right--too hard and watery, or brown and stringy--throw it out. You may need to get extras, just in case.
All this may mean going back to the store every day or two for new avocados. Well worth it! _
respond? (10)
05:39:29 PM, Wednesday 19 April 2006

-

So, we went and saw V for Vendetta last night.

I didn't realize it was even possible to miss the point of something that completely.

(Further exposition to follow later, or not, as the mood strikes me.) _
respond? (9)
01:34:35 PM, Sunday 16 April 2006

-

older entries

Archives

Search blog

Browse by date

Recent activity