Rental Culture
IP Owners have more and more promoted a rental culture in terms of IP. AI is just the latest manifestation of “you don’t really own this—we just let you rent it.” More…
IP Owners have more and more promoted a rental culture in terms of IP. AI is just the latest manifestation of “you don’t really own this—we just let you rent it.” More…
In some ways typeclasses and types are the Haskell implementation of the idea of “It’s turtles all the way down!” I post this on my blog in the sure and certain knowledge that if I’ve misunderstood something someone will quickly comment and set me straight! More…
The “socratic approach” to teaching is to ask students pointed questions to lead students to discover things for themselves by thinking about the question and its possible answers. Could we adopt this approach to screening technical candidates? If so would it help us to better discover good technical candidates? More…
While it may be absolutely great to be surprised by an audience reaction while performing a theatrical production, being surprised by something happening in production is not great. How can we avoid the “audible gasp” moment in our code? More…
I would consider myself a skeptic when it comes to vibe coding and the use of LLM’s. But credit where it’s due. Gitpod did a good job of slapping together a small, simple Elixir app. More…
Feedback is often underestimated. As the task gets more complex, feedback becomes more and more important. More…
A brief discussion of some obvious observations that are routinely forgotten. We’re dealing with models and we’re not all dealing with the same models. More…
I am afraid that more and more people are following the outline of agile without understanding WHY the practices are important. It’s becoming a sort of cargo cult science situation. More…
I’ve been working on writing PEG expressions with Rosie Pattern Language to help people to search Elixir code bases for certain things. Very preliminary but I did want to share what I’ve got so far. More…
I suppose I will sound like a luddite but so far I’ve found AI to be more of a hindrance than a help! I’ll explain why. More…
A few people when discussing side work by developers trot out the argument “No one asks a surgeon if he or she does side work!” This argument is flawed in a few major ways. More…
I’ve started a newsletter called “The Impractical Engineer”. I hope you’ll give it a look! More…
Extending my use of racket to allow my shell scripts to be parameterized. More…
Elon Musk and the other DOGE folks might learn a lesson from history. Sometimes it’s smarter to ask the natives rather than assuming they have nothing intelligent to say. More…
I decided to give Codeberg a whirl. I also decided to create a binary tree implementation in Rust to practice my Rust skills a bit. More…
It’s sometimes helpful to people to have an analogy to help understand the magnitude of something. That is, to get an idea of how much money one is discussing sometimes authors will refer to a line of dollar bills laid end to end and how many times it’d circle the earth at the equator. In that spirit we’d like to give some helpful approximations of the number of various kinds of…
Due to the inability of a previously invited speaker to attend, I’m filling in at MITechCon for a session. More…
In spite of lots of good advice to the contrary, rather than keeping my mouth closed and being thought a fool I opened it and removed any doubt. More…
Using racket in a shell script to automate some repetitive commands. More…
My responses for Exercises 80 and 81 (Chapter 5.8) of How to Design Programs More…
My response for Exercises 72 and 73 (Chapter 5.6) of How to Design Programs More…
My answers for the exercises in Chapter 4.6 Exercise 58 of How to Design Programs . More…
My answers for the exercises in Chapter 2 Section 1 of How to Design Programs . More…
Another exercise from Chapter 1 of How to Design Programs . More…
Working through How To Design Programs; here’s my first crack at one of the first exercises! More…
I’m going to be speaking at Ann Arbor Tech Convergence. You should attend! More…
Announcing the free Detroit Tech Watch book club to help technologists step up their technical game. More…
A recipe for avoiding repeated definitions in Elixir modules! More…
Using racket in a shell script allows a developer to basically use a lot of the same code across platforms. More…
There are a few things in terms of technology that I’ve had my eye upon. I’d like to share some thoughts with you for whatever it’s worth. More…
Yeah I want to write some stuff again and I don’t want to let procrastination keep me from writing. So, yeah, this is a really, really short first post but if I wait for inspiration or something smart to say I’ll never say anything!