Private Go package repos and Docker

·

If you’re working in a corporate environment with Go and Docker images you likely have encountered the issue with go get and Go packages in private source repositories. Ivan Daniluk wrote an excellent article on that topic — highly recommended.

I think an even more elegant solution and easier to share with other developers and multiple projects is to create a private build image with the necessary setup.

  1. Create a shared user account with read-only access to the private repositories.
  2. Run ssh-keygen -t rsa -P "" -C shareduser@example.com -f shared_rsa to create a SSH keypair without passwort.
  3. Add the public key (shared_rsa.pub) to the shared user account.
  4. Build a base image with the keys and necessary configuration.

Files for base image

gitconfig:

[url "git@github.com:"]
    insteadOf = https://github.com/

Dockerfile:

FROM golang:1.10.3
COPY gitconfig /root/.gitconfig
COPY shared_rsa /root/.ssh/id_rsa
COPY shared_rsa.pub /root/.ssh/id_rsa.pub
RUN ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts

Now you have a base image that you can use in multi-staged builds. This is also a great place to install additional build tools as needed, for example dep.

As the resulting image contains the private key of your shared user you should never use this image directly for deployment and only ever push it to a private repository.

Usage

Using the pre-configured Docker image allows much cleaner Dockerfiles in projects that need access to private repositories. Illustrated in the example below.

FROM repository.example.com/go-build:1.10.3-v1 as build
RUN go get github.com/example/private-lib
RUN CGO_ENABLED=0 go build -o /app main.go

FROM alpine:latest
RUN apk add --no-cache --virtual ca-certificates
COPY --from=build /app .
RUN ["./app"]

Why the Microsoft Surface exists

·

In case you have ever wondered why Microsoft created its own tablet computer called Surface, look no further than this Ars Technica review of the Acer Iconia W3. Peter Bright goes so far to call it “a device that shouldn’t exist”.

I hated every moment I used the Iconia W3, and I hated it because I hated the screen. … It’s hard to overstate just how poor this screen is. At any reasonable tablet viewing distance, the color of the screen is uneven. The viewing angle is so narrow that at typical hand-held distances, the colors change across the width of the screen.

That really sounds terrible. The screen is the one thing of a computing device we constantly stare at. Not a good idea to go too cheap there. Further he writes (emphasis mine):

This poor screen quality isn’t a question of resolution, either. 1280×800 is not a tremendously high resolution, but text looks crisp enough. At 186 pixels per inch, 1280×800 feels more or less OK for this size of device. The low resolution does, however, have one significant drawback: it disables Windows 8’s side-by-side Metro multitasking, which requires a resolution of at least 1366×768. The W3’s screen is 86 pixels too narrow, so the Metro environment is strictly one application at a time.

A very poor decision from Acer again. But I would also blame Microsoft here. Why is this side-by-side mode resolution dependent? And why is Microsoft not enforcing the minimal resolution to enable multitasking on every Windows 8 device out there? This is an actual advantages over the iPad. But sure, no compromises, right?

Unfortunate for Microsoft, the Surface RT is apparently not selling well. I hope they will do better with new Surface models and Windows 8.1.

My thoughts on the Google Reader shutdown

·

In a blog entry titled “A second spring of cleaning” Google announced that it will shutdown Google Reader on July 1. I have to admit I was a bit shocked to read the news at first, even if it wasn’t that unexpected. I’ve been a Google Reader user for many years and it has always been part of my daily news reading routine.

Google doesn’t even try to shed much light on the rationale behind their decision. They simply put it this way:

While the product has a loyal following, over the years usage has declined.

Well, the declining is certainly not a surprise for a once great product that didn’t see any love from Google in recent years. Ultimately the actual reasons are not that important. It’s their product and they have the right to do with it as they please — also to shut it down. For more background information I recommend Brian Shih’s answer in this Quora article, he’s a former product manager of Google Reader.

Google Reader’s importance declined too

Google Reader’s usage declined as did its importance over the years. In my case there are clearly two main reasons:

  1. News consumption on my iPhone
  2. Twitter as my new main source of tech news

I cannot even remember when I last used Google Reader in the browser. I mainly read my feeds on my iPhone and of course there’s a great app for that. For me Google Reader was degraded to a syncing service for different news apps.

While I rarely tweet myself, reading my Twitter stream has become another part of my daily reading routine. I’m rather selective with the people I follow in order to keep it informative. I certainly wouldn’t have expected it, but nowadays Twitter brings me more useful links to read on a daily basis than my feeds in Reader.

New hope for innovation

All that said, I still see a lot of value in RSS and I certainly will continue to use it. There are some blogs and sites I read from which I don’t want to miss a single article. RSS provides that for me. Further RSS can provide full content in the feed itself, which I definitely prefer to just links.

My initial shock has quickly been replaced by new hope for innovation in this market. News reader apps will become a bigger market and this will lead to more new ideas and designs. They simply need a new way to sync the data between different devices. I don’t care what service is behind that.

Further I hope it will spur new approaches and ideas to tackle the problem of news consumption in even better ways. For instance, I’m very curious what David Smith has planned with Feed Wrangler.

Had all this happened a few years ago I really would have been disappointed. Today, I’m actually rather happy about it.

Why you should use a password manager

·

Yet another security breach of a well-known online service. If you are still using weak passwords — and even worse re-use, them for different sites — then you need to change things sooner rather than later. Dan Goodin’s excellent article “Why passwords have never been weaker—and crackers have never been stronger” says it all. It’s a must read for every internet user.

Personally I’m a happy user of 1Password, which I can highly recommend. There are surely many other solutions out there, probably some for free. It doesn’t matter what you use, but for your own sake start using a password manager. Start today.