How to teach yourself hard things

Julia Evans:

Even though I think I’m pretty good at it now, I still find breaking down “I’m confused about X” into specific questions about X takes work. For example, I only came up with those questions about Rust references 3 years after I’d first used Rust. The reason it took so long is that I had to decide to actually sit down, notice what I found confusing, and focus on figuring out what I was confused about. That takes time!

But I do think that this is something that you can get better at over time. I’m much better at breaking down what’s confusing to me about a programming thing than I was and much more able to unstick myself.

September 1, 2018

Hello, augmented world!

Google ARCore and Unity demo

Yep, I’m teaching myself of bit of VR/AR tech. This is the Hello AR sample application for Android, built and deployed with Unity, running on a first-gen Pixel, which I picked up specifically for AR experiments. VR is cool, but I think AR is cooler and has more interesting applications.

Just starting to tinker and see if this is something I’d enjoy doing more of.

August 30, 2018


For decades I’ve used that word to describe both my career and hobbies, and it’s always had a sort of negative connotation. Dilettante. Jack of all trades; master of none. Rank amateur. Tourist. Unstudied noob, unworthy of serious consideration.

In other words, the path to impostor syndrome. Ha ha! Ha.

Apropos of nothing I recently found the dictionary definition:


n. (pl. dillentanti) – a person who cultivates an area of interest, such as the arts, without real commitment or knowledge. (mod.) “a dilettante approach to science.”

Sounds a lot like beginner’s mind to me. But then I latched onto this:


Mid 18th century Italian, from dilettare (“to delight”); from Latin delectare (“to be delighted; to enjoy being/doing”)

To enjoy being. I like that very much.


Years ago I had an idea: all blogging software should have a built-in feed reader, sort of like an old-school blogroll that doubled as an RSS reader. Point being: if we want to encourage folks to create blogs, why not make it easy to get hooked on reading them? It would provide a bit of that ambient humanity that keeps people coming back to social media.

Tumblr kind of has this, but I haven’t seen this anywhere else, although all the glue is there. If blogging is to undergo a resurgence, it seems like we need something like this. I’m intrigued by Adam Mathes’ idea of providing a public list of feeds similar to robots.txt, possibly along with a rel="alternate" link that allows future software to discover it. Here’s hoping some smart engineer at WordPress or Perch glues this stuff together. (n.b. yeah, I know it’s not trivial to run a feed reader service, just saying that it’s achievable.)

So here’s mine. I’m actually aghast that, once I pruned long-extinct feeds, only 50 feeds remained, and even some of those are dormant. I’m looking forward to expanding my reading lists based on what others are already starting to publish. It’s hard finding new voices in the roar, but like most things, personal recommendations are a great thing.

August 27, 2018

Things I Noticed Watching “The Running Man (1987)” On Hulu

Things they got wrong:

  • Helicopters from 1978
  • Low-def CRT technology survives the 00s
  • Phones get bigger
  • US divided into paramilitary zones
  • People in the paramilitary zones fight over resources while managing to dress like goth-punk badasses
  • When told a lie, then told the truth, people believe the latter

Things they got right:

  • Fake news
  • 80s fashion makes a strong comeback
  • Reality TV
August 26, 2018

Blogging is hard

Harder than it used to be.

This post was supposed to be about progressive rock.

This website will turn 20 years old this year. I revisit posts from the first ten years and barely recognize this idiot who seemed to know so much and posted several times a day and didn’t care so much about being wrong.

Today I stop and think: have I thought this through? Does this need to be said? I’ve become less confident in organizing my thoughts.

The point I was going to make about prog-rock was about how I don’t listen to much new stuff. There are scores of bands creating music that sits nicely alongside canonical, genre-defining work from decades ago. But it doesn’t grab me the same way.

Because IMO prog-rock is best discovered when you’re a teenager, just learning how to play drums or guitar, and one summer someone hands you a mixtape that blows your mind and for a while your whole life becomes an obsession with odd time signatures and the Mixolydian mode.

Returning to blogging is hard, because in some ways its lost a sense of potential energy. The shared sense of being part of something that is happening right now is missing. (That energy seems abundant on Instagram.)

When I read about or hear people longing for a return to blogging as a respite from the chaos of social media, I wonder if what we’re really missing are the days when blogging was the New Thing. Back when everyone introduced themselves with a URL instead of a Twitter handle; when the addiction cycle was email > blogroll > message board instead of Twitter > Facebook > Instagram. And back when we were certain that something good was going to come from all of this.

Blogging may not be dead but it sure feels like it went underground, like prog-rock.

August 25, 2018

Fixing common problems with Unity 2D Game Kit tutorial on Mac OSX

(Updated 2018-07-30)

I’ve been tinkering around with the Unity3D game engine and running into all kinds of weird problems with their beginner tutorials. Most of the issues are configuration problems that a newbie would never figure out. Unfortunately, many solutions are buried deep in ridiculous catch-all forum threads with no way to pin, upvote or otherwise surface good answers to Google.

I’m using this post to record what I’ve learned and hopefully save someone from frantic searching.

This post deals specifically with problems using the 2D Game Kit tutorial with Unity 2018 on Mac OS X (sorry Windows users!).

Continue reading…

August 24, 2018

Welcome back to the First Day Of Summer

Finally. It’s the summer solstice, and it’s become my tradition to link to “First Day Of Summer” on this day.

Some of our best work, IMO. Featuring the impeccable talents of drummer Don Gunn and keyboardist/pianist Bryce Francis.

Reminder! This year all net proceeds from music will benefit the Girls Rock Camp Foundation. Donate directly here!

June 21, 2018

My workflow for Neat Hobby! or, webcomics are hard, not including the drawing part

I came back to Neat Hobby! after a months-long break — which looks like is going to be a regular occurrence during the dead-of-winter months — and had to get back into the groove of posting the latest comic to the kabillion places where people have chosen to gather online. I have finally accepted that I have no control over how folks choose to “consume” “content” — ergo, let the cutting-and-pasting of links begin!

I’m 100% a tourist in the webcomics game and it’s more about self-care and creative satisfaction so I don’t really lose sleep if I forget something. But that said, I wrote down my workflow for getting Neat Hobby! up each week so I wouldn’t forget it all when I came back. Useful/fun to share? I dunno, you’re the one reading this.

Prep stage

I draw each Neat Hobby! strip in Clip Studio Paint at 600dpi, using a first-generation Surface Pro tablet. Most strips start with a template file that has eight panels, a folder each panel, and a folder for dialogue balloons. Most Neat Hobby! strips are four-panel jobs, so I just delete the panel folders I don’t use.

From here, I export a number of finished images:

  • the full strip at 900 pixels wide.
  • a 600 x 300 pixel wide “card” image to be used by Twitter and Facebook previews. To make these, I hide the dialogue folder, make an interesting selection with the CSP Selection Tool and export just that selection.
  • a 200 pixel square thumbnail image, using the same technique. I used to create these using the media editing tools in WordPress, but to be honest, they’re super-confusing to use. Now I just create them in CSP.

Once created I upload them to a cloud-based storage folder where I can work with them from a laptop or phone.

The Neat Hobby! website

I used to just upload the 900px version to the Neat Hobby! website, but I redesigned the site to use a Flexbox layout to make the comics more mobile-friendly. On a wide screen, the panels display as a two-column square, but on a small screen, they rearrange into a single column. Wizardry!

This means I gotta chop up the 900px version into separate panels. I use Pixelmator, which has a nice Slice Tool for this (CSP does not, booo.).

Once I have an image for each panel, I upload them to the website along with the card and thumbnail images and insert them into a new post.

(How does Twitter and Facebook find the card image? I have some custom website templating that does everything. Maybe I’ll post some snippets later.)

Once the site is updated, I move on to EVERYTHING ELSE.


Instagram is great for panel-based comics because readers can swipe through the strip. But I’ve found that uploading the not-square sliced panels to Instagram kind of sucks. They get distorted and aren’t optimally sized.

So I use a Mac OS X Automator script to make copies of the slices and resize them for Insta. They automatically go into a cloud-based folder so I can put a post together using Instagram on my phone.

Instagram tagging is a real pain in the ass, but I’ve found it’s it’s the only way I’ve gotten new readers who aren’t already friends and family. I keep a text file of standard boilerplate hashtags to paste in and modify.

Twitter and Facebook

Here I just post a link to the website. The card images make sure there’s a nice-looking preview image. Because I took the Twitter and Facebook apps off my phone to cut down on my social-media-induced rage, I use an IFTTT applet to keep both the Neat Hobby! Facebook and Twitter pages in sync with the official website. If you take this route, be sure to uncheck the link shortening option in your IFTTT account settings, or else your card images won’t “unfurl” correctly.

UPDATE: I used to use IFTTT to also post updates to my personal Twitter and Facebook pages too, but stopped because too many identical posts across different accounts gets flagged as spam. I’ve found it’s better to just share or retweet those updates via my personal accounts.


Yes, there is a Neat Hobby! Tumblr!

Tumblr does things with images that I don’t understand or trust, so I upload the full 900px image. Tagging is a nuisance, so I use the Tumblr Post Tags extension for Chrome to pre-populate the tags. Then I add a few relevant extra tags.

I also use keep a folder of “syndication snippets” that are just text files that have some boilerplate text I put in every Tumblr and Medium post. “Read more here!” and “Follow on Twitter here!” and that kind of stuff. More manual labor!

I am thinking of ditching Tumblr. It’s currently used as a mirror of the official site, and I don’t really invest enough time there cultivating it.


Because a lot of Neat Hobby! strips deal with tech culture stuff, I started posting specific strips to Medium. I post the original 900px image to ensure the layout doesn’t break. Mercifully, Medium only allows five tags.

Growth has been slow but generally positive on Medium. As with Tumblr I don’t have time to really cultivate an audience there, but it’s still doing better than Tumblr with minimal effort.


For the brave and true mailing list members, I use TinyLetter and post a link to the most recent strip. I’ve experimented with embedding the card images in email, but I think it’s more trouble than it’s worth. Once, for my day job, I used Litmus to test out some HTML email layouts. Trust me, you don’t want to know just how badly things can break.

That’s basically everything. I know some career comics folks out there use automation services like Hootsuite and some just pay someone else to do all of this stuff for them, which sounds fantastic, but there’s a limit to my investment in all this.

June 13, 2018

New music release! “NPE,” a 20-minute concept EP about anxiety, computers, and irreversible life choices

I’m pleased to announce a new music project I’ve been working on for the past year (and teasing on Twitter for the past week)!

NPE is a 20-minute mostly-instrumental concept EP I’m releasing under the name OneKilotonSun. I began writing these tracks in early 2017 as way of working through feelings of midlife anxiety, day-job stress, post-election depression, and generic winter blues.

“NPE” is an acronym for null pointer exception, which is a type of programming error where the computer expects to find a value but finds nothing — null — instead. I thought it was a fitting title to describe what I was experiencing at the time: sudden, frustrating setbacks caused by literally nothing. Anyway, you don’t have to know anything about computers to enjoy this EP, trust me.

It’s hard to describe this music. Loop-and-guitar art rock? In a lot of ways NPE is a nod to my early influences — Pink Floyd, Porcupine Tree, Alan Parsons Project — stuff I listened to when I was learning guitar in the first place. Which is to say, there are quite a few guitar solos.

Now at Bandcamp for your listening/purchasing pleasure (and iTunes to come later). If you’re not ready to commit to the full 20-minute odyssey, you can jump right to the single version of “Throwable” to get a taste. My fave track however is without a doubt “Exception” which is built on a riff I originally wrote when I was 22, and tracked last year with ace drummer Don Gunn, who also mastered the EP.

All net proceeds from NPE will go to the Girls Rock Camp Foundation — which is also true for all my other music too.

So very glad to push this out into the world. Enjoy.

June 4, 2018
« Older EntriesNewer Entries »