Posts by Category

post

Design Patterns: Adapter and Facade

   |  3 minute read

Last week, as part of Expedia Learniversity, I gave a presentation on the Adapter and Facade design patterns.

ES6 Fundamentals for React Applications

   |  less than 1 minute read

Don’t worry about learning all of the new features introduced in the ES6 spec, just focus on these core ones that are used most frequently in React codebases!

Presentation - What is Agile?

   |  less than 1 minute read

One of the missing components from the curriculum of the bootcamp for which I teach, is a discussion of agile methodologies and how agile is typically implem...

To Sell is Human

   |  5 minute read

We are in a new age of selling… at least that’s what Daniel H. Pink argues in his New York Times best seller To Sell is Human.

Presentation - Webpack: The Next Generation

   |  less than 1 minute read

I’ve been learning a lot about Webpack recently and I decided to give a presentation at Expedia’s frontEnd engineering community of practice to share my expe...

The Amazon Way: Principles 1-7

   |  3 minute read

I just finished reading “The Amazon Way - 14 Leadership Principles Behind the World’s Most Disruptive Company” by John Rossman. The book was recommended to m...

Design Patterns: Decorator

   |  3 minute read

Next up in my Design Patterns series is the Decorator pattern, which allows you to give your objects new responsibilities at runtime without making any code ...

Chicago Tech Academy Speaker Series

   |  less than 1 minute read

Last week, I was invited to speak during the Power Lunch speaker series at Chicago Tech Academy: a STEM focused high school in Chicago’s West Loop neighborho...

Read By Refactoring - Part 2: Naming as a Process

   |  3 minute read

This is part 2 in my Read By Refactoring series. In this post, I’ll discuss what our instructor described as “Naming as a Process”, which highlights a way to...

AI Awakening NYT

   |  3 minute read

Everyone can see the impact A.I. is having our lives, but an article I read in NYT magazine titled “The Great A.I. Awakening” hammers home just how impressiv...

Looking ahead to 2017

   |  6 minute read

Wow, 2016 went by fast! Here’s a quick recap of what went down, and what my goals are for 2017.

Hackathon

   |  5 minute read

It’s been about a month since I last posted, but I’ve been busy in the meantime! I’ve switched from the Frontend to the Backend team at work, and participate...

Dynamic DNS

   |  3 minute read

So it winds up that the RaspberryPI I set up to serve doesfloydshavezombie.com still didn’t have a static IP after all…

First Open Source Contribution: Hacktoberfest

   |  3 minute read

This year I participated in the Hacktoberfest challenge presented by Digital Ocean. I had not done much open source contributing before, and Hacktoberfest pr...

Design Patterns: Observer

   |  3 minute read

I’m going to read through Head First Design Patterns from O’Reilly after it was recommended on an HN post that I read recently. After finishing a chapter, I’...

Part 3: Zombie Migration - It’s ALIVEEEE

   |  5 minute read

Wow. There was a lot more work to do than I expected to get doesfloydshavezombie.com back up and running. Here’s the final entry in this series!

Part 2: Zombie Migration - Facing Daemons

   |  3 minute read

I continued to set up my RBIP as a web server this weekend: I’ve finally got my application publically facing on a static IP, and the Zombie Dust checking sc...

Part 1: Zombie Migration

   |  2 minute read

This weekend I decided to dust off the RaspberryPi I’ve had lying around and get it up and running as a web server again. I’m currently hosting my zombie-dus...

Life update (pictures)

   |  3 minute read

It’s been a while since I last posted, and a lot has happened over the past few months. Here’s a quick recap (with pictures!)

Configuring the Terminal on a New Macbook

   |  3 minute read

I bought a new Macbook Pro Retina today for personal use, and spent most of the day re-configuring the terminal and development environment to match my old m...

Teaching with TEALS 2015-2016

   |  5 minute read

I’ve spent the last 10 months volunteering as an AP Computer Science teacher at a Chicagoland high school through the Microsoft sponsored TEALS program. It w...

Neo4j pt. 2: Data Modeling Class

   |  2 minute read

The Syndio development team got to take another all expenses paid (thanks to the awesome Neo team!) class on modeling your data in a graph database today! Th...

Neo4j Graph Days Chicago

   |  3 minute read

Today the Syndio dev team took a field trip to the Chicago stop of the Neo4j Graph Days tour. Since we pride ourselves in our ability to elicit information f...

NYT Article: What Makes the Perfect Team?

   |  2 minute read

An article recently published by the New York Times Magazine highlighted research efforts by Google to answer the question “What Makes the Perfect Team?” The...

What is a TIL?

   |  less than 1 minute read

TIL stands for “Today I Learned.” I believe the concept originated from the subreddit /r/TodayILearned.

Project Managing a Blog?

   |  2 minute read

Since I am using github to host and version my content, I might as well take advantage of other features of the platform to help organize and manage updates ...

New Year, New Website

   |  less than 1 minute read

I figured it’s about time I set up a personal website!

til

Global Variables in Javascript

   |  less than 1 minute read

TIL that global variables are automatically (magically?) set on window in javascript.

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.

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.

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.

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.

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...

Using the Chrome Profiler

   |  1 minute read

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

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.

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!

Git Aliases Are Awesome

   |  less than 1 minute read

TIL about git aliases, and how they can speed up your git workflow.

Net Promoter Score (NPS)

   |  2 minute read

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

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.

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.

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.

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.

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

Synchronous Javascript

   |  1 minute read

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

Cohort Analysis

   |  1 minute read

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

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.

Using JS FileReader

   |  2 minute read

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

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!

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.

LRU cache

   |  2 minute read

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

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...

Local State is Ok - Lessons from using Redux

   |  2 minute read

TIL that when using Redux, there are examples of state that are best kept local to a component instead of being managed by the Redux store.

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...

The Benefits of View Models

   |  2 minute read

TIL that view models have utility beyond making data easier to digest by consumers.

app.use and app.all

   |  2 minute read

TIL the difference between app.use and app.all in the context of an express application.

Postgres Extensions: CITEXT

   |  2 minute read

TIL about Postgresql extensions, particularly the CITEXT extension for making a case insensitive column in a table.

CSS Inline Transformations

   |  2 minute read

TIL that inline elements can’t have transformations applied to them in CSS.

CSS specificity and the Console Object

   |  2 minute read

TIL (more like relearned) CSS specificity rules, and (unrelated) some additional methods on the console object other than console.log.

Javascript Debugger

   |  1 minute read

TIL of two ways to work debug statements into javascript code.

CSS Positioning

   |  1 minute read

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

What is Firebase

   |  2 minute read

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

em vs rem

   |  1 minute read

TIL the difference between em and rem in CSS.

node globals vs browser globals

   |  2 minute read

TIL that node programs have different globally accessible objects than those found in the browser.

‘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.

’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.

Prototypal Inheritance

   |  5 minute read

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

Arrow Functions and this

   |  3 minute read

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

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.

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: Using loaders

   |  2 minute read

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

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: 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.

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… ...

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.

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...

Flyway Migrations

   |  4 minute read

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

instanceof vs. typeof

   |  1 minute read

TIL the difference between instanceof and typeof in javascript.

Microservices pt. 1: Defining Microservices

   |  4 minute read

TIL what a microservice is, what the purported benefits of microservices are, and some of the drawbacks of creating a system built from microservices.

process vs. thread

   |  3 minute read

TIL the difference between a process and a thread.

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.

Fetch API: Options

   |  2 minute read

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

XMLHttpRequest Example

   |  1 minute read

TIL how to initiate a request using native browser XMLHttpRequest objects, instead of a request library that wraps these objects.

Composing classes using css-modules

   |  1 minute read

TIL how to compose classes together using the composes keyword provided by css-modules. It has changed my world.

URLSearchParams Object

   |  1 minute read

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

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.

AI and Rational Agents

   |  2 minute read

TIL about the 6 different branches of AI, and what a Rational Agent is.

Unwrapping React Components for Testing Purposes

   |  3 minute read

TIL how to unwrap react components that are decorated by higher order component wrappers like mobx, to get at the underlying component implementation during ...

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.

Kubernetes 101

   |  3 minute read

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

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

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.

Edge Computing

   |  2 minute read

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

Gini Impurity

   |  2 minute read

TIL about Gini Impurity: another metric that is used when training decision trees.

Temporal Models

   |  3 minute read

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