Learning DVCS Workflow - 2

I hacked on my web site project this Easter long-weekend, and learnt how to split the existing repository into separate projects, and then glue it back together again.

I also learnt about Git Large File Storage (LFS), how to set it up, and how to migrate certain file types to use this for more efficient handling of binary files.

Read more…

Bravery, Vulnerability, and Belonging

The last few posts that I've made have been fairly introspective and personal, here's another. If this is not your thing, carry on. If it's why you read blogs and you have been waiting for me to finally write something like this, then hang on for some vulnerability and more non-technical words with unqualified opinion.

What I have observed around me lately is that there is a great feeling of exhaustion, and exasperation. People are carrying a lot of stress, including myself. We need to find ways to express our feelings without harming others, in fact doing so while supporting others.

I've been meditating on it for a while, here are some thoughts. They're incomplete, but… well, you'll see that's part of the point in this post.

Read more…

Life Change for 2020: new job, remote working

It's happened again: my old job is redundant due to circumstance beyond my control, and I was made to find a new one. Like last time, I found a new, better job very quickly. Unlike last time though, I was prepared, and had even started applying…

2020-12-15: UPDATE — this was written in July but unpublished. I have had a few people ask about how I got a new job so darned fast, and I promised to blog about it. I've finally moved the blog off from GitHub Pages, and now at the end of the year is as good a time as any to publish this.

Read more…

Disruptor! What's going on?!

I wasn't going to write this. After all, this COVID-19 thing is mentioned everywhere, in all media, and I'm sick of reading about it. You must be too.

But then I thought better of it. I can't very well pretend that nothing unusual is going on, and a few years from now, an absence of any mention of the world's current crisis will be disingenuous at best.

So, here's Yet Another Coronavirus Story (YACS). In a deviation from my usual style, this is just a stream of thought. It's not a "how to survive and feel good in a pandemic" guide, or even "what I did to get through this". I don't know this, it's not what I'm writing. I'm just writing some thoughts.

Read more…

Python Virtualenv wrapper functions


UPDATE 2020-04-16 This is not how you should do it

These instructions and tools are great if you're going to use Python 2 and Virtualenv. But Python 2 is dead, and there are better ways to do this in Python 3. I'm still exploring the best ways, but I am leaning towards using pyenv + pyenv-virtualenv (or python venvs, or maybe pipenv?). Pyenv takes inspiration from rbenv which is how Ruby does this, so if you know Ruby then you'll understand it. When I understand better, I'll write another blog post


A while ago I noted that I should write about my shell functions for creating and managing Python Virtual Environments. Recently I was helping my boss set up some python virtual environments for some different projects, and I couldn't remember how to use virtualenv directly.

I really wanted to just share my wrappers with him, and I found that they weren't quite ready to share because I hadn't finished documenting them.

This post is to remedy that.

Read more…

ssh-pass

I've been using pass for a while now and I really like it. But I don't like putting passwords or passphrases into my system clipboard if I can help it: writing code to sniff the clipboard is child's play, so I'd like to avoid that attack vector if possible.

One place that I thought would be simple would be the SSH utility to add keys to your SSH Agent: ssh-add. It should be possible to do something like this:

$ pass github/sinewalker|head -1|ssh-add github/sinewalker

Unfortunately this isn't so: ssh-add doesn't accept your passphrase from STDIN when piped like this.

But, there is a way to do it.

Read more…