Hey there! I'm Nat Bennett, and you're reading this because you signed up to get monthly (ish) updates from me about what I'm working on and thinking about.
Well, usually monthly. I honestly thought I had sent out a July update already.
I guess that tells you what kind of month-or-so it's been. We finished moving and I got a job. Like an actual honest-to-goodness W2 withholding comes-with-health-insurance job.
There are a lot of reasons I made this decision. Many of them have to do with the particulars of this job, which I'll be able to write more about in a few months, once we officially launch. Some of it is the changing job market and changes in my family situation – for various reasons it makes more sense for me to have a regular income right now than to optimize for income-per-hour-worked.
It's been a little bit weird going back to a full time role after three years as a contractor, but it's also been nice. There's a lot of things I liked about being a contractor and I recommend that pretty much everyone in software give it a shot if you can – if nothing else it is a fantastic answer to the "so what's up with this gap on your resume between these two W-2 jobs?" question – but I did miss having a regular week-after-week team. After a few years with a lot of transitions its nice to feel like I can settle in a little bit and focus more on doing the work.
In related news, I have been learning Elm. It's mostly delightful. While I admit the error messages are good they're a little bit twee for my tastes. I like my compilers to be a little less familiar, thank you.
I can also see there's probably going to be some trouble as the application gets larger. I don't have a great sense yet of exactly what that trouble will look like but I've been starting to feel around the edges of the type system and I just get a twitchy feeling that there's going to be trouble. Elm's hostility to component's also seems, well, wrong. I'm trying to withhold judgement for now but I just don't agree that components are objects – or at least, that they have to be objects. It's entirely possible to write components that are functions! Possibly all that's happening here is a difference of definition.
Overall though I'm having a great time. I've picked it up faster than I was expecting given that I've never worked with a language with ML-syntax before, but it turns out that functional paradigm is functional paradigm and most of what I've learned from writing Elixir transfers over just fine. I'm much happier writing functional code than anything else – though when I say that I don't mean "instead of object-oriented code," I mean instead of imperative iterators. I actually kinda don't get the hostility you see to OO in some functional circles – objects are just, like, closures, man. The thing I really have a hard time with is imperative control flow. Reasoning about for loops, especially ones with complex iterators, really sucks. I find it dramatically easier to reason about filters and maps – even recursion.
Season Three of How To with John Wilson is coming out now. I cannot recommend this show enough. It is worth subscribing to HBO (or Max, now?) to get it. It's a documentary series about how weird humans can be, focused on but not exclusively about New York, made out of reams of street-photography-style video footage, some of which was shot specifically for the show, and some of which was accumulated over decades of John Wilson constantly filming everything.
The thing I most appreciate about it is that it is very, well, street photography. A lot of the runtime is just of interesting found images or visual jokes. It feels a little bit like flipping through a good photo book, except my friends and family will actually watch it with me.
John Wilson both films and narrates it, and he is very much of the type of guy who goes around filming or photography everything around him – deeply interested in other people and why they are the way they are, but also relatably awkward. There are a couple of episodes that address this directly, where people he's interviewing will mention the fact that it seems like he uses the camera to create distance between himself and the world around him.
Street photography is weird. It's hard to explain and I feel like it's actually gotten harder to explain as cameras have gotten more ubiquitous. People are pretty regularly surprised that I have a "real" camera ("I thought those were all obsolete") and they'll ask things like, "Is there really anything left to photograph?"
I don't know how obvious this is to other folks watching it who don't share my interest in photography-the-medium but I do think it explains some things about the hobby and the people who practice it that are otherwise really hard to get across to "outsiders." And I appreciate that – I feel like it helps the friends and family I've gotten to watch it understand something about me that would otherwise be impossible to explain.