chadoh

A biped doing my thinking with an Indo-European language. Rubyist & JavaScripter, entire.life creator, enjoyer of cats, the internet, space, earth, laughter, disambiguation, and the edge of what is known.

Page 2


Why You Shouldn’t Use Vagrant: Real talk from a Vagrant burn-out

Hey, kid. Someday, some charmer is going to smooth talk you.

“Why would you want MySQL and PostgreSQL both running on your machine all the time?” they’ll probably ask. “Just run them when you need them.”

Then they’ll tell you about some slick way their company allowed all of their developers to click buttons on some website, like ordering a Fatty Meal at a McDougle’s: “MySQL, Redis, a custom queue server, and our main app, please.” Then BOOM. They get a fully configured VM, just like that! With exactly the things they need and none of that other crap. They spin it up, they get their work done. No fuss, no hassle. No having developers waste time configuring their environments.

And most of all, your charmer will woo you with how you’ll never again have developers saying, “it works on my machine!” That’ll be their biggest selling point. It will also be their biggest lie.

Don’t you...

Continue reading →


Coworking in West Philly: Introducing The Fire Works

Philadelphia is a great city for coworking. In no particular order, we have Benjamin’s Desk, CultureWorks, Impact Hub, SeedPhilly, Venturef0rth, Quorum and of course, the grandparent of them all, Indy Hall. (Let me know if I missed any!)

Personally, the only one of these that I’ve sampled is Indy Hall, of which I am a member. I love it there. I love the JFDI culture and the enthusiastic, community-oriented members. Indy Hall really is a community that cares for itself, not just an office.

However, if you’re in West Philly, you may hesitate to commute three to five miles into a different part of the city every day. You may rightly recognize that West Philly is already all about community. Why don’t we have a an awesome coworking community and workspace right here?

Well! Wish no more! Because now we do. It’s called The Fire Works.

some community members laughing about something on someone's computer
Photograph by Lisa Yoder

The Fire Works is located on...

Continue reading →


Work at it like a kitten: Great advice from the feline kind

We adopted a six-week-old kitten from a couple who were moving cross-country the next day. Her ears were too big and her limbs moved as if each had its own motor that wasn’t in sync with the others. We named her Harper Lee.

harper as a kitten.png

After Harper became friends with the resident cat (named Pablo Honey), she would see Pablo sitting in high-up window sills or on the bathroom counter. Harper’s jealousy showed in her face. She wanted to reach these great heights. But her small, uncoordinated legs didn’t get her anywhere close.

And somehow, Harper knew just what to do about it. We humans flail around, convinced that because we can’t make it even halfway up to the window sill that it just isn’t meant to be. “Oh well, I guess I’m cut out for some other line of work,” we say, and move on, bouncing from thing to thing. Perhaps this is a blessing and a curse of the modern human: we have so many options...

Continue reading →


Hello, Svbtle. This is me, committing to writing.

2014 is my Year Of Creative Things Again.

Mid-2012, Lisa and I made an important discovery: I don’t have enough time to maintain a full time job, more than one hobby, and a happy marriage. So I restricted myself to one hobby at a time. And the rest of 2012 and 2013, that hobby has been web development projects. Approximately the same thing I do for work.

In 2014, that’s changing. I plan to create (with an illustrator) a children’s book, and dive back into creating music. One thing at a time, so that marriage stays happy.

And write. I’m working to fit in writing, just a little bit here & there, when I can. Nothing big or elaborate, but consistent. “Never hurry, never rest.”

And Svbtle’s going to help me. I hope y'all enjoy it.

Continue reading →


Subconscious Life Lessons: My (white, male) narrative is more important than yours

My mind is split in two: Research psychologist Jonathan Haidt describes the mind as a small rider, the concious, sitting on a giant elephant, the unconscious. The rider thinks he is in charge and can tell the elephant where to go, but the elephant has his own ideas. THE RIDER CANNOT FORCE THE ELEPHANT INTO A DIRECTION, BUT CAN TRAIN HIM SLOWLY OVER TIME. If the rider and the elephant work as a team—when the conscious and the unconscious are close—my life is going to be rich. Image from The Happy Show; a phenomenal exhibit by Stefan Sagmeister


Confession time.

As a child, my brother Seth and I would often go visit some friends, Sarah and Chelsea, and play at their house. One of our favorite games was Cowboys and Indians.

A description for the unfamiliar: Cowboys and Indians is a improv-based role-playing game built around common American Western motifs. At the beginning of a game, one of the participants suggests a basic storyline, and everyone debates it into a shape they all agree to.

I’m sure we played this game many times, but one rough storyline I remember is this: Seth and I were cowboys, and we somehow ended up with Sarah and Chelsea, who were Indians, as captives in our camp. (Let’s for now avoid pondering the troubling means by which they may have ended up being captured.) The rest of the story was going to be that, though in the beginning we...

Continue reading →


The Revenge of MySQL, Episode 2: How to Handle Bytes That Think They’re Supposed To Look Like “Mike’s”

Episode -1: Background

Consider thee the Right Single Quotation Mark (the “smart quote” used in words like “it’s”):

’ UTF-8 Latin1 0xE2 0x80 0x99 0x92

Notice that in the “Latin1” encoding (also called ISO-8859-1), the humble is represented by one byte. In UTF-8, it’s represented by 3.

If you’re feeling like you need an Episode -2 to explain what the heck 0xE2 means, I’ve got you covered.

Episode 0: Introduction

MySQL is partly popular because it’s so easy to get up and running with it.

At least, it makes you think so. But if you don’t know what you’re doing (and you used MySQL, so you probably don’t!), it may be secretly fucking you over, allowing you to live a terrible lie for years before laughing in your face when you notice all your corrupted data.

This is a three-part series documenting my year of encoding hell. I explain a disgustingly...

Continue reading →


The Revenge of MySQL, Episode 1: Extravagant Gymnastics for a Small Data Problem

Episode -1: Background

Consider thee the Right Single Quotation Mark (the “smart quote” used in words like “it’s”):

’ UTF-8 Latin1 0xE2 0x80 0x99 0x92

Notice that in the “Latin1” encoding (also called ISO-8859-1), the humble is represented by one byte. In UTF-8, it’s represented by 3.

If you’re feeling like you need an Episode -2 to explain what the heck 0xE2 means, I’ve got you covered.

Episode 0: Introduction

MySQL is partly popular because it’s so easy to get up and running with it.

At least, it makes you think so. But if you don’t know what you’re doing (and you used MySQL, so you probably don’t!), it may be secretly fucking you over, allowing you to live a terrible lie for years before laughing in your face when you notice all your corrupted data.

This is a three-part series documenting my year of encoding hell. I explain a disgustingly...

Continue reading →


Episode -2: 0xE2? Wtf? Addendum to the MySQL series

Hello, human. You probably learned to count to ten. You probably use 0 to 9 to write numbers.

That’s great! But there are other ways to do things.

Computers, you’ve probably heard, store everything as ones and zeros. Fortunately, most of the time modern programmers don’t have to care about this. But character encodings are one of those times when we get pretty close. But don’t worry! You can totally comprehend this.

So computers learn to count to 2, using only 0 and 1. “Wait, what?” you may ask, “How do you count to 2 without a, you know, a ‘2’?” Great question! But consider: you count to ten without a character representing ten! You just put a 1 in the “tens” column, and a 0 in the “ones” column.

Computers do something similar, but instead of having a tens column, they have a “twos” column. So you start counting at one, “1”, which is followed by two, “10”. Only, in binary, we know...

Continue reading →