Sunday, February 22, 2009

Quickie 3

A few days ago, a friend argued that hardware description languages could benefit greatly from purely functional programming languages. The gist of his argument was that purely functional programming languages let you move more towards describing what a problem is and less on how to solve it, with the “how” part including problems such as specifying execution order.

I think that was the argument, anyway; I may be misrepresenting it. The concept made sense to me at the time (2 AM or so), but I couldn’t provide any concrete examples of the idea made real.

While playing around with graphics in Haskell today, I stumbled across BlueSpec SystemVerilog, a hardware description language. The interesting bit about BlueSpec SystemVerilog is that an early version (circa 2001) was implemented as an extension of Haskell.

As you can read in the slides, BSV wasn’t really Haskell: its runtime execution semantics were quite different. But the syntax and compile-time semantics were Haskell’s.

I don’t know if Lennart Augustsson’s motivations for using Haskell as the base for BSV were identical — or even similar — to my friend’s arguments. The slides don’t really give enough information to divine that. But I still think it’s cool to see that not everything my friends and I discuss is completely wacky.

Thursday, February 19, 2009

The Bus Chronicles - 2008-02-18

I ride a Chicago bus most days to and from work. Occasionally I witness some interesting events. I’m going to try out logging them here.

The wind and snow were pretty bad around 7 PM CST tonight. A woman, appearing of middle age, walked through the rear door of the bus. She would have been considered ugly by many standards of beauty, and whenever she talked, horrendous halitosis hit everyone in a 15-foot arc.

And she talked a lot. She talked loudly. She kept mentioning Chicago and Cicero; I guess that was her final destination. And in between mentions of that intersection, she would talk about something else.

Chicago buses have an automated system to aurally and visually announce the next stop. This woman would curse every announcement, say something that I couldn’t understand, and then very loudly say “CHICAGO AND CICERO”.

There seems to be an unspoken rule (pun intended) that you don’t speak to strangers on a bus. So she was talking, cursing, shouting at nothing. Talking to herself, really. This went on for about 20 minutes.

Two young women in the seat in front of me asked her where she was trying to go; the old woman become really mad at that. She shouted something that I can’t recall and then left the bus at the Chicago and Damen stop.

Chicago and Damen to Chicago and Cicero isn’t really a short walk.

The episode, though brief, was bewildering — and sad. As I mentioned, it was pretty cold out there. When I got off the bus, the snow was falling fast and the wind was extremely strong. As of about midnight, 2/18, it is about 22 degrees Fahrenheit (-5 degrees C); wind chill makes it feel around 3 degrees F (-16 degrees C).

The old woman may or may not have been a vagrant. Her appearance and odor definitely fit the description, but I find it hard to tell someone’s socioeconomic status from those sorts of clues. I don’t know where she went. Chicago and Damen is in a very yuppie place, and if she’s in need of shelter I don’t know if she’ll get it around there.

Her physical unpleasantness and idiosyncracies aside, I hope she’s alright and out of the cold.

Wednesday, February 18, 2009

Mindless Link Propagation of Mindlessness

Everyone who might be considered a Generation Xer or a Millennial should check out this audio recording.

It was recorded by radical_yue. More information is available here.

This recording made me realize how out-of-touch I am with the next generation. Or perhaps (hopefully!) it’s just an outlier.

Bedtime.

Sunday, February 15, 2009

Return Of Lazyweb, Incomplete Sentences

Been busy. Can’t say anything about what I’ve been doing (confidentiality agreements blah). Kinda sucks.


Looking for a new laptop. All hardware must be supported by some variant on the Linux kernel (this also includes things like suspend-to-RAM and suspend-to-disk). Must be in “desktop replacement” class; I don’t stay in one place long enough for a desktop to be of much use. Driver support: binary-blob-free drivers are greatly preferred, but I can live with binary blobs if the alternatives are sufficiently undesirable. Other technical requirements: 15.4" WUXGA screen.

Current candidates:

  • system76 Serval Professional. Good loadout, has small-company warm-fuzzies, and has received good reviews on the interwebs, but definitely on the expensive side ($2132 with my preferred configuration, which is pretty close to Apple-style insanity). Other than that, no real gripes.
  • Lenovo Thinkpad W500. Cheaper, but not sure if everything works with the Linux kernel. The Thinkpad T61p, which is the W500’s predecessor, did have Linux-compatible hardware, though, so things might be okay. Also uses an ATI FireGL chip, which is more likely to have open-source drivers available than anything from NVIDIA. But any Linux system on the W500 is completely unsupported by Lenovo, which is not the case with system76.

Welcoming other suggestions. I’d rather not buy from Dell, because they have a legendary history of screwing their customers.