Archives
All the articles I've archived.
-
Set the Precedent
Every “first” in a project silently sets the rules — so build it well, or your dirty shortcut will define how everyone works.
-
Teamwork Considered Harmful
A good problem is one a single person can own end to end — to understand it, solve it, and be proud of the result — while teamwork often slices that wholeness into meaningless fragments.
-
The Law of Addition
Every system grows by addition — but only some developers rebuild its meaning as they go, while the rest just keep stacking features until it collapses.
-
Let It Crash
Software should crash loudly instead of failing silently, because visible errors expose problems early and make programs more honest, predictable, and reliable.
-
Scrum and the Illusion of Team Quality
Scrum often mistakes harmony for productivity — when in reality, teams work best not through points or hierarchy, but through shared values and compatible levels of craft.
-
The Myth of Refactoring
Refactoring isn’t a separate phase of work — it’s the ongoing process of reshaping code so it stays clear, adaptable, and ready for the next change.
-
The Mythical Common Sense
When everyone has their own “common sense,” teamwork only works if you replace opinions with clear, shared rules that the system can enforce.
-
No Time to Wash Hands
When deadlines hit, developers start skipping not just tests but hygiene — proving that bad code isn’t caused by time pressure itself, but by using it as an excuse to abandon craft.
-
Good Developer, Wrong Place
A developer’s effectiveness depends less on talent than on the shape of their contribution — how naturally their way of thinking and working fits into the project’s structure.
-
My Take on SOLID
SOLID isn’t a set of rules for cleaner code — it’s a way to expose how clearly you understand what your code is actually doing.
-
A funny way to restrict access to website hosted on S3
Use the User-Agent HTTP header to restrict access to your S3-hosted website.
-
Using CloudFormation to route the webhooks
We use CloudFormation, API Gateway and Lambda to route webhook requests to our numerous environments.
-
Generate Java code documentation with QDox, EJS, Nashorn and Asciidoctor
In this post I want to show how QDox and Asciidoctor to build custom documentation.
-
Enforce software design with Checkstyle and QDox
Enforcing software design constraints using static code analysis with Checkstyle and QDox
-
Use Asciidoctor to create great publications
A brief Asciidoctor overview and explanation why it is a great tool.
-
How do Protractor and Angular synchronize?
A dive into Protractor/Angular asynchronous operation synchronization.
-
Lightweight E2E testing for Spring Boot / Angular applications
An overview of simplified E2E testing for Spring Boot / Angular applications.
-
Building CV with NodeJS, Grunt and Travis
A geeky approach to making a CV using NodeJS, Grunt and Travis.
-
Thinking in Inequalities
Good design starts by carving away what the problem cannot be, letting the real shape emerge long before the exact solution is known.
-
Not the Worst Way
Avoiding the worst approach early—by ruling out clearly bad options—is often the most reliable way to make progress when you’re unsure how to start.
-
Forcing arbitrary content deployment to the git branch
One of the popular options to deploy something nowadays is git-based deployment
-
Parameterized AngularJS directives
One of the few redeeming facets of JavaScript is that occasionally its dynamic nature comes in very handy. Imagine you're building a new app with Angular and you just want to get started with simple CRUD functionality. You want to your all "entity views" to look and feel the same internally.
Andrey Agibalov