RSSAmplifier

Blog

Maia McCormick

code.maiamccormick.comRSS feed ↗20 posts

Latest posts

Job Hunting While Day-Jobbing

Interviewing is stressful enough, but interviewing while doing your day job? 1 Yikes! Well, I just did it, 2 and I’m here to tell you that it’s totally doable! In this post, I share my thoughts on interview prep, minimizing day job disruptions, keeping up appearances at work, etc. This last time around the interview cycle, I was still working at a company I wanted to do right by, but a lot of the…

Amsterdam Recommendations

Huh, I guess I still have a blog! How many of you folks out there are going to Kubecon EU 2020 in Amsterdam ? Well, Team Tilt will be there with bells on! …But I myself, unfortunately, will not. Which is a particular shame, because I studied in Amsterdam for a semester in undergrad, and would love to go back! In lieu of that, I’ve written up a bunch of stuff I’d do if I went, and that I want my…

How Windmill Prepped for GothamGo

(Cross-posted from Windmill’s blog .) At the end of April, Windmill (all five of us) trekked down to GothamGo to learn things, meet people, and pitch our product. As Silver Level sponsors, we had our very own little table on the first floor; it was the perfect chance to pitch our fledgling product, make connections, and figure out what developers might want from us. The only question was: how?…

Preparing for Technical Interviews

Life update time! After three great years at Spring , I’m moving on to my next adventure; in April, I’ll be joining Windmill as their fifth engineer, where I’ll be building cloud-based developer tools, as well as company culture. The most frequent question I’ve got from people upon telling them this news (after “what the heck is Windmill?!”) is, “How did you prepare for your interviews?” (And all…

F***in' Decorators, How Do THEY Work?!

If you’ve been in Python-land for long, you’ve probably seen some @ -sign thingies hovering (often mysteriously) above functions and class definitions, saying things like @patch or @classmethod or perhaps something even more obscure. Maybe you already know that these are called “decorators”. Maybe you’ve even used them, or written your own! Even if you’ve done all that and still don’t quiiiite get…

What Are Interfaces?

This is a blog post about interfaces in Go. I wanted to write about a headscratcher that cost me several hours of work when I first started learning Go, and I figured I might as well start from the beginning and write the article on interfaces that I wish I had read back then. The story of my encounter with nil interfaces is coming soon, but for now, here’s a brief and hopefully accessible piece…

Dig Yourself Out of a 'Git Commit Amend' Hole With Reflog

Raise your hand if you’ve ever git commit ’d something you shouldn’t have. (It’s okay, this is a judgement-free space.) And raise your hand if you’ve ever used git commit --amend --no-edit 1 to try and hide your terrible, terrible shame. (We’re not even gonna talk about git push -f origin master . Don’t do it, kids.) And raise your hand one last time if you’ve ever git commit --amend --no-edit ’d…

28 Days Later: My First Four Weeks as a Junior Engineer at Spring

I came out of school with a BA in music, tripped and fell, and landed in the tech world. The folks at Spring took a chance on me as an extremely junior developer and offered me a job. I’ve been here now for a little more than two months, and I couldn’t be happier. Going into my first day at Spring (which also happened to be my first day as a software engineer, full stop), I was understandably…

Truthiness

Truthiness in Python is occasionally confusing. Obviously, False is false and True is true, but beyond that, what then? None is always false–though this doesn’t mean that False == None , which is a mistake I made early in my Python career. I was confused by how a nonexistant list and an empty list were both falsey, and somewhere in my mind I thought that they were both None as well. Not so much.…

OPW Retrospective

Three months later, I’m done with my OPW internship with GNOME Music. I’ve learned that open-source contributing isn’t as scary and impossible as it once seemed, and that IRC is full of nice people who are happy to help! But I’ve also learned that diving into a new codebase is challenging, at best, and nearly impossible at worst. pdb , for x in dir(foo): print(x) , traceback.print_stack() , and…

The Joys of SPARQL: An RDF Query Language

I’ve been working with SPARQL a bunch for my OPW project , and found it very slow going at first. SPARQL is apparently one of those little-loved languages that doesn’t have much in the way of tutorials or lay-speak-explanations online—pretty much all I could find were the language’s official docs, where were super technical and near-impossible for a beginner to slog through. Hell, I didn’t even…

The Best Thing I've Done for My Productivity Lately

But seriously. The best thing I’ve done for my productivity lately (besides blocking Facebook entirely on my work machine) is disabling my Facebook newsfeed (this is a Chrome extension, I’m sure there are various others for other browsers). Facebook is still a time-suck, but not the ENDLESS VORTEX OF DISTRACTION AND OOH A BUZZFEED ARTICLE that it once was. Pretty cool stuff!

Git 301: Changing History

Congratulations, you’ve made it through Git 101 ( init , add , commit , log , status ) and its slightly more difficult companion course, Git 201 ( branch , checkout , pull ). 1 Are you ready to pull out the big guns? Here are a handful of commands I’ve been using lately, which I will now write about on the off-chance that they’re useful to someone else. Welcome to Git 301. Selective Checkouts with…

OPW: 1 Month In

For anyone who doesn’t know, this past December I started an internship with GNOME as part of OPW, the Outreach Program for Women . The point of this program is to get more women (by which they really mean cis woman and trans folks and genderqueer/genderfluid/agender folks… so basically, people who aren’t cis MEN ) involved in the FOSS world. In my particular case, it certainly succeeded! I’d been…

Rules for OPW

Rules and resolutions for myself during OPW: wake up at the same time every day. eat breakfast every day. eat lunch. Seriously, eat lunch. drink liquids. Getting dehydrated is an easy to make your brain not work good and takes surprisingly long to register with your conscious mind. check in with the inimitable Rose Ames via email every day with 1–3 problem/plan/deliverable result triples, and…

USB Disk via Terminal

Achievement unlocked: accessing a USB disk via terminal! Accessing a flash drive from terminal seems like it ought to be simple, but it’s varying degrees of a pain on different OS’s. It also seems like something I should have learned ages ago–especially considering that when I first started terminal-ing, Allison Kaptur ’s advice to me was to quit Finder cold-turkey until I could do everything I…

Design Principles From Liz

The other week, I chatted with the fabulous Liz Starin and picked her aesthetically-enabled brain about fonts and layouts for websites. Below is some stuff I learned from our design adventures, both wisdom straight from her and stuff I picked up from my experience overhauling fonts and layout: x-height is a unit referring to how tall the letter ‘x’ is in a given font. The larger the x-height, the…

Revisiting My First Python Program

Back in mid-July, I started at Hacker School, wide-eyed and green and totally freaked out. With only a little bit of Javascript under my belt (and a basically negligible amount of Java, so we’re not even counting that), I decided to teach myself Python, slogged halfway through Zed Shaw’s Learn Python the Hard Way , then went off to go build something, because I work best by getting my hands dirty.…

Markov Madness, Part 2

(If you’re confused, see my previous post on my Markov generator adventures .) The other thing I got up to today was implementing some sort of (questionable) part-of-speech-based intelligence. The idea was to have a dictionary for parts of speech, in addition to a dictionary of words. Then the work flow would go something like this: start with a random seed what part of speech should come next?…

Markov Madness, Part 1

Man, I’ve hardly written code in three whole weeks! Such a strange feelings, after 3 solid months of coding. Anyway, back at Hacker School for the day, and with my OPW application in, I’ve been itching to actually write some code , so I revisited my old Markov generator project, which takes a training corpus and generates psuedo-random texts in the style of that corpus. I’ve tried a few different…