Sorry for the slow posting this week, but work has been a bit intense, and I’ve also had some
family matters to take care of, which have left me with very little blogging time. Hopefully things will
be a bit less insane next week. In the meantime, here’s a random bunch of weird music I’ve been listening to.
- The Mars Volta, “This Apparatus Must Be Unearthed”: the Mars Volta is a neo-progressive band I recently discovered. They’re on the dark and noisy side. The best description I can give is that they sound sort of like what you’d get if you mixed King Crimson and Dream Theater, and then fed them too much caffeine.
- Spock’s Beard, “Onomatapea”: a track from the first SB album after the original bandleader left. The album as a whole is kind of hit-or-miss; this song is one of the really good ones.
- John Corigliano, “Pianissimo Scherzo” from the Red Violin Concerto, performed by Joshua Bell: if you like semi-atonal modern classical music – which I do – this is simply spectacular; one of the finest new compositions I’ve heard in years, performed with elegance by one of the most amazing violinists in the world.
- Lunasa, “Mi Na Samhna”: a beautiful Uillean pipe-led traditional Irish lament.
- The Redneck Manifesto, “Who Knows?”: great post-rock in the same stylistic vein as Mogwai.
- Sonic Youth, “Titanium Expose”: Old Sonic Youth. Noisy, strange tonality, crazy guitar playing. Brilliant.
- Elizabeth and the Catapult, “Waiting for the Kill”: a song by a NYC band. I’m not sure how
to classify; jazzy folk-rock maybe? They’re a great band.
- Rush, “Malignant Narcissism”: great instrumental track by Rush.
- Porcupine Tree, “Fear of a Blank Planet”: the title track from Porcupine Tree’s brilliant latest album. If you like neo-progressive rock at all, this album is a must-have.
- A Silver Mt. Zion, “Goodbye Desolate Railyard”: a track off of another Silver Mt. Zion album that I just got. The album is “This is our punk-rock, thee rusted satellites gather+sing”. It’s my favorite of the ASMZ albums that I’ve heard, which is saying a lot. This isn’t my favorite track, mostly
because I don’t care for the voice of the lead-singer. But a mediocre track by ASMZ would be a
spectacular one by almost anyone else.
Colored Petri Nets
The big step in Petri nets – the one that really takes them from a theoretical toy to a
serious tool used by protocol developers – is the extension to colored Petri nets (CPNs). Calling them “colored” is a bit of a misnomer; the original idea was to assign colors to tokens, and allow color-based expressions on the elements of the net. But study of analysis models quickly showed
that you could go much further than that without losing the basic analyzability properties
that are so valuable. In the full development of CPNs, you can associate essentially arbitrary
collections of data with Petri net tokens, so long as you use a strong type system, and keep
appropriate restrictions on the expressions used in the net. The colors thus become
data types, describing the types of data that can be carried by tokens, and the kinds of tokens that
can located in a place in the net.
So that’s the fundamental idea of CPNs: tokens have types, and each token type has some data value associated with it. Below the fold, we’ll look at how we do that,
and what it means.
Checking In on Old Friends
As long-time readers of this blog know, there are a few crackpots who I’ve written about multiple
times. Those nutters have their fans, and people seem to want to hear about what they’re up to. So today, I’ll give you a brief look at what’s going on with the three fan favorites: Gary Osborn (he of the
23.5 degree angle), the Lords Witnesses (the folks who keep making failed predictions about when the UN will get bombed), and of course, George Shollenberger (supposed God-prover and all-around genius). We’ll start with Gary, and then talk about the Witnesses and old Georgie in later posts.
So what’s Gary up to? In case you weren’t around, Gary is someone who I wrote about back when this
blog was on Blogger, and who got into a rather long debate in my comments, and then later took the debate back to his own website, which (naturally) doesn’t allow comments.
Gary has an…. interesting… theory that the angle 23.5 degrees has great mystical meaning, and
that this meaning has been passed down through generations of artists, who have been planting
features in paintings that feature the magic 23.5 degree angle. Gary’s definition of a painting
containing a 23.5 degree angle is, pretty much, “It looks like a 23.5 degree angle to me”. If he can find a way of making the angle precise, then the precision of it is critically important; if it’s off by a degree or two, well, it’s a painting, these things aren’t perfect
Lo Mein is one of the staples of Chinese restaurants in the US. In general, it’s not bad,
but it’s a bit greasy, and a bit bland. This version of it is closer to authentic, and has
a really nice kick.
The heat comes from a sauce called Sambal. Sambal is the vietnamese name, but Chinese make
it too, and call it chili-vinegar sauce. It’s basically a ton of fresh chilis – the variety that
we call Thai bird chilis – pounded in a mortar and pestle until it forms a loose sauce, roughly the consistency of a thin ketchup.
You really need to go to a Chinese grocery for the noodles. The chinese egg noodles have a different consistency and flavor than any Italian pasta. To prepare them, you get some water boiling, toss the
noodles in for just one or two minutes, and then take them out and rinse with cold water to cool them, and toss them with just enough oil to stop them from sticking together.
There’s one variant of Petri nets, called counted Petri nets, which I’m fond of for personal reasons. As Petri net variants go, it’s a sort of sloppy but simple one, but as I said, I’m fond of it.
As a warning, there’s a bit of a diatribe beneath the fold, as I explain why I know about this obscure, strange Petri net variant.
I’ve been getting a lot of requests from people to talk about the recent Excel bug. For those of
you who haven’t heard about this, in Excel 2007, floating point calculations that should result in
a number very, very close to either 65,535 or 65,536 are displaying their result as 100,000.
It’s only in the display though – the underlying number is actually represented correctly, so if you subtract 2 from 65,536, you’ll get the correct answer of 65,534 – not 99,998.
I can’t give you the specifics – because without seeing the Excel code, I can’t tell exactly what they got wrong. But I’ve got some pretty good suspicions, so I’ll do my best to explain the background that leads to the problem, and what I think is probably going on. (Another excellent explanation if this
is in the Wolfram blog post that I mentioned in my fast arithmetic fractals post this weekend.)
Among many of the fascinating things that we computer scientists do with graphs
is use them as a visual representation of computing devices. There are many subtle problems that can come up in all sorts of contexts where being able to see what’s going on can make a huge difference. Graphs are, generally, the preferred metaphor for most computing tasks. For example, think of finite state machines, flowcharts, UML diagrams, etc.
One of the most interesting cases of this for one of the biggest programming problems today is visual representations of concurrency. Concurrent program is incredibly hard, and making a concurrency regime correct is a serious challenge – communicating that regime and its properties to another developer is even harder.
Which brings us to todays topic, Petri nets. Actually, I’m probably going to spend a couple of days writing about Petri nets, because they’re fun, and there are a lot of interesting variations. The use of Petri nets really isn’t just an academic exercise – they are seriously used by people in a lot of real, significant fields – for one example, they’re very commonly used to specify behaviors of network communication protocols.