RSSAmplifier

Blog

onor.io: onor.io

onor.ioRSS feed ↗31 posts

Latest posts

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…

Types And Typeclasses

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…

A Socratic Approach To Interviewing

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…

The Audible Gasp

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…

Gitpod Impresses

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…

Why Feedback Matters

Feedback is often underestimated. As the task gets more complex, feedback becomes more and more important. More…

Modeling And Software Development

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…

The Essence Of Agility

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…

Rosie And Elixir

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…

Stop Helping Me AI!

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…

Doctors Don't Do Side Projects

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…

The Impractical Engineer

I’ve started a newsletter called “The Impractical Engineer”. I hope you’ll give it a look! More…

Even More Scripting With Racket

Extending my use of racket to allow my shell scripts to be parameterized. More…

You Would Have Failed

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…

Codeberg and Reinventing A Wheel

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…

If You Laid All The . . .

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…

Speaking at MITechCon

Due to the inability of a previously invited speaker to attend, I’m filling in at MITechCon for a session. More…

Appearance On A Podcast

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…

More Scripting With Racket

Using racket in a shell script to automate some repetitive commands. More…

Exercises 80 and 81 From How To Design Programs

My responses for Exercises 80 and 81 (Chapter 5.8) of How to Design Programs More…

Exercise 72 From How To Design Programs

My response for Exercises 72 and 73 (Chapter 5.6) of How to Design Programs More…

Exercise 58 HtDP

My answers for the exercises in Chapter 4.6 Exercise 58 of How to Design Programs . More…

Exercises for Chapter 2.1 HTDP

My answers for the exercises in Chapter 2 Section 1 of How to Design Programs . More…

Another Exercise From HTDP

Another exercise from Chapter 1 of How to Design Programs . More…

Some Exercises From HtDP

Working through How To Design Programs; here’s my first crack at one of the first exercises! More…

Speaking

I’m going to be speaking at Ann Arbor Tech Convergence. You should attend! More…

Detroit Tech Watch Book Club

Announcing the free Detroit Tech Watch book club to help technologists step up their technical game. More…

Three Ways To Share Values Between Elixir Modules

A recipe for avoiding repeated definitions in Elixir modules! More…

Scripting With Racket

Using racket in a shell script allows a developer to basically use a lot of the same code across platforms. More…

Where I'm Going

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…

Hello Again World

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!