All Posts

  1. deploying with github actions

    Last week I updated my blog for the first time in a long time - so long that I had forgotten exactly how to run and build it. (pelican -rl content is the right answer for my current directory structure.) Once I figured that out, I wrote my post and figured …

  2. the joy of react

    I've recently started some PD at work with The Joy of React, a course by React maven Josh Comeau. It promises to teach me not just the basics but also some "happy practices" (hedging on "best practices") that I'm expected to bring back to my daily practice. Several of my …

  3. rc-niceties

    A frequent comment about the Recurse Center is "everyone here is so nice!" Perhaps due to careful admissions, or the social rules, RC participants strive to keep it a supportive community where people are open to others: working together, communicating carefully, and respecting each other. One mechanism for building the …

  4. Outreachy

    Last month I applied to Outreachy, a paid internship for non-students from underrepresented groups in technology. Instead of interviewing based on your resume, part of the application involves making a contribution to the open source project you're hoping to work for. Since the internship employers tend to be big names …

  5. Cost of Drinking

    When I started at the Recurse Center, I had several vague ideas of projects I wanted to work on. A throwaway comment on the price of beer in Budapest inspired me to see if beer could be used as a cost of living metric. The first maps I found polled …

  6. syntax highlighting & feeds

    I haven't written much about the process of putting this blog together because I want it to speak for itself, but I wanted to write a short note about two features I added today. One was syntax highlighting, using pygment's 'friendly' theme. (Thanks to this gallery for showing off the …

  7. Puzzling Goings-On

    Today, an RC colleague organized a group to tackle a git mystery, in which murder has been done and the clues are hidden in commit messages. My group did not solve the crime within the hour, nor did we limit ourselves to git commands. But we appreciated the spirit of …

  8. Three Things Learned

    I haven't been keeping up with this blog, but I have been keeping busy. A few things I've learned recently:

    • Although JavaScript has a typeof command, it doesn't produce very useful output. In particular, it yields object no matter whether the structure in question is a Map, an Array, a …

  9. refactoring checklist; ML project ideas

    In a recent conversation I mentioned that when I meet a new Python feature, I add it to my refactoring checklist. Someone asked me to share that checklist, and here it is, slightly expanded:

    • write all comments/docstrings
    • resolve all TODOs
    • add types to all fn declarations and key local …
  10. RC Week 1

    My first week at the Recurse Center has been a bit of a firehose, mostly socially. It wasn't until Friday that I found myself with more than an hour of unbroken coding time, between orientation activities, chats/pairing with fellow RCers, presentations and craft evening and feelings check-in and more …

  11. RC Day 1!

    I've set a goal to reflect on each day at the Recurse Center; not all those reflections will be public, but those related to what I'm working on will be. The day started a bit earlier than I've been used to, and I enjoyed the orientation activities for the most …

  12. Denim Duvet

    Over the years, I've gone through a lot of jeans. Usually I retire them for excessive rips and holes, although my standards have risen steadily. During the 2020 winter holiday, my partner and I decided to make significant progress on turning this pile of jeans into a duvet cover. This …

  13. sorting and planning

    This week, I've been gearing up for my batch at the Recurse Center, prompted by a flurry of facilitator emails. I've joined Zulip and indicated my interest in a reading/project group for Mastering Large Datasets with Python; posted my introduction to the Welcome thread and read about who else …

  14. Advent of Code 2020, in JavaScript

    I’m doing Advent of Code this year using JavaScript, with the goal of forcing myself to learn the ins and outs of the language. And boy, does it have a lot of those. Here are some reflections on traps and quirks I’ve discovered.

    Initially I wrote JS literally …

  15. Recurse Center, incoming!

    I'm honored and excited to join the January 2021 batch of the Recurse Center, a unique community of programmers focused on self-directed learning. Although their Brooklyn space is closed for the foreseeable future, they've put an impressive amount of effort into facilitating productivity and communication with Virtual RC, leaning heavily …

  16. Embroidery

    Part of a Wright stained glass windows

    As a child, I learned to cross-stitch. As an adult, I've returned to it as a relatively quiet, clean, soothing hobby I can pick up at idle moments that nevertheless produces something lasting and beautiful. Projects I've been working on include:

    • A rendering …

  17. Family Cookbook

    My extended family likes to cook, especially at the holidays, and frequently I hear, “What’s the recipe for X? Ask Y, they’ll know.” And then the recipe will be dredged up from memory, or a dusty cookbook, or someone’s text history, or photos of a dusty cookbook …

  18. Buffer the Slayer

    When I was teaching programming at the Workshop School, I eventually expected my students to learn about object-oriented programming (OOP). As it’s not a paradigm I use frequently, I wanted to refresh my memory, both about OOP and about how to teach it. So I dug up a project …

  19. Cat Assistant

    Inspired by the hilarious interview question, "What words would your family use to describe you?"

  20. A Tale of 2 PDs

    Recently I attended two professional development events nominally aimed at "maker educators." They ended up being pretty different experiences, though!

  21. CTE Programming in 2017

    Anyone teaching computer-related topics in 2017 knows that: the range of skills, compensation levels, and working conditions in "tech" is huge and unpredictable; and, trying to future-proof your students is impossible.

  22. Advent of Code

    Advent of Code is an annual challenge during the month of December, posing short puzzles that generally require code to solve. Although I've never seriously competed, I have completed for my own enjoyment every puzzle from 2016, and nearly every one from 2015. The solutions from 2016 are annotated for …

  23. Berrybasket

    In 2013 my partner Daniel and I were teaching at The Hacktory, a Philadelphia makerspace, mostly about circuits. A friend approached us about teaming up with an elementary science teacher for a unit on datalogging in (cardboard) houses, since Daniel's former job involved datalogging in (real) houses. The students were …

  24. The Hacktory

    When I moved to Philadelphia, I got involved in a local makerspace, The Hacktory. They provided a great platform for teaching others and tinkering on my own projects. Here are a few of the activities I worked on there.

  25. MIT OCW Highlights

    You never forget your first, and for me, it's true for my first job: working with faculty to publish open educational content at MIT OpenCourseWare. A massive undertaking, OCW's original remit was to publish the entirety of MIT's curriculum online under an open license, for reuse and remixing. I was …

  26. Cider Press

    Once upon a time, my friends and I went apple-picking, and decided we wanted to make some hard cider. So we got in touch with a friend of a friend who had a working cider press, drove out to the coast, and pressed some apples. This was great fun, but …