I posted earlier about moving from Blogger to Hugo and it has been a couple of months so I thought that I share my thoughts on how Hugo has been working out. Pros Markdown is ideal for writing articles and blog posts especially if you fall into the distraction free school of writing. The formatting of code snippets is a lot better then what’s available on Blogger. Able to version control everything since everything is available as static files.
Being a member of the Go team allowed me to attend my first GopherCon in Denver from July 13 to July 15. This is the 4th GopherCon to be held and previously I’ve only watched the recordings of the sessions on the Gopher Academy Youtube Channel. Although GopherCon has grown in size each year, it is still a relatively small conference compared other conferences that I’ve attended. This is a more social conference that gave off a vibe that felt similiar to smaller anime conventions.
The Go programming language provides a great tool, go get, to fetch packages. A common use case is to get a package that is hosted on Github: go get -u github.com/abc/xyz This works okay but requires your local source to also be under src/github.com/abc/xyz to keep the import paths consistent with users that got the package with get. If GitHub goes away or the code need to move to another location then it could potentially break users.
To set up access to Github using different accounts, start by creating ssh keys for each account. $ cd ~/.ssh $ ssh-keygen -t rsa -C "github-acct1" -f "github-acct1" Then add the ssh key to the Github account. Next, create ~/.ssh/config to tell ssh when to use which account: # Github account #1 Host github.com-acct1 HostName github.com User git IdentityFile ~/.ssh/github-acct1 # Github account #2 Host github.com-acct2 HostName github.com User git IdentityFile ~/.
Since my last post, setting up Vim for Go development is not only easier but also makes developing with VIM much more powerful. Just a single plugin, vim-go, is all that is needed for the Go-specific stuff and a host of new tools is now available to handle things like refactoring, linting, error checking, and more. Go Tools Make sure that you have Go installed and then get the various Go tools.
Here is what I have in my professional toolkit. These are things that I always try to have on my system. Everything here is free with many them being open source. I originally published this list about 15 years ago and this year I finally revisited it and cleaned things up. What I discovered was that the open source projects are the ones that most likely survived the test of time.
Okay, I admit it… I move around the file even while in the insert mode of Vim instead of going back to normal mode. I don’t always stay in insert mode, but if I’m typing and notices a typo a few characters back I will go back to the typo without leaving insert mode. I do this by mapping the CTRL-[HJKL] to left, down, up, right so at least my fingers stays on the home row and not move to the arrows (I have disabled arrow keys in normal mode when I was training myself on Vim and never re-enabled it).
There are a number of different ways to automate the download of bittorrent files. Many bittorrent clients have the ability to “watch” a directory and if a torrent files get added there then the bittorrent will automatically begin to download. Some even don’t need to download the file as it can subscribe to a feed directly. GUI Way What I did before was to log into a machine, connect to a shared drive and then open Transmission which was configured to look at the shared drive for any new torrent files.
Following my experiences of compiling and setting up Synergy, I found myself setting up Murmur/Mumble this past weekend. It was a sharp contrast in experience. Mumble seems to want folks to be able to build and run their software. Mumble is an open source VOIP solution used often by gamers to talk to each other while playing games and Murmur is the server portion. I needed Windows and Linux clients since those are the system that people are on when playing and a Linux version of Murmur since that’s what I’m going to be running the server on.
Synergy is an open source software KVM that allows you to use one keyboard/mouse across multiple computers. Although Synergy is open source, hosted on Github and under GPL, its main developer(s) decided sometime last year to put the binary of the latest version behind a pay-wall. There is nothing in GPL that prevents them to do so and I don’t necessarily object to developers charging a fee for providing a service such as hosting for downloads (I used to buy Linux install CDs from Walnut Creek without a second thought), but I’m just not a fan on the way they’re doing it.