Blog.

My Apprenticeship

Cover Image for Pairing Tour: Day 8

Pairing Tour: Day 8

The final day of the pairing tour, styling Android layouts in XML and learning to handle UI across varying screen sizes and orientations.

Brian Nystrom
Brian Nystrom
Cover Image for Pairing Tour: Day 7

Pairing Tour: Day 7

Jumping into Android development paired with a Bluetooth device — learning to test with Robolectric and Mockito, and getting introduced to Screaming Architecture.

Brian Nystrom
Brian Nystrom
Cover Image for Pairing Tour: Day 6

Pairing Tour: Day 6

Back to CoffeeScript, working on date-based user redirects and upgrading a dependency — a reminder that keeping up with dependencies has a cost.

Brian Nystrom
Brian Nystrom
Cover Image for Pairing Tour: Day 5

Pairing Tour: Day 5

Spending the day creating presentation slides about Software Craftsmanship and the road to mastery: apprentice, journeyman, and master.

Brian Nystrom
Brian Nystrom
Cover Image for Pairing Tour: Day 4

Pairing Tour: Day 4

A day of front-end CoffeeScript work, fixing a phone number formatting bug, and going down a rabbit hole setting up an Android emulator to reproduce a mobile issue.

Brian Nystrom
Brian Nystrom
Cover Image for Pairing Tour: Day 3

Pairing Tour: Day 3

Back on the Clojure travel app for a productive day tackling autocomplete features and complex SQL JOIN queries using Korma.

Brian Nystrom
Brian Nystrom
Cover Image for Pairing Tour: Day 2

Pairing Tour: Day 2

Day two of the pairing tour on a CoffeeScript and C# project, wrestling with a mysterious Jenkins build failure that passed locally.

Brian Nystrom
Brian Nystrom
Cover Image for Pairing Tour: Day 1

Pairing Tour: Day 1

This week I started my Pairing Tour, pairing with various craftspeople on a Clojure travel app and picking up new tools along the way.

Brian Nystrom
Brian Nystrom
Cover Image for Fixing your History with Git Rebase

Fixing your History with Git Rebase

A practical guide to git rebase — from moving local commits to the branch head, to using interactive rebase to squash, reword, and clean up your commit history.

Brian Nystrom
Brian Nystrom
Cover Image for Web Security with HTTPS

Web Security with HTTPS

A look at how HTTPS and SSL/TLS work under the hood — from the TCP handshake to certificate authorities — and why every web app handling sensitive data should use them.

Brian Nystrom
Brian Nystrom
Cover Image for Pair Programming Strategies

Pair Programming Strategies

An overview of the two main pair programming styles — Ping-Pong and Driver-Navigator — and how to choose the right one depending on your team's experience level.

Brian Nystrom
Brian Nystrom
Cover Image for The Observer Pattern: To Observe Or Not To Observe

The Observer Pattern: To Observe Or Not To Observe

A walkthrough of the Observer design pattern — understanding Subjects and Observers, how they relate to MVC, and how to wire them together in a Java application.

Brian Nystrom
Brian Nystrom
Cover Image for Programming Paradigms? What's the deal with that?!

Programming Paradigms? What's the deal with that?!

A comparison of imperative and functional programming paradigms — using Java and Clojure examples to explore mutability, expressions, and when each approach shines.

Brian Nystrom
Brian Nystrom
Cover Image for How I Tested A Web Server That I Built From Scratch

How I Tested A Web Server That I Built From Scratch

Lessons learned building an HTTP server in Java from scratch and testing it against the Cob Spec test suite — including when to write spike code and how to pick the right design patterns.

Brian Nystrom
Brian Nystrom
Cover Image for Getting Started Driving Your Code Through Tests

Getting Started Driving Your Code Through Tests

How following the three laws of TDD transformed my approach to writing software — leading to better design, testable code, and the confidence to refactor freely.

Brian Nystrom
Brian Nystrom
Cover Image for The Interface Segregation Principle: A SOLID Software Principle

The Interface Segregation Principle: A SOLID Software Principle

The Interface Segregation Principle (ISP) is one of the 5 SOLID principles in Object-oriented software design, dealing with the problem of having "fat" interfaces that include too many methods.

Brian Nystrom
Brian Nystrom
Cover Image for The Interface Segregation Principle: A SOLID Software Principle

The Interface Segregation Principle: A SOLID Software Principle

The Interface Segregation Principle (ISP) is one of the 5 SOLID principles in Object-oriented software design, dealing with the problem of having fat interfaces that include too many methods.

Brian Nystrom
Brian Nystrom