Android

GIVE ME FEATURE OR 1★ December 21 2016
The Person Behind the Screen has feelings too. And they hurt.
Attribouter August 17 2018
A short breakdown of a really really big library I wrote to credit contributors and libraries used in my Android projects.
Pricing Models September 17 2018
TL;DR - Don't work for free.
Continuous Integration with Travis CI for Android | doubledot.dev November 14 2018
An in-depth tutorial explaining how to set up Travis CI to deploy signed builds to Google Play. Among other things.
Introduction to Android: Contexts, Intents, and the Activity lifecycle | doubledot.dev March 18 2019
A basic overview of the main components of an Android app and how they interact with each other and the Android system.
Thoughts About Aptoide's 'Play Fair' Campaign June 13 2019
Sharing my opinions about Aptoide's 'play fair' campaign and some of the claims made in their argument.

CI

Continuous Integration with Travis CI for Android | doubledot.dev November 14 2018
An in-depth tutorial explaining how to set up Travis CI to deploy signed builds to Google Play. Among other things.

Java

Attribouter August 17 2018
A short breakdown of a really really big library I wrote to credit contributors and libraries used in my Android projects.
Exceptional Traveler September 25 2018
I explain how and why (sort of) I wrote an implementation of the Traveling Salesperson Problem using Exceptional Programming standards.

JavaScript

Client-Side JavaScript August 19 2018
Why I rewrote my site with Jekyll, rather than running a ton of client-side JavaScript that doesn't really work all of the time.
JavaScript: Productivity over Proof August 2 2019
In the vast majority everyday software, nobody writes a mathematical proof of every piece of functionality. Dynamically typed languages exist for a reason, and this is not it.

Linux

AAAAAAAAAAAAAAAAAAAAAAAHHH September 1 2018
A small command-line utility I wrote with Go that I had a lot of fun with.
Joining Freenode IRC: A Guide | doubledot.dev March 6 2019
Basic (but detailed) instructions for setting up a Freenode IRC account through various clients.

Meta

GIVE ME FEATURE OR 1★ December 21 2016
The Person Behind the Screen has feelings too. And they hurt.
Hello World July 28 2018
I made a blog.
Pricing Models September 17 2018
TL;DR - Don't work for free.
Thoughts About Aptoide's 'Play Fair' Campaign June 13 2019
Sharing my opinions about Aptoide's 'play fair' campaign and some of the claims made in their argument.

Web Development

Hello World July 28 2018
I made a blog.
Client-Side JavaScript August 19 2018
Why I rewrote my site with Jekyll, rather than running a ton of client-side JavaScript that doesn't really work all of the time.
CSS Submodules October 26 2018
How I organize my site's CSS and why.

Blog

             

GIVE ME FEATURE OR 1★ December 21 2016
The Person Behind the Screen has feelings too. And they hurt.
Hello World July 28 2018
I made a blog.
Attribouter August 17 2018
A short breakdown of a really really big library I wrote to credit contributors and libraries used in my Android projects.
Client-Side JavaScript August 19 2018
Why I rewrote my site with Jekyll, rather than running a ton of client-side JavaScript that doesn't really work all of the time.
AAAAAAAAAAAAAAAAAAAAAAAHHH September 1 2018
A small command-line utility I wrote with Go that I had a lot of fun with.
Pricing Models September 17 2018
TL;DR - Don't work for free.
Exceptional Traveler September 25 2018
I explain how and why (sort of) I wrote an implementation of the Traveling Salesperson Problem using Exceptional Programming standards.
CSS Submodules October 26 2018
How I organize my site's CSS and why.
Continuous Integration with Travis CI for Android | doubledot.dev November 14 2018
An in-depth tutorial explaining how to set up Travis CI to deploy signed builds to Google Play. Among other things.
Joining Freenode IRC: A Guide | doubledot.dev March 6 2019
Basic (but detailed) instructions for setting up a Freenode IRC account through various clients.
Introduction to Android: Contexts, Intents, and the Activity lifecycle | doubledot.dev March 18 2019
A basic overview of the main components of an Android app and how they interact with each other and the Android system.
Right to Repair April 14 2019
A summary of the main points surrounding the debate over Right to Repair and an argument in favour of it, with a focus on Apple devices and customer experience.
Thoughts About Aptoide's 'Play Fair' Campaign June 13 2019
Sharing my opinions about Aptoide's 'play fair' campaign and some of the claims made in their argument.
JavaScript: Productivity over Proof August 2 2019
In the vast majority everyday software, nobody writes a mathematical proof of every piece of functionality. Dynamically typed languages exist for a reason, and this is not it.