Leland Richardson

Personal blog of Leland Richardson.
Software Engineer at Google working on Android. Previously Airbnb.
Leland Richardson

Latest Posts

Compose From First Principles

on May 22, 2019  -  24 min read

Thousands of Developers from around the world attended Google I/O 2019 earlier this month. It was a particularly exciting I/O for me, as it was the first time…

Content on Declarative UI

on May 16, 2019  -  7 min read

If you haven’t yet watched the session on Declarative UI Patterns , you should do that now. It is a proper overview of the motivations and goals behind the…

One Concern, One File

on May 19, 2015  -  13 min read

Most of us are aware of the notion of having a “Separation of Concerns”. It’s one of the holy truths of computer science. An unbreakable law: something we mustn…

Making React.js and Knockout.js Play Nice

on May 18, 2015  -  8 min read

Choosing a JavaScript framework or library to build a project with is a complicated choice, these days. There’s just so much to choose from. There’s the new…

Custom Lucene Tokenizer for Tech Keywords

on May 13, 2015  -  6 min read

In the world of search and text indexing, Lucene is perhaps the most pervasive implementation. These days many developers opt to use technology that uses Lucene…

Clever way to "demethodize" Native JS Methods

on June 10, 2014  -  3 min read

Recently I wrote a blog: Functional JavaScript, Part 3: .apply(), .call(), and the arguments object Taylor Smith ended up making a comment about a piece of…

Functional JavaScript, Part 4: Function Currying

on April 29, 2014  -  13 min read

In an earlier post we played around with function currying very briefly. Currying is absolutely essential to Functional Programming, and in this post we are…

Functional JavaScript, Part 3: apply, call, and the arguments object

on April 23, 2014  -  9 min read

We are on a quest to bend and twist JavaScript in such a way that we can do some real functional programming. In order to do that, understanding function…

Functional JavaScript, Part 2: What Makes a Language Functional?

on April 15, 2014  -  9 min read

Is JavaScript a “functional” programming language? There is no magic formula for what makes a language “functional” or not. There seem to be languages that are…

Functional JavaScript, Part 1: Introduction

on April 14, 2014  -  4 min read

Introduction JavaScript is a powerful, but misunderstood language. People like to say that it is an object oriented programming language, or that it is a…

Creating a Dictionary<T,V> which doesn't throw a KeyNotFoundException

on March 10, 2014  -  4 min read

I find it interesting when there are certain tasks in one language which feel simple, fluid, and elegant to write, when in another language they feel sloppy and…

A Better Query Language: BQL Language Specification

on March 05, 2014  -  20 min read

For some reason or another, it seems to me that SQL has always taken a back seat in the language economy. I have used SQL for years, and very little has changed…

Handling Paged Datasets in Knockout.js

on April 23, 2013  -  13 min read

KnockoutJS provides the plumbing to create very powerful web applications, but leaves most of the logic up to the developer. That’s great, and I don’t think it…

Lukemapper: A Super Fast ORM for Lucene.net

on February 11, 2013  -  10 min read

Lucene is a document storage search engine library that utilizes inverted indexes and has great capabilities. It has been very popular and has been ported to…

3 Tricks to get More out of SQL Server in Common Web Scenarios

on July 03, 2012  -  16 min read

Learn several little-known SQL tricks/techniques used to improve query times and enforce business rules with common everyday web-development scenarios Article…