Happy Holidays from Room 34!

When I’m not working on ICS Calendar or client websites (or ranting about something WordPress-related here), I spend my time making music… and music-related YouTube videos.

Here’s my arrangement of “Christmas Time Is Here” by Vince Guaraldi from the 1965 TV special A Charlie Brown Christmas. I’m joined by my wife and son on clarinet.

I know not everyone celebrates Christmas, but just about everyone has some kind of holiday tradition in December. So however you’re spending this season, I wish you peace and happiness.

ST:TNG Treadmill Review #9: Pen Pals

Pen Pals
Season 2 Episode 14
Original airdate: April 29, 1989

Netflix Synopsis

Upon arriving at a newly identified planetary group, the crew finds that the entire region is unstable.

IMDb Synopsis

Data befriends an alien girl in distress, breaking the Prime Directive, while Wesley commands his first team.

My Brief Review

I’m posting both the Netflix and IMDb synopses here because they’re so extremely different. In many cases, the two have almost word-for-word identical synopses, but in this case there’s a huge difference between the two. And if I had checked IMDb before watching this episode, I would have remembered exactly which episode it was before I started watching.

(As an aside: I’ve noticed that when Netflix doesn’t almost exactly replicate IMDb, its synopsis tends to mainly describe just what happens in the cold open, before the opening credits. Which leads me to believe that whoever Netflix hired to write their synopses is incredibly lazy; when they’re not just watching the first minute of the show, they’re straight-up plagiarizing!)

Star Trek episodes tend to fall into a few different categories. This one is a bit of a grab bag of all of them: mysterious space phenomena, interpersonal drama, philosophical/metaphysical struggles, and even the Holodeck.

Overall it is not an amazing episode, but it is pretty solid, and Sarjenka, the orange, long-fingered alien child Data befriends via radio transmitter, is a memorable character.

Memorable Moment

Data beaming down to Sarjenka’s home, finding her, and beaming back to the ship with her, massively violating the Prime Directive, certainly stands out. Picard spits at Riker, “He has brought a child onto my ship. Onto my bridge!” (If there’s one thing Picard hates, it’s having children on the bridge.)

Crew Rando

Ensign Davies, the geologist Wesley Crusher picks for his survey team, who challenges the young Wesley’s authority initially, but when Wesley, after consulting Riker, grows a spine, he immediately and joyfully complies with Wesley’s order to conduct a time-consuming scan. (Which, of course, is pivotal to saving Sarjenka’s planet.)

Distance Rating: 5K

IMDb score: 6.8/10

Holy. Freakin’. Crap.

I love Panic, Inc. They make two of my indispensable web developer software tools: Transmit and Coda. And they have a great attitude. Their founder is a cool guy. And now, to top all of that off… they’re Atari freaks.

Oh man. I love this. I have a few quibbles with some of the details of their fake screenshots — things that aren’t actually possible (as far as I know) with the technical limitations of the Atari 2600. But it’s no matter. I absolutely love this stuff… it’s even better than the Venture Bros. Season 3 DVD art. Check it out:

Panic Atari art

The incredible ever-changing page background

Here’s more stuff that web designers might find interesting and everyone else will find either irrelevant or won’t even notice.

I kind of liked the abstract image I had as the background of the pages in this new site design (which, if you’re interested, can still be found on my IE6 users’ “welcome” page), but I was never completely satisfied with how it was just shoved into the upper left corner of the window. So I took a horizontal cross-section from a very colorful portion of that design, stretched it out into blurry vertical stripes, and made it the new background.

But, you may notice, there’s a bit more to the background than that. Once again it’s the magic of PNG alpha channel transparency at work.

The background of this page is actually the product of 3 separate images (a JPEG at the “back” and two transparent PNGs over it) overlaid on top of each other. In the bottom layer is the aforementioned blurry multi-colored vertical stripe image (JPEG). It’s 1600 pixels wide by 20 pixels high, tiled.

Next above that is my “Close to the Edge” image, a gradient from the teal of my color palette (at the bottom) to transparent (at the top). For a while I toyed with simply using this as a teal-to-black gradient, and I have to say it looked quite nice, but there’s not enough else going on visually with the design of the page, so a solid black band at the top of the page came off a bit boring. So, the gradient as an overlay on the stripes. This image is 50 pixels wide by 600 pixels high, and it’s fixed to the bottom of the window and tiled horizontally.

Above that is the (probably overused) “NTSC scanline effect” image, which produces the horizontal stripes. Unnecessary and as I said, probably overused, but it’s still kind of cool looking. Or would have been in 1998 at least. Call me old fashioned, if you think 1998 is old. (OK, in the web world, it’s ancient history.) This is a 20×20 image, also tiled.

So, how does this all fit together? Well, the way I do it is by applying the JPEG to the <body> tag, which is immediately followed by a pair of nested <div> tags that fill the window and exist for the sole purpose of overlaying the other background layers. Then inside of that, the rest of the page’s HTML appears as normally.

Looking at it precisely, the CSS file contains the following:

body {
  background: #000 url(“images/body_bg_stripes.jpg”) top left repeat fixed;
  margin: 0;
  padding: 0;
}
#body_overlay {
  background: url(“images/body_overlay_bg_ctte.png”) bottom left repeat-x fixed;
  height: 100%;
  margin: 0;
  padding: 0;
  width: 100%;
}
#body_overlay_2 {
  background: url(“images/scanlines_25_black.png”) top left repeat fixed;
  height: 100%;
  margin: 0;
  padding: 0;
  width: 100%;
}

And the HTML for the pages follows this basic structure (with lots of stuff cut out in this example, of course):

<html>
…HEAD TAGS HERE…
<body>
<div id=”body_overlay”>
<div id=”body_overlay_2″>
…PAGE BODY HERE…
</div>
</div>
</body>
</html>

What’s really cool about this is that it results in a background pattern that, as a single image, would need to be at least 1600 pixels by 600 pixels (in other words, very large in both dimensions and file size), and even then it would not be able to achieve exactly what you see here because the gradient is fixed against the bottom of the window. In fact there’s absolutely no way to produce the background of this page without transparent PNGs. The 1600×600 image would easily be a few hundred kilobytes at a fairly low-quality compression level — far too big to justify, especially since it would still end up looking like crap. But as it is, the three images are 6857, 135, and 714 bytes respectively — less than 8 kilobytes combined. Sweet! (OK, it’s pathetic that I think something like this is “sweet,” but there it is.)