The first part in a series of 4 posts about my experience moving from Australia to San Francisco as a software engineer with a wife and young family.
A summary of how to serialize and deserialize from Python data structures into JSON-compatible strings, which is especially useful when working with API requests and responses.
A primer on bitwise operators in Python - left and right shifting, bitwise and / or / exclusive or, and complements.
An easy introduction to binary numbers, which will lead to a follow-up article on bit manipulation in Python.
Basic overview of parallel / concurrent programming, including comparisons between multiprocessing, multithreading, and asyncio (coroutines) in Python.
My notes for introducing a junior engineer to client-side Javascript for the first time, touching briefly on vanilla JS, jQuery, and VueJS.
How to find Redshift current date and other common expressions for working with date, time, datetime, and timestamp columns in MySQL 5.7.x and Redshift.
Using Python, a short example on how to delegate specified methods to another object, as compared to composition and inheritance.
How to use enums in your models to enforce value consistency.
A template file for using conditional arguments when running Python scripts from the command line.
I've always struggled to remember between these very similar methods in the SQLALchemy ORM - so I took some time out to research these and write it down.
A few notes on the code review process, and the steps I go through when reviewing.
Some thoughts on what code reviews are and are not.
Building model definitions for many-to-many relationships via a secondary table.
Sick of `alembic merge heads` slowing down your builds? Here's a short bash script I wrote to rename your migration files and update its down revision.
Want the power of Periscope or Tableau, without the big monthly bill? Setup Metabase to run locally on your CentOS server.
Mount a directory to be shared between multiple servers using Network File System (NFS).
Dive into SQLAlchemy's little known `event.listen` method to automatically generate slugs when saving a model instance.
How to use the `do` Jinja extension to modify an existing dictionary in your view template.
Configuring your Lambda function for use with an Alexa skill.
A short snippet for creating a template filter, to present datetime objects in Jinja templates.
Want to store JSON-serialized data in your database? But sick of calling `json.loads()` and `json.dumps()` when dealing with this data in your Flask app? Read on!
Notes on using a HTTP / reverse proxy (Charles) to view all traffic between your mobile device and the internet.
A step by step guide (with example files) to open a port using IPtables, to allow restricted inbound traffic to a server.
I like to use CSS selectors like .margin-top-10, .padding-right-20, etc to quickly style a new page. Here's how I create them in SASS.
How to fix alembic's "Multiple head revisions are present for given argument 'head'" error.
Guide to automating server deployments with Ansible playbooks, with example files.
Centralize your logging by using Filebeat to send log files to Logstash.
A small Python script to take action whenever a new file is uploaded to a directory or its contents change.
Review of 3 common Python-based data pipeline / workflow frameworks from AirBnb, Pinterest, and Spotify.
A simple Bash script to check multiple server instances are responding, and rows are being added to a MySQL database.
How to find slow sections in your Python code.
My notes on using RoR for formatting times and datetimes to strings, and parsing strings to time objects.
Start your SEO with this checklist for developers.
Using EventBus to update your Android app after receiving the contents of a JSON API.
Square's Retrofit library together with EventBus makes it super simple to parse the contents of a JSON API into your Android app.
A really simple utility file I keep around in my Android projects which processes a raw JSON file into a List of objects.
Build a swipe to refresh list, which only refreshes when at the top of the list.
How to create an autocomplete text field in Android, which displays suggestions in the dropdown and has a clear button.
A short Rspec snippet to verify the correct concerns have been included in a controller.
Organise your routes.rb file into smaller files, works in both Rails 3 and 4.
Summary notes from the Browser Rendering Optimization course on Udacity focussed on building 60 fps apps.
Are there any factors which help evaluate a product as a bronze, silver, or gold standard of quality?
A glossary of terms commonly used in Angular JS documentation and tutorials.
Installation steps to start serving any PHP application (eg Wordpress) using FPM on CentOS, together with a sample Nginx config file.
A short snippet for testing AngularJS with Jasmine.
A technique to generate a full static HTML page for caching, based on any specified conditions.
Listing out my top 10 recommendations for how to structure and layout rspec tests for Rails models.
Screen is one of my favourite utilities when managing servers - it allows you to use multiple shell windows from a single SSH session and to keep these active even after logging out. It is super useful for monitoring long-running processes.
AngularJS has a good balance of maturity, community support, and productivity - suitable for use either by itself or together with jQuery in production apps.