Today we learn how little I know about system administration.
I host most of my own “cloud” services on a VPS I rent from SSDNodes. Recently I purchased an upgraded KVM node for reasons of which I’ll get into later. Anyway, I ran into a hiccup while trying to start migrating from my older VPS.
└─ curl 22.214.171.124 curl: (56) Recv failure: Connection reset by peer Hmm.
NOTE: First of all, I know the machine is reachable because I can SSH into it.
I finally took the opportunity to jump back into RISC-V, Go and QEMU as a followup to my previous exploration.1
I had a difficult time understanding exactly what was required to run my compiled Go program in QEMU. Let’s take a look at the instructions.2
Compile and run in qemu-riscv64 (which is expected to be in PATH):
$ GOARCH=riscv GOOS=linux go run ../riscvtest/add.go Build:
$ GOARCH=riscv GOOS=linux go build .
I’m working on a side project to gain more exposure to different kinds of projects in Go. This one is a pretty typical web application involving multiple authenticated users. For data storage I’m using PostgreSQL for its UUID type and cryptographic extensions. The cryptographic extensions are interesting, because of things like chkpass1.
My project right now is using chkpass for storing user passwords. Almost immediately after hooking this up I started wondering how chkpass actually works.
It’s been a long time since I’ve posted here. So what’s up?
I’ve been working at Lendesk in a team lead / senior developer role and trying to pursue my interest in Go and Linux. This has been a very tricky path to navigate as work has abandoned any pretense of plans to adopt Go and all work machines are MacOS. Thankfully, I’ve been able to carve out some personal time to keep poking around in my area of interest.
After lunch today I made a visit to a local boardgame store just to see what was new. The local gamestore near my place is much cheaper, but has a drastically different selection, so it’s always nice to see what else is available.
There were two notable games on today’s visit:
Agricola: Family Edition Android: Mainframe I’ve seen mention of Agricola: Family Edition before, so that was neat to see in person.
Race for the Galaxy is out now on Android1.
This features Keldon Jones’ AI2 and is the best digital version I’ve seen. It translates wonderfully and is easily worth the ten bucks.
Footnotes 1Race for the Galaxy on Google Play
2Keldon Jones’ Race for the Galaxy AI
A few months ago I was starting to get irked at the relatively poor performance of Emacs on my primary development system. Emacs isn’t terrible, but it is noticeably slow compared to Vim. So, for the sake of curiosity I decided to look at some executable sizes. I started by just doing a simple:
ls -alh `which <editor>` But that only captures the size of the executable on disk without regard for any shared libraries or dynamic memory allocations.
I’ve been getting frustrated with my computing experiences lately. I won’t go into many details here, but my frustration has extended to my smartphone and has spurred me to investigate alternatives to many programs and services I’ve been using.
Provided for your benefit here is a list of several Android programs I’ve recently discovered. I’m not vouching for these yet, and may not even have much experience with them yet, but they are here and may serve you well.
HandmadeCon 2016 is just around the corner! I’m really excited to go! The speaker lineup looks absolutely stellar this year. Besides that, I’ve obviously been keeping myself busy for a few months here with nary an update. The most visible change to anyone who might read this blog is that I’ve completely revamped my hosting situation; both making great progress on my goal of being entirely self-hosted, and for serving up content via HTTPS to you.
Have you ever heard of suckless1? I think I stumbled onto suckless sometime while reading K. Mandla2, though there’s a reasonable chance it might have happened before then. suckless immediately resonated with me because of their philosophy3. Their software also looks good, very accurately reflecting the idea of minimalism4; often requiring you to rethink how you typically interact with software to do what you want to do. Sometimes this process of re-evaluation is fruitful, sometimes maybe less so, but it’s always interesting to experience.