On Friday I finished off the initial implementation of obtaining an OAuth token from GitHub. Their documentation makes it pretty straightforward, but for anyone unfamiliar with the OAuth2 flow, it goes a little something like this:The application generates an authentication URL for GitHub based on several parameters including the CLIENT_ID (obtained from the OAuth application on GitHub's side…
Keep Reading →
The last couple of days have been relatively productive. Thanks to GitHub's excellent API documentation, I've got to the stage where I can reliably authenticate a user with my application via Oauth, and use their key to pull basic user info such as their private email address and GitHub ID. In this post I'll talk briefly about the setup of the application and some of the design choices I've made…
Keep Reading →
Today I began work on my project in earnest. It always helps me to visualize my goals if I can draw them out, and I still find pen and paper to be the best medium for rapidly exploring ideas. Since I'm at a very early stage, the notes that I made were pretty high level, but helped me to get an idea of the main moving parts I'd want for the app. Notes from Day 1Some basic requirements for the app…
Keep Reading →
Today is August 1st. Now that I have been back in Bristol for a little while, it's time to knuckle down on a project that I've been thinking about in some form or another for the last few months. I don't have many details yet because the ideas are still all in my head. However, I have a pretty good idea of the problem that I want to solve, so here's the summary:As a software engineer working on a…
Keep Reading →
I am an avid Sufjan Stevens fan. I really enjoy his peaceful, somewhat melancholy style of music. As a person who is not religious myself, one of the things that I find interesting about his songs is that religious - specifically Christian - themes seem to appear quite broadly across his oeuvre. A song will often have a superficial, literal interpretation, and potentially another allegorical…
Keep Reading →
It's been a long time since I've written anything on this blog, and I have a lot of ground to cover. Since I last updated, I've spent 18 months in America, worked on some amazing projects and learned an enormous amount. I'm hoping to talk a bit more about some of the technical concepts I've had the chance to explore in subsequent posts. However, for the moment, I just want to address my short…
Keep Reading →
This post was originally published on the TrackMaven
engineering blog.Today we will be talking about mocking. No, not the joke at someone else's expense kind. Mocking is a technique to temporarily replace real parts of our code with fake, simpler parts, so that we can check that the rest of the parts are working as we intend. Here we'll consider some simple use cases for mocking in Python tests…
Keep Reading →
Markdown is great. As a formatting language, I find it to be pretty much unparalleled for speed and ease of syntax. Not having to think overly hard about style allows you to focus purely on the quality of the content.At work, we use GitHub extensively, which means that Markdown is a standard. Issues, pull requests and comments all accept the syntax, so it feels very familiar. Given a choice, I now…
Keep Reading →