Welcome to 'Life is but a dream' - a blog where I share my journey as a developer. It's a mix of coding insights, personal experiences, and the little epiphanies that come with a life in tech. Whether you're deep in the world of development or just curious about it, join me in unraveling the simplicity and complexity of coding and how it shapes our digital world.
Blog Posts
Managing Costs When Using AI APIs
openai
cost
api
Feb 20, 2023 09:45
First Look: Apple Freeform App
freeform
whiteboard
Dec 18, 2022 16:00
ThoughtWorks Tech Radar Q4 2022 Picks
tech radar
thoughtworks
Dec 10, 2022 15:00
React Server Components: A Mental Model
react
rsc
Dec 2, 2022 12:00
Moving from CircleCI to GitHub Actions
github actions
ci/cd
Nov 20, 2022 13:30
Firebase v9 Modular API: Love-Hate Relationship
firebase
javascript
Nov 12, 2022 10:15
Preventing Component Drift in Storybook
storybook
design systems
Nov 5, 2022 11:00
iOS 16: Favorite Small Features
ios16
apple
Oct 25, 2022 08:45
Migrating Docs to Docusaurus v2
docusaurus
docs
Oct 18, 2022 14:00
Tailwind vs CSS Modules in 2022
tailwind
css modules
Oct 10, 2022 10:30
iPad Pro M2: Almost a Laptop Replacement
ipad
m2
Oct 3, 2022 09:00
ThoughtWorks Tech Radar Q3 2022: Notes
tech radar
thoughtworks
Sep 25, 2022 10:30
Speeding up GitHub Actions with Smart Caching
github actions
ci/cd
Sep 15, 2022 13:45
Astro vs Eleventy for Static Sites
astro
eleventy
static site generators
Sep 5, 2022 10:00
Remote Teams and Daily Routines
remote
productivity
Aug 22, 2022 09:30
Figma Gets a Dark Mode (Finally)
figma
dark mode
Aug 15, 2022 14:00
The Growing World of esbuild Plugins
esbuild
plugins
Aug 5, 2022 12:00
Twitter API v2: Finally Usable?
twitter
api
Jul 25, 2022 13:00
Building CLI Tools with Rust
rust
cli
Jul 18, 2022 11:00
SolidJS and the Reactive Renaissance
solidjs
reactivity
Jul 10, 2022 10:00
MacBook Air M2: Light, Powerful, Polished
macbook
m2
Jul 5, 2022 09:00
Apple WWDC 2022 Highlights
wwdc
macbook air
m2 chip
Jun 20, 2022 10:00
ThoughtWorks Tech Radar Q2 2022: My Picks
tech radar
thoughtworks
Jun 15, 2022 13:30
React 18 Transition: Worth the Upgrade?
react 18
suspense
concurrent rendering
Jun 10, 2022 12:00
Figma Auto Layout: Mastering Constraints
figma
auto layout
Jun 1, 2022 16:00
esbuild vs SWC: Which One Should You Use?
esbuild
swc
javascript
May 25, 2022 13:00
Kubernetes Security: A Checklist for Small Teams
kubernetes
security
May 15, 2022 11:00
First Look at Bun — A Fast All-in-One JavaScript Runtime
bun
javascript
May 5, 2022 09:00
Playing with SvelteKit
svelte
sveltekit
Apr 20, 2022 14:00
Apple Studio Display: Worth It?
studio display
mac
Apr 10, 2022 10:15
Next.js 12: A Year Later
nextjs
webpack
middleware
Apr 2, 2022 11:30
ThoughtWorks Tech Radar Q1 2022: What Resonated
tech radar
thoughtworks
Mar 15, 2022 12:00
Testing in Production: Scary but Powerful
testing
observability
Mar 1, 2022 09:00
Rust + WebAssembly: Worth the Hype?
rust
wasm
Feb 20, 2022 17:00
Remix Framework: Back to Web Fundamentals
remix
react
Feb 12, 2022 14:00
Universal Control: The Magic Apple Promised
macos
universal control
Jan 30, 2022 10:00
Developer Productivity: What Changed in 2021?
developer experience
productivity
Dec 11, 2021 13:30
pnpm vs npm vs Yarn: Node Package Managers Revisited
pnpm
npm
yarn
Nov 5, 2021 09:00
GraphQL in 2021: Growing Pains and Opportunities
graphql
api
Oct 30, 2021 15:00
Apple M1 Pro and Max: Desktop-Class on the Go
m1 pro
m1 max
macbook pro
Oct 20, 2021 12:00
iOS 15 Hidden Gems
ios15
iphone
Oct 1, 2021 11:00
ThoughtWorks Tech Radar Q3 2021: What Stood Out
tech radar
thoughtworks
Sep 10, 2021 10:00
Optimizing Node.js Startup Time
nodejs
performance
Sep 2, 2021 11:00
New GitHub Issues Beta: Kanban Reimagined?
github
project management
Aug 15, 2021 14:30
Revisiting Event-Driven Architectures
event-driven
kafka
Aug 1, 2021 09:00
Tailwind CSS vs CSS-in-JS: A Perspective
tailwindcss
css-in-js
Jul 25, 2021 15:00
Windows 11: First Impressions from a Mac User
windows 11
ux
Jul 10, 2021 12:30
Infra Config as Code: Lessons from the Field
infrastructure
iac
Jun 22, 2021 16:00
Figma vs Sketch: Why Product Teams Are Switching
figma
sketch
collaboration
Jun 5, 2021 14:00
TypeScript 4.3: A Few Underrated Features
typescript
developer tools
May 28, 2021 10:00
Android 12 Beta: Material You Feels Fresh
android 12
material you
May 19, 2021 11:00
Apple Spring Loaded 2021: What Caught My Eye
ipad
m1
Apr 22, 2021 18:00
Progressive Delivery: Real-World Observations
progressive delivery
feature flags
Apr 15, 2021 09:00
Remote Onboarding: Lessons and Gaps
remote work
onboarding
Mar 29, 2021 09:30
GitHub Copilot: My First Impressions
github
copilot
coding assistants
Mar 18, 2021 16:00
TypeScript 4.2 Highlights
typescript
developer tools
Feb 25, 2021 14:45
Next.js Image Optimization in the Real World
nextjs
image
performance
Feb 8, 2021 10:00
Micro-Frontends: Are They Working for Us?
micro-frontends
architecture
Jan 22, 2021 13:30
Apple M1 Mac: 3 Months In
m1
macbook
arm
Jan 10, 2021 11:00
React Server Components: A First Look
react
server components
Dec 22, 2020 09:00
Remote Work Tooling: What’s Sticking
remote work
tooling
Dec 1, 2020 15:00
esbuild vs Webpack: Battle of the Bundlers
webpack
esbuild
Nov 10, 2020 13:30
iPhone 12 Mini: Compact Powerhouse
iphone
ios
Oct 24, 2020 12:00
Lessons from a Kubernetes Cluster Upgrade
k8s
cluster upgrade
Oct 12, 2020 11:00
The Four Golden Signals of Observability
observability
sre
Sep 23, 2020 10:00
iPhone 12 Rumor Roundup: What We're Expecting
iphone
leaks
Sep 10, 2020 13:00
Terraform Best Practices for Team Environments
terraform
iac
Aug 22, 2020 15:00
Next.js vs Gatsby: Picking the Right React Framework
nextjs
gatsby
react
Aug 10, 2020 10:00
Understanding Liveness vs Readiness in Kubernetes
k8s
probes
liveness
readiness
Jul 28, 2020 14:30
Feature Toggle Techniques for Safer Deployments
feature toggles
deployment
Jul 15, 2020 11:45
Apple Silicon: WWDC Announcements and What It Means for Developers
apple
mac
arm
Jul 1, 2020 10:00
gRPC vs REST: Lessons from a Real Migration
grpc
rest
Jun 25, 2020 10:00
Monorepo Experiments with Lerna and Yarn Workspaces
monorepo
lerna
yarn
Jun 10, 2020 12:00
iPhone SE 2020: First Impressions
iphone
apple
ios
May 22, 2020 16:00
ThoughtWorks Radar Q2 2020: Highlights and Takeaways
thoughtworks
tech radar
May 15, 2020 09:15
Google Cloud Run: A Developer’s Review
gcp
cloud run
serverless
May 3, 2020 11:00
Why We’re Moving Node Backends to TypeScript
typescript
node.js
Apr 20, 2020 14:00
Scaling Feature Flags Across Microservices
feature flags
unleash
microservices
Apr 7, 2020 10:30
Graph Analytics Tools Roundup: From Neo4j to TigerGraph
graph db
neo4j
tigergraph
Mar 17, 2020 15:00
Remote Work: Transition Lessons from Engineering Teams
remote
team
Mar 10, 2020 09:00
Cloudflare Pages: A Surprisingly Fast Static Site Host
cloudflare
jamstack
Feb 18, 2020 10:00
Java 14: What's New and What to Actually Use
java14
switch expressions
records
Feb 4, 2020 08:45
Caching Strategies in Microservices
cache
microservices
redis
Jan 15, 2020 11:30
Event Modeling vs Event Storming: When to Use What
event modeling
event storming
ddd
Jan 7, 2020 09:00
ThoughtWorks Radar Q4 2019: Insights and My Notes
radar
tech trends
Dec 5, 2019 10:30
Effective Code Reviews: Small Habits That Scale
code review
culture
Nov 28, 2019 09:00
iPhone 11 Pro: Camera Thoughts from a Fan
iphone
camera
Nov 20, 2019 19:30
Mobile CI Best Practices We Adopted
mobile
ci
android
ios
Nov 12, 2019 13:00
Using TypeScript in Backend Systems
typescript
node
type safety
Nov 5, 2019 10:00
GraphQL Federation: Lessons from Our Adoption
graphql
federation
Oct 29, 2019 12:00
Cloud Cost Optimization Tactics That Worked
aws
cost optimization
Oct 18, 2019 14:00
Productive vs Busy: Culture Shift That Stuck
team
productivity
Oct 10, 2019 08:30
Domain-Driven Design and Team Boundaries
ddd
team topologies
bounded context
Oct 4, 2019 09:00
ThoughtWorks Radar Q3 2019: Highlights I Noted
radar
thoughtworks
Sep 27, 2019 10:00
Apple Card First Impressions
apple
fintech
Sep 15, 2019 18:45
The Evolution of Our CI Pipelines
ci
cd
Sep 7, 2019 08:30
Static Site Generators: Why I Chose Next.js
next.js
ssg
Aug 28, 2019 16:00
Jaeger vs Zipkin: What We Chose for Tracing
jaeger
zipkin
tracing
Aug 15, 2019 13:00
Building Developer CLI Tools with Node.js
cli
node.js
developer productivity
Aug 5, 2019 11:00
WebAssembly in the Backend? Early Experiments
webassembly
wasm
Jul 22, 2019 14:15
Managing Feature Toggles at Scale
feature flags
toggles
Jul 11, 2019 09:30
Event-Driven Architecture: Common Patterns and Pitfalls
event-driven
kafka
microservices
Jul 4, 2019 10:00
Type-Safe GraphQL Schemas using SDL-first Approach
graphql
schema
Jun 26, 2019 09:45
ThoughtWorks Radar Q2 2019: What Resonated
radar
thoughtworks
Jun 15, 2019 10:30
Micro-Frontend Lessons Learned from Real Projects
microfrontend
web
Jun 2, 2019 15:30
Docker Slimming Strategies That Worked
docker
containers
May 28, 2019 13:00
Observability with OpenMetrics and Prometheus
prometheus
metrics
May 19, 2019 14:00
Switching to TailwindCSS for Rapid UI Prototyping
tailwind
css
design systems
May 7, 2019 11:00
Introducing Java Records (Preview)
java 14
records
Apr 24, 2019 08:00
Introducing k6 for Load Testing APIs
load testing
k6
performance
Apr 13, 2019 10:30
Kubernetes Networking Basics Explained
networking
k8s
Apr 4, 2019 09:00
What iPhone XS Taught Me About Habit Formation
habit
screen time
Mar 30, 2019 20:30
ThoughtWorks Radar Q1 2019: Takeaways I Noted
thoughtworks
radar
Mar 22, 2019 08:30
Observability vs Monitoring: A Practitioner’s View
metrics
logs
tracing
Mar 12, 2019 11:00
SRE Onboarding Checklist: What Helped New Engineers
sre
onboarding
checklist
Mar 4, 2019 14:45
Why I Prefer Fish Shell Over Zsh
fish
terminal
developer productivity
Feb 27, 2019 18:00
Adopting Java 11 in Production
java 11
migrating
spring boot
Feb 15, 2019 10:15
GraphQL Client Patterns: REST to GraphQL Transition
graphql
frontend
apollo
Feb 2, 2019 13:00
Moving from Elasticsearch 5 to 6: Migration Notes
elasticsearch
upgrade
migrations
Jan 16, 2019 11:30
Clean Architecture in Spring Boot: Lessons from Refactoring
spring boot
clean architecture
refactoring
Jan 5, 2019 09:00
2018 Retrospective: What I Built, Broke, and Learned
retrospective
career
Dec 31, 2018 22:00
ThoughtWorks Radar Q4 2018: Highlights That Mattered
radar
thoughtworks
Dec 14, 2018 10:00
Tech That Surprised Me in 2018
trends
year-end
Dec 6, 2018 13:30
Replacing Jenkins with GitLab CI
gitlab
ci
pipeline
Nov 15, 2018 14:15
Using Skaffold for Kubernetes Development
skaffold
dev workflow
Nov 1, 2018 16:00
JSON Logging Best Practices
json
log
elk
Oct 29, 2018 11:00
Serverless First Impressions with AWS Lambda
serverless
lambda
aws
Oct 22, 2018 09:00
Kotlin in Backend Services: A Year in
kotlin
java
backend
Oct 12, 2018 12:30
Event-Driven Architecture: Practical Insights
event-driven
kafka
architecture
Oct 2, 2018 10:00
iPhone XS Hands-On: Hardware Polished, Software Smarter
iphone
xs
Oct 1, 2018 08:30
ThoughtWorks Radar Q3 2018: My Top Picks
thoughtworks
radar
Sep 20, 2018 12:00
Watching the iPhone XS Launch
iphone
xs
event
Sep 12, 2018 22:00
Collecting Istio Metrics with Prometheus
istio
prometheus
metrics
Sep 2, 2018 08:45
Building REST Clients with Retrofit 2
retrofit
rest
client
Aug 26, 2018 14:30
Contract Testing with Pact
contract testing
pact
Aug 18, 2018 17:00
GraphQL Federation Basics
federation
schema
Aug 6, 2018 09:00
Profiling with Java Flight Recorder
profiling
performance
jvm
Jul 26, 2018 11:15
WebAssembly: The Browser Runtime Revolution
webassembly
wasm
Jul 14, 2018 13:30
Command-Line Productivity Tools I Use Daily
cli
productivity
Jul 8, 2018 19:00
Using Resilience4j for Circuit Breaker Pattern in Java
resilience4j
java
circuit breaker
Jul 3, 2018 10:00
ThoughtWorks Radar Q2 2018: Trends That Resonated
thoughtworks
radar
Jun 22, 2018 10:00
Evaluating Istio for Microservices Observability
istio
observability
Jun 10, 2018 11:45
Benchmarking JSON vs Protobuf vs Avro for Internal APIs
protobuf
avro
serialization
May 1, 2018 14:00
Dark Launch Strategies in Production
dark launch
feature flags
Apr 12, 2018 15:00
Debugging DNS Issues in Kubernetes
dns
troubleshooting
k8s
Apr 4, 2018 09:30
Feature Flags in Distributed Systems
feature flags
microservices
Mar 28, 2018 18:00
Reviewing React 16.3 Features
react
context api
Mar 24, 2018 13:30
Optimizing JSON Parsing in Java
json
jackson
performance
Mar 18, 2018 09:45
ThoughtWorks Radar Q1 2018: Highlights That Clicked
thoughtworks
radar
Mar 12, 2018 10:00
From Monolith to Kubernetes Workloads
kubernetes
migration
Mar 1, 2018 12:00
Thoughts on GraphQL Schema Versioning
graphql
api
Feb 17, 2018 11:00
Working with java.time.Temporal API
date time
temporal
Feb 5, 2018 14:30
Using Protocol Buffers in Microservices
protobuf
serialization
interservice communication
Feb 5, 2018 10:00
Safari Testing Challenges in Frontend Projects
safari
testing
Jan 29, 2018 16:45
Refinements in Spring Boot 2.0
spring boot
java
Jan 19, 2018 16:00
Using Protocol Buffers in Microservices
protobuf
serialization
Jan 8, 2018 10:00
Modernizing Legacy Systems with the Strangler Pattern
legacy
strangler pattern
modernization
Dec 20, 2017 14:30
ThoughtWorks Radar Q4 2017: Takeaways
thoughtworks radar
Dec 12, 2017 15:00
AWS re:Invent 2017: Reflections from a Remote Desk
aws
reinvent
Dec 4, 2017 12:30
Introducing Auto-Scaling Event Drivers for Background Processing
scaling
event-driven
Nov 27, 2017 14:00
Rediscovering vi and tmux: Terminal Efficiency for Developers
vim
tmux
cli
Nov 18, 2017 11:00
Embracing Contract Testing with Pact
contract testing
pact
Nov 10, 2017 15:45
Debugging Network Flakiness in Kubernetes Clusters
networking
flaky tests
debugging
Nov 3, 2017 13:00
Apple iPhone X: Notes for Developers
iphone x
ios
Oct 24, 2017 16:00
Building an Observability Pipeline with the Elastic Stack
observability
elk
logging
Oct 2, 2017 09:00
An Introduction to OpenFaaS: Serverless on Kubernetes
openfaas
kubernetes
Sep 18, 2017 11:00
ThoughtWorks Radar Q3 2017: Notes and Observations
thoughtworks radar
Sep 5, 2017 15:00
Decoupling Teams with Asynchronous APIs
event-driven
microservices
Aug 25, 2017 10:30
State of Terraform in Mid-2017
terraform
infrastructure
Aug 18, 2017 16:00
Getting Started with TypeScript 2.x
typescript
javascript
Aug 9, 2017 12:00
Detecting Slow Dependencies with Timeouts and Circuit Breakers
timeouts
circuit breaker
Aug 3, 2017 13:45
Google I/O 2017 Recap: Kotlin, ML, and Beyond
google io
kotlin
ml
Jul 28, 2017 17:00
Tuning Java Applications with G1GC: Field Notes
gc
g1gc
performance
Jul 21, 2017 09:00
Building Microservices with Node.js and GraphQL
graphql
nodejs
microservices
Jul 11, 2017 14:30
Reactive Systems vs Reactive Programming: Clarifying the Confusion
reactive
systems
rxjava
Jul 3, 2017 10:15
macOS High Sierra Preview: Dev-Centric Observations
macos
high sierra
Jun 20, 2017 12:45
Async Polling Design Pattern in Microservices
polling
async
Jun 5, 2017 10:30
ThoughtWorks Radar Q2 2017: Reflections
thoughtworks radar
May 25, 2017 15:15
Safari and WebDriver: A Testing Frustration Story
webdriver
safari
May 19, 2017 17:00
Docker Multi-Stage Builds: Smaller, Cleaner Images
docker
containers
May 10, 2017 09:00
First Look: Graph Databases for Relationship-Rich Domains
neo4j
graph db
May 3, 2017 13:30
Cloudflare and the Art of DDoS Mitigation
cloudflare
ddos
Apr 27, 2017 16:30
Spring Boot Actuator in Practice
actuator
metrics
Apr 18, 2017 11:00
Edge vs Origin: Routing Patterns in Scalable Web Systems
cdn
edge
routing
Apr 11, 2017 14:00
Using Hystrix for Failure Isolation in Microservices
hystrix
circuit breaker
microservices
Apr 4, 2017 10:00
Achieving Better Traceability with Log Correlation IDs
traceability
log correlation
Mar 26, 2017 12:30
Running Integration Tests in Docker: Lessons Learned
docker
integration tests
Mar 15, 2017 10:00
Tracking Application Performance with Grafana
grafana
performance
Mar 8, 2017 09:15
Exploring gRPC vs REST in Microservice Architectures
grpc
rest
Feb 24, 2017 13:30
Configuring Readiness and Liveness Probes in Kubernetes
kubernetes
liveness probe
readiness probe
Feb 16, 2017 11:00
What Made Me Seriously Consider React for UIs
react
javascript
Feb 2, 2017 14:00
Using JUnit 5’s New Parameterized Test Features
junit5
java
Jan 26, 2017 10:45
ThoughtWorks Radar Q1 2017: Trends Worth Noting
thoughtworks radar
Jan 19, 2017 16:00
AirPods and Developer Life: Surprisingly Seamless
airpods
developer experience
Jan 11, 2017 12:30
Kafka Streams: First Impressions from the Trenches
kafka
stream processing
Jan 4, 2017 09:00
Debugging Thread Leaks in Java Applications
java
thread leak
Dec 22, 2016 11:15
Testing Infrastructure Code with Terraform
terraform
infrastructure as code
Dec 12, 2016 09:50
Tracking State in Event-Sourced Systems
event sourcing
cqrs
Dec 4, 2016 13:30
ThoughtWorks Radar Q4 2016: Key Insights
thoughtworks radar
Nov 28, 2016 10:45
Designing Background Jobs for Safety and Efficiency
background jobs
task queues
Nov 10, 2016 12:00
Observability vs Monitoring: Why It Matters
observability
logs
metrics
Nov 1, 2016 10:15
Apple Touch Bar Arrives: First Thoughts
macbook
touch bar
Oct 27, 2016 17:15
Managing Database Deployments Safely
schema migration
flyway
liquibase
Oct 18, 2016 11:00
Swift 3 Is Here: API Evolution Done Right
swift
apple
Oct 10, 2016 14:30
Safely Rolling Out Features with Feature Flags
feature flags
deployment
Oct 5, 2016 09:00
From Docker Compose to Kubernetes: First Migration
docker
kubernetes
Sep 25, 2016 15:30
Debugging Memory Leaks in Java NIO Systems
nio
memory leak
Sep 10, 2016 11:45
ThoughtWorks Radar Q3 2016: Highlights
thoughtworks radar
Sep 2, 2016 17:00
Mitigating Thundering Herd Problems
caching
thundering herd
Aug 22, 2016 10:15
My Favorites from Google I/O 2016
google io
android
Aug 15, 2016 12:30
GraphQL vs REST: Real-World Reflections
graphql
rest
Aug 8, 2016 13:40
Tracking User Events in Microservices
event tracking
microservices
Jul 28, 2016 09:30
Apple Introduces APFS: My First Impressions
apple
apfs
filesystem
Jul 18, 2016 15:45
Integrating Prometheus with Java Applications
prometheus
metrics
java
Jul 12, 2016 11:20
Eventual Consistency Patterns in Microservices
eventual consistency
microservices
Jul 4, 2016 10:00
Simplifying Gradle Build Scripts
gradle
build automation
Jun 27, 2016 12:10
Debugging HTTP/2 Latency Issues
http2
latency
Jun 20, 2016 09:50
Apple WWDC 2016: First Look
apple
wwdc
Jun 13, 2016 18:00
ThoughtWorks Radar Q2 2016: My Picks
thoughtworks radar
Jun 5, 2016 14:30
Controlling Fanout in Event-Driven Architectures
event driven
fanout
May 30, 2016 16:15
Templatizing GraphQL Schemas for Reuse
graphql
schema design
May 18, 2016 10:45
Learning RxJava: First Impressions
rxjava
reactive
May 2, 2016 13:20
Stress Testing REST APIs with Apache JMeter
jmeter
api testing
Apr 25, 2016 11:00
Evolution of Circuit Breakers: Beyond Hystrix
circuit breaker
hystrix
resilience
Apr 14, 2016 12:30
Design Patterns for Idempotency in Distributed Systems
idempotency
design patterns
Apr 5, 2016 09:45
Exploring tmux as a Developer Tool
tmux
developer productivity
Mar 28, 2016 14:00
First Steps with GraphQL
graphql
api design
Mar 20, 2016 10:20
Using Hystrix Metrics Stream with Dashboard
hystrix
metrics
Mar 12, 2016 11:00
My Evolving Code Review Checklist
code review
checklist
Mar 3, 2016 08:45
Rate Limiting User Operations to Prevent Abuse
rate limiting
abuse prevention
Feb 22, 2016 09:30
Exploring Spring Cloud Config for Centralized Configuration
spring cloud
config server
Feb 12, 2016 10:00
Troubleshooting Java Memory Leaks in Production
java
memory leak
Feb 4, 2016 11:15
Notes from ThoughtWorks Tech Radar – Q1 Highlights
thoughtworks radar
tech radar
Jan 22, 2016 15:40
Spring Boot: Writing Custom Health Indicators
spring boot
health checks
Jan 14, 2016 13:00
Parallelizing User Migrations Safely at Scale
parallelism
migrations
scalability
Jan 6, 2016 10:30
Debugging Intermittent JVM Crashes with Heap Dumps
heapdump
java
Dec 19, 2015 14:30
VM Lifecycle Automation with SaltStack
saltstack
automation
Dec 9, 2015 12:00
Using AsciiDoctor to Keep Docs Closer to Code
asciidoctor
dev docs
Dec 1, 2015 09:50
Pattern: Circuit Breaker in Microservices
circuit breaker
microservices
Nov 21, 2015 13:30
Reading Notes on Eloquent Ruby
ruby
eloquent ruby
Nov 11, 2015 15:10
Improving Observability in Multi-Region Deployments
monitoring
multi-region
grafana
Nov 3, 2015 10:45
Insights from ThoughtWorks Radar Q4
thoughtworks radar
tech radar
Oct 25, 2015 11:20
Common Pitfalls with Java 8 Stream API
java8
streams
Oct 19, 2015 09:00
Handling Backpressure with Kafka and Throttling Techniques
kafka
backpressure
rate limiting
Oct 12, 2015 12:30
Scaling the User Distribution Pipeline: A Design Retrospective
pipeline
user distribution
scalability
Oct 3, 2015 10:15
ZooKeeper vs etcd: Choosing the Right Coordination Service
zookeeper
etcd
coordination
Aug 5, 2015 09:00
Notes on ThoughtWorks Radar Q3 2015
thoughtworks radar
tech trends
Jul 27, 2015 11:45
Spring Boot Actuator: 3 Tricks to Improve Ops Visibility
spring boot
observability
Jul 21, 2015 16:15
Understanding Idempotency in Service Migrations
idempotency
microservices
Jul 14, 2015 14:30
Migrating User Data with Zero Downtime: Lessons from the Field
migration
zero downtime
user data
Jul 5, 2015 10:00
Debugging JVM Memory Leaks with Eclipse MAT
memory
jvm
eclipse mat
Jun 24, 2015 11:00
Refactoring Fat Services into Composable Units
refactoring
microservices
Jun 14, 2015 12:40
Java 8 Lambdas: Why They Matter
java8
lambdas
Jun 3, 2015 17:20
My Dev Productivity Setup: VSCode, Terminal, and tmux
vscode
tmux
developer-tools
May 14, 2015 10:00
Radar Comment: Deployable Libraries as Contracts
thoughtworks radar
contracts
api
May 8, 2015 09:45
Understanding Reactive Streams in Java
rxjava
reactive
backpressure
Apr 30, 2015 18:40
Writing Developer Notes with AsciiDoc
asciidoc
developer-experience
Apr 22, 2015 11:15
Building Resilient Systems: Circuit Breakers with Hystrix
resilience
hystrix
fallback
Apr 15, 2015 13:00
Async vs Multithreaded: Clearing the Confusion in Java
asynchronous
threads
futures
Apr 5, 2015 10:20
Handling Dependency Hell in Maven Projects
maven
dependency management
java
Mar 18, 2015 10:30
Introducing Throttling to Downstream APIs
throttling
api gateway
load shedding
Feb 28, 2015 16:00
Radar Reaction: Feature Switches as Default Strategy
feature flags
release strategy
thoughtworks radar
Feb 12, 2015 09:15
Profiling Spring Boot Applications with VisualVM
spring boot
profiling
visualvm
Jan 30, 2015 14:45
API Versioning in RESTful Systems: Lessons from the Field
rest
versioning
design
eb1a
Jan 15, 2015 11:00
The Power of a Friday Feature Flag
feature toggles
deployment
devops
release management
Dec 19, 2014 09:00
Security Is a Culture, Not Just a Review
security
shift left
review process
code quality
Nov 21, 2014 18:10
Real-Time Analytics vs Real-Time Noise
analytics
stream processing
real-time
observability
Nov 7, 2014 15:50
Documenting APIs That Actually Help Developers
swagger
api-first
developer experience
documentation
Oct 27, 2014 13:30
Why Not All Microservices Should Be Services
microservices
modular monolith
scalability
team boundaries
Oct 6, 2014 10:00
Failing Fast Saved Us From Failing Big
failure handling
timeouts
circuit breakers
design patterns
Sep 18, 2014 20:45
Docker Images Are Not Build Artifacts
docker
image hygiene
security
observability
Aug 30, 2014 17:00
Immutable.js: Sanity for Frontend State
immutable.js
state management
tech radar
javascript
Aug 13, 2014 15:20
Versioned Schemas: The Contract You Can't Ignore
schema
protobuf
eventing
compatibility
Jul 22, 2014 12:45
Engineering Judgment: When Not to Scale
tradeoffs
scalability
design maturity
eb1a
Jul 8, 2014 10:30
React: It Just Clicked
react
javascript
component model
tech radar
Jun 4, 2014 13:00
Java 8 Streams vs RxJava: Two Ways to Think About Flow
reactive
java 8
rxjava
streams
May 19, 2014 17:35
Your Systems Need a Health Check Too
health checks
resilience
liveness
readiness
May 1, 2014 09:00
Logstash, Finally Done Right
logstash
ELK
devops
logging
Apr 18, 2014 16:10
The Danger of Shared Databases in Microservice Design
microservices
data boundaries
decoupling
ownership
Apr 7, 2014 11:40
Velocity is Not a Metric
agile
scrum
metrics
team culture
Mar 28, 2014 21:10
Track Everything? Only If You Can Query Everything Too
logging
metrics
event tracking
analytics
Mar 10, 2014 14:50
Java 8 is Coming. Here’s What Actually Excites Me
java 8
lambdas
streams
language design
Feb 20, 2014 10:40
How System Boundaries Shape Your Organization
microservices
team structure
conway's law
domain modeling
Feb 2, 2014 15:30
Building Idempotent Services: What Took Me So Long?
idempotency
distributed systems
api design
retries
Jan 17, 2014 12:00
Scaling Decisions I Got Right (and Wrong) in 2013
scalability
architecture
postmortem
learning
Dec 28, 2013 20:00
Why Redis Isn’t a Silver Bullet for Everything
redis
caching
design tradeoffs
scalability
Dec 17, 2013 14:25
The Quiet Rise of Web Components
web components
thoughtworks radar
modularity
browser APIs
Dec 10, 2013 11:00
My Favorite Developer Tools of 2013
productivity
developer tools
mac
apple
Dec 6, 2013 09:30
Designing Systems That Fail Forward
resilience
failure handling
distributed systems
architecture
Nov 28, 2013 22:10
When Versioning Becomes Political
api
governance
versioning
design process
Nov 20, 2013 13:20
Twitter’s IPO, and What It Means for Engineers
twitter
IPO
engineering
culture
Nov 14, 2013 21:00
Lessons from Taming Clock Skew in Distributed Jobs
clock skew
distributed computing
scheduling
retries
Nov 10, 2013 18:47
Mavericks and the Myth of Free Software
Mavericks
OS X
developer tools
free software
Nov 1, 2013 10:12
How Build Times Reveal Organizational Health
build systems
tooling
dev productivity
CI
Oct 31, 2013 16:40
Designing APIs as Long-Term Contracts
API
versioning
interface design
software contracts
Oct 22, 2013 09:10
Handling High-Volume Asynchronous Workloads
async
distributed systems
worker queues
latency
Oct 15, 2013 14:22
Docker: The First Time It Made Sense
docker
containers
virtualization
CI/CD
Oct 4, 2013 11:30
Naming Things (and Other Hard Problems)
naming
design
clean code
maintainability
Sep 30, 2013 20:00
Why Queues Saved Our Backend
message queues
backpressure
async processing
scalability
Sep 21, 2013 15:27
Building Confidence in Trade-Safe Systems
fault tolerance
risk systems
audit trails
transactional integrity
Sep 15, 2013 10:42
Real-Time Metrics Are Not Enough
monitoring
metrics
logging
alerting
Sep 8, 2013 09:00
Learning to Let Go: Managing State in Distributed Systems
eventual consistency
distributed computing
data integrity
Aug 30, 2013 16:40
Why Service Boundaries Matter More Than You Think
domain-driven design
service boundaries
scalability
Aug 22, 2013 11:00
Simplifying Database Migrations in CI/CD Pipelines
database
migration
CI/CD
Flyway
Aug 14, 2013 18:35
Microservices: Beyond the Buzzword
microservices
scalability
system design
Aug 6, 2013 09:12
Why I Stopped Using XML for Configuration
configuration
YAML
XML
code readability
Jul 30, 2013 20:11
Decoupling Large-Scale Systems with Event-Driven Design
distributed systems
event-driven
messaging
Kafka
Jul 22, 2013 14:45
The Rise of Immutable Infrastructure
infrastructure
DevOps
automation
immutable servers
Jul 10, 2013 09:30
Eclipse Code Formatter - IntelliJ IDEA [Update]
Jun 30, 2012 13:32
Project Soap Bubbles Liquid
Oct 4, 2009 17:27
ASP.Net Custom TreeView and TreeNode .. InvalidCastException
Sep 14, 2009 16:32
Ubuntu - Extract Archive on Open or Double Click
archive
mac
os x
Ubuntu
Aug 11, 2009 10:20
Meld - Powerful Diff/Merge for Ubuntu
Jul 3, 2009 17:28
Yahoo! Pipes - Indian News Sites
News
pipes
rss
yahoo
May 15, 2009 18:48
Ubuntu - Install from USB
Ubuntu
usb
Mar 2, 2009 04:15
Learning .Net and C# on Mac OS X
.Net
Apple
C#
mac
mono
os x
Jan 10, 2009 20:23
Web Based Instant Messengers
Jul 10, 2006 15:49
Google Web Toolkit
May 18, 2006 09:21
AjaxAMP v3.0
Apr 8, 2006 13:09
Ajaxwrite
Mar 23, 2006 13:01
Calcoolate - The coolest calculator on the web
Mar 15, 2006 13:29
AJAX Toolkit Framework
Mar 2, 2006 21:42
Netjaxer
Feb 27, 2006 01:14
Behaviour - Better Smarter Javascript
Feb 23, 2006 21:45
Rico - JavaScript for Rich Internet Applications
Feb 23, 2006 21:40
Prototype - JavaScript Framework
Feb 23, 2006 21:34
3bubbles
Feb 23, 2006 21:24
Mabber - Mobile Meebo ;)
Feb 23, 2006 20:22
Google Pages - AJAX Web Page Creation Tool
Feb 23, 2006 18:37
DWR - Direct Web Remoting
Feb 20, 2006 13:37
Dojo - AJAX Edition
Feb 20, 2006 13:35
ReminderFeed
Jan 4, 2006 17:56
Banned Cover Art
Jan 4, 2006 17:51
Paul Graham on Web 2.0 and Ajax
Nov 24, 2005 01:26
Cross platform web site screenshots from Browsershots.org
Nov 15, 2005 07:44
Gates and Jobs Presentation Styles
Nov 15, 2005 02:34
Songbird
Nov 14, 2005 08:45
Zoozio
Nov 7, 2005 05:30
RememberTheMilk To Do Lists
Oct 28, 2005 07:10
AJAX: How to Handle Bookmarks and Back Buttons
Oct 28, 2005 05:40
A Reponse to Tim O’Reilly’s Web 2.0 Article
Oct 11, 2005 03:06
What is Web 2.0?
Oct 3, 2005 01:12
What a Compiler Turns Your C Code Into
Sep 27, 2005 02:34
Logmein - Remote PC Control
Sep 21, 2005 13:06
Meebo as an active desktop
Sep 20, 2005 02:17
Silicon Art Gallery
Sep 19, 2005 06:05
SearchFox - Web based RSS Reader
Sep 15, 2005 01:59
AJAX - Writely - The Web Word Processor
Sep 15, 2005 00:32
Ajax-based IM, Meebo
Sep 15, 2005 00:22
Published