RSSAmplifier

Blog

Bonnie Eisenman

blog.bonnieeisenman.comRSS feed ↗20 posts

Latest posts

Rake errors with zsh: no matches found

This blog runs on Jekyll, and I generate my post templates using Rake commands. When getting set up on a new laptop I ran into a new issue: $ rake draft["blog title"] zsh: no matches found: draft[blog title] Apple changed the default shell from bash to zsh back in 2019 with macOS Catalina . zsh helpfully tries to expand the square bracket characters ( [ and ] ) and then throws an error when it…

Avoid concatenation in log statements

This is a really small programming “style” best practice that came up at work last week. TLDR; don’t pre-concatenate strings in Java log calls! I’m working in Java now after a long stint in Scala-land. I used Java in university and at my first few internships but haven’t worked in it since then. So, there are a lot of coding conventions and best practices that I’m having to re-learn… One of them…

Slack Workflows Gotchas: Problems with Programming Custom Slack Bots

I built a Slack bot with a coworker for our internal company hackathon. It was….an experience! Here are some notes that might be useful to other folks. Our team runs a company-public “help” channel, which is meant for folks outside of our team to ask questions. Unsurprisingly, many of these questions are repetitive, and answering them is a drain on the on-call engineer’s time. I looked back at the…

Downloading Patreon videos using yt-dlp

I subscribe to several Patreons that offer paywalled video content. Some of these are reference materials that I might want to re-watch over and over again, and I find it annoying to have to stream them when I could just download the videos and have them available offline. There are loads of sketchy Chrome and Firefox extensions that purport to let you download these videos, but most of them 1)…

Don't tolerate -isms in your interviews

My organization typically interviews in pairs: two interviewers, one candidate. This is beneficial for several reasons: it helps interviewers calibrate against each other, it frees up one person to take notes while the other asks a question, it helps the candidate meet more potential coworkers during the process. Sometimes it also creates an opportunity for odd observations. I’ve had several…

Is Processing Java?

If you’ve delved into programming-for-art before, chances are that you’ve encountered Processing. It’s a phenomenally successful tool for coding for visual art. Processing describes itself as “ a flexible software sketchbook and a language for learning how to code within the context of the visual arts ”. It’s based loosely on Java, but it ships with its own development environment and code editor…

More than Coding: What is Exploratory Work?

Software engineering is more than just coding. I hear a lot of questions from early-career engineers about what exactly constitues “work”, and how they’re expected to spend their time. They might say things like: “I feel like I didn’t get anything done today. I didn’t write any code, I just did a lot of project planning.” “I spent a lot of time today investigating this bug, but I don’t know if I…

Less-obvious accessibility questions

Accessibility and ability are both complex spectrums. Many venues that claim to be “ADA accessible” aren’t actually accessible for all attendees with disabilities - or, perhaps, they’re only partly accessible. As an example: I have intermittent mobility limitations and chronic pain. When I did a batch at the Recurse Center in its former location, the elevator-accessible door was often deadbolted…

An Engineer's Formula for Software Estimation

Software estimation is one of those tasks that can feel like a distraction from the “real” work of engineering. In practice, though, I’ve found that making reasonable estimates for engineering tasks is a really useful - if mysterious - skill. So let’s talk about it! I work on a team of ~8 engineers at a large company. Many other teams depend on our work, and we depend on many others. There is…

Experiments with Fractal Streets

I’ve continued to build on my experiments with two-dimensional generative art using Clojure. Here’s my latest batch of experiments: procedural generation of some squiggly lines. My favorites from this set look sort of like fractal street maps. It starts from a handful of seed points, and then grows outward, avoiding collisions and gradually tapering off. Here are some progress shots. To begin…

What I Know About: Being Sick at Work

Workplace accommodations can be a fraught topic - what are you legally entitled to? How do you figure out what’s reasonable? How do you manage the emotions around needing help? I’m pretty happy with how I handle my illness / invisible disability / whatever-you-wanna-call-it at work these days, and thought I’d share some notes on what has and hasn’t worked for me. My angle on this: I’m American, my…

Notes on Modifying Unowned Code

Recently, I needed to add a new feature to an unowned codebase at work. What do I mean when I say unowned code? I think of unowned codebases as having a few qualities: There are no planned improvements or changes to the code. The original author(s) are unavailable for questions. (Perhaps no longer working for the company, or nobody knows who wrote it, etc.) While there may be people who have…

SVG Jigsaw Generation in Clojure

I spent the last week learning Clojure and generating jigsaw puzzles as part of my one-week programming retreat at the Recurse Center . Why jigsaw puzzles? I was motivated by two things: first, I wanted a good-sized language-learning project. Secondly, I was heavily inspired by the amazing, beautiful, intricate jigsaw puzzles produced by Nervous Systems and wanted to experiment with similar-ish…

Books 2017

This year I read 44 books by 24 different authors, including one 15-book series. Most importantly, though - this year I really dove back into reading for fun . Fifteen of those authors were female, and nine were male; 75% of the books I read were by female authors. When I first started tracking my numbers on this I was habitually reading works almost exclusively by male authors, so I’m happy that…

Lisp Learning, Part 1: Generating a Circular SVG

I’m going to be participating in the Recurse Center one week mini-batch in January. Recurse Center describes itself as “a self-directed, community-driven educational retreat for programmers in New York City.” For the mini-batch, my proposed project was to 1. learn some lisp and 2. generate SVGs of jigsaw puzzles, for laser cutting. Why these projects? I’ve been wanting to learn Lisp for a while,…

For want of a sandwich

Today I made myself a sandwich. Two slices of toasted rye, fig jam, turkey, swiss, pickles. The ingredients arrived from FreshDirect this morning. I had to open the door. Unbox the groceries. Put them in the fridge. Open the bag of sliced bread. Plug in the toaster. Put two slices of bread into the toaster. Open a cabinet door, take down a plate. Open a drawer, pick up a knife… And so on. This…

Underscores in Scala

This post brought to you by my shiny new drawing tablet! I decided to gift myself a tablet for my birthday. I like making doodles of things - I remember information better that way - and I’m also always envying @b0rk’s drawings . So, this is me, giving it a test run. When I first started learning Scala, the underscores everywhere were one of the things I found most confusing. Why were there…

Reading Papers as a Working Programmer

When talking about the computer science research papers with other software engineers, I get a lot of comments to the effect of, “Neat! I wish I read papers, but … (I don’t).” Many of these comments were followed by “…and I feel some imposter syndrome over the fact that I don’t.” Do software engineers and/or professional programmers read CS research papers? After having a couple of these…

Quitting Facebook / this is just to say

this is just to say I have deleted my account from facebook which you probably noticed and worried about please, celebrate with me - I feel so free and so calm. …I’ve received several concerned messages from folks who noticed that I’m not on Facebook anymore. I deleted my account! It felt really good. If you need to get in touch, you can probably find a way. (Hint: my email address is listed on…

What I know about debugging circuits

I’m a trained software engineer, but I am decidedly an amateur when it comes to working with physical hardware and building circuits. I’m juuuust teetering on the edge of self-sufficiency when it comes to physical computing projects and circuit-building: I can comfortably program an Arduino; I can stitch together existing tutorials and remix them into my own projects; I can read and replicate…