From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
<luqui> I'm going to go away to a tropical island with Wikipedia.

I love Wikipedia. I'm not as involved as I'd like to be, but I think it is one of the greatest things to happen to human knowledge in all history.

So, who am I? I'm Luke Palmer, best known for my work on Perl 6 (though, in accordance to the guidelines, I won't make a page about it since I'm so tightly involved in the project---it's probably a good guideline; I could go on for hours). I'm the guy sitting at the desk at I answer people's questions, and knock down their proposals. If someone has a good proposal, I forward it along to Larry Wall and the rest of the design team.

My current goal on Wikipedia is to modify the mathematics entries in order to make them more approachable to beginners. I'll jump in and read something like tensor, and either it will be way over my head, or it will be so abstract that I know nothing more when I finish than when I started reading the article. Then I look at derivative, and put myself in the body of a high-school student who has just finished Algebra 2. It feels about the same as tensor. I'd like to help the student understand derivative, because he might just be the one who helps me understand tensor.

<luqui> You should listen to my new freewrite.
<lurgyman> Uh oh...

I'm a composer. You can see my most recent work at Laura's MIDI Heaven, and on my website (that is, when it comes up again). I mostly write piano music in various classical styles, and I'm pretty good at it. I've worked on several orchestral pieces but haven't finished one yet.

I've sworn off contract work. I've done it in the past, and it completely destroys my inspiration for some reason. So my policy is "if someone wants to pay me for my music, great, but I don't let anybody pay me for music that I haven't written yet."

I tend to reject most of modern music theory. Not that I disagree with it, but simply that I don't care. Friends of mine have attempted to analyze my work: "I liked how you used the augmented seventh there", to which I reply "how who did the what where?" Yeah, I understand it (I understand quite a lot of music theory), but I certainly don't think about it while I'm composing, and it doesn't accurately portray why I make the decisions I do.

Mozart proclaimed "beauty before complexity." My opinion is that he forgot complexity altogether. Many music students proficient in music theory forget beauty. I prefer "beauty in complexity", which is rather different from the Romantic period, which was more of "beauty and complexity" (and the Modern period, "forget beauty and complexity—originality!").

<luqui> @files==>{-s=>$_}==>sort==>{.v}==>@sorted # Perl 6 "too many arrows" schwartzian transform

Of course I'm a solid programmer (you also see that I'm a solid egotist). It'd be tough to work with Perl 6 the way I do and not have a good, wide understanding of programming languages and software design.

My current opus is Glop, the Game Language Of Perl. It's a "game library", but I prefer not to call it that. It's a "game language"; thus the name. It's a collection of Perl modules designed to make game programming as easy as text processing. I've made a few games, and I was always annoyed by how much work it took to do the easy things. And I decided to actually do something about it.

It's a language more than it is a library, since it messes with how you think. It creates idioms and constructions more than a class library would. This is how I design software. Every program I write has a distinct language in which it is written. The language is either a vocabulary of Perl block constructions, C++ macros, mini-language wrappers around C (I use this to generate efficient code out of high-level specification), etc. And it's a technique that's a bit hard to get used to, but it's very effective once you get good at it.

I encourage every programmer "apprentice" that I have to do the same. Use all the features of the language. I have no qualm with goto, so long as it increases rather than decreases clarity. Build your own language around the one you know. Make programming as comfortable for yourself as you can.


I've made significant contributions to the following articles:


I'm in the process of writing/expanding/refactoring the following articles.