TIL - Today I Learned

What is npx?

1 minute read

You may have heard of npm, but what about npx?

Move jest.conf Out of Root Directory

1 minute read

TIL how to move a jest.conf file out of the root directory for a project, while still allowing it to respect all of the relative pathing defined in the confi...

The Perils of Underestimating Stories

4 minute read

TIL that while the exact number a team uses to estimate a story is meaningless and varies from team to team, the accuracy of the relative estimate matters qu...

Why Product Roadmaps are Important

4 minute read

TIL why product roadmaps are important: they provide necessary clarity to internal and external stakeholders, for the coordination and prioritization of medi...

When to Use One Hot Encoding

2 minute read

TIL about One Hot Encoding, and when it is necessary to use as a preprocessing step for machine learning models.

SOLID: Dependency Inversion Principle

1 minute read

TIL about the dependency inversion principle, and how it (like most of the other SOLID principles) promotes loose coupling between modules.

SOLID: Interface Segregation Principle

2 minute read

TIL about the interface segregation principle, and how it promotes decoupling of classes in your code through the separation of methods in to role interfaces.

SOLID: Open/Closed Principle

1 minute read

TIL about the open/closed principle, and how it can be used to ensure your code is adaptable to new requirements while remaining resilient to changes.

Temporal Models

3 minute read

TIL how to create a temporal model of a system using some simplifying assumptions for ease of computation.

Edge Computing

2 minute read

TIL about edge computing, and how it can lead to optimizations over cloud computing in certain scenarios.

Information Entropy and Information Gain

4 minute read

TIL about Information Entropy and Information Gain, which are key pieces towards determining the relevance of a decision when constructing a decision tree.

Public Suffix List

2 minute read

TIL about the public suffix list, which is a list of domains in which browsers will not allow secure cookies to be set

Kubernetes 101

3 minute read

TIL about Kubernetes, Google’s open source container orchestration system.

Agile vs Waterfall Leadership Styles

1 minute read

TIL that the leadership style best suited for a team operating in an agile environment is different from that of a waterfall environment.

Javascript Class Basics

3 minute read

TIL about the javascript class keyword introduced in ES6, and dug in to some of the nuances behind it.

URLSearchParams Object

1 minute read

TIL about the URLSearchParams Object, which is useful for parsing URL querystrings in to maps of keys and values.

Fetch API: Options

2 minute read

TIL how to pass headers along with requests initiated by the fetch API.

Semantic Versioning

2 minute read

TIL what semantic versioning is, what each number of the version indicates, and why using a versioning scheme like semantic versioning is important.

Flyway Migrations

4 minute read

TIL how to configure the database migration framework Flyway, as well as the difference between Versioned and Repeatable migrations.

Linear Algebra Review

5 minute read

TIL how to calculate the magnitude, normalization, dot product, and cross product of vectors. I wrote a small library that performs the calculations - repo w...

Pattern Matching in SQL

2 minute read

TIL how to properly write a SQL statement using the LIKE operator, including how to use wildcards to match various patterns.

Snapshot Testing with Jest

2 minute read

TIL how to perform snapshot testing using Facebook’s React unit testing framework jest. It is somewhat different than traditional visual regression testing… ...

Webpack: Chunking with Plugins

4 minute read

TIL how to use webpack plugins like ExtractTextPlugin and CommonsChunkPlugin to create smaller chunks out of my webpack bundles.

node: require.cache

5 minute read

TIL that node’s require method maintains a cache of the modules that have been imported. I also learned that it is possible to invalidate this cache.

Webpack: Using loaders

2 minute read

TIL how to use webpack loaders to transpile React code to ES5, and compile .less stylesheets to .css.

Webpack: Configuring webpack-dev-server

3 minute read

TIL how to configure webpack-dev-server (WDS) to both serve files from the publicPath and proxy APIs on different domains to avoid cross site request warning...

Webpack: Paths and Naming

3 minute read

TIL the difference between path and publicPath in webpack, and how the output.filename property can be used to assign files to sub-directories in the path.

Arrow Functions and this

3 minute read

TIL how to leverage ES6 arrow functions to avoid losing “this” when writing functions inside of functions.

Prototypal Inheritance

5 minute read

TIL how to implement an inheritance relationship (from scratch) in javascript using prototypal inheritance.

’async’ script attribute

2 minute read

TIL about the behavior of script loading in an HTML page, when the async attribute is added to a script tag.

‘let’ transpilation in Babel

1 minute read

TIL how Babel transpiles variables defined with let to their ES5 var equivalents, while still maintaining the same block scoping rules that apply to let.

em vs rem

1 minute read

TIL the difference between em and rem in CSS.

What is Firebase

2 minute read

TIL what Firebase is. I followed the tutorial and published a quick app to understand its capabilities.

CSS Positioning

1 minute read

TIL (reviewed) the differences between the 4 CSS position property values: static, fixed, relative, absolute.

Native vs 3rd Party Promise Implementations

3 minute read

TIL that the promise implementation shipped with ES6 is not very performant, and that it is still preferable to use a 3rd party promise library for several r...

Amortized Time Complexity

1 minute read

TIL that the amortized time complexity of adding an item to an ArrayList in Java is O(1), but that the “worst case” for an add operation is O(n). This caused...

LRU cache

2 minute read

TIL how a standard caching strategy, the Least Recently Used (LRU) cache, works.

Call By Value vs Call By Name

3 minute read

TIL the difference between Call By Value and Call by Name expression evaluation strategies implemented by languages such as Scala.

HTML5 Email Templates…

2 minute read

TIL how difficult it is to create emails with rich content…inline CSS and email client incompatibilities for days!

Using JS FileReader

2 minute read

TIL how to use the javascript FileReader to read data from a text file.

Mobile Browser Data Limit

1 minute read

TIL that there exists a hard cap on the amount of data a single webpage can ship to a mobile browser, before the browser crashes.

Cohort Analysis

1 minute read

TIL about cohort analysis, and how it can be used as an input to product strategy.

Synchronous Javascript

1 minute read

TIL that javascript is really a synchronous language with callback capabilities that make it feel asynchronous at times.

Sorting Algorithms

5 minute read

TIL (more like re-learned) the differences between a few basic sorting algorithms: selection sort, insertion sort, and merge sort

Sorting Arrays in Javascript

1 minute read

TIL how the Array.prototype.sort() sorts by default, and how to pass a comparator function in to the sort method if a different sort order is desired.

Using Javascript Object Prototypes

less than 1 minute read

TIL how to use javascript object prototypes, to associate common methods and data types with the “superclass” for a javascript object.

Overwriting Mocks in Jasmine

1 minute read

TIL how to overwrite mocks in tests, by saving them to a variable and modifying the function tied to the object.

Mocking the Clock Using Jasmine

less than 1 minute read

TIL how to mock the internal clock of a test using jasmine. This was useful for testing methods that rely on a timeout or debounce before firing.

Net Promoter Score (NPS)

2 minute read

TIL of a metric that helps measure customer engagement and loyalty: Net Promoter Score

Hunting Down Performance Issues

1 minute read

TIL what the angular-animate library does, after noticing it was contributing to over 60% of the scripting time necessary to scroll through our grid!

One Time Binding

less than 1 minute read

TIL that angular 1.3 and onwards has a one-time-bind option to pass to interpolated expressions, which tells angular that the data is not expected to change.

Using the Chrome Profiler

1 minute read

TIL how to use the Chrome “Timeline” Profiler to help uncover poorly performing front-end code.

Angular Interpolation vs. ng-bind

1 minute read

TIL that instead of interpolating a data binding in a template (via double curly brace syntax), you can accomplish the same thing by adding the ng-bind direc...

Angular ng-model-options - Debounce

less than 1 minute read

TIL about the ng-model-options directive, which augments the behavior of an input element bound to a scope property via ng-model.

Underscore.js

1 minute read

TIL about Underscore.js (an awesome javascript util library) that prevented me from needing to write a custom dictionary-parsing method.

Javascript - Call by Sharing?

1 minute read

TIL that there is a programming language evaluation strategy called “call by sharing,” and that Javascript implements this approach.

Service Design in Angular

1 minute read

TIL how to design a service in Angular that encapsulates the actions necessary to supply data to a controller.