April 28, 2021

My dream static site generator

I'm on the hunt for a simple tool to build simple websites. In my last post I explained a bit about what I mean by that and why I find the existing options unsatisfactory. It got me thinking about what my requirements are. I think it's good in general to think up front about how software should work. It helps me quickly pass on existing solutions before wasting tons of time learning a new thing only to discover it can't do what I need (because I didn't know what I needed until it was too late). It also helps me make better software. […6 min read]

post#software#static-websites

April 24, 2021

March 10, 2021

February 18, 2021

Building a fast command-line app with Clojure

Like most developers, I always have about a hundred ideas for little tools or apps I wish existed. Every once in a while I get the time and energy to magic one of them into existence. Clojure is my language of choice these days, but at first glance it's not super well suited to building little command-line apps (which is usually what I start with). Some things that make it not an obvious first choice: […4 min read]

post#cli#clojure#graalvm#software

February 10, 2021

February 7, 2021

I Need People

This is the second post in a series about things the 2020 pandemic has taught me. The first was that journalism is important. This one is about appreciating my friends and family in a new way. I've always loved the people in my life, but the feeling of actually needing other people, like for survival, is new to me. I've always had this strong sense that worst case scenario I would always be fine on my own. Like if I really had to I could hack it alone, and that might not be ideal but in the end I'd be more or less fine. I realize now I was wrong. […4 min read]

post#community#pandemic#personal

January 30, 2021

How state makes software complex

What makes large codebases so hard to reason about, and so hard to extend? I really want to find out because I'm tired of losing my mind working on them. One paper I love called "Out of the Tar Pit", by Ben Moseley and Peter Marks, argues that state is the main source of complexity in large software systems. This article is an overview of a couple of the ideas from that paper, along with some discussion about how we might conceptually think about necessary state in software in order to improve its overall quality. […6 min read]

post#complexity#papers#software-engineering

January 19, 2021

Becoming a software developer

I get asked a lot for advice on becoming a software developer. I didn't study anything related to software in university, but now it's what I do for a living. I also spent about 3.5 years mentoring with Lighthouse Labs, a local web development bootcamp, and watched (and would like to believe at least in some cases, helped) hundreds of people of every age from wildly diverse backgrounds get jobs as software developers. […13 min read]

post#careers#software-engineering

January 5, 2021

What I Use Now Instead Of Google

I made a goal for myself in January 2020 to stop using Google products by the end of the year. That might sound like way too generous a timeline, but Google owned pretty much all of my data at that point, so it was a fairly large project. Plus I'm a slow and steady kind of person. I know if I give myself a generous enough timeline I can accomplish even things that seem too hard for me at first. […12 min read]

post#nextcloud#privacy#self-hosting#ungoogle