Categories
Code

Import a Huge Database with MySQL Command Line in MAMP

I needed to import a 500mb MySQL database today, and I didn’t want to mess with changing the max 32mb upload file size with phpmyadmin. The 32mb limit is due to having to upload and process the file, but if the file is on your local machine anyways, there’s no need to upload it. Let’s bypass […]

Categories
Design

Is This Thing On? A Toggle/Light Switch Quiz

Maybe it’s just me, but toggles and light switches always trip* me up. To pseudo-scientifically find out, I captured different toggle designs in the wild from the ol’ World Wild Web into a quiz using the Quiz Creator I designed and developed for the Center for Media Engagement. I’d be delighted if you took the […]

Categories
Professional Development

Share Pie with Strangers

Two years ago I spent the night in a cabin in an RV park in Northern California. My family and I finished dinner and lounged around a picnic table. A jovial man sat down and introduced himself. Talk quickly turned to work, and we realized we were both web designers/developers. I was a bit further […]

Categories
Code

Terminal Command for Looking up Nameservers

At The Engaging News Project, we recently upgraded our DNS hosting by moving over to Cloudflare. I wanted to test our site as soon as the nameservers updated to Cloudflare’s to make sure no weird issues popped up. Fortunately, there’s a handy terminal command for that! nslookup is a command to query nameservers and get […]

Categories
Code

Apple Bug Report – Non-native Focusable Elements Page Jump

On iOS devices running Safari on version 10+, when focusing a non-native focusable element (ie – a div that is focusable via JavaScript or with a tabindex value) inside an embedded iframe on a page, the parent page will jump down the page and you have to scroll back up to return to the focused […]

Categories
Code

How to Fix Blurry Images in WordPress 4.4 from srcset and sizes

In WordPress 4.4 they added a big feature: responsive images using srcset and sizes for all content images. This is amazing. Since WordPress is a hugely popular framework, the amount of bandwidth saved is astronomical. I’m really proud of the WordPress team for implementing this. But… there are some blurry images. It’s not a perfect […]

Categories
Design

The Process of Building for the Web: Quiz Creator Case Study

Engaging News Project’s Quiz Creator is by far the biggest product I have ever designed and developed. Over an eight month period, I did all planning, design, development, architecture, testing, documentation, and deployment. To give you an idea of what goes into building a professional web application, I’ve documented the overarching phases of the project. […]

Categories
Code

Using BEM in the Wild

BEM can get out of control if you’re not careful. On the first project I used BEM, I handcrafted this artisanal class name: .progress__bar__question-count__current-number. Yup. That’s four levels deep. I’m not proud of this. The goal of this article is to make sure another .progress__bar__question-count__current-number never gets written. Before we dive in, if you’re not […]

Categories
Code

Modular and Descriptive Class Names

What’s the big deal, just name it the first thing that makes sense, right? It makes sense now, so it will probably always make sense! .btn–small, .btn–tiny, .btn–really-tiny, umm… .btn–really-super-duper-tiny! Considering your class names avoids headaches and confusion down the road. But that’s easier said than done. Before we figure that out, let’s get some […]

Categories
Code

B is for Block: An Intro to the BEM Naming Convention

BEM (Block, Element, Modifier) is a great way to keep class naming consistent and meaningful. If you’ve never used BEM before but want to understand how it works, or if you’re thinking about using it for an upcoming site or component, this article is meant for you. If you’re already familiar with how BEM works, […]