Blog Archive 2024 A Developer's Job Isn't to Write Code May 06 2024 Clean Communication May 05 2024 Back Into Success May 05 2024 Code for Brains, Not Computers May 05 2024 Git Gardening May 04 2024 Commits to Read Like Your Terminal History May 04 2024 The 4 Is of Pull Requests May 04 2024 Your First Reviewer Is a Duck May 04 2024 2022 Lessons Learned Working With Sass and CSS Variables Jul 04 2022 Using CSS and Sass to Encode Measurement Types Jun 04 2022 Use Delta-based Tickets Apr 06 2022 Style Your Design Elements, NOT Your Mark Up Feb 07 2022 2021 Cross Site Scripting (XSS) and Cross Site Request Forgery (CSRF) Prevention Cheatsheet Jan 09 2021 2020 Tracking Changes in Open Source Libraries on Github Dec 19 2020 Writing Ruby Gems for Different Versions of Ruby and Rails Dec 19 2020 Recursive Procedures Dec 18 2020 XPath Selectors Cheatsheet Dec 15 2020 CSS Selectors Cheatsheet Dec 15 2020 Thinking in Dimensions: A Unified Approach to Filter Grammars Dec 12 2020 jQuery Best Practices Dec 05 2020 JSON API Cheatsheet Oct 17 2020 Turbolinks Cheatsheet Jul 09 2020 2019 CanCanCan Cheatsheet Jul 12 2019 2016 Emojis Are the Solution to Useless Commit Messages Aug 19 2016 How to Shoot Trouble and Squish Bugs Aug 07 2016 10 Things Good Front-end Developers Do Jul 21 2016 How I Learned to Learn Jul 17 2016 The Best Still Untitled: The Adam Savage Podcast Episodes Jul 02 2016 Facebook Origami Cheat Sheet Jun 30 2016 The Best Tim Ferriss Show Podcast Episodes Jun 25 2016 How I Taught Myself the Colemak Keyboard Over a Weekend Jan 17 2016 Getting to Better Code Reviews Jan 17 2016 2015 Notes on How to Start a Startup Feb 13 2015 SourceTree Keyboard Shortcuts Feb 01 2015 Interview Questions for a Development Job Jan 17 2015 2014 Improving Typing Speed Sep 08 2014 Factories Sep 06 2014 Inversion of Control Sep 03 2014 Dependency Injection Sep 02 2014 First Five Principles of Object-Oriented Programming Sep 01 2014 Covariance and Contravariance Sep 01 2014 Functional Programming Sep 01 2014 Imperative Programming vs Declarative Programming Aug 31 2014 Procedural Programming Aug 31 2014 Structured Programming Aug 30 2014 Using Spaced Repetition to Learn Programming Languages Aug 28 2014 Creating Cards for Spaced Repetition Aug 26 2014 Separating Classes Into Smaller Ones Aug 22 2014 Reducing Code Complexity Aug 21 2014 Ordering and Labelling Code Aug 21 2014 Reducing a Routine's Parameters Aug 20 2014