JSON Web Tokens and Go

This post will discuss what JSON Web Tokens (JWTs) are, discuss how they might be used, show a command line example, and show some basic JWT Go code. JSON Web Tokens (JWTs) standardize a compact, digitally signed, optionally encrypted representation of JSON data “claims”. A JWT claim is a string key and JSON value in a JWT claim set, a JSON object of zero or more such name/value pairs. The claim set is used as the payload or plaintext of a JSON Web Signature or JSON Web Encryption structure to produce a signed (for authenticity) or encrypted JWT, respectively. Read On →

Friendly Twitter Bots and Write Access

One of my favorite things about Twitter is the plethora of automated bots that help produce unique content. Twitter bots can provide anything from emergency alerts, to comics, to currated photos and events. I’ve collected some favorites here. Recently, if you’ve tried to build your own Twitter App to power an account, you may have noticed the You must add your phone number to your Twitter profile before granting your application write capabilities error when trying to add Read and Write Permissions. Read On →

xkcd Comic Bot

The holiday break is a time to catch up on everything we fall behind on during the semester - emails, sleep, family news, and of course xkcd comics! But why do I forget to check xkcd? I’m on Twitter daily and use RSS readers a bit - plenty of nice solutions to stay updated exist! A few days ago, I quickly perused the existing xkcd Twitter bots and decided to combine their best features into my own bot, suited to my preferences. Read On →

Bash Configurations Demystified

.bash_profile, .profile, & .bashrc Conventions Bash configurations on Linux and OS X can be confusing for many people, myself included. I’ve written this short guide to remind you and I both of a reasonable set of conventions you could follow. Login Shell vs. Non-login Shell When logging in via the console (e.g. an SSH session, the scary console login after you’ve messed up your GUI settings, etc.) you are starting a login shell. Read On →