Overview
News
Salaries
Products
People
Growth
Offices
Financials

Overview

Cameron MacLeod About CV Projects Hello! I'm Cameron, and this is my personal blog.

News

Blog 3 years ago
How to sort parent nodes before child nodes? - Topological sort
Dependencies between things are common, but they can be tricky to manage in code. You might think of using a graph to model your system, but how can you ensure that thing A happens before thing B? This is where the idea of a topological sort comes in. Thi
Read more
Report
Blog 4 years ago
abracadabra: How does Shazam work?
Your phone's ability to identify any song it listens to is pure technological magic. In this article, I'll show you how one of the most popular apps, Shazam , does it. The founders of Shazam released a paper in 2003 documenting how it works, and I have be
Read more
Report
Blog 6 years ago
What a computer science degree looks like in 2020
Lots of people who are learning to code ask the question "Should I get a CS degree or do a bootcamp?", or "Is a degree necessary?". I have just finished my degree (not graduated yet), and while I can't give all the answers to these questions, I can share
Read more
Report
Blog 6 years ago
Build a snake game on the BBC micro:bit
By the end of this tutorial, you'll have built your very own game and learned not only about game development, but Python and the BBC micro:bit too. What's more, you don't even need to own a micro:bit to follow along!
Read more
Report
Blog 6 years ago
Disappearing documentation (a Kubernetes war story)
I like a good war story, and I like them even more when I get to tell them. While writing my dissertation, I ran into a case of disappearing documentation. Here's what happened. As part of my undergraduate dissertation, I was working with Kubernetes, and
Read more
Report
Blog 6 years ago
Why I chose product management over software development
I'm about to finish my degree and have been fortunate enough to receive two graduate job offers. One was an associate product manager position at Google, and the other was software engineering at Bloomberg. Both companies and jobs excited me, which left m
Read more
Report
Blog 7 years ago
Easy Python speed wins with functools.lru_cache
Recently, I was reading an interesting article on some under-used Python features. In the article, the author mentioned that from Python version 3.2, the standard library came with a built in decorator functools.lru_cache which I found exciting as it has
Read more
Report
Blog 7 years ago
Better parameter validation in Flask with marshmallow
Recently I've had two Flask projects with endpoints that take lots of parameters. While working on the first project, I noticed that I was writing a lot of code for validation in each method, and it ended up looking ugly and probably full of bugs. When I
Read more
Report
Blog 8 years ago
How to configure DNS for custom domains on GitHub Pages
Recently-ish GitHub announced that HTTPS would now work on custom domains with GitHub Pages. This was a great bit of news, because the web is slowly moving towards a HTTPS-only state of being and it's nice not to be left behind. Unfortunately for me, for
Read more
Report
Blog 8 years ago
5 Mistakes companies make recruiting software interns
August to November is internship application season for computer science undergraduates and over the past few months I've been applying to a good number of internships myself. Through these applications I've learnt a few things about what makes for a good
Read more
Report
Show more news