Pew Pew Laser Blog

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

Sublime Text ColorHighlighter Tips.

2.24.2017

Sreenshot demonstrating ColorHighlighter for Sublime Text ColorHighlighter is a pretty nifty package for Sublime Text which can display the color of CSS colors values right in the text editor. Here are a few usage and configuration tips if you want to use it yourself.

Print vs. Online Products.

2.2.2017

Let us take a little time to compare and contrast printed products with their online counterparts - such as a printed newspaper and the same newspaper's website.

The printed version is tangible and tactile. Once printed, it can't be revised by the creator, though the user can make notes on the paper. Since it's a tangle product, the user must find a way to dispose of the used product; which may be repurposed as combustion or packing material. Each newspaper will probably only be used by one or two users.

The online version is interactive: searchable and sharable. It is easily updated. The website is much more likely to be seen by users outside of the physical area of the newspaper. Many users will use the same "version" of the paper, which can generate comments and discussions.

These are completely different products, even though they share the same content.

Creaming in Baking.

1.10.2017

Creaming is one of those weird terms you see in baking recipes. It does have a specific meaning though, and doing it correctly can really improve your baked goods.

Creaming means mixing the butter (or the main fat of the recipe) and sugar (white or brown) until "light and fluffy". This process puts a bunch of tiny bubbles into the proto-cookies, which help with leavening. You should see the volume of the mixture increase by about a third, and has lightened in color, due to all that air. You shouldn't be able to see any sugar granules, but you should be able to feel them if you rub the creamed mixture between thumb and forefinger. Creaming will take somewhere around 3 minutes with a mixer (I like to use a paddle with a scraper or edge beater in my stand mixer), and just about forever if you're mixing by hand.

Real Talk About Conference Speaking.

12.20.2016

Not to be a downer, but that "free" trip you got by having your conference talk accepted is pretty far from free. TANSTAAFL, and all that. Here some additional "costs" you may have to consider. (Organizers: think about the huge commitment your speakers are making when they agree to speak. Try to make things as easy for them as possible.)

Related:

Git History.

11.2.2016

Want to take a spin in the good old git time machine? Here are some useful ways to do that.

git show --name-only [sha]
Show which files have changed between the referenced [sha] and the current HEAD.
git log --grep=[stuff]
Show any commits where the commit message matches the regular expression [stuff].
git log -p [filename]
Show the log (commits and changes) for a the file [filename]. You can add any log arguments to this, such as 25 for only the most recent entries in the log: git log -p -25 README.md.
git grep [stuff]
Use the power of git to search for any matches of the regular expression [stuff] in the repo.

Piping Output

Finding Projects for Open Source Contributions.

10.9.2016

Have you been thinking about contributing to open source projects, but didn't know where to start? Here are a few ways to get started. find projects which are actively welcoming new contributors by highlighting their "starter" issues - bugs which are small in scope or otherwise make a good introduction to the project.

How I Got Involved With CascadiaFest.

9.12.2016

I feel very lucky to have been invited to organize CascadiaFest for the past two years - first as Browser (JavaScript) Day Curator, and this year as CSS Day Curator. Sometimes people have asked me how I got involved with CascadiaFest in the first place, so I thought I'd tell that story.

Way back in 2013, I decided that it would be good for my professional development to attend some conferences. I had just started a new job, with some savings left over from unemployment time, and so I had some budget to attend conferences on my own dime. I had met Carter Rabasa (founder and long-time organizer of CascadiaJS) by attending the SeattleJS meetup in the previous year. So I arranged a trip to Vancouver, BC for CascadiaJS in November. On the Hacker Train up from Seattle to Vancouver, I met Tracy Hinds, who had organized the Hacker Train all the way up from Portland.

CascadiaJS 2013 was an absolute blast. The talks were interesting and educational, and I met a bunch of new (and now long-time) conf-friends and even got mistaken for a speaker! I followed new friends on Twitter, and CascadiaJS on Github. Not too long after coming home, I wrote up and posted some of my notes and published them on this blog. I knew I would be ready to do it again in 2014.

And I did. CascadiaJS 2014 was in Portland, and I bought a ticket and lodging nice and early. Beyond being excited about attending, I had even begun to think I might be able to speak. I had even submitted a talk. It was pretty awful, but that's the first step. 2014 was just as wonderful as the last year - I made sure to thank Tracy and Carter (head organizers for that year) personally, since I knew it was a ton of work to organize something so big and so lovely. (Organizing a conference is kinda like organizing a wedding, once a year.) Since I followed the CascadiaJS repo, I was able to observe many parts of the organization process, and contributed some (hopefully!) helpful thoughts for the next year.

By early 2015, I'd had some success with my talk proposals, and had managed to speak at 2 other conferences. Thus I felt qualified to help other people with their talk proposals and I volunteered to do so; and also to help with CFP out-reach - something I feel passionate about. But Tracy responded asking would I be interested in becoming a core organizer and curating JavaScript Day? After only a little thought, I responded "absolutely yes"!

So, there you go. I got involved by attending first, providing useful feedback to the organizers, and participating in the community.