10 March 2009

65amps

I love the story of 65amps.

Sheryl Crow’s guitarist, Peter Stroud, basically called up his friend, Dan Boul, and said: “Sheryl’s tired of screaming over my Marshalls.” So they started a company to build a lower volume amp with good tone (18 watts) that was flexible enough for Sheryl’s repertoire and rugged enough for touring.

They have a “master voltage” circuit for lowering the volume even further without compromising the tone. (They say it works better than a power attenuator.)

Ironically, they keep getting demands for higher powered amps. They now have an 80 watt, and I believe they said they have a 100 watt in the works.

I just wish I could afford one of their amps. The new Lil’ Elvis looks nice, but it’s still over $2,000.

06 March 2009

Why HTML validation matters

Anyway, we validated as the much saner HTML 4.01 strict, and even then I'm not sure it was worth the time we spent. So many of these validation rules feel arbitrary and meaningless. And, what's worse, some of them are actively harmful. For example, this is not allowed in HTML strict:

<a href="http://www.example.com/" target="_blank">foo</a>

That’s right, target, a perfectly harmless attribute for links that you want to open in a different browser tab/window, is somehow verboten in HTML 4.01 strict.

—Jeff Atwood, “HTML Validation: Does It Matter?

o_O

  1. The target attribute is harmful. The user should decide where a link opens.
  2. If you validate against the strict doctype, expect it to be strict. If you want to do rude things like use the target attribute, then HTML 4.01 strict is not for you.

But enough haranguing, on to the question at hand—assuming you’ve picked an appropriate doctype to validate against.

But the question remains: does HTML Validation really matter?

op. cit.

I validate my HTML to ensure that any errors in it’s use aren’t my fault.

Note, however, that this isn’t so that I can say, “It’s not my fault!” when something goes wrong. I may still tweak things to work around quirks in a particular browser or other program that may read that HTML. Rather it is to minimize the miscommunication.

People understand instinctively that the best way for computer programs to communicate with each other is for each of the them to be strict in what they emit, and liberal in what they accept. The odd thing is that people themselves are not willing to be strict in how they speak, and liberal in how they listen.

—Larry Wall, “2nd State of the Onion

04 March 2009

My first quine

I’ve started trying some of the études at the Programming Praxis blog and came to A Self-Reproducing Program. I realized that I’d never actually attempted a quine before.

I decided to open DrScheme and just dive right into typing and see where it’d lead me. After a couple of false starts, I found myself with something like this:

#!r6rs
(define text '("#!r6rs\n(import (rnrs))\n(define text '(" ??? ")\n(for-each display text)"))
(for-each display text)

It then wasn’t far from there to...

#!r6rs
(import (rnrs))
(define text '("#!r6rs\n(import (rnrs))\n(define text '" #f
")\n(for-each(lambda(item)(if item(display item)(write text)))text)\n"))
(for-each(lambda(item)(if item(display item)(write text)))text)

Not particularly clever, but it works. I think my C background is showing.

The “answer” given at Programming Praxis is really an expression that evaluates to itself rather than a program that prints itself, which I suppose is more “Schemish”.

I then set about trying to modify it to be nicely formatted and to reproduce that formatting. That actually proved rather tricky without resorting to a pretty printing library.

Check The Quine Page for lots of quines.

01 March 2009

Guitar name poll 2: Nominations

I don’t remember if I ever posted the results, but “Trixie” was the clear winner as a name for my red Telecaster. Thanks to everyone who voted.

Now, it is time to finally give a name to my older, black electric guitar.

She’s a Westone Spectrum ST. She’s been upgraded with DiMarzio pick-ups—an X2N in the bridge position and a Super 2 in the neck position.

So go make a nomination!

This is the guitar you hear on all three of the “finished” Söundcheck songs. (MySpace, Facebook)

I actually had the bridge pick-up before the guitar. I guess I must’ve gotten the guitar c. 1986. (The serial number indicates it was made in 1985.) I’ve been really happy with it. If I were ever able to have a custom guitar made, I’d probably have the neck of this one copied. For some reason I’d never bothered to upgrade the neck pick-up, but that has now been remedied.

Westone isn’t around anymore, which is a shame, because they built fine instruments for affordable prices.

an imaginary family tree

WalkingBible

This is either brilliant or silly. Probably both.

WalkingBible

I tend to think that study—considering context, thinking about, talking about—is more important than rote memorization.

In fact, I should probably take Disciple I again.

iPhone app: Stanza

I was looking at the growing pile of books on my nightstand. So, I pulled up Stanza.

Stanza is an e-book reader for the iPhone. I’d read The Metamorphosis and a few HP Lovecraft stories with it. I’d downloaded a few other free books I intend to read.

One of the great things about Stanza is that you can browser free e-book repositories and download books right from the app itself. You can also browse and purchase from some e-book stores.

It turns out that most of those books on my nightstand were available from the Fictionwise store for Stanza. I’ve now read Fool Moon (the second book of the Dresden Files series). I’m now reading Wicked.

So, yeah, they are “protected” by “DRM”. Still, having the books on my phone means they’re always there when I get a chance to do some reading rather than gathering dust on my nightstand.

Mac menu bar + multiple monitors

Yes, Fitts’s Law justifies the Mac menu bar being anchored to the top of the screen.

But then I find myself doing this dance:

  1. Move mouse onto secondary monitor to active a window.
  2. Move the mouse back to the primary monitor to get to the File menu. (Of course, my second monitor is on the right and the File menu is on the left.)
  3. Move the mouse back to the second monitor to choose options in the print dialog box that slid out of the active window’s title bar.