You don't know a topic until you can explain it clearly.

Here is my attempt at learning by writing.

Read my ramblings on front end development, design, inspiration, and knowledge for your clients.

Firefox flex-basis: auto and srcset bug on retina screens

I ran into a problem with a customer’s site specifically on Firefox (on Mac). Their logo was setup to use a 2X retina size and srcset to show it properly on retina devices. Our specific layout used flexbox, and on the logo’s container, flex-basis: auto.

But in Firefox we saw this:

Firefox srcset and flex-basis bug example

The parent of the image was being set to 400px, exactly twice as large as the image loaded in was. After a bit of exploration I came across this bug opened up with Firefox three years ago. With no fix in sight from the browser, I needed to find a workaround.

Upgrade your existing Shopify theme with Slate migrate

If you haven’t read about Shopify’s new theme development toolkit, Slate, check out the introductory post here. It provides you a starting set of files for developing your own custom Shopify theme along with handy build tools to speed up and optimize your workflow.

But what if you’re not starting from scratch? Whether you’re basing your work off an existing theme or supporting a client’s existing theme, there’s no doubt you’ve wanted to improve your development workflow at some point.

With Slate installed (npm install -g @shopify/slate), you can run slate migrate to convert an existing theme into the folder structure compatible with Slate.

CSS Specificity of *

I’ve been writing CSS for years. Sometimes — ashamed as I am to admit — I get snobby and feel I know it better than the back of my hand. This morning sent a shot of reality with something as simple as CSS specificity. In fact, many developers I work with were also surprised to learn this little bit of knowledge.

Iframe tables cause overflow scrolling on iOS

At Shopify, we have something we call the assets gem. It’s a collection of our core styles that we can use on any project not hosted directly in our admin. Many of our channels (Amazon, Facebook, etc) use this assets gem in their projects which are then loaded in an iframe inside of our admin.

Automate iTerm 2 Setup With Alfred Workflow

I rarely restart my computer, mainly because I hate having to set up all my iTerm tabs again. On any given day, it usually looks something like this:


I like to use the split screen feature to run tasks in one and GitHub commands in the other. I also like to label each tab for easy reference. Doing this manually is a little more cumbersome than I’d like, so I fixed up an Alfred workflow so now all I have to do is use a quick keyword trigger:

Alfred iTerm2 Workflow

Older Articles