Originally this was just a list of articles - more recently this lists my submissions of articles, tools or stories to the unboxed weekly roundups.


Modules vs. microservices - A discussion about building modular systems that articulates the costs of microservices for modularity’s sake.

Rerere Your Boat…(2010) - An explanation of the hidden git rerere feature that, using information about previously resolved conflicts, can help make conflict resolution during merges and rebasing easier.

deep-photo-styletransfer - This is a cool project that puts one image in another (massive oversimplification?) - and in a much more pleasing way than the convolutional network generated images. Seems to need CUDA and various other dependencies but it’d be good to get this running sometime.

Git Standup - It’s often helped to remind yourself of what you were doing yesterday before standup. This is a simple git extension that prints out each commit from the day before; it can also jump back a number of days with git standup -d 3 for checking on a Monday morning.

Stackoverflow Developer Survey - Thought it was worth posting this; some interesting bits in there (Rust and Smalltalk as ‘most loved’; developers using Windows - even if there’s likely to be something of a .Net skew)

Cargo Check - Rust 1.16 was announced yesterday with various interesting changes. cargo check is a tool to validate the correctness of a program is now built into Cargo; Rust’s build system and package manager. Cargo check is interesting as it saves time by not building the program’s binary. Coupled with Rust’s compiler messages I thought this sounded pretty useful.

Scrimba - I spent a few innovation days playing with various container-based continuous deployment tools last year. I played with both Wercker and Distelli but found both had their quirks when deploying to a GCE cluster. I’ve yet to play with GCCB but hopefully better ease of use will come from the closer integration.

What makes WebAssembly fast? - While this is really about WebAssembly, there’s also quite a bit in here about how Javascript is executed by browsers and why parsing and decoding steps - as well as missing type information - make it slower than running WebAssembly. It’s part of a series but I hadn’t read the others and found it to be quite accessible. Also worth stopping by for a reality check!

webshit weekly - Weekly satirical summaries of the distracted Hacker News hive mind - almost as good as this amazing parody thread from a few years ago…

Graphical depiction of ownership and borrowing in Rust - I know this is kind of specific but I also know I’m not the only one here that’s interested in Rust. It’s also a really good diagram for something that’s not easily understood. There’s even a PDF version for making posters to spread the good word.

Here’s What TfL Learned From Tracking Your Phone On the Tube - Setting any privacy concerns aside; I think these results from tracking passengers around the tube network is really interesting. TFL took efforts to protect privacy and make passengers aware (I noticed the posters). As well as the larger ‘traffic flow’ maps; there’s also a plan drawing of a station with journey times annotated.

Persona Spectrum - I thought this was a nice diagram, it’s part of the Inclusive Design Toolkit and makes a point about the wider value of building accessible websites.

Sites can fingerprint you accross multiple browsers - By getting browsers to perform tasks that give away attributes of the host machine, it’s possible to track the same device across sessions from multiple browsers. Tasks make use of the GPU and the installed fonts among other features to build profiles.

Servo Starters - An idea for an upcoming Hackday was to work on some open source projects. The Rust community & Mozilla have a number of initiatives for new contributors. Servo Starters is one such initiative for the servo browser engine that lists issues suitable for beginners as well as highlighting mentored.

Scale API - Not sure if anyone else has used Amazon Mechanical Turk before but this is a similar service for “intelligence as a service” with a nice API (that I haven’t used yet). There’s also an SE Daily episode with an interview for those into podcasts.

Static Site Generators - A static site generator for every language. I feel like I missed someone influential claiming static site generators are literally the best side project ever. Good list nonetheless.

awesome-bits - Another (more awesome) list. Basically it’s a write up of bit wise operations of varying complexity, most of the simple ones work in Ruby too.

C++ Compiler Explorer - This is a cool project that interactively shows, for a given C++ program, the resulting Assembly Code. It’s also interesting to see the difference compiler optimizations make, e.g. without vs. with

Where’s Susi? Airborne Orangutan Tracking with Python and React.js - This is a side project that produced a fully automated drone for gathering data on the location of rehabilitated Orangutans. (This project was subject of the opening talk of HNLondon this week)

Squib - I spent a recent Hackday working on a simple app to generate art for playing cards. Squib is a ruby DSL for generating & laying out cards - looks like a cool project.

Invisible Captcha - Simple gem for unobtrusive spam rejection in Rails. We rolled our own version of this in a recent project but it’s something that would be nice to reuse on other public forms.

Stack Overflow Developer Survey 2017 - Each year stackoverflow asks lots of questions to lots of developers and does a nice write up of the results. Last year they had over 50k responses & did a nice write up of the results here.


The Cloudcast #281 - Monoliths and Microservices - An interview with Anders Wallgren with a more balanced take on the Monolith vs. Microservices discussion. The take away for me was that ‘monolith problems’ often stem from process or organizational culture and that microservices can’t fix that.

Textures.js - I’ve had various interesting discussions with petition map Cale about heat-maps, cartograms and choropleths and how colour can introduce bias. Maybe textures would work better?

A list of programming languages that are actively developed on GitHub - The title really should be “A list of programming languages with a GitHub repo.” since a number of these are mirrors - still, it’s nice to see this extension to the GitHub Explore page.

semantic-rs - Earlier in the year I wrote up a sub-graph matching package in Rust. Published packages (crates) require the version to be set correctly; I’d done this manually and it’s just another thing to remember to do. I haven’t used semantic-rs but it looks pretty useful for helping automate the process. I’ve not yet come across an equivalent for Ruby.

Finding The Fake-News King - Short podcast episode about fake news that includes an brief interview with someone running a number of fake news sites. Interesting to hear the story from the other side. The interview is written up here.

LessPass: Next-Gen Open Source Password Manager - Even if AES-256 has so far proven unbreakable; maybe we don’t need to store passwords at all. LessPass uses a combination of the domain; username and master password to re-generate your password each time it’s required. There’s also an optional, self hosted encrypted password store for passwords and a cool emoji-hash indicator to make sure you’re entering your master password correctly (see here).

My fight against CDN libraries - A short write up of some alternatives to consider before reaching for that CDN library & it’s associated privacy concerns. Discussion

IronFunctions - Disclaimer; I haven’t used this yet. The project is means of setting up DIY functions as a service. It looks like it’s pretty easy to setup and that it ought to be possible to run super cheaply on (that’s my referral link - gets us both some free credits). It runs functions in containers so how you write your functions is pretty flexible.

12 Fractured Apps (2015) - A short & accesible write up about writing resilient applications. While it uses containerized apps as an example, the ideas about handling interactions with the environment are more generally applicable. If you’re interested in containers, Kelsey Hightower has a lot of interesting project and tutorials on his GitHub Profile.

(Discussion Thread) What simple tools or products are you most proud of making? -]( - visualises redirects and cookies set along the way; * - a faster more complete domainr * imguru - uploads images to Imgur from the command line * - a simple CLI for file transfers.

Why We Chose Turbolinks - From a podcast regularly interviewing people making the latest cool thing this was an interesting read about the state of Turbolinks and why they chose it for the new Changelog site.

Rails Docker App Deployment on Kubernetes - I went through a this on an innovation day a few weeks ago but never wrote it up. If you’re interested in running a containerized Rails app in a mock production setup then this is one way to do it. The previous post has a Docker development Rails quick start guide.

EA Games and Origin quietly bans an entire country - or, why you shouldn’t take digital distribution for granted. - A good long list of all the things you can get away with - most of the time.

Static typing will not save us from broken software - I think this is an interesting topic. This is a writeup of the tradeoffs of static typing & automated testing. I think one key point is that it’s often easier to cover a bug that made it into the wild with a test than model it in a type system. There’s also a good discussion over on Hacker News.

Playing Overwatch on Azure’s new monster GPU instances - Need a quick summary of all the places you’re logged in? Try this handy vulnerability(?).

Why Podcasting Still Needs RSS - A post about building on an existing standard - rather than replacing it with a propriety one (as various other podcast services are doing).

How could banks with multiple branches work in a world without quick communication? - This stackexchange site has loads of interesting questions. This is a good one from this week about banking and systems of trust. The answers have interesting parallels with TransferWise, cryptocurrencies and the like.

Running Online Services at Riot - While perhaps a little long, it raises some interesting points about what object orientation really means.

Five Months of Kubernetes - Continuing yesterday’s AWS theme; this looks like a good write up of Kubernetes on AWS. I’m thinking trying out kube-aws (the tool mentioned in the article) this weekend.

Slack’s Architecture with Keith Adams - Not sure how keen everyone is on podcasts but if you’ve ever wondered how Slack fits together behind the scenes this is worth a listen. (As are many of the other episodes for that matter)

A Beginner’s Very Bumpy Journey Through The World of Open Source - I feel like there are lots of “open source: how to start” articles going round but this seemed to place a greater emphasis on sticking at it and being prepared to try elsewhere if it doesn’t work out.

Examining The Internals Of The Rails Request/Response Cycle - Our CTO thinks there’s a little too much focus on the internal class names which can change but it’s useful for understanding how a request flows through the Rails application and how Rails relies on Rack for a lot of that functionality.

“fs” unpublished and restored - In responding to a flagged package, npm Inc. broke project builds that had mistakenly required the bogus “fs” package rather than requiring the “fs” module from Node.

A Container Is A Function Call - This discusses our definition for containers and how Dockerfiles might be improved with some additional, more-descriptive attributes.

I Peeked Into My node_modules Directory And You Won’t Believe What Happened Next - A funny story about what’s lurking in our external dependencies.

Professor Frisby’s Mostly Adequate Guide to Functional Programming - I’ve been reading this over the last two weeks, so far it’s been a good introduction to functional concepts that didn’t sink in when I’d covered them in the past. It uses Javascript and Ramda library for the examples which are easy to test out here in a browser here.