Joseph Adams

#Blog Posts


Endeavour into the Github contributions streak trend.

FOSDEM 2014 lightning talk video
Video of my lightning talk at FOSDEM 2014 about .

Personal Annual Report 2013
My first endeavour into self-tracking and personal analytics.

Crawling HackerNews
An approach to collecting the complete HackerNews database explained.


A quick programming exercise, featuring the MapReduce functionality of Javascript.

Browser ABC
Inspired by "Letter Sweep" and "My Browser A-Z", thought it'd be interesting writing up my own.

On Ulam spirals and matrix generation
Implementing an algorithm for generating Ulam spirals in Javascript.

Getting to work with CodeMirror
A short intro to getting a simple CodeMirror demo up and running.

Web Audio API overview (Part 2 of 2)
Extends the audio visualizer built in part one.

Web Audio API overview (Part 1 of 2)
Looks into creating a simple audio visualizer, which is extended in the second part.

Exploring the V8 JS engine (Part 2 of 2)
Introduction to shared variables and Node.js source. Second part of series.


Looks into the basics of programming with & C++. First part of series.

Using content providers in Android
Short sample of pulling data in from content providers.


A brief overview of how public/private key encryption actually work.

#Projects

Go
Lisp/Clojure-esque to Go compiler. Started out as a simple (macro-supporting) interpreter, though then the backend was rewitten to compile to Go. With that macro support was also dropped.
(Also presented at #FOSEM 2014)

Go
Project from Young-Rewired-State 2013. Analyses Wikipedia articles' structure and lex to find places they need to be improved, using a neural network and a ngram model with Good-Turing smoothing.

Javascript
An algorithm for generating Ulam Spirals, read the corresponding blog post here.

Ruby
A Ruby library for scraping data off HackerNews.

Javascript
Project from Young-Rewired-State 2012. It scrapes news sites and builds a model based on your interests, using a Bayesian Filter.

Ruby
Some Ruby classes to utilize Java's Swing Toolkit, for educational purposes.