- Frameshift, “Walking through Genetic Space”: a track from an album inspired by the writings of Steven Jay Gould about genetics and evolution. The leader of the project is the lead singer of Dream Theater; the end result has a very DT like feeling to it. The album overall is quite good; bit this track is a slow ballad, and a ballad about genetics just doesn’t really work.
- Robert Fripp and David Sylvian, “Jean the Birdman”: Fun, interesting piece of work, from a project that David Sylvian and Robert Fripp did a few years back. Sylvian’s usual crooning voice, over his and Fripp’s guitar work. Very cool.
- King Crimson, “Starless and Bible Black”. A track from one of my all-time favorite albums – free improv from King Crimson in the “Red” days.
- Gordian Knot, “Muttersprach”: instrumental neo-prog rock from Sean Malone and whoever he can get to work with him. This track features a solo by Steve Hackett, the guitarist from the early days of Genesis.
- Jonathon Coulton, “Mandelbrot Set”: One of the greatest math geek songs of all time. What math geek could not love a rock song that literally includes the procedure for computing the mandelbrot set as part of the lyrics: “Take a point called Z in the complex plane/
Let Z1 be Z squared plus C/
And Z2 is Z1 squared plus C/
And Z3 is Z2 squared plus C and so on/
If the series of Z’s should always stay/
Close to Z and never trend away/
That point is in the Mandelbrot Set” - Väsen, “Slunken” Traditional Swedish music, prominently featuring the Nickelharpa – aka keyed violin. Väsen is absolutely amazin if you get a chance to hear them live.
- Tony Trischka, “Doggy Salt”: a track off of Tony’s latest, which is mostly duets played with other banjo players, including Earl Scruggs, Bela Fleck, and Steve Martin. Pure fun – exuberant music played by amazing musicians having the time of their lives.
- Tan Dun, “Water Passion after St. Matthew, 1st Movement”. A new operatic passion by the Chinese composer Tan Dun. Tan Dun is one of the finest composers working today, with a great range in his composing style. If you’ve seen the movie “Hero”, the soundtrack is also his work. The Water Passion is an extremely ambitious work, and damned if it isn’t completely successful. He manages to merge bits of traditional Chinese opera, modern semitone composition, and Bach-style fugues into a coherent and beatiful piece of music.
- Mogwai, “Moses? I Amn’t”: You didn’t think you were going to get through one of my friday random tens without any post-rock, now did you?
- Igor Stravinsky, “Concertino”: chamber music from Stravinsky, one of the musical geniuses of the 20th century. It’s very interesting listening to this shortly after Tan Dun; you can hear the influence that Stravinsky had.
Crazy Stack Games: Programming in Kipple
Insane Stacking
Todays pathology is playing with stacks. Lots of lots of stacks. Stacks for data. Stacks for control. Stacks out the wazoo. It’s called Kipple for no particularly good reason that I know of.
Kipple happens to be one of the pathological languages that I highly recommend trying to write some programs in. It’s crazy enough to be a challenge, but there is a basic logic to how you program to it – which makes figuring out how to write programs rewarding rather than just frustrating.
Not quite Basics: The Logician's Idea of Calculus
In yesterdays basics post, I alluded to the second kind of calculus – the thing that computer scientists like me call a calculus. Multiple people have asked me to explain what our kind of calculus is.
In the worlds of computer science and logic, calculus isn’t a particular thing:
it’s a kind of thing. A calculus is a sort of a logician’s automaton: a purely
symbolic system where there is a set of rules about how to perform transformations of
any value string of symbols. The classic example is lambda calculus,
which I’ve written about before, but there are numerous other calculi.
Basics: Calculus
Calculus is one of the things that’s considered terrifying by most people. In fact, I’m sure a lot of people will consider me insane for trying to write a “basics” post about something like calculus. But I’m not going to try to teach you calculus – I’m just going to try to explain very roughly what it means and what it’s for.
There are actually two different things that we call calculus – but most people are only aware of one of them. There’s the standard pairing of differential and integral calculus; and then there’s what we computer science geeks call a calculus. In this post, I’m only going to talk about the standard one; the computer science kind of calculus I’ll write about some other time.
Basics: Limits
One of the fundamental branches of modern math – differential and integral calculus – is based on the concept of limits. In some ways, limits are a very intuitive concept – but the formalism of limits can be extremely confusing to many people.
Limits are basically a tool that allows us to get a handle on certain kinds
of equations or series that involve some kind of infinity, or some kind of value that is almost defined. The informal idea is very simple; the formalism is also pretty simple, but it’s often obscured by so much jargon that it’s hard to relate it to the intuition.
Basics: Algebra
Basics: Algebra
While I was writing the vectors post, when I commented about how math geeks always build algebras around things, I realized that I hadn’t yet written a basics post explaining what we mean by algebra. And since it isn’t really what most people think it is, it’s definitely worth taking the time to look at.
Algebra is the mathematical study of a particular kind of structure: a structure created by taking a set of (usually numeric) values, and combining it with some operations operate on values of the set.
Basics: Vectors, the Other Dimensional Number
There’s another way of working with number-like things that have multiple dimensions in math, which is very different from the complex number family: vectors. Vectors are much more intuitive to most people than the the complex numbers, which are built using the problematic number i.
A vector is a simple thing: it’s a number with a direction. A car can be going 20mph north – 20mph north is a vector quantity. A 1 kilogram object experiences a force of 9.8 newtons straight down – 9.8n down is a vector quantity.
Rectangular Programming for Warped Minds
In light of the recent posts and discussions about multidimensional
numbers,today’s pathological language is Recurse, a two-dimensional language – like Befunge, sort of. But I find it more interesting in its own peculiar little
way. It’s actually a function-oriented two-dimensional language where every
function is rectangular.
Basics: Multidimensional Numbers
When we think of numbers, our intuitive sense is to think of them in terms of
quantity: counting, measuring, or comparing quantities. And that’s a good intuition for real numbers. But when you start working with more advanced math,
you find out that those numbers – the real numbers – are just a part of the picture. There’s more to numbers than just quantity.
As soon as you start doing things like algebra, you start to realize that
there’s more to numbers than just the reals. The reals are limited – they exist
in one dimension. And that just isn’t enough.
Basics: The Halting Problem
Many people would probably say that things like computability and the halting
program aren’t basics. But I disagree: many of our basic intuitions about numbers and
the things that we can do with them are actually deeply connected with the limits of
computation. This connection of intuition with computation is an extremely important
one, and so I think people should have at least a passing familiarity with it.
In addition to that, one of the recent trends in crappy arguments from creationists is to try to invoke ideas about computation in misleading ways – but if you’re familiar with what the terms they’re using really mean, you can see right through their
silly arguments.
And finally, it really isn’t that difficult to understand the basic idea.
Really getting it in all of its details is a bit harder, but just the basic idea that there are limits to computation, and to get a sense of just how amazingly common uncomputable things are, you don’t need to really understand the depths of it.