Designing by Contract (draft)

API oriented design TODO: OpenAPI, grpc TODO: protoc-gen-flowtypes

From Incident Response to Operational Excellence (draft)

Patterns that generalize It’s intruiging when a set of practices can be effectively adapted from one context to another. I find the symmetry in an idea being useful across concerns attractive. Building a learning organization Early on at a previous early-stage engagement we running at full speed to deliver our promises to customers. The real world is messy. Logistics is messy. Things go wrong. How you deal with the failures is a critical part of a company’s culture and strategy.

Practical vim macro Codemods (draft)

I tend to edit text with vim. In this post I’ll share some of the more advanced capabilities and demonstrate automation of large and boring modifications to codebases. To illusrate the part of how I work I will demonstrate the following codegen/codemods: - Retroactive lint rule introduction. - Scripting initial test coverage of a React component tree. Retroactive Linting A concrete example of needing to make a large and boring code modification is when you introduce linting into an existing codebase.

The coming age of Pharmacogenomics (draft)

Drug response is personal Only recently has the medical field started appreciating this fact in a meaningful way. Pharmacogenomics (PGx) is the intersection of pharmacology - the study of drugs, and genetics - the study of genes and gene expression. Drug response in the form of efficacy and adverse reactions depends on many factors but it is becoming more clear that a persons’ particular genotype plays a significant role. The body of knowledge of pharmacogenomic factors in drug response is growing rapidly - as of early 2017 the Clinical Pharmacogenetics Implementation Consortium (CPIC) has published over 300 clinical PGx guidelines.

Retrofitting Event Sourcing (draft)

Event Sourcing is an architectural pattern that embraces the transaction log as important enough to belong to more than the replication algorithms in your data store. TODO: talk about event sourcing TODO: discuss instances of retroctive transaction log consumption TODO: discuss pqstream

Observability's Missing Pillar (draft)

Interactive drill down is an underappreciated capability in understanding and debugging distributed systems. From logs to insights One of my projects when I was working at Parse was called (quite creatively) logtailer. Logtailer was a software system that took the relatively unstructured logs that various parts of Parse’s infrastructure were generating and made them useful to understand in aggregate. Putting aggregate event data in front of the developers and operators at Parse changed how we understood, improved, and debugged our systems.

State Chart Driven System Design (draft)

State charts are a powerful and underused mechanism for both building and understanding complex operational systems. TODO: introduce state charts TODO: discuss business process modeling generally TODO: discuss Alto DSL TODO: discuss modeling opportunities TODO: discuss visualization and analysis opportunities

Programmatic Ubiquitous Language (draft)

I was first introduced to ubiquitous language when I read Domain Driven Design (DDD) years ago. DDD has lots of great concepts but this is the one I find myself sharing most often when talking to people that are not necessarily coming from an engineering mindset. Organizations of people are complex systems and it’s always interesting to think about important leverage points and constraints within those systems. Put plainly, ubiquitous language is the concept that every person in an organization uses the same vocabulary for the same concepts.

cat /var/www

A collection of ideas, varying in size and scope.