RSSAmplifier

Blog

Beth Andres-Beck

blog.bethcodes.comRSS feed ↗29 posts

Latest posts

I am Running for Congress!

I am running for the House of Representatives in the Massachusetts 06 District ! From the outside, Congress might look like a wild change from being a Senior Staff Engineer writing healthcare software. For me, it feels like the next step. I always put my energy where I see the most urgent problems. That has taken me into jobs. It took me out of others. I went deep into optimizing computer vision…

Code Review Heuristic: Work You Throw Away

I have been finding it challenging to put my thoughts about code reviews into a linear format. I've realized that it is because code reviews are a part of the broader and context-specific work of engineering a productive software development process. Rather than talk about code reviews on their own, today I'm going to try something different: I'm going to talk about a specific heuristic you can…

Software Architecture Is Aesthetic Work

Thinking about why aesthetic feedback on code is so valuable led me to the question of why the feedback techniques we have for procedural code don't work well for Architecture. There have been many attempts to lint architecture decisions, or write unit tests for them, or create frameworks people can plug together like libraries, or create prescriptivist languages, and I have yet to see any of…

A Two-Party System Makes The Primaries Important

Student loan forgiveness demonstrates why participating in primary elections is fantastic. This wasn't Biden's priority and it didn't come from his base. If it hadn't been for the primary, this wouldn't have happened yesterday. It was one of Warren's priorities. The bill that made student loan debt unable to be discharged in bankruptcy is what got her into politics in the first place, and…

For Delightful Code Reviews, Say Nice Things

A rebellion is brewing. Ideas like post-commit reviews or even a return to cowboy coding are gaining traction over the unpleasant & unproductive experience that is the bug-hunt code review. This is unfortunate, because code reviews are one of the delightful parts of our profession. They let us shape and revel in the things we build together. They let us be confident in our work, and demolish…

Coupling & Cohesion: How Musk Would Need To Rearchitect Twitter

Wired magazine published an article about why Musk’s Plan to Reveal The Twitter Algorithm Won’t Solve Anything . Several of my non-programmer friends were interested in this, and we started chatting. Because the idea itself is obviously shockingly out of left field, I discovered this was a perfect opportunity to explain the properties of Coupling & Cohesion and why they matter. Coupling & cohesion…

Moderating Discussions Over Video

As many colleges move online, I realize I have a somewhat-unique experience: I shameless ripped off the pedagogy from my small liberal arts professors and have spent the last decade+ applying it at distributed tech companies. I've facilitated video conversations with anywhere from three to fifty participants, both in the course of my work, as part of reading groups for specific texts, on social…

Rails Quirk: A Period in the URL Can Break The Route

When using Rails routing I came across an odd bug: a URL query parameter was breaking the route. A URL query parameter without a period? Everything works fine. A URL query parameter with a period? 404. I eventually found the answer in an off-hand comment in a random blog post, and traced it back to the code. So that next time I remember what is going on, I figured I'd throw the explanation up…

Reflecting on Diversity, Inclusion and My Self-Alienation

Two and a half years ago I joined LTSE, with the goal of changing the incentives companies face to prioritize short-term profits over everything else. In May, the SEC approved the creation of the Long Term Stock Exchange , making us one of only a handful of venues authorized to list publicly traded companies. When this milestone happened I discovered that I still have an internalized voice that…

UX Patterns of Emotional Journey

When building transformative experiences for our users, we begin by identifying the emotion that motivates their engagement. We then imagine how we want them to feel when we have provided for their need. Finally, we are left to build something that we think can successfully transform the first into the second. The only way to actually know if such a design works for a sufficient audience to…

Introductory Language Values

I was having a conversation with some people about languages to use to teach programmers. I am not a teacher and it has been my impression that language choice matters a lot less than pedagogy when creating good programmers comfortable with all of the possible tools of software development. That said, I still have opinions and here are the things I look for in an intro language: * Some things…

Confidence Through Feedback, or Why Imposter Syndrome is the Wrong Metaphor

Imposter syndrome is often presented as a personal failing. A lack of confidence, our wrong-headed beliefs not matching the reality of how competent we are, or worst of a flaw of our gender. Just tell yourself you are wrong! Imagine everyone else is just like you! Have confidence in all parts of yourself except that part that tells you not to have confidence! Unsurprisingly, these interventions…

Email Template For Addressing Conference Gender Diversity

Someone I worked with had asked for recommendations when I noted the speaking lineup of a conference he was attending was exclusively men, and I figured I'd share the letter I came up with in case it is useful to others: While I attended $CONFERENCE_NAME last weekend, I was disappointed to notice the oversights in your speaker line up leading to it being made up of nothing but men. Perhaps your…

The Dyslexic Programmer

I am dyslexic, and these are my experiences. They certainly won’t be universal, especially as there isn’t just one form of dyslexia [0]. To identify my strain of dyslexia, I read quite quickly (though only somewhat accurately) through pure pattern-recognition. I can look at, say, "word" and identify that the second letter is an ‘o’, but if I want to understand it as a concept I ignore the letters…

How is Gender Studies hard?

Someone somewhere, of course, was mocking Gender Studies majors for taking an easy course because they couldn't hack liberal arts. I made the point that the Gender Studies classes I took were significantly more difficult than my computer science classes. Someone then asked me why I thought that was, and I came up with an answer: Read more »

In Brief: Evolution

Evolution isn't about "good" or "bad". It is simply a word for a specific emergent process. It describes all the things that happened that led to the current state of affairs. Sometimes they happened for reasons, under specific and identifiable pressures, but other times just by accident. It gets way over-simplified, especially by people looking for answers, since evolution is bad at providing…

Reading List Referenced at Usenix Talk

My Usenix talk this year uses various books I've drawn on for inspiration as backgrounds for my slides. The goal of this was to share some of the broader world beyond what we usually look to as computer scientists. Some of these books are accessible, while others are extremely dense. I recommend picking things up and putting them down if they don't speak to you. It's all about what is useful,…

When Buying Computer Components

I'm doing a workshop on putting together computers in two hours, and rather than do hand outs I figured I'd toss the links up on my blog. When buying components for a computer, I usually read: Ars Technica If you are buying the components for a machine, they do systems guilds that are a useful report on the state-of-the-art each December-ish. The one for 2012 is available here:…

Fractal Design Patterns

The difference between Architecture and Code blurs quickly when refactoring becomes sufficiently common, so the distinction made between various pattern languages never seemed especially helpful to me. Between Architecture and Service the line is firmer: this code is mine, that code is yours, here is the interface. At the same time, I've found that the design patterns that work when I'm writing…

The Internet is Convincing Women Not To Study Computer Science

A summary from YodasEvilTwin on Slashdot: "The internet is dominated by sexist men, which discourages women from getting involved in related fields." I add a bunch more caveats, references and empirical data, but that is a good summary of how I interpret the evidence. Introduction There is currently a responsibility-dodging contest between industry and academia over who is to blame for the…

Assumptions Make Programming Possible

Scott McCloud, in Understanding Comics, uses a simple image to explain how people employ assumptions when reading comics: I may have drawn an axe being raised in this example, but I'm not the one who let it drop or decided how hard the blow or who screamed or why. That, dear reader, was your special crime, each of you committing it in your own style. I argue that the same is true when reading…

An Introduction to Services From This Coder's Perspective

First, there is the question of “what is a Service?” W3C defines a web service as: “ a software system designed to support interoperable machine-to-machine interaction over a network.” [1] They go on to specify some specific technologies mandated by this particular standard and the role a service plays: “The purpose of a Web service is to provide some functionality on behalf of its owner -- a…

Swapping from Google Reader to Tiny Tiny RSS

Now that Google has broken integrated Google Reader with Google+, I was looking for a replacement that would let me use my daily reading of feeds the way I always had: as a way to share long-form content with other folks who specifically wanted to read the long-form content I shared this way (opt-in broadcast). Google+ defeats the purpose: I like my RSS feed and my friends' shared items…

A Preface to My Future Work on the Economics of Open Source

“Economics is basically about incentives and interaction — or, as Schelling put it , micromotives and macrobehavior. You try to think about what people will do in certain circumstances, and you try to understand how individual behavior adds up to an overall result.” – Paul Krugman The economics of open source software has generally been approached from the perspective of “why would people do this…

CMake Tips & Tricks: Drop Down List

In a recent CMake project I was setting up, I wanted users to be able to choose one of several possible libraries at project generation, to make performance comparisons easy on multiple platforms. This is easy enough to do with a configuration parameter, but since the libraries available were a limited set offering the available options seemed better. I discovered that in the CMake GUI it is…

@dharmesh Polls Twitter: What Do We Call People Who Code?

For those of you that write code, what term do you prefer? Programmer? Engineer? Developer? Something else? Dharmesh Shah asked this question Twitt er yesterday , and I did a quick compilation of the public responses. For the answers with more than one vote I include the total votes and also a score. About a third of responces used some form of, “I like X, but sometimes I use Y”, and instead of…

Programming is...: Why Metaphors Interest Me

Metaphor has a pernicious effect. It encourages people to take anecdotes as proof, effective rhetoric as useful advice and to accept only ideas which fit their preconceptions. Metaphors are better at conveying values than specific, practical advice. They can obscure the areas of ignorance and uncertainty where evidence should be collected and lead us to believe we understand things we don't.…

In koans: Quantum Computing

Quantum Computers are transistor computers, except all at once. All things are true, false and unknown, until they are observed. Answers are only opinions, but infinite opinions approach truth arbitrarily closely. A race against entropy; how much can you calculate in the blink of an eye? Even that is too long to be certain. Useful quantum computation is a compromise between reality and everything…

Future topics of discussion

The sorts of things that are likely to pop up here. This list is as much a reminder to me as it is a teaser for things to come: 1. Discussion of and updates on my independent projects 1.a. A GUI Matlab xUnit unit testing tool 1.b. Educational webapp games that don't reload the entire page any time you click a letter 2. Metaphors of software development: an on-going series 2.a. Interviews with…