https
https
rabbitmq
Coupling issues in distributed systems
Coupling in distributed systems goes far beyond shared code: technology, location, semantic, data format, conversation, topology, order, and temporal coupling each hurt resilience differently. What every type looks like and how to keep services independent.
ruby
Mastering Ruby's argument handling: positional, keyword, and the magic of three dots
Ruby argument handling explained: positional arguments with *args, keyword arguments with **kwargs, and the three-dot syntax from Ruby 2.7 that forwards everything at once. Code examples for each, plus guidance on when each style keeps methods readable.
Latest
The difference between Kafka and RabbitMQ: Choosing the right messaging system
Kafka and RabbitMQ solve messaging differently: Kafka is an append-only streaming log with fan-out consumers and offsets, RabbitMQ a classic broker with exchange routing and explicit acks. A side by side comparison to pick the right one for your system.
Dockerizing NextJS for development - Quickstart guide
Dockerize NextJS development with docker-compose watch: sync ./src into the container, rebuild on dependency changes, and keep hot reload working. A complete docker-compose.yml and Dockerfile you can copy for a reproducible dev environment in minutes.
What is IDesign way in architecture?
The IDesign method by Juval Lowy structures software architecture for change instead of functional decomposition. Why decomposing by requirements breaks systems over time, the core IDesign principles, a three-step design process, and implementation tips.
Emergency root access: Leveraging Portainer when SSH fails
Locked out of SSH? Portainer can get you root back: deploy a privileged busybox container that mounts the host filesystem at /host and gives you an interactive shell. The exact Docker Compose script, the security implications, and when this trick is justified.
Understanding the C4 model for software architecture
The C4 model documents software architecture as four zoom levels: Context, Containers, Components, and Code. See how the diagrams work on a concrete example (a paid blog application) and why this hierarchy keeps developers and stakeholders oriented.
Streamlining Rails controllers with custom filters
Rails controllers bloated with subscription checks? Extract that logic into custom filter classes: a before_action that delegates to a dedicated object, giving cleaner controllers, clearer error messages, easier testing, and a pattern you can expand.
What is Devcontainer? Short and easy guide on how to use it
DevContainers pack your whole development environment into a container: app, database, Redis, and tooling isolated from your machine. A short guide to Rails 7.2's built-in devcontainer generator, the files it creates, and opening the project in VS Code.
CSS units - which one should be used and when
CSS units decide how responsive and accessible your site is. A practical tour of px, em, rem, vh, vw and friends: what absolute, relative, and viewport based units really do, plus a short opinionated guide on which unit to pick for fonts, spacing, and layout.
Adding Basic HTTP Authentication to Rails Routes in Plain Ruby on Rails
Basic HTTP authentication in plain Ruby on Rails, no gems: protect an admin namespace with a route constraint class that checks credentials. Full code for routes.rb, the AdminConstraint, the admin controller, and the security caveats you should know.
Integrating .ruby-version into your Rails Gemfile
Stop declaring your Ruby version twice: with a recent Bundler your Gemfile can read .ruby-version directly using ruby file: ".ruby-version". The one-line setup, the required Bundler upgrade, and how it keeps rbenv, RVM, or asdf and Rails in sync.
How to work with metadata in NextJS?
Metadata in NextJS drives SEO and social sharing. How to define static metadata with the metadata export, build consistent titles with templates, inherit and override values across routes, and generate dynamic metadata from fetched data.
What is the difference between Layout and Template in NextJS
Layout and template in NextJS look interchangeable but behave differently: a layout preserves state across navigation while a template remounts and rebuilds it on every visit. Code examples of both, plus guidance on when each one is the right choice.
How to deep equal in Javascript?
Deep equality in JavaScript is trickier than it looks: JSON.stringify fails when key order differs. Compare the real options: the deep-equal package, writing your own recursive check, lodash isEqual, and Node's built-in assert.deepStrictEqual.
CSS in this year - Is that the end of SASS?
Modern CSS now covers most of what made SASS essential: native variables, nesting, the :is, :has and :where pseudo-classes, container queries as a mixin replacement, and cascade layers. A side by side comparison of both syntaxes to help you decide if you still need a preprocessor.
What is Turbo Frames in Rails?
Turbo Frames let Rails reload just a fragment of the page instead of the whole thing, with no custom JavaScript. What Turbo Frames are within Hotwire, a practical example of wrapping views in frames, and the responsiveness gains you get almost for free.
BiomeJS - A 35x faster alternative to Prettier for formatting and linting
BiomeJS formats and lints JavaScript, TypeScript, JSX, and JSON up to 35x faster than Prettier, with almost 97% compatibility. How to install it, migrate your Prettier config to biome.json, and cut minutes off CI without changing how your code looks.
Event bubbling in Javascript and React
Event bubbling in JavaScript and React: how a click travels from the target element up the DOM tree, what benefits that gives you, and why React does not really bubble events but simulates them with its synthetic event system.
How to run Thruster and Kamal in Rails app
Thruster with Kamal in Rails: what 37signals' no-config proxy adds (HTTP/2, Let's Encrypt HTTPS, asset caching, X-Sendfile with compression), why it is still useful behind Traefik or Cloudflare, and how to integrate it into your app.
What is THIS word in Javascript
What 'this' means in JavaScript: why its value depends on how a function is called, how setTimeout callbacks break your assumptions, and how bind, call, and apply put you back in control, shown with simple Dog and Cat examples.
Event Loop in Javascript with examples
The JavaScript event loop explained with examples: how the single-threaded call stack executes tasks, where Web APIs take over timeouts and API calls, and how the event loop decides what runs next in the non-blocking I/O model.