Chris Weyl's Technical Blog

I work for a rather awesome company.

Which is fortunate for me, as I may have openly pondered the merits of finding an industrial shredder and feeding the mac they issued me through it. Multiple times.

While I appreciate the work and effort Apple has put into these things, sometimes it seems like most of that effort was directed at finding the keyboard mappings just different enough

Last week, Microsoft caused many people's heads to explode by buying GitHub.

(Though really, if they'd been paying attention properly, their heads would have exploded along with mine when they went on a hiring spree in the Linux/container world.)

This is not intended to be a reaction piece, telling people what they should or shouldn't do. I empathize with both the "whelp, GitLab does have that 'import all' button" and the "business as usual" mindset. I've been using GitHub for probably close to 10 years now, and it has been a key part of my professional life for most of that. At the same time, having the "canonical" repo host being owned by an entity with significantly broader interests than "enable social coding" does lend stronger credence to the "mono-cultures of anything, even software, are inherently problematic" crowd.

So, while pondering all of this, I headed over to GitLab — it has been quite some time since I last checked it out, and this seemed like a good reason. I'm glad I did, as GitLab has a number of features I really like.

Shared Deploy Keys

Like many others, I keep my dotfiles et al in a git repository, one I simply clone and use where I need to. However, there are environments that I do not have access to my normal ssh keypair, as well as environments where I don't want to have an "all access pass" to my GitHub available.

Being able to share deploy keys across multiple repositories means, in effect, that I can create a "sub-user" who only has write access to my vim/dotfiles repos, as well as any other repo I may need access to from that particular environment. GitHub's limitation of "deploy keys must be unique across repositories" is not unreasonable, but GitLab's approach is so much more useful.

Deploy tokens!

GitHub allows for deploy access only via ssh keys. In some cases this can be... awkward. Being able use shared or repository specific tokens can make certain setups significantly easier.

Project-level Snippets

GitLab's take on GitHub's "gist" is a "snippet". Like a gist, this can be done at the user level, but unlike a gist a snippet can also belong to a project.

This means that all those gists I've created over the years for, say, different blog posts in different