monkinetic the blog

Daily Digest for Sunday, Feb 16, 2020

☀️ Earliest posts come first.

Josh Barratt: Effective Technical Diagrams

Sometimes in software design it’s great to develop a visual of the system in question to help in the thinking process.

Josh Barratt is a software architect at Twilio, and blogs about system design at Serialized.Net. His recent post Effective Technical Diagrams has some great guidelines for improving the technical diagrams that we use to communicate.

Images convey ideas and structure far more effectively than text. Especially for software systems, they can even help with reasoning about things like capacity, connectivity, reliability, security and performance.

Like any craft, methods of designing visuals that communicate effectively and efficiently can be studied and improved. We have probably all seen diagrams which led to an immediate “aha!” – and others, that after minutes of squinting, led to only more confusion.

I too, adore OmniGraffle, and have made my share of good and bad technical diagrams in my pursuit of a better design. Here’s one I made in the last year, the usefulness of which could be argued both ways:

#programming #architecture #diagramming

Steve Ivy

Taking Back New Tabs #bookmark we used to call this “home pages”

~ # 22:50 ~

Learning Can Be... Boring?

Ran into a friend today at church and he asked me “hey I’m trying to learn Python, do you have any good sites or books to recommend? I’m kinda… bored.”

Now some of us geeks can’t imagine being bored learning something new, but I went through this when I first started learning Go. I had decided I wanted to learn a new programming language, and Rust was way too… Rust, so I picked Go and started building a small o-nothing web app. I got part way in an realized that I had no interest in what I was doing, and it (and some bits of Go that hadn’t matured) was killing my fun. So I put it down.

Fast forward to this year. I was ready to pick up Go again, but this time I also knew that I wanted to start writing again, and that the friction in my blogging process was killing my joy there, too. So I decided to write my own blog software (see #goldfrog), and I was going to write it in Go.

Suddenly I was energized to learn, because I had all these feature ideas for the site, and I had to learn the #golang techniques for tasks I’d only one in #python before. Also, it got me into the golang newbies Slack, and connecting with a community - for me at least - helps.

So my advice to my friend was:

  • Find a project you’re passionate about, or at least really interested in
  • Be willing to re-learn things you think you already know
  • Find a #community!

#goldfrog #golang #python #community