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:
Apr 09 2017
As not bleeding edge, nifty-keen-like-wow the XMPP protocol is, Jabber (the colloquial name for XMPP I'll be using them interchangably in this article) has been my go-to means of person-to-person chat (as well as communication protocol with other parts of me) for a couple of years now. There are a bunch of different servers out there on multiple platforms, they all support pretty much the same set of features (some have the experimental features, some don't), and the protocol is federated, which is to say that every server can talk to every other server out there (unless you turn that function off), kind of like e-mail. You can also build some pretty crazy stuff on top of it and not have to worry about the low-level stuff, which isn't necessarily the case with newer protocols like Matrix. There are also interface libraries for just about every programming language out there. For example, in my Halo project I use SleekXMPP because it lets me configure only what I want to out of the box and handles all of the fiddly stuff for me (like responding to the different kinds of keepalive pings that Jabber clients send). Hack to live, not live to hack, right? There are also XMPP clients for just about every platform out there, from humble Android devices to Windows 10 monstrosities. However, sometimes you find yourself in a situation in which your XMPP client can't reach the server for whatever reason (and there are some good reasons, let's be fair).
Mar 18 2017
Slackpathy - noun - The phenomenon where conversations in a Slack channel are carried out using roughly 50% emoji or reaction gifs and 50% written natural language. The term derives from the hypothesized phenomenon of telepaths sending entire thought-complexes to each other rather than streams of speech.
Feb 23 2017
UPDATE - 20170228 - Added more stuff I've discovered about KBFS.
A couple of years ago you probably heard about this thing called Keybase launching with a private beta, and it purported itself to be a new form of public key encryption for the masses, blah blah blah, whatever.. but what's this thing good for, exactly? I mean, it was pretty easy to request an invite from the service and either never get one, or eventually receive an e-mail and promptly forget about it. I've been using it off and on for a while, and I recently sat down to really mess around with it and get a sense for how it's changed and what it can do. Plus, there's a fair amount of outdated or bad information floating around out there, and I wanted to do my part to set the record straight.
I'm not going to spend time explaining public key crypto because I wrote a pretty decent introduction to it that I give at cryptoparties. Take a look at the PDF of the presentation; I tried to make it as painless as I could. I want to keep this post focused on Keybase.