Pew Pew Laser Blog

Code. Glass art. Games. Baking. Cats. From Seattle, Washington and various sundry satellite locations.

Past Blogs

Fantastic Tabs.


This X/HTML and CSS technique differentiates the current page or section from others in a navigation bar, using a single stylesheet and without requiring any server side code. In the iframe below, "Home", "About" and "Contact" are different pages, each sharing the same CSS file. Click the different tabs and note that the current tab remains highlighted during navigation.

Read more about it in my article here.

Music For Hot Weather.


We've had a few hot days recently. Here is some of my favorite music that says "summer":

I just can't fathom listening to Janis Joplin on a cold cloudy day.

Dynamically Adding a JavaScript Element.


This bit of JavaScript will allow you to dynamically add a JavaScript element (which will execute) into a document's head.

var theScript = document.createElement("script");
theScript.type = "text/javascript";
theContent = document.createTextNode("alert('hi')");

First, we prepare a new script element using createElement(). We then create the text that will be our executing JavaScript, and insert it into the script element. Last, we append the new script element to the end of the first head element in the document.

Why would we want to use JavaScript to edit the HTML to add JavaScript? Clients.

Glass Pumpkin 2009 #3.


Glass Pumpkin 2009 #3 This is another blown glass pumpkin from last fall. I made this at Art By Fire in Issaquah. Art By Fire does a clear stem rather than a colored stem, which is a bit of a shame since colored stems look so nice. They also use the mold with the wider ridges, which results a much more pumpkiny-shaped pumpkin.

The monthly Blow Your Own events were much more convenient when Art By Fire was in Ballard. We could take a leisurely walk down to the glass shop and then grab dinner at La Carta De Oxaca or La Isla. Now we've got to dash out of work, and slog through freeway and bridge traffic get to the Issaquah location. There is a bright side though - we can get dinner at the Issaquah Brewhouse. In fact, that's the husband's payoff for coming out to Issaquah with me - Rogue beer.

Thanks to the husband for the photography.

Puzzle Quest II.

Oh look, a skeleton. I'ma gonna keel him with my puzzle skillz.

It took 2 and a half years, but Puzzle Quest II is finally here. The core mechanic - match colored pieces á la Bejeweled - remains the same as with Puzzle Quest: Challenge of the Warlords. But while PQII is better than its predecessor Puzzle Quest: Galactrix, it's not as good as I wanted it to be.

The new mini-games which replace PQ: CotW don't quite measure up. Many of the mini-games in PQ II are required to progress through the game, and they don't modify the character's abilities as in the original game. There is no learning a spell from every foe, no sieging a city, and no epic sessions attempting to forge awesome new equipment.

I figure I'm halfway through the game, and I fear there's only one single dungeon, broken up into multiple levels. This feels much more limiting than the city-to-city traveling approach of the original.

Lastly, there appear to be no game play affecting choices in PQII. In the first Puzzle Quest, you could force a girl to marry an old man, and get a horse. If you let her go free, she'd join you on your travels. Also near the end of the game, you could choose a path of ultimate evil. I haven't yet encountered anything that interesting in this version.

Puzzle Quest II is not as good as I wanted it to be - it's a little less interesting, less polished, and something smaller than the original Puzzle Quest deserves. It's still fairly addicting, and I'm sure my sorcerer could kick the ass of your character, but it won't have the staying power of Puzzle Quest: Challenge of the Warlords.

Speaking of which, now that Game Crazy is closed, how will I turn used games into new games or cash?

A Day In the Life of Dale Chihuly.


Check out this cool video: A Day In the Life of Dale Chihuly. Here are my thoughts while watching:

Sleeping in the glory hole would be awful messy. Oh no! Don't get bacon grease on the diamond shears! Don't get butter on the tag! That was more like "Breakfast with Chihuly" - he didn't even blow anything. This fits the format of a 48 Hour Film Project film...

Lastly, I love the typical Youtube comment "lino would have done all of this much differently". (Lino Tagliapietra is another renowned modern glass artist. )

The Seattle Sounders Game Refund.


A few months ago, the Seattle Sounders promised a refund to their season ticket holders in apology for a truly awful game. I got to thinking whether a refund (credit for a game next season) was the best way to apologize to the fans.

This kind of refund could set a dangerous precedent - that fans shouldn't have to pay for a game when their team lost. People often prefer goods to cash prizes. On the other hand, if we'd all gotten free hats valued at the cost of a game, we'd each have a tangible reminder of that bad game.

But I've had a little epiphany. The refund isn't about sending a message to the fans; it's about sending a message to the players.

A Great Wrong Has Been Righted.


The New EGM, and a Refund From MAXIM I am now the proud recipient of my very first new EGM, as well as a $3.33 refund for my old EGM subscription, which was replaced with MAXIM when they stopped publishing EGM. Yes, 3 dollars and 33 cents, and it was totally worth it. It's the principle of the thing.

I had to write 2 letters to get this response from the publishers of MAXIM. I received no response from the first letter I wrote and sent in June of 2009. In May of this year, I sent a follow-up letter (mentioning the first), and my check came shortly thereafter. I was prepared to send many more followup letters, punishing the offensive publisher by wasting their resources opening my letters.

Last Month

Next Month