-
MiniSearch, a client-side full-text search engine Jan 30, 2019
This blog post is to introduce MiniSearch, a JavaScript library that provides client-side full-text search capabilities. It has zero runtime dependencies, and uses a space optimized index to support memory constrained environments like mobile browsers. It offers prefix search, fuzzy match, boosting
read full post -
Adopting best practices without being adopted by them Sep 19, 2018
A software developer I know was recently faced with a problem: when practicing Test Driven Development (abbreviated as TDD), they felt that the resulting code tended not to follow design patterns. How can one achieve well structured code, that follows the Design Patterns, through TDD?
I feel that this…
read full post -
Delayed jobs with Rails and RabbitMQ Jul 31, 2018
I recently had the need to schedule background jobs with a specified delay into the future from a Ruby on Rails application. I had to implement a retry mechanism with backoff, so I needed to be able to express something like “execute job X, but wait Y seconds before doing so”. Clearly, I needed this…
read full post -
On Engineering Software and Trade-Offs Nov 13, 2017
As software developers, we tend to be quite opinionated about our tools and techniques. Our own specific education and experiences shape our preferences, and we often identify with several schools of thought. We might be, for example, advocates of functional programming, practitioners of test driven…
read full post