# Python Environments (again!)

Here I am again, trying to run multiple Pythons, with multiple libraries, without them tripping over each other. Many hackers have gone down this path and become lost, I expect I will fare no better, but I've stumbled upon a scheme which works for me, whether running Python on a Macintosh, in a Linux server, or even on Windows.

# 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… # Learning DVCS Workflow - 1 Tonight I learned a basic git trick that was not immediately obvious to me, but should have been, I guess. I've been switching my Spacemacs back to the master branch to try trouble-shoot a performance issue I'm having on the Macintosh where it just hangs occasionally. My master is tracking to Spacemacs master which is still at 0.200.13. I haven't touched it in over a year, and there are some things that I wanted from my develop branch. I want to merge in the latest version of those few files, but not everything on the branch, so a merge is not the right operation. Read more… # 4-bit Rules of Computing, Part 4 Here is the fifth part of my blog series expanding on my 4-bit rules of computing. In this post: rules 7, 8, and 9; which discuss testing and debugging. They are all related in a way: having to do with making good-quality craft work. Because, as much as computer people like to believe that we're "engineers" or that this is "computer science", we're not really. We're crafts people, in a profession that's still very young and finding its roots and methods in order to be consistently successful. I'm definitely not trying to pretend I'm an "engineer". For real rigour, there is much more required than a few simple rules. But these are some realistic and humble rules in the area of testing that I aim to stick to. Read more… # 4-bit Rules of Computing, Part 3 Here is the forth part of my blog series expanding on my 4-bit rules of computing. Previously in Milosophical Me: Mike was reflecting on Comments, both in source code and in social media, and had come to the conclusion that they are to be avoided, that they can be more harmful than helpful, and that source codes (and people) should be allowed to speak for them selves. There is an exception to Rule 5 (Rule 0 allows for this): doc-comments. In this post I explore what they are, how they differ from regular comments, and how to use them to assist your fellow hackers. Read more… # Help with Accelerologger One of the Huon kids over at Bob's Drone Blog has a really cool Scientific Investigation Awards project - an Accelerometer data logger, or "Accelerologger" (I like the name too!). He's stuck with a small coding bug and has asked for help. I think I see the problem. Wisely, Bob's disabled comments without a login (see my Computing Rule 5), so I'm adding notes here on my own blog. Read more… # Organising my digital stuff I started to write about my ${HOME} directory structure in my post about /home filesystem choices but then it got terribly long and complicated. So I'm writing about it here.

Since switching to a new computer at work I have been reviewing my hodge-podge of directories that I moved from my old work laptop. Same as with my emacs configuration, I like my \${HOME} to be familiar and friendly no matter what computer and operating system I'm using. Also like emacs at the beginning of this year, it's presently a mess. So I'm documenting how I'd like it to look, be that on my home Linux computer, the Windows mode of the same, or on my work's Macintosh.

This long and detailed article is for my own purpose. Others MAY find it frightfully dull and of little value.

# Resetting Firefox

I just survived my first Firefox Reset and lived to tell about it.

I was experiencing some weird cross-site stuff for one of work's web tools, and decided to give Firefox's Reset a try. It actually worked!

My concern was that, because it deletes all your add-ons and customisations, I would lose them. Fortunately, I also use Firefox Sync already. So that meant, after Firfox had cleaned itself up, it re-downloaded all my custom goodness and re-installed it.

One caveat: you do have to Restart Firefox after Sync has done it's bit to re-install Addons. After that, everything is as it should be. Hurray.

### The steps to Refresh Firefox are:

1. Go to about:support
2. Press the Refresh button in the top right
3. Wait for Sync to finish (you can check how it's going by looking in about:addons to see if your Extensions are all there yet)
4. Restart Firefox (either from the addons page, or by pressing Alt-F2 and typing restart)

It's really handy to have all my SSH authentication be passwordless, but in a secure way. In openSUSE, the ssh-agent is started for you automatically, but you still need to add your identities manually (and enter passphrases when you do this). That's a bit of a pain to do every time you login.