Pew Pew Laser Blog

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

Kimmy Schmidt - Unblockable


Kimmy Schmidt - Unblockable. A Dice Masters team with Kobold - Greater Humanoid, Stirge - Epic Beast, and Human Paladin - Lesser Emerald Enclave, and Anger Issues I've been using this strategy in unlimited tournaments since I discovered the core mechanic (and improved it with the help of my opponents) last summer. Since I've seen other folks playing variations on this a few weeks ago, I've decided to write about it. I call this team "Kimmy Schmidt", because the Stirge is unblockable. Here are the important cards:

You can fill out the rest of your team however you like. You'll want something with some blocking strength for when your opponent's characters start coming at you. Power Transfer is nice if you've got it, but your opponent can use it to swap Stirge's attack to something lower. Try to avoid lots of characters cycling through your dice bag so that Swarm will remain effective. Bringing another unblockable character is a good plan; or something with a strong attack that can take advantage of the Anger Issues action.

In tournament play, I found that this setup took a little too long to get up and running to be truly deadly. There are also a few specific threats be aware of:

Homemade Stock - A General Theory.


One of the longest-lasting artifacts of a home-made Thanksgiving dinner is the turkey stock. After roasting and carving a whole turkey, it feels very efficient to also utilize the neck, bones and other leftover bits to make something, and then use it throughout the year. When successful, the stock is a thick or even gelatinized liquid that adds flavor and a smooth thickness to dishes. We use the turkey stock throughout the year as a replacement for water when making making cous cous, wild rice, or any time chicken stock could be used. There's no strict recipe for stock - it's more of a set of general guidelines. Here's how it's done:

Collect cleaned vegetable trimmings and any vegetables that are about to go bad. Stash them all together in a gallon-size plastic zip bag and store it in a corner of your freezer. You can collect stock ingredients for a few months - more is always better - though we usually only end up doing it during the Thanksgiving effort. Most ingredients are fine, but there are a few things to keep in mind:


Do keep these things in your stock bag and add them to the stock pot: Carrot skins (washed), beet stalks (the green part), leek trimmings. All left-over meat bits (bones, giblets, necks, et cetera); roast them if you like and you can use any the drippings from the roasting. You many want to break the larger bones into smaller pieces with a large knife to they'll fit better in the pot. It's fine to mix poultry with beef or pork or whatever; or even omit the meat if you're aiming for a vegetarian stock. Don't sweat it of you're missing anything from here.


There are a few things to avoid adding to the stock. Kale, spinach, cabbage, Brussels' sprouts, and broccoli will turn too bitter. Beets and tomatoes will turn the stock red in color. Potato peels are too cloudy. Oily fish will be too fishy; most lamb is too fatty, and drained bacon fat is just too fatty. Also avoid salting the stock; it will be too strong if added at the beginning and it's best to season when the stock is already incorporated into the final dish.

Throw all "good" stuff into a stock pot (you'll probably need one which can hold at least 2 gallons). Then add:

Add about a gallon of water; enough to cover most of the solid bits. Simmer the pot for a while; a little boiling won't kill the stock, but it can cause cloudier stock, and more impurities to strain / skim off. Check the pot occasionally to make sure the majority of solid parts are covered with liquid; add more water if not. You want to cook the stock for as long as possible - more time equals more concentrated flavor and more deliciousness - but it can be done in just 3 hours (especially if crack the bones).

Strain the solid chunks out of the stock and cool it. For the ultimate cooling mojo: put an empty pot into your sink, and then fill the sink (but not the pot) with ice and some water. Add about a tablespoon of salt to the ice water. Then pour the hot stock into that pot in the sink. Stir the ice-water once in a while. For long term storage, freeze the stock in muffin cups or ice cube trays for easy portioning.

For a professionals take on stock, see Freezer-Bag Quick Stock from Lynne Rossetto Kasper.

Seven Things You Should Know About Flexbox.


Flexbox is a great CSS module for making clean and flexible layouts. But flexbox is a bit odd, it can be tricky to get the results you're looking for when you're just getting started. Here are some things you should know about flexbox:

  1. display: flex; goes on a parent element. Then all children of that element become flex items and will accept other flex properties.
  2. Don't use float or box-sizing: border-box; with flex elements. It won't work they way that you'd expect from display or inline elements.
  3. flex-direction defaults to row to lay flex elements out horizontally. Sometimes, you want column to lay elements out vertically instead.
  4. margin-[side]: auto; makes the margin use up all the available space on that side. If multiple margins (in the same dimension) are auto, they each take an even share of the available space
  5. flex-grow: defaults to 0; where elements won't grow beyond the content's width. You probably want flex-grow: 1. Among other things, this handy for making all input elements stretch to use up the remaining space:
  6. flex-wrap: defaults to nowrap, where all elements will be stuffed on a single line (or a single column, for flex-direction: column;). Alternately, you may want flex-wrap: wrap; to allow the elements to flow to multiple rows.
  7. Flexbox is well-supported in all recent versions of Firefox, Chrome, Safari, Chrome, Edge, mobile browsers, and even passably-well supported in IE. See

For more about flexbox, see:

Who Can Speak at Your Conference?


If you're organizing a conference, one of the most important tasks is selecting speakers who will give unique and interesting talks to your attendees. But you've also got your budget to worry about...

Whether or not you can pay for your speakers' conference ticket and travel costs is one of the biggest factors in determining who can speak at your conference. There are few types of people who are generally more able to speak at conferences than others. To illustrate this, let us take a look at Earth 517, where StickerConf (the nation's most prestigious annual conference for sticker designers and developers) has just opened their speaker application process. These are some of the people who are thinking of applying:

A man with sideburns and an outdated flip-phone wearing worn jeans, and a hat and hoodie from last year's StickerConf


Logan is the best there is at making stickers, bub. His sticker consultancy has been in business for decades and he is a common fixture at conferences. He is a popular speaker, but his well-worn talks always seem to cover the same material.

Just like last year, Logan will apply to speak at StickerConf, and will pay travel and ticket costs with his company's finances.

A father in pajamas with his active 3 year old daughter and infant son


Scott is a committed single father. As a widower, he is the sole wage-earner and caretaker for his children Rachel (4 years old) and Nathan (1 year old). Scott's independent shop has been a leader in the sticker-making industry since the beginning, but these days he only has time for two things: parenting and making stickers.

Scott can't afford to pay his own way to StickerConf; there are college funds which need to be filled. Taking days off from his work to prepare a talk and to speak at StickerConf is already a significant commitment. If StickerConf won't cover his travel and ticket costs, Scott won't apply to speak.

African woman in business jacket holding a briefcase full of stickers


Ororo is an industry longtimer and senior director at the largest sticker factory in the US. Her first priority is her career and managing her team at the sticker factory. The factory doesn't cover conferences, so she uses her own vacation time to attend and speak at a few conferences each year. Due to her busy schedule, she often neglects her own personal time.

Having already agreed to speak 2 other conferences this year, Ororo has room for perhaps one more new talk in her schedule. She will apply to speak at StickerConf if her costs are covered, but otherwise is considering taking a real vacation.

Man with beard and chalk, wearing glasses and jacket with elbow patches.


Hank is a tenured professor at a university where he teaches several courses on sticker making. He has a well honed stage presence, and years of experience teaching the traditional and theoretical methods. However, without any real world experience, his talks haven't changed much over the years.

Hank gets ample time off during school breaks, and a yearly stipend from the university for conferences and travel. He enjoys learning new things at StickerConf, and will apply to speak every year.

A blond man standing on a hover board and taking a selfie


Warren is an entrepreneur who founded StickrIO a few years ago. He has managed to speak at a few conferences in the past year, and he has had a really great time talking to the community and increasing awareness of StickrIO.

Warren will apply for every speaking slot he can find, polish up his slide deck in the week before the conference, and StickrIO will pay his travel costs.

Young woman wearing sweat pants and backpack, slurping a noodle-cup and rushing to her next class.


Kitty is attending state college on a full ride scholarship, and next year she will graduate with a degree in Sticker Sciences. As a full-time student with no parental support, she is broke as heck. But she is heading straight towards a career in sticker making and has been watching StickerConf's talk videos on YouTube for years.

She would like to share her fresh perspective with the professional sticker community; as well as to meet all the people that she has admired from afar. A quick peek ahead in Earth 517's timeline shows that one face-to-face conversation with Scott will give Kitty an insight which enables her to complete the breakthrough new sticker adhesive that she's got brewing in the school lab. But if StickerConf won't cover her ticket and travel expenses, Kitty can't speak.

Based on these profiles, if StickerConf does not cover travel and ticket costs for their speakers, they will only receive talk proposals from Logan, Hank, and Warren. However, if StickerConf is able to cover speakers' costs, they will have a much wider variety of talks to choose from. In fact, the lack of expense reimbursement tends to play a larger role in talk submissions for under-represented people than it does for those who are not.

Music Players for iOS.


Since iOS updated to version 9, the Music app is awful. Pants. Terrible. Balls. Poop emoji. Specifically:

So, I did the only reasonable thing, and spent an evening evaluating the available options from the App Store. These are the things that I was mostly interested when evaluating music apps:


Ecoute is the best of the bunch and just $.99. Has an simple and clean interface, and allows you select music by Album, Artist or even playlists! It's standout feature is allowing you to queue up music to play next. Good-bye,


A solid audio player, and it's free (but well worth the $.99 in-app purchase to support development). The UI is clear, and it gets right out of way and lets you to your music. I like the innovative way that it displays your album art in a random order to re-introduce you to old audio friends. And you can pick between music, audiobooks and podcasts. The only downside is that (as of this writing), it doesn't read playlists.


The UI is gorgeous, I love the outline around the album fills up as the song plays. But it is far too gesture driven for my needs - and I feel like the "track forward" and "track backward" gestures are reversed. Some of the App Store reviews mentioned problems with Albums containing multiple artists. But I tested this and didn't have any problems.


This app is focused on creating and customizing playlists. I only want to pick albums and play those - sorry Songbucket, it's not you, it's me.

Job Skills I Wish They Taught in School.


Here are some things that I kinda wish schools taught to their students:

  1. How to reserve a room in Outlook: Add room as a resource. If you don't get an accept from the room, you don't have it reserved.
  2. How to troubleshoot: Proving functionality of small the components which make up the entire system.
  3. How to evaluate a study: Has it been peer reviewed? Has it been published in a respectable journal?
  4. Statistical analysis: What makes an appropriate sample size, and how to actually calculate the odds.

JSConf US 2015 Notes.


I was invited to JSConf US last May to assist with the "JS IRL" Nodebots event. (Workshop assisting is a great way to get to a conference: I built a little Nodebot, got the keep the hardware kit, helped others learn about JavaScript-based hardware, and I didn't even have to write a speech!) I also got to see some of the talks, and I wanted to share my notes from a few of my favorite talks:

Beyond Responsive: Building a mobile web you're f*ing proud of - Kate Hudson

Making Relational Cool Again (or: JavaScript on ACID) - Tim Griesser

This talk was super useful for me. Someday, I intend to refactor my blog's backend from PHP to Node, but I sure as heck don't want to change the database that holds all the content.

(math == art && art == code) - John Brown

I always love John's talks; I find them super inspiring. Confession: I never finish my "homework".

Knitting for JavaScripters - Mariko Kosaka

Mariko's image processing parts were the most interesting to me; it's related to screen printing on glass that I took last year.

Cold War - Simon Swain

When Simon finished his talk, he walked right by our table and everyone just watched him with jaws agape. It was absolutely mind-blowing. There doesn't seem to be a video of Cold War from JSConf, but there are videos of other versions from both TXJS and EngineersSG.

Steve Kinney: Building a musical instrument with the Web Audio API

Maintaining a Local Dev Meetup - Jacob Roufa

If you wish to learn ES6/2015 from scratch, you must first invent the universe - Ashley Williams

30 Minutes or Less: The Magic of Automated Accessibility Testing - Marcy Sutton

You can watch all of talks - there were so many that I either missed or didn't have time to write useful notes for. I hope to get to all the videos someday!