architecture 27
View all
Making Modular Monoliths Work
Handling the rudder as an organization grows
Above-the-line and below-the-line
Building Learning Communities
Optimizing Processes Using a Design Structure Matrix
Interdependence and Self-Reliance
Improving Software Architecture Using a Design Structure Matrix
Riding the Architecture Elevator
Curate Don’t Dictate
Tied to Machines Podcast — Architecture
Principles of Architectural Leadership
Innovation with Constraints
Putting the R in D
IaaS, PaaS, SaaS and Infrastructure
Infrastructure in an Age of Commodities
A Principled Approach to Architecture
Functional Microservices
What is CQRS?
Software Architecture as Business Analysis
Being Good Enough
Creating a Service Oriented Organization
Integrating Applications: From RPC to Messaging
Integrating Applications
The Problem with Point to Point Communication
Stability Anti-Patterns
Paper Review: Architecture of a Database System
Structuring an Application using Model View Controller
app-engine 24
View all
Managed VMs and the Future of App Engine
Durabledict for App Engine
Keeping App Engine Search Documents and Datastore Entities In Sync
Downloading files from Google Cloud Storage with webapp2
Querying App Engine Logs with Elasticsearch
Managing App Engine Dependencies Using pip
App Engine MapReduce API - Part 7: Writing a Custom Output Writer
App Engine MapReduce API - Part 6: Writing a Custom Input Reader
Suggested Searches with Google App Engine
Composing Asynchronous Functions With Tasklets
Converting an ndb model to a BigQuery schema
Restoring an App Engine backup into a Big Query table
Bypassing ndb hooks with the RawDatastoreInputReader
Generating a C# client for an App Engine Cloud Endpoints API
Using Basic Authentication with Google Cloud Endpoints
Unit Testing Cloud Endpoints
Creating RESTful APIs with App Engine Cloud Endpoints
Running Multiple App Engine Modules Locally with dev_appserver.py
How to bypass the auto_now property option during an ndb put
App Engine MapReduce API - Part 5: Using Combiners to Reduce Data Throughput
App Engine MapReduce API - Part 4: Combining Sequential MapReduce Jobs
App Engine MapReduce API - Part 3: Programmatic MapReduce using Pipelines
App Engine MapReduce API - Part 2: Running a MapReduce Job Using mapreduce.yaml
App Engine MapReduce API - Part 1: The Basics
database 24
View all
VoltDB
Paper Review: The CQL continuous query language: semantic foundations and query execution
Paper Review: BlinkDB: Queries with Bounded Errors and Bounded Response Times on Very Large Data
Paper Review: Informix under CONTROL: Online Query Processing
Paper Review: An Array-Based Algorithm for Simultaneous Multidimensional Aggregates
Paper Review: Implementing Data Cubes Efficiently
Paper Review: Robust Query Processing through Progressive Optimization
Paper Review: Dynamo: Amazon’s Highly Available Key-value Store
Paper Review: Cap Twelve Years Later: How the “Rules” Have Changed
Paper Review: Generalized Isolation Level Definitions
Paper Review: DryadLINQ: A System for General-Purpose Distributed Data-Parallel Computing Using a High-Level Language
Paper Review: OLTP Through the Looking Glass, and What We Found There
Paper Review: Hekaton: SQL Server’s Memory-Optimized OLTP Engine
Paper Review: C-Store: A column-oriented DBMS
Paper Review: Transaction Management in the R Distributed Database Management System
Paper Review: Concurrency Control Performance Modeling: Alternatives and Implications
Paper Review: Granularity of Locks and Degrees of Consistency in a Shared Data Base
Paper Review: ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging
Paper Review: Access Path Selection in a Relational Database Management System
Paper Review: Eddies: Continuously Adaptive Query Processing
Paper Review: The Gamma Database Machine Project
Paper Review: The Design of POSTGRES
Paper Review: System R: Relational Approach to Database Management
Paper Review: Architecture of a Database System
api 17
View all
The Cathedral, The Bazaar, and the API Marketplace
Marrying RESTful HTTP with Asynchronous and Event-Driven Services
Overambitious API gateways
Uploading Large Payloads through API Gateway
Comparing Swagger with Thrift or gRPC
Checking for null in an API Gateway transform
Configuring REST-assured for Amazon API Gateway
Understanding API Gateway Payload Mappings
Securing a Swagger API with OAuth2
How to deploy a Swagger specification to Amazon API Gateway using CloudFormation
Designing a Swagger API
Creating RESTful APIs with App Engine Cloud Endpoints
Understanding JSON Patch
How to Version a REST API
When to Use HTTP PUT and HTTP POST
How REST Constraints Affect API Design
On choosing a hypermedia type for your API - HAL, JSON-LD, Collection+JSON, SIREN, Oh My!
rest 15
View all
The Cathedral, The Bazaar, and the API Marketplace
Marrying RESTful HTTP with Asynchronous and Event-Driven Services
Comparing Swagger with Thrift or gRPC
Checking for null in an API Gateway transform
Configuring REST-assured for Amazon API Gateway
Understanding API Gateway Payload Mappings
Securing a Swagger API with OAuth2
How to deploy a Swagger specification to Amazon API Gateway using CloudFormation
Designing a Swagger API
Creating RESTful APIs with App Engine Cloud Endpoints
Understanding JSON Patch
How to Version a REST API
When to Use HTTP PUT and HTTP POST
How REST Constraints Affect API Design
On choosing a hypermedia type for your API - HAL, JSON-LD, Collection+JSON, SIREN, Oh My!
functional-programming 14
View all
Alpha Conversion
Beta Reduction
Eta Reduction
Normal, Applicative and Lazy Evaluation
Representing Pairs and Lists in Lambda Calculus
Typed Lambda Calculus
Recursive Lambda Functions the Y-Combinator
Simplifying Lambda Syntax
Introducing Lambda Calculus
Range, Domain, and Codomain
A Functional Programming Learning Plan
Practical Differences Between Functional and Imperative Programming
Why Functional Programming? The Benefits of Referential Transparency
What is Functional Programming?
networking 13
View all
Unpacking the eight fallacies of distributed computing
There and Back Again: The Unexpected Journey of a Request
How Does DNS Work?
How Does WebRTC Work?
How Does LTE Work?
How Does WiFi Work?
How Does Ethernet Work?
Wireless Networks and Shannon’s Law
How Does UDP Work?
How Does TCP Work?
How Do Websockets Work?
How Does HTTP/2 Work?
A Guide to the Kubernetes Networking Model
java 12
View all
Understanding Spring's Environment Abstraction
Building a Modern Java Web App with Spring Boot
Inversion of Control, Dependency Injection, and the Spring IoC Container
What is OSGi? Microservices for the JVM
Testing a Producer-Consumer Design using a CyclicBarrier
Server-to-server OAuth with the Google OAuth Client Library for Java
Generating Java with JCodeModel
Why Java? Tales from a Python Convert
Including a local package as a Maven dependency
Writing Repeated BigQuery records using the Java Client Library
From JSON to a Google API Client Library object
Creating a BigQuery Table using the Java Client Library
python 11
View all
Why I’m not (too) worried about Python 2
Introducing CloudPyPI
Halting Python unittest Execution on First Error
Managing App Engine Dependencies Using pip
App Engine MapReduce API - Part 7: Writing a Custom Output Writer
App Engine MapReduce API - Part 6: Writing a Custom Input Reader
App Engine MapReduce API - Part 5: Using Combiners to Reduce Data Throughput
App Engine MapReduce API - Part 4: Combining Sequential MapReduce Jobs
App Engine MapReduce API - Part 3: Programmatic MapReduce using Pipelines
App Engine MapReduce API - Part 2: Running a MapReduce Job Using mapreduce.yaml
App Engine MapReduce API - Part 1: The Basics
javascript 9
View all
Saving canvas data to an image file with JavaScript and PHP
Date.now() in IE6
The JavaScript click event and hidden input elements
Dissecting jQuery's Fade Animation
An Argument Against JavaScript Minification
How to Display HTML5 Notifications
Constants in JavaScript
Understanding Closures in JavaScript
The future of mobile development
mapreduce 9
View all
Paper Review: MapReduce: Simplified Data Processing on Large Clusters
App Engine MapReduce API - Part 7: Writing a Custom Output Writer
App Engine MapReduce API - Part 6: Writing a Custom Input Reader
Bypassing ndb hooks with the RawDatastoreInputReader
App Engine MapReduce API - Part 5: Using Combiners to Reduce Data Throughput
App Engine MapReduce API - Part 4: Combining Sequential MapReduce Jobs
App Engine MapReduce API - Part 3: Programmatic MapReduce using Pipelines
App Engine MapReduce API - Part 2: Running a MapReduce Job Using mapreduce.yaml
App Engine MapReduce API - Part 1: The Basics
messaging 8
View all
Marrying RESTful HTTP with Asynchronous and Event-Driven Services
Dissecting SQS FIFO Queues — Does Ordered and Exactly Once Messaging Really Exist?
Evolving Messaging For Microservices: A Retrospective from Building Workiva’s Messaging Platform
Publish-Subscribe Messaging Using Amazon SQS
0 to Message in 60 Seconds: Getting Started with Amazon SQS
Integrating Applications: From RPC to Messaging
Integrating Applications
The Problem with Point to Point Communication
appengine 6
View all
App Engine Pipelines API - Part 6: The Pipeline UI
App Engine Pipelines API - Part 5: Asynchronous Pipelines
App Engine Pipelines API - Part 4: Pipeline Internals
App Engine Pipelines API - Part 3: Fan In, Fan Out, Sequencing
App Engine Pipelines API - Part 2: Connecting Pipelines
App Engine Pipelines API - Part 1: The Basics
aws 6
View all
Dissecting SQS FIFO Queues — Does Ordered and Exactly Once Messaging Really Exist?
Learning a Language with Amazon Polly and a Serverless Chalice App
How to create a functional VPC using CloudFormation
SQS or Kinesis? Comparing Apples to Oranges
Yet Another S3 Static Site
Getting Started with Amazon Flow Framework
pipelines 6
View all
App Engine Pipelines API - Part 6: The Pipeline UI
App Engine Pipelines API - Part 5: Asynchronous Pipelines
App Engine Pipelines API - Part 4: Pipeline Internals
App Engine Pipelines API - Part 3: Fan In, Fan Out, Sequencing
App Engine Pipelines API - Part 2: Connecting Pipelines
App Engine Pipelines API - Part 1: The Basics