Archive for the 'Technology' Category

Performing music without performing

An idea for a way to sculpt music

I am a musician. I play the piano. I don’t play as much anymore, because my wrists are not amenable to such abuse. (My technique sucks. I blame one of my teachers.) I also program computers. My wrists don’t complain as much about this. (If you spend more than a quarter of your programming time at the computer actually pressing keys or moving the mouse around, you’re doing something wrong.)

I think the root of my enjoyment, for both of these, is taking pleasure in creating complex, beautiful things. And yet, I’ve always enjoyed programming more. Why? Because while coding well takes coordination and practice, the end result is an object. And an object that can be improved, more and more, each time you work on it. Whereas with piano, the coordination and practice are an integral part of the end result. The result is a performance, and each performance has mistakes and problems. With every new performance, you get thousands of new chances to make mistakes. The only way to improve a performance is to practice it, over and over and over, until the number of mistakes goes down to something managable. (Even if you get all the notes right, you always make mistakes. Good pianists can intentionally produce around two dozen different loudness levels, and can tell the difference between a note hit at the right time, and a note hit a tenth of a second too soon or too late.) Code is perfectable, and permanent. A performance is not. Working on code, you’re always doing new things. You don’t repeat yourself more than necessary. Once you get something right, it’s right. Working on a performance, you’re slowly training an obstinate and inattentive nervous system to do something replicable.

Continue reading »


My take on the singularity

You can add two numbers together. Adding bigger numbers results in bigger sums. Adding more numbers results in bigger sums. But when you generalize the process, to multiplication, you now have the ability to succinctly represent huge numbers, much more easily than with addition. Multiplication can be generalized, to exponentiation, and exponentiation can be generalized as well. Even the processing of creating new generalizations can be generalized.

A generalization is like a paradigm shift. In the history of the universe, human language, especially the written word, was a paradigm shift, from unintelligent directed processes evolving complexity, to directed intelligence creating complexity. The next paradigm shift is with directed intelligence creating intelligence, and it’s just as large as the previous one. Much bigger than the printing press. Much bigger than the industrial revolution.

I don’t think any arguments about the “rate of change” really hold water, because a paradigm shift causes a discontinuity in many trends. At best, rate of change arguments can show how specific technologies that will help us understand the nature of intelligence, and eventually to recreate it, are being developed at a rate to where by year X we will have Y resources available to throw at the problem of intelligence.

So, is it possible to create intelligence? Yes. It logically follows from naturalism. Evolution created intelligence, and intelligence is simply a computational process, (as every physical thing is,) so humans can create intelligence using any Turing complete machine, i.e. a sufficiently fast computer. The question of whether we will have the ability to create intelligence within the next twenty or two hundred years requires a lot more argument, but this is the starting point.


Classical music in your car

I’ve written a plugin, designed to be used with the free audio editor Audacity, that makes it easier to listen to classical music, or other music that has a wide range of volumes, at low volumes or in high noise conditions (such as in your car) so that you can still hear the soft parts.

For a long time now, I’ve listened to classical music less than I might like to. A lot of that is because listening to classical music is hard. You have to turn the volume up to hear the soft parts, and then either turn it down when it gets loud or have it be loud enough to be distracting (or painful). For instance, in the car, there’s a lot of noise from the road, so even at normal volumes it can be difficult to hear some of the soft parts. And some albums and songs are so quiet that many players can’t be turned up loud enough to hear the music, even in quiet conditions!

I’ve sort of put up with this problem for a long time, but it really hit home how inconvenient it is the other day when I was driving with some friends. I changed my mp3 player to some Debussy piano solos (from his Children’s Corner suite, really nice stuff) and tried to play some of it for them. Well, it failed pretty miserably. It was so quiet, even with the volume all the way up, that you couldn’t even hear anything below a mezzo-piano, and the tape adapter was already so noisy (not to mention the harmonic distortion) that enjoying the music was basically impossible. And I realized: if only this music were as loud as normal music, they probably would have really liked the tracks. So the low volume of those songs actually turned two people off of classical music. What a shame!

Go to the project page.


A way to manage comments threads

Being a meta blog as Metablog is, I want to start getting really meta. I know I was going to review truth mapping, but I feel really conflicted about that, and so I’m going to put it off.

In the meanwhile, I’ll introduce an idea really similar to truth mapping that I think could be a good way to handle the problem of comments threads just getting too damn long to read. The author of the post, as part of their authorly duties, integrates all the substantive comments into the main body of their post, as part of a sort of socratic dialogue. They don’t update the post itself as comments are coming in, but keep a copy in draft. Then, when comments have slowed down, they can post an updated version of the post with integrated comments. This can probably reduce the volume of words by 60% and still keep all the substance. It also has an advantage of making things much more clear to everyone, and of not violating commenters’ expectations enough to really discourage participation.

I imagine the integration would proceed by first directly modifying the post to incorporate criticsms and suggestions that the author agrees with. After that, there come criticisms that the author can empathize with, those being stated in their strongest forms as understood by the author. These might be a bit more distracting, so they could be formatting specially, using a special tag interpreted by the blogging software that would both indent, bullet, and hide the text inside the tag. Then to read it, you’d have to click on it to expand the text. Further, each of these little bullets could, optionally, have some explicit logical relationship to others, making it a “truth mapping” sort of approach.

Finally, this improved concoction could be posted “over” the old one, requiring special support from the blogging package, of course. You wouldn’t see the old one any longer, unless you clicked on a revision history link on the post. Most of the old comments would disappear as well. Finally, when the comments veer off in strange directions, they could be split off into new posts. If the author doesn’t really take an interest to a particular tangent, they can simply not moderate that new thread as much. Another blogger could even “take ownership” of the discussion, and comments could be transferred to the other blog where moderation and integration could proceed in the new venue.

There are some comments, however, that don’t really fit in to be integrated into the post, but the author might feel are worth keeping in the latest revision. So it might be necessary to mark each comment as “keep” or “leave”. Or perhaps it would be easier to simply mark certain comments for deletion when their contents are integrated into the main body of the post, and let other comments be assumed to be worth keeping.

All this sounds really labor intensive, doesn’t it? Well, it really is labor intensive. But I think there would be a lot of benefits. Posts would have a lot of reuse value. Instead of having to argue this or that point ad infinitum in some comment thread, one could instead simply link to the relevant parts of the post, or perhaps copy and paste. The results of that new discussion could contribute back to the old post. Futhermore, the bar to contributing to a really old post with a lot of comments would be a lot lower, because one wouldn’t have to read all the comments from old revisions, and so those old threads would stay alive and healthy longer. Plus, it gives more subtle and/or learned commenters more rewards for their efforts, and thus raises the quality of the blog’s commentariat.

This approach would require quite a bit of programming beyond what I’ve seen available in any system (except maybe Drupal), but I think its potential is large.

More than more explicit and formal approaches to debate modeling, I think this approach has the potential to catch on in the wider blogosphere, at least at the more serious sites. And it will give us the kind of experience and intuition and ideas we need to really know what we would want out of a more explicit system. So it’s a good first step.


Algebra-mode

So I’ve been wanting to learn math for a while. Really get a handle on calculus, learn some probability theory, and who knows what next? But I’m not terribly great at it. I have problems dealing with the algebra. Managable problems, for sure. But I have an itch. Why not make a program that lets you manipulate algebraic equations without error? I know exactly what form such a program would take.

And it’s not quite this. And it’s nowhere near this or this. Those programs can do a whole bunch, but they don’t do what I want to do. So what is it I want to do?
Continue reading »


Spam Rage

Why do people get mad about spam? It’s kind of funny to watch sometimes. Paroxysms of anger. Holy quests to eliminate it. Rightous screeds proclaiming the utter evil that are spammers. Frankly, it’s not the sort of thing that you would expect from a lot of the intelligent people whence it comes.

So what’s the explanation? I believe it all rests on a simple, but basic, misunderstanding. They fail to view the fact of spammers as an inevitable feature of the e-mail system as it stands. (And it is.) Instead, they treat spammers as a member of a social group (users of e-mail) that have broken the codes of that group. Social ostracism, and all that entails, is the natural and instinctual reaction.

But it’s a bad reaction. It’s not rational. Because of the systemic and inevitable nature of spam, and the hugeness of the system, no social sanctions are going to do any good. Social ostracism is worthless, because spammers don’t heed the codes of e-mail.

Spam is nothing more than a disease of the internet. A parasite. They don’t get mad and indignant at viruses do they?

So where do they get this misunderstanding? It’s an attractive proposition, sure. We’re all one big happy family. And spammers are just some of the less desirable members of that family. They can be reformed, or banished. These are all intuitions that evolved in an environment where pretty much anyone we had contact with was either someone to run from, someone to kill, someone to apply social pressure to, or someone to heed to social pressure from. In the modern world, on the other hand, we have interactions with a lot more people than we are in a position to apply social pressure to. Not everyone has really adapted to this reality yet.

Maybe it’ll come with time.