mjl blog

July 27th 2018

Experiences with Go modules

Go 1.11beta2 is out. And it includes the new Go modules support, what started as vgo. Go beta’s are delightfully easy to try out:

go get golang.org/dl/go1.11beta2
go1.11beta2 download

I wanted to use it. See how it feels. And… it works pretty good! I even started usin...

Full post
April 17th 2018

Announcing duit: developer ui toolkit

Hi! In this blog post I’m announcing duit, which is a

  • pure go (*)
  • cross-platform
  • MIT-licensed
  • UI toolkit
  • for developers

It is pure Go – no C code or external library involved. The asterisk represents the runtime dependence on a helper tool. It provides duit with cros...

Full post 6 comments
November 27th 2017

Running accountless for fun and ...

Want to see your software break? Run it in an way that is slightly different than usual. For example under a UID that doesn’t have a system account.

I’ve been using Ding to build software. Both Go software and Java software. Resulting in three instances of “fun”.


Full post
November 26th 2017

Ding with privilege separation

Ding v0.1.0 has been released just now. Biggest change? Privilege separation. Get it at https://github.com/irias/ding.

Ding runs builds under a unique user id (uid), so builds can’t interfere with each other. It already did before this new release. But it was a kludge to ...

Full post
November 25th 2017

xcode license nonsense wasting time

A good chunk of the day went into debugging hanging builds in Ding, a new build server. Turns out it wasn’t dings fault.

I had just added privilege separation to Ding. Unfortunately, builds were now hanging… I checked and double check the code. Tested different configur...

Full post 1 comment
November 20th 2017

Announcing Ding: build server for developers

Ding has been released! Get it at https://github.com/irias/ding/. You get code under an MIT-license, but binaries are provided for your convenience.

I talked about ding last week at the Golang Amsterdam Meetup, https://www.meetup.com/golang-amsterdam/events/244621922/.

I w...

Full post
July 22nd 2016

Layout glitches when switching between short & long pages

Let’s see if you recognize these symptoms.

Say you open a web application. It’s content vertically fits in the viewport. So there is no need for a scrollbar, and your browser doesn’t display it.

Now you open another page in that web application. It is a long page, do...

Full post
June 14th 2016

Small annoyances on the web: Checkboxes without a label

I’m quite regularly surprised by websites all over the internet. Not just by crappy websites. Also beautiful, well designed websites. From big companies.

The surprise (and annoyance at the same time) is this: Their sites and web apps have checkboxes, with an explanatory l...

Full post
May 31st 2016

Comma or Tab in a Comma Separated Values file?

Quick question.

What do you think is the separator in a “Comma Separated Values” (CSV) file?

If you are like me, or think in ways I can identify with, you just answered “comma”. If you are a software developer on the Microsoft Excel team, you apparently thought thi...

Full post 1 comment
May 24th 2016

Printing a database schema on paper

Understanding new information requires an overview of all relevant information. Laying out all the details can help. Like when you’re trying to understand a database schema, with lots of relations. It can help to see it on paper, you can point and write down notes.


Full post

Older posts:

Hiding UIView's in iOS
Use the function form of "use strict"
theThingsNetwork LoRaWan messages on a map
Terminals and unix tools
Serving a godoc vfs.FileSystem with http.FileServer
Backups on Google Cloud Storage, with Go
Tokenizing lines with (quoted) strings in Go
Including files in go binaries
Scgi server for go