Mar 27 2018
A couple of weeks back, as part of our continuing education program at my dayjob I ran a hands-on class on locksport, the quasi-science (perhaps art) of picking locks for fun and... well... fun. I'm a security wonk so most of the talks I run have some security content in them, but I wanted to do something that was fairly suitable for everyone (coders and not). So, I got the go-ahead to expense a few more locks and some intro picksets to give away from The Lockpick Shop (no consideration for mentioning or using them, they had what I needed at a good price) and hauled most of my collection of locks and tools to work over the course of a couple of days.
I used the Creative Commons licensed lockpicking village slides from the TOOOL website for my talk after editing them a bit to condense them for time and spent a couple of evenings practicing both my slides and craft to gear myself up for the class.
What follows are some pictures and ruminations I have on the topic of locksport that come from years of playing around with locks (after spending about as long trying and failing to get any locks open) and doing formal and informal sessions on the topic. Please bear in mind, I'm far from a master of this particular art. I've competed only once (and pulled a Charlie Brown by picking the lock backwards, thus jamming it at the worst possible time) and, while I recognize that there are some very talented people out there who are into locksport for the sheer artistry of it, I'm not one of them. I'm a pragmatic lockpicker: I'm on assignment, I need into something, I'm going to pick the lock and get in. I'm not a spring steel artist.
Okay. Enough chitchat, here's what I actually wanted to write.
Jun 19 2017
A couple of months back I did a brief writeup of Keybase and what it's good for. I mentioned briefly that it implements a 1-to-n text chat feature, where n>=1. Yes, this means that you can use Keybase Chat to talk to yourself, which is handy for prototyping and debugging code. What does not seem to be very well known is that the Keybase command line utility has a JSON API, the documentation of which you can scan through by issuing the command `keybase chat help api` from a command window. I'm considering incorporating Keybase into my exocortex so I spent some time one afternoon playing around with the API, seeing what I could make it do, and writing up what I had to do to make it work. As far as I know there is no official API documentation anywhere; at least, Argus and I didn't find any. So, under the cut are my notes in the hope that it helps other people work with the Keybase API.
The API may drift a bit, so here are the software versions I used during testing:
Jun 17 2017
I've been promising myself that I'd do a series of articles about tools that I've incorporated into my exocortex over the years, and now's as good a time as any to start. Rather than jump right into the crunchy stuff I thought I'd start with something that's fairly simple to use, straightforward, and endlessly useful for many purposes - a wiki.
Usually, when somebody brings up the topic of wikis one either immediately thinks of Wikipedia or one of the godsawful corporate wikis that one might be forced to use on a daily basis. And you're not that off the mark, because ultimately they're websites that let one or more people create, modify, and delete articles about just about anything one might be inclined to by using only a web browser. Usually you need to set up or be given an account to log into them because wiki spam is to this day a horrendous problem to fight (I've had to do it as parts of previous jobs, and I wouldn't wish it on my worst enemy). If you've been around a while, when you think of having a wiki you might think of setting up something like WikiWikiWeb or Mediawiki, which also means setting up a server, a database, web server software, the wiki software, configuring everything... and unless you have a big, important project that necessitates it, it's kind of overkill and you go right back to a text file on your desktop. And I don't blame you.
There are other options out there that require much less in the way of overhead that are also nicer than the ubiquitous notes.txt file. For the past couple of years (since 2012.ev at least) I've been using a personal wiki called Tiddlywiki for most of my projects which requires just a fairly modern web browser (if you're using Internet Explorer you need to be running IE 10 or later) and some room on your desktop for another file.
Jun 16 2017
Additionally, this was before I'd ever done any serious information architecture and communications stuff, so you will undoubtedly cringe upon reading some of my assumptions and JSON sketches. Additionally, this was before I discovered PouchDB (which is basically CouchDB in the browser) so a few of my ideas really wouldn't wash today. So, please consider these notes somewhat naive toward the goal of building the application. Please don't facepalm too hard, you'll give yourself a concussion. Maybe somebody will find them useful in their own work.
May 28 2017
Some time ago, I found myself using a Kryoflux interface and a couple of old floppy drives that had been kicking around in my workshop for a while to rip disk images of a colleague's floppy disk collection. It took me a day or two of screwing around to figure out how to use the Kryoflux's software to make it do what I wanted. Of course, I took notes along the way so that I would have something to refer back to later. Recently, I decided that it would probably be helpful to people if I put those notes online for everyone to use. So, here they are.
Jan 02 2017
20170107: It's not "group name" it's "Group ID." I don't know how to find that yet.
The communications program Signal by Open Whisper Systems is unique in several respects. Firstly, its barrier to entry is minimal. You can search for it in the Google Play online store or Apple iOS appstore and it's waiting there for you at no cost. Second, it's designed for security by default, i.e., you don't have to mess around with it to make it work, and it does does the right thing automatically and enforces strong encryption by default (unlike a lot of personal security software). It interoperates seamlessly with people who don't use Signal but you have the option to invite them to install it with a single tap. Its protocol is an open standard that multiple companies have implemented, so theoretically anyone can write their own implementation of the client (Android, iOS) or server, or compile it for themselves. It's an SMS/MMS application, so you can use it as your default text messaging client on your mobile, plus it can do text message conferencing with multiple people automatically (it's a great way to keep in touch with friends if you're at the same con). There's even a desktop Signal client that runs inside of Google Chrome or Chromium (source code for the interested and curious).
So, why, exactly am I posting about Signal?
There is a little-known command-line implementation of Signal that I've been experimenting with because I eventually plan on writing a bot for my exocortex. In playing around with it, I've come to realize that it's not particularly friendly to use at all, and I might have to break down and use the dbus interface to do anything useful with it. Which I don't look forward to, but that's not the point. The point is, I've compiled some notes about how to use the command line version of Signal and I wanted to put them online in case somebody will find them helpful.