Archive for the ‘Uncategorized’ Category


Simple At The Bottom

Posted by Elf Sternberg as Uncategorized

There’s a quote by Rich Hickey, the creator of the Clojure Programming Language, floating around the Internet that goes like this: Simplicity is hard work. But, there’s a huge payoff. The person who has a genuinely simpler system – a system made out of genuinely simple parts, is going to be able to effect the […]

The first two parts of my swagger tutorial [Part 1, Part 2] were dedicated to the straightforward art of getting swagger up and running. While I hope they’re helpful, the whole point of those was to get you to the point where you had the Timezone project, so I could show you how to add […]

Review of Part One In Part One of Go-Swagger, we generated a on OpenAPI 2.0 server with REST endpoints. The server builds and responds to queries, but every valid query ends with "This feature has not yet been implemented." It’s time to implement the feature. I want to emphasize that with Go Swagger there is […]

Introduction ${WORK} has me writing microservices in Go, using OpenAPI 2.0 / Swagger. While I’m not a fan of Go (that’s a bit of an understatement) I get why Go is popular with enterprise managers, it does exactly what it says it does. It’s syntactically hideous. I’m perfectly happy taking a paycheck to write in […]


Engineering Notebook: More Rust Basics

Posted by Elf Sternberg as Uncategorized

Continuing on with my engineering notebook, here’s what I’ve been learning about Rust recently. Mostly still following Beingessner’s book, which is about memory management primitives in Rust. The first thing, as I covered last time is that the book teaches Rust’s peculiar (but excellent) flavor of memory management. Along the way, it teaches Rust’s sum […]


Programmer Competency Matrix

Posted by Elf Sternberg as Uncategorized

So I’ve been looking at Sijin Joseph’s “Programmer competency matrix,” and I’m going to go through it because I kinda want to know where I stand. But I have to tell Sijin once thing: information architecture is something he needs to improve on. By using the first person in his “about me” page, he somehow […]


Engineering Notebook: More Learning Rust

Posted by Elf Sternberg as Uncategorized

mem::replace() In the Learning Rust With Too Many Linked Lists, there’s a bit of code that looks like this to build a new element and append it to the head of the list: let new_node = Box::new(Node { elem: elem, next: mem::replace(&mut self.head, Link::Empty), }); self.head = Link::More(new_node); The problem here is that if we […]

On Monday, work announced that we would be adopting Google Go as a third official internal language. Most software houses have two official languages: a highly demanding systems language with strong performance and memory guarantees, and an easy-to-write scripting languages with mediocre performance and few memory guarantees, so a third language was a bit unusual. […]


Logbook: Working on Monologued this week.

Posted by Elf Sternberg as Uncategorized

Problem: I’ve been trying to get a simple, single-threaded server working under Rust, using the MIO (Metal I/O) abstraction over select/poll/epoll/kqueue since that’s what most closely tracks with my experience as a server writer. Unfortunately "my experience as a server writer" more or less came to halt with the collapse of Sprynet back in 1998. […]


What I’m Doing Right Now: Monologued.

Posted by Elf Sternberg as Uncategorized

For the past couple of weeks, I’ve been learning a lot of Rust. As is my wont, my usual way of learning a language is to decide to write something in it, and see what comes from doing it. A while ago, I learned that John Carmack still regularly updates his .plan file, which is […]

Subscribe to Feed



July 2018
« Jun