Pew Pew Laser Blog

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

Past Blogs

CSS Magic - border-box.


With the May 9th 2014 release of Firefox 29, un-prefixed box-sizing is very widely supported by modern browsers; and it's even supported in IE as far back as IE8.

Border box harkens back to the old days of IE, when it incorrectly rendered the box model of an element by including its padding and border in a width. Actually, this "broken" box model is pretty handy - it allows a developer to simply set a width (for example, of 20% for 5 elements inside a parent), use border and padding of any units, and still have everything fit.

Here's an example where box-sizing: border-box; is applied to the second list:

ul li {
  width: 20%;
  border-right: solid black 5px;
  padding: .25em;
  list-style: none;
  float: left;
} li {
  box-sizing: border-box;

Here's a live demo of box-sizing: border-box;. The Mozilla Developer Network has the details on box-sizing.

Notes - Intro to Node.


Several months ago I went to a 3 hour Intro to Node.js workshop through Meetup by Ryan Eastridge of Formidable Labs. Here are the notes I took. Beware - without Ryan's walk-though, some of the stuff here doesn't make much sense.

Node's strength is asynchronicity - there is no halt while waiting for a response.

$ node [filename]    #execute that file
$ localhost:8000     #from NOT Node console
var fs=require("fs");
fs.writeFileSync("hw.txt", "Hello World");
#Possible, but use async and callbacks.

Modules installed during workshop: Express, Request, Cheerio. Other useful modules: easyxdm,, simonl. Also; to avoid callback hell - set up in series.

Shouter: process.stdin.resume(); #Don't exit, wait for input

A Glassblower's Career Outlook.


Let's examine the job prospects of one of my hobbies - glassblowing. Blowing glass is tough work. Even in Seattle's winters, it's hot sweaty work. It's a full shift of physical activity, requiring both heavy lifting and repetitive controlled movement. Glassblowing has a high degree of difficulty, and success depends on good teamwork and timing.

It's common for beginning glassblowers to pay to take classes, and for folks looking to get a foot in the door to intern for free or very cheaply before scoring paid work at the journeyman level. Most paid glassblowing work is done as independent contractor, with no guarantee of work or benefits.

Entry- to mid-level glassblowing work is competitive; there are always more glassblowers with free time than there are open spaces in shops. Within a glassblowing team, the successful entrant will be enthusiastic and attentive to the needs of the rest of the team. A production glassblower doesn't have off-hours work like responding to customer emails or preparing a sales report. But they commonly spend free time improving their skills by taking classes or doing independent work.

Seattle is a great city to be a glassblower. There is a multitude of schools and small studios which offer classes. There are also multiple production facilities which can be counted on to need a comparatively steady supply of glassworkers such as Glassybaby and Glass Eye Studios. Olympic Color Rods hosts a board with postings for jobs and equipment.

Glassblowing is a rock-star occupation. Very few glassblowers will become wealthy or famous like Chihuly or Marioni. Many glassblowers own and operate a studio (which is full of money-hungry equipment) as well as store to sell pieces, which means they are managing a small business in addition to making art.

Last Month

Next Month