Essays, how-to articles, and general makery by Bruce Alderson.

📚 What I’m reading (Summer 2021 edition)

August 24, 2021

Some of my Summer reading …

Read more

📚 What I’m reading (May 2021 edition)

May 30, 2021

These are some of the essays I read in May 2021.

Read more

📚 What I’m reading (April 2021 edition)

April 27, 2021

These are some of the essays I read in April 2021.

Read more

💡Good ideas aren’t always great

April 17, 2021

What makes an idea good?

Read more

📚 What I’m reading (March 2021 edition)

March 30, 2021

A few highlights of what I read in March.

Read more

A quick relish

March 27, 2021

I like to work the fridge down until it’s almost empty, to both win the fridge, and to make it easier to clean. Today I wanted some relish, but don’t normally stock it in the winter as I use it so rarely. So instead I made some: ½ cup of chopped, sweet pickles ½ cup […]

Read more

Playing with the Pico-8 fantasy console

March 25, 2021

I’ve been using Pico-8 as a virtual playground for playing with generative art ideas. Pico-8 is a highly constrained virtual machine that behaves a lot like a personal computer from the 1980s. It has a fixed colour palette, limited memory, limited screen size, and a simplified programming model using Lua. The constraints make it a […]

Read more

🥗 Sweet chunky salad dressing

March 18, 2021

This is a hacky fridge-magnet recipe to use up some old herbs and sour cream. We had it this week tossed with a chunky combination of sliced cabbage, cherry tomatoes, and diced broccoli, carrots, and celery. 2 tbsp Hellmann’s mayo 2 tbsp sour cream ~2 tbsp (to taste) cider vinegar (Braggs is good) 2 tbsp […]

Read more

📚 What I’m reading (February 2021 edition)

March 9, 2021

These are some of the things I read in February, the longer, more interesting essays and posts at least.

Read more

🍜 Sunday’s comfort food: A Thai inspired noodle soup

March 7, 2021

Today’s dinner is inspired by a picture in my morning news feed. I’ll have to try that sweet potato curry recipe at some point, but today I’m working with ingredients I have on hand, which includes lemongrass, pork sirloin tip, and a boatload of veg. Pork and mushrooms 500-750g of pork sirloin, thinly sliced and […]

Read more

🍲 Saturday cravings: a quick stir fry or two

March 6, 2021

Today we were craving stir fry so I decided to practice the basic method two ways: lemongrass pork and sweet ginger/garlic pork. We had a sirloin tip roast on hand, which is best cooked using a fast method as it’s lean and tender. This method doesn’t include deep frying the pork, so is much lighter […]

Read more

Using fonts with ligatures to improve readability

February 28, 2021

I set up a new dev laptop for myself over the Christmas holidays. I took the opportunity to burn down my old environment and to survey the 2021 tool landscape, which included testing out various terminals and setups, editors, and fonts. This year I discovered Fira Code, a tidy little monospace font that supports ligatures. […]

Read more

🍲 Introducing the food log

February 27, 2021

I love food. I love the eating of, shopping for, designing menus around, and above all else, preparation of meals (especially for those closest to me). Cookery is a universe of systemizing making food, to me at least, and is not unlike software design and development.

Read more

🎧 Sennheiser wireless noise cancelling headphones sound great, but Bluetooth support is wanting

February 6, 2021

I picked up a pair of Sennheiser PXC 550-II Wireless headphones last month to add to my collection of pandemic listening (and Zoom call) devices. These replace my old Sennheiser HD280PRO over-ear studio style headphones, which my youngest borrowed for their pandemic university and D&D setup. Given a 20+ hour battery life, good comfort and […]

Read more

📚 What I’m reading (January 2021 edition)

February 4, 2021

These are some of the things I read in January, the longer, more interesting essays and posts at least.

Read more

📚 What I’m reading (pandemic, year 1 edition)

December 28, 2020

These are some of the longer form things I’ve read this year. I shove links into Instapaper and dump them here with some hacked command line tools and a bit of elbow grease. SuperRT The Anti-Mac User Interface (Don Gentner and Jakob Nielsen) Cameras and Lenses – Bartosz Ciechanowski A Second Conversation with Werner Vogels […]

Read more

Bruce’s no-knead pizza dough

May 31, 2020

This is a super lazy no-knead dough. It’s lazy in that you really only have to measure water, salt, and yeast, and then just add flour until it feels right. And even if it’s too dry or too wet, you can get a pretty good pizza out of it. This is a great dough to practice with, as it encourages you to think about how the dough looks and feels while you’re putting it together.

Did I mention that it’s a super lazy dough?

Read more

A very approximate version of Bruce’s pizza sauce

May 30, 2020

This is a very approximate version of my pizza sauce. I make it different each time, though the pattern is tending towards what I outline here.

Read more

Icons and fan art

July 17, 2018

When my sketchbook is stale and I’m not feeling inspired, I look to pop culture for inspiration and ideas. I’m also a fan of other artists, and channeling some of their works through my own hands is immensely satisfying. It’s an exercise that pushes you to analyze and rethink a thing that’s interesting to me, […]

Read more

Lee Valley: an unexpected place to buy carving tools

May 17, 2018

I was looking at buying a set of PFEIL carving tools this year, but was holding off as they’re pretty pricy. I expanded my search a bit and found a similar set from a local Canadian company, Lee Valley Tools. They’re hardened steel with a comfortable wooden handle. They sharpen easily (and keep their edge […]

Read more

A savoury media diet for a cold and somewhat dreary Winter (2018)

March 18, 2018

One of my favourite reads is Kottke.org, a blog by Jason Kottke. Calling it a blog is a bit of a slight: it’s more of a magazine, like a proto-New Yorker. It’s thoughtful and relevant, weaving current events, artsy things, various interesting edges of tech, and topics about general humanity. Kottke has been killing it […]

Read more

A quick review of linoleum and vinyl block printing art blocks

February 22, 2018

A coworker was asking me what I used for linocut, so I made a chart of the blocks on my desk. There are several types of blocks that I don’t have in my supplies (like mounted block and clear blocks), but the ones I use are a pretty common set of hobbyist materials. I love […]

Read more

Art on brand: lemony lemon prints

January 5, 2018

Occasionally I like to sketch and carve things around our lemony brand. It’s fun to think sideways around our polished brand marks, dreaming in colour and texture. These prints don’t represent anything we would ever use, but the exercise was a good stretch for me (and good practice). This is a second print of the […]

Read more

A JavaScript link mashup for Winter 2017: Things I used and liked in the JS universe this year.

December 11, 2017

2017 was a good year for JavaScript. The newer language features are now part of our daily routine. Tightly integrated CI and packaging scripts are the norm, and we have a huge sea of libraries and tools available to us. The core JavaScript frameworks have settled down and mature to the point that we can be confident in JS as the base for large-scale commercial projects.

Read more

Simple methods: the triage board

November 14, 2017

Some of my most productive business tools are the simplest. Take the *triage board*. It’s a whiteboard that hangs over my desk that has a list of my current projects, with magnets marking what I’m working on next. Weekly I erase the board and re-prioritize my projects, and daily I scribble notes and move the magnets as I work. 

Read more

Tip: Become a part of your side projects.

May 2, 2017

I’m an idea guy. It’s why I love designing software, both in terms of system design and user experience. I love designing and developing products too. It’s something that can get me fired up, keep me from sleeping, and keep me motivated through even the darkest, rainiest days.

Read more

My love-hate relationship with Sprints, Agile, and software development processes in general.

April 22, 2017

In PM land we use tools and techniques like burn down charts, sprints, and spikes. You can get obsessed over getting these things right, and fail to ship effective, quality software. The special language used in and around these processes adds to the problem too, as the language ends up feeling like an accomplishment in itself. Too much focus on the pomp and circumstance of a process takes away from actually building great software.

Read more

Linocut: lines and texture

April 17, 2017

I made a quick print this weekend based on a few drawings I was working on last week. The idea was to make a block print look like a sketch, and to use background lines as a textural element.

Read more

Rediscovering the interestingness in my Twitter feed.

March 18, 2017

Sometime over the last year I stopped paying attention to Twitter. Between the political cacophony of 2016 and a growing list of people I was following, the noise ratio was just too poor to hold my interest. Twitter had become like LinkedIn to me, a service I used to have a professional presence, but not one that inspired or taught me anything. I had given up.

Read more

Reasons I hate TODO list and task tools.

December 30, 2016

There’s a lot to like about our beloved task management tools. But if we’re honest, there’s a lot they get wrong too. Here are a few ways TODO tools grind my gears: Every task and list looks exactly the same. Lists are organized with limited hierarchy and pre-requisites. Lists are organized with no real spacial […]

Read more

Tips for Avoiding Technical Debt and Regret.

August 15, 2016

It’s easy to feel unqualified to measure technical decisions, especially if you’re not technical. You may be disconnected from the planning process or you may not understand the jargon and details of an approach. How can you ask intelligent questions about risk when you feel so separated from what’s happening? How can you make clear decisions about risks with incomplete technical knowledge?

Read more

💰 Being Honest About “Technical Debt”.

July 17, 2016

At best, we treat software technical debt like consumer debt, where we blissfully ignore the commodity and the terms of our choices, focusing only on our immediate need. At worst, we label our poor technical decisions debt (especially our predecessor’s). It’s a lazy phrase, a cop-out, and is a costly way of doing business.

Read more

🦄 Unicorns and the Shifting Landscape of Computing.

April 3, 2016

Now this is where it gets interesting. I’ve been interviewing and hiring for almost 20 years. I have accumulated a bunch of questions I ask people. And while the technologies I talk about have changed, I have always expected certain skills and behaviours from specific levels of software developers. In terms of soft skills this has been very successful, but recently I’ve noticed that the hard skills have dissipated.

Read more

42 Things I will make in 2016

March 10, 2016

The New Year came and went without much of a fuss. I read about the [2016 Maker Challenge][1] shortly after the holiday, in the flood of annual self-help and 2016 resolution articles. The challenge was something I was keenly interested in, then promptly forgot about in the chaos of startup and family life.

Read more

The fight for clarity and beauty in writing

December 2, 2015

I’m not old yet, but I’m becoming a curmudgeon. In fact, I love the word *curmudgeon*, it’s a word that sounds like its meaning, with a spelling that is all pissy and annoyed. It’s a word of [mystery][1], and we know very little about its origin. It’s an interesting word, and interesting is good.

Read more

Things that make your podcast much less annoying to listen to

December 1, 2015

I have tried to love podcasts for a few years now. There are several that I like, but I find it difficult to listen to any of them consistently. I’ll binge listen for a few weeks, but for whatever reason I get stuck and move on to the next show.

Read more

Lego prints: block printing without carving

November 10, 2015

We tried something new on art day recently: printing with Lego. It has potential, even if it’s a bit of a pain to clean up.

Read more

Thinking in diagrams; a developer’s guide to learning to love drawing design

March 14, 2015

I think about software design by diagramming and writing. The act itself improves the result. It forces me to decompose and organize the problem, and attempt to explain it back to myself. I have always been able to think about software through this process of sketching, refining, and describing diagrams, even when I didn’t know anything about what was standard or what should be done. I started by doing what made sense to me.

Read more

A design philosophy for 2015

January 4, 2015

A friend asked me what my design philosophy was and how it had changed over the years. He was asking about the design and flow of applications and websites. Actually, he actually asked about visual design specifically, which I found interesting in itself. I paused for a moment when he asked, which is unusual for me as […]

Read more

The quest for focus

December 29, 2014

As designers, software developers, and business geeks we thrive on a few things. We seek inspiration. We obsess over details. We work long hours. And we need *focus*.

Read more

Coming full circle (or why I’m abandoning my custom CMS and using WordPress again)

December 12, 2014

As a software designer, I love to design software. As software developer, I love building software. When I dream of better things, I funnel my ideas into new projects. When I don’t have time for all of my side projects, the projects pile up in a corner and gather dust. And when a side project is an unfinished publishing platform it gets in the way of writing.

Read more

The road to and from and (hopefully) back to simplicity

May 2, 2014

I learned almost nothing about writing production code in my early years. And while discovered that I loved to imagine and build things in code, I barely brushed against the principles that would later be required to make real learning possible. My skills didn’t improve much either as my time was largely unfocused.

Read more

The art of code review

July 30, 2013

I review a lot of code these days. It’s an incredible way to nudge a team of bright people toward greatness. It allows me to look at problems from the outside with a perspective of experience and distance from the low level design. The perspective is important too, and I see things that I often miss in my own code. You see, we’re easily blinded when we’re too close to the problems we’re trying to solve.

Read more

Simple patterns: PHP to JavaScript

July 25, 2013

Sending a client data is trivial in most dynamic languages, and PHP is no different. You return a response body with the result of a `json_encode` and your data model.

Read more

Five things to love about PHP

July 7, 2013

PHP is a great language. It follows a long lineage of C-based syntaxes, mirroring much of the C standard library. It performs well, is trivial to deploy, and has been stable for many years. And, it’s almost universally hated. While many people look down on PHP, it’s worth considering where it shines compared to other […]

Read more

HTTP, GET, and fuzzy semantics

January 16, 2013

A developer asked me a seemingly obvious question today: I have an API GET request that requires a JSON body. Is that okay? It’s a good question too. It turns out the answer isn’t as simple as it should be. On principle the answer is, “No, it’s not cool”. A GET is an idempotent request […]

Read more

Summer design fragments

September 30, 2012

I’ve been busy working on visual design bits for work projects this summer. My method is simple: Sketches and storyboards Static mockups (HTML/CSS, some Javascript) Live mockups (to test integration and interactions) Uncovering what a feature means is fundamental to the method. It exposes the nouns and verbs of the problem, and hints at the […]

Read more

The myth of uphill

September 3, 2012

Friction works against you. It exceeds your ability to progress. It deflates you, stripping your motivation. It’s the hill you see before starting a difficult project. It’s the gravity that pulls you away when interest wanes. I’m starting a small project for a client today. It’s a simple set of improvements to something I built […]

Read more

Simple sets in JavaScript

June 29, 2012

One of my favourite JavaScript features is its literal object notation. It allows you to declare data structures in JSON, which is a very succinct, C-like syntax. You can use this notation to declare SETs, and the a in b syntax to verify a variable is in a set: /* Declare your set as a […]

Read more

Do just one more thing

March 28, 2012

I have a suggestion. Do just one more thing. If it’s not rude, do another. And another.

Read more

Giga-boxels, the future is big

March 8, 2012

Somehow I missed the recent larger EC2 unit sizes: When I saw this, I immediately thought: these numbers will have K, M, and G suffixes within the next 5 years. Compute units will be sold as 88 mega-ECUs. Imagine 88 giga-ECUs? The ECU is similar to our old measure of computing: boxen (except more virtual). […]

Read more

The facade of uptime

February 9, 2012

While writing a spec earlier today the last few years of progress in server land hit me: uptime is a facade. In the early days, server resources were expensive and scarce. Uptime was sacred. Long running hardware was celebrated, UNIX tools were born, beer was consumed. The problem of focusing on the hardware is that […]

Read more

Real work is boring (but I love it)

December 24, 2011

I had an epiphany early this year: getting good at something isn’t about finding a groove or being especially clever, it’s about honing a method of doing something. Or lots of methods, meticulously crafted, carefully practiced, and well executed over and over again. That’s it. The problem is in discovering the method. It’s harder than […]

Read more

The problem of organization

October 31, 2011

It’s not that these tools and techniques are bad in themselves, but our use of each should be fit into a well tuned approach to building software. An entire project delivery should be tidy, professional, and complete. There are a few causes to the problem of organizational buildup. Our software is limited, our methods need […]

Read more

How to beat writer’s block

October 24, 2011

So you can’t write. You’re empty, tired, and unfocused. You’ve tried exercise, meditation, caffeine, binge sleeping, and a dozen other cures–but nothing comes out. And when you do happen to squeeze out a few paragraphs, you stall, spiralling further into your uninspired daze. You are burnt out. Writer’s block and burnout are the same problem: […]

Read more

On becoming a designer

July 6, 2011

I’ve become passionate about design. It’s a subtle craft that says something, things that can’t normally be said with words. It suggests things. It implores us to think in a particular way. It encourages us to go here or there. It is enough of a metaphor to be easily recognized, but not so much that […]

Read more

The evolution of thinking in software design

June 10, 2011

I know a few generations of developers. I find they tend toward different ways of thinking about software design, based on the languages and decomposition tools that were available at the time they formed their thinking. Their tendencies shift over time too, but often their imaginations are limited by whichever mode of thought they’re working […]

Read more

HOWTO get better at stuff

May 16, 2011

If you want to get better at something, do a lot of it. Throw yourself at practice and real chances to do it. When you want to become great at something, stick with it, obsess over it, and suck up all of the knowledge that surrounds it. And when you want to become truly incredible […]

Read more

On being awesome: just do it

January 24, 2011

Merlin Mann asks us why we’re waiting to be awesome, as he remembers Steve Job’s 2005 Stanford address. It’s a good question: why do we wait? There are all sorts of reasons, of course, but in the end my simple philosophy is: just fucking do it. Sometimes I have to say it to myself out […]

Read more

Tables versus CSS, redux

January 9, 2011

I’m a bit surprised that the argument over tables versus semantic layout is still floating around. It ignores the obvious: Any set of nodes can be rendered like a table Any table node can be rendered like a non-table node There is really no difference between a <div> and a <td>, except for the default […]

Read more

Things I’m still learning, 2010 edition

December 18, 2010

2010 has come and gone. I’ve shipped a few projects, each a number of times. I’ve registered dozens of domain names and dropped a few of the older ones. I’ve started (but not finished) a dozen spare time projects. I’ve had hundreds of new ideas, and a few of them were even interesting. I’ve learned […]

Read more

Exposing design

November 22, 2010

When you describe a design to a group of people, each person imagines something different. Depending on your story and the individuals, understanding may vary wildly. And if it differs enough, the result is chaotic–unpredictable and often negative. You need to fit how you show your ideas to different groups of people carefully, and notice […]

Read more

HOWTO: Directory recursion in Boost (and other tips)

April 23, 2008

Boost’s Filesystem library is an incredible resource: it abstracts paths, directories, and stat results. It simplifies coding shell problems in C++, it’s portable, and is maintained by a large community of contributors. The one downside of Boost is that some of its newer libraries are poorly documented. ((Something I want to contribute to.)) Until I […]

Read more