Sign in

Since I found The Go2 Go Playground I’ve been happily playing there a fair bit. Today, inspired by fond memories of Kotlin’s Sequence, I took about an hour and implemented my favorites. I’ve written one-off variants of many of these in Go at least a dozen times. I’m looking forward to not writing these again and again. Here’s what about an hour yielded:

Given these, running the following:

Would yield:

Photo by George Pagan III on Unsplash

I’ve just watched Coded Bias a documentary about inherent bias in current software systems and the implications. It’s really interesting and compelling and I found Joy Buolamwini to be very impressive and inspirational. I recommend seeing it.

Naivete or Hubris?

One thing the documentary made clear was that many of the systems suffered from biased initial data. As a light-skinned male software developer who worked on early speech and facial recognition systems, I can vouch for that. We very quickly observed that our systems often struggled with samples that were underrepresented or worse misrepresented in the data. …

Photo by Tory Bishop on Unsplash

I’ve read that Richard Feynman when solving problems, questioned data and methods relentlessly. While others might have based solutions on well-accepted observations and methods, he would first evaluate the methods, adapt them, and then obtain his own observations with those improved methods. I both greatly admired this and am intimidated by the effort and depth he questioned things.

Refactoring, Too Often Ignored Technical Debt

In mature projects, developers often identify valuable refactoring. As code organically grows, and things change and requirements drift, there are always areas that should be refactored. Terrible teams won’t see it. Bad teams will see it but ignore it because it’s working…

Go 1.17 is now available. If we assume adherence to semantic versioning rules, the release should be a version that added functionality in a backwards compatible manner. I’ve generally had positive experiences with Go upgrades, and 1.17 went well. I did find at least one backwards compatibility issue in the tooling though which I’ll discuss.

Getting The Release

I’m a big fan of asdf for my package management for things where I want to maintain multiple versions and support multiple platforms. The Go 1.17 release was immediately available through the asdf golang plugin and worked flawlessly. …

I was reminded recently of a thing I once did. It was a bash and perhaps immature moment on my part.

The Product Pitch

Years ago I was working at a top financial institution on various trading applications. Our emphasis was on profitability but we did employ some good technology achieving it. Although junior, I was the lead of a respected tech team, and so was asked to be part of a panel reviewing a product pitch from a vendor with a shiny new IDE and language. It might have been Smalltalk or Eiffel, I can’t recall now. Anyway, the IDE was really…

Photo by Nick Fewings on Unsplash

I’ve worked in a lot of languages and am always interested in picking up new ones. I’d wanted to try Rust but just hadn’t made time. Reading that Rust really was coming to the Linux kernel motivated me to get started.

Coming From Go

For about the last year I’ve been working in Go. At this point, I’m what I’d call proficient, even good, in it, but I can’t say I like it. There is a lot to like about Go, but for me, and my development style, there are some key dislikes too. …

Photo by Scott Graham on Unsplash

Having been on both sides of live coding interviews, most recently more on the interviewer’s side, I wanted to share some thoughts.

Knowing Your Stuff

I think to some degree most of us suffer from a bit of the imposter syndrome in interviews. We want to make sure we appear to know our stuff. There are a lot of discussions out there about how to study and prepare for technical interviews, even ones tailored to specific hiring companies. I’ve fallen into that anxiety trap myself, boning up on well know interview algorithmic questions hoping not to be caught off guard.

Here’s the thing…

Photo by Viktor Forgacs on Unsplash

I’m not a dedicated crypto investor, but I have some meager crypto holdings that periodically like to check in on. By periodically, I mean every few days or so, or if there’ market news. I specifically do not obsess over them. There are lots of ways I could track these on my phone or computer, but again I don’t want to overdo it, so ad-riddled real-time price tickers or websites just aren’t my thing. I really just wanted a “hey how’s it going” solution, so I did the code monkey thing and wrote one.


Cyptoport is a tiny bit of…

Photo by Kari Shea on Unsplash

One permanent takeaway from being a teaching assistant for college computer science courses was the value of readable, idiomatic code. When you had to thoughtfully review, back to back, many similar code samples, you don’t want them to be obfuscated. That lesson has served me well professionally, coming into play during key developer tasks like pull requests and maintaining code. Upgrading code from working to readable (and, therefore maintainable), is truly worth the effort for both you and your employer.

Golang’s Basic Cleaning Products

Go has many code quality tools available, and these may already be directly incorporated into your editor or IDE, but…

Photo by Denise Jans on Unsplash

If you follow my writing, thank you, but also you’ll know I wander afield of software development from time to time…today I’m going to talk about a movie.

Women in Motion

I’m a Star Trek fan, and also interested in real-world space exploration so when I heard about Women in Motion, a documentary of Nichelle Nichols and her recruiting at NASA I had to immediately watch it.

I can’t recommend it enough. You’ll see what a truly amazing woman Nichelle is, realizing that the role of Uhura hardly merits even a mention in her many achievements. You’ll see the incredible impact her recruiting…


Graybeard code monkey, started on an Apple IIe, got a CS degree in the 80’s, and coded my way through C, C++, Objective-C, Java, Kotlin — and now Go.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store