An Algebra of Graphs
Graph theory is my favourite topic in mathematics and computing science and in this blog post I’ll introduce an algebra of graphs that I’ve been working on for a while. The algebra has become my go-to tool for manipulating graphs and I hope you will find it useful too.
Const and Optimization in C
Today there was a question on /r/C_Programming about the effect of C’s const on optimization. Variations of this question have been asked many times over the past two decades. Personally, I blame naming of const .
My Reaction to React
EDIT: Some people were rightly complaining about the code snippets being screen captures rather than <code> blocks. I’ve updated accordingly. Also, many have rightfully commented that t…
When to Avoid JSONB in a PostgreSQL Schema
Heap is the only digital insights platform that shows everything users do on your site, revealing the "unknown unknowns" that stay invisible with other tools.
Data Mining Hacker News: Front vs. Back
Using Haskell, R, Python, SQLite, and Elasticsearch, we data mine Hacker News front page stories and their back page counterparts for patterns.
Serious Sam’s Serious Engine source code released
Hey guys, today we have a surprise for you. We’re releasing the source code for Serious Engine v1.10! It’s the very same engine that we used for Serious Sam Classic: The First Encounter and The Second Encounter. This month we’ll be celebrating Serious Sam’s 15th anniversary and we’re all feeling very nostalgic…
SyntaxNet in Context: Understanding Google's New TensorFlow NLP Model
Yesterday, Google open sourced their Tensorflow-based dependency parsing library, SyntaxNet. The library gives access to a line of neural network parsing models published by Google researchers over the last two years. I've been following this work closely since it was published, and have been looking forward to the…
A Magnetized Needle and a Steady Hand
Now they’ve gone an done it. An unidentified agency has spread a potent computer virus across all the world’s computers and deleted the binaries for every copy of every software development tool. Even the offline copies — it’s that potent.
Amazon Rekognition – Image Detection and Recognition Powered by Deep Learning
What do you see when you look at this picture? You might simply see an animal. Maybe you see a pet, a dog, or a Golden Retriever. The association between the image and these labels is not hard-wired in to your brain. Instead, you learned the labels after seeing hundreds or thousands of examples. Operating […]
SQL Tricks
Listicles like these do work – not only do they attract attention, if the content is also valuable (and in this case it is, trust me), the article format can be extremely entertaining. This a…
Twitter's Vine source code dump
urandom talks
Feather: A Fast On-Disk Format for Data Frames for R and Python
Introducing Feather: a fast binary file format for data frames that works in both R and Python, built on Apache Arrow.
The Case Against Python 3
This document serves as a collection of reasons why beginners should avoid Python 3 as of November 22nd, 2016. I give two sets of reasons as I see them now. One for total beginners, and another for people who are more knowledgeable about programming. The first section attempts to explain the case against starting with…
A convenient untruth: Array notation in C is a lie
Array notation in C is a lie! Sorry, dear reader*, but I cannot participate in this conspiracy any longer. You have been lied to, manipulated and coerced into thinking arrays are a construct of the C language. I feel it is my solemn duty to blow the whistle on this charade and expose the dirty secrets of C’s so-called…
Software Development at 1 Hz
People keep saying that a one line source code change should take one second to be “effective”. “Effective” meaning that you get some form…
Use the Unofficial Bash Strict Mode (Unless You Love Debugging)
Let's start with the punchline. Your bash scripts will be more robust, reliable and maintainable if you start them like this:
Keras 1.0 – Python deep learning framework
Keras was initially released a year ago, late March 2015. It has made tremendous progress since, both on the development front, and as a community.
A Guide to Naming Variables
Names Considered Useful Software is written for people to understand; variable names should be chosen accordingly. People ...