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
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