All Posts

(48)

Thinkertoys - Generate Art and Business Ideas

I’ve been on a quest to be more creative, to understand the creative process more deeply. I wrote about the difference between concrete ideas, the building blocks of finished products, and meta ideas, the blueprints that generate them. Using meta ideas, I would have no problem generating new ideas. More often than not, though, I wouldn’t know what to do with them. I’d get stuck, put the idea away…

Introduction to Design Patterns: Why they're worth learning

As developers, we’re constantly learning - and there’s a lot to learn in general because the tech industry is broad and fast-paced. We want to have all the main bases covered so that we can be ready for any situation. We often hear about design patterns and how they can enable us to write well-architected software using object-oriented programming. If you’re like me, you might file that away as a…

Tech Talk - How I'd Improve My Capstone Project

In February 2020, I returned to my bootcamp to give a tech talk on what I’d do to improve my Capstone project. (I also answer career and other questions from the audience at the end.) Download the slides here (PDF) I’m excited to share what I’ve learned so far from working on enterprise software for almost 2 years. The talk is a deep dive into the codebase that myself and three others worked on…

Using question-prompter for study, self-reflection, and more

I recently created a node command line app called question-prompter. It prompts you at your terminal to answer questions that you come up with. After you answer them, it saves them to a or file in a directory of your choosing. Background I find a lot of benefit from regularly checking in with myself. While many authors have written about this kind of reflection, Tim Ferriss comes to mind first…

Meta Ideas - Generating Creative Content

I’ve been writing down small music (and other) ideas for over 20 years. I’ve generally struggled to store, organize, and retrieve them effectively. As I was going through my archives recently, it dawned on me that there are two fundamental types of ideas: one is “concrete” and the other is “meta.” A concrete idea is specific and actionable. It may be a chord progression like: A minor for two and a…

Contributing a New Feature to Open Source: @sindresorhus/is

This post is a recount of my recent experience contributing to is, a JavaScript open source type checking library. https://github.com/sindresorhus/is https://www.npmjs.com/package/@sindresorhus/is I’ll outline the process from beginning to end: the initial filing of the feature request, implementing the feature, collaborating on the pull request, and getting the feature released. Some of the open…

Testing immutable js with sinon custom matchers

Problems with unexpected assertion failures can arise while testing immutablejs with sinon. This post is a brief guide on how to create a custom matcher that will correctly calculate the equivalence between a mock/stub/spy call with an immutable parameter. The way I’ll be making the assertion is with calledWith from sinon-chai (a plugin for chai that helps with making should or expect assertions for sinon mocks). This github issue on sinonjs outlines the problem...

How to Squash All Commits Related to a Single Issue into a Single Commit

Updated Sep 3, 2020 This article outlines how to use the “squash” feature of an interactive . What does “squashing” do? It allows you to take changes that are spread amongst multiple commits and consolidate them into one. Why should one consider squashing commits? A clean history makes tracking changes to a large codebase across time much easier. Many commits are small and unimportant in the grand…

Intro to JavaScript Frameworks Part 1: The Vanilla JavaScript Version of TodoMVC

The goal of this blog-series is to explain what frameworks do, why they’re used, and demonstrate with examples across many different frameworks. The series is aimed at those familiar with JavaScript syntax, accessing the DOM, functions, and classes (object-oriented programming). Further reading can be found at the bottom of this post. What is a JavaScript Framework? A framework is an imported…