Articles
Topics
All Articles
Domain-Driven Design
Testing
Ruby on Rails
React JS
Async Remote
Articles by Robert Pankowecki
3 ways to make your ruby object thread-safe
Robert Pankowecki
September 18, 2018
ruby
Doing more on reads vs writes
Robert Pankowecki
July 13, 2018
rails
ruby
Correlation id and causation id in evented systems
Robert Pankowecki
May 14, 2018
domain-driven design
domain event
Using singleton objects as default arguments in Ruby
Robert Pankowecki
April 23, 2018
rails
ruby
Ruby Event Store - use without Rails
Robert Pankowecki
March 27, 2018
rails
ruby
domain-driven design
rails event store
Rails Event Store - better APIs coming
Robert Pankowecki
March 3, 2018
domain-driven design
rails event store
How to use Algolia without coupling to ActiveRecord::Base
Robert Pankowecki
February 28, 2018
rails
react
search
algolia
Your search index is a read model (and API 😉) in the Searching bounded context
Robert Pankowecki
February 23, 2018
rails
react
search
algolia
How Algolia built their frontend search widgets with React.js by following redux principles
Robert Pankowecki
February 21, 2018
rails
react
search
algolia
The anatomy of search pages
Robert Pankowecki
February 19, 2018
rails
react
search
algolia
Building custom search is hard and boring
Robert Pankowecki
February 14, 2018
rails
react
search
algolia
Testing React.js components with Jest in Rails+Webpacker+Webpack environment
Robert Pankowecki
February 11, 2018
rails
webpack
react
Using ruby parser and AST tree to find deprecated syntax
Robert Pankowecki
December 22, 2017
rails
ruby
rails upgrade
parser
ast
On ActiveRecord callbacks, setters and derived data
Robert Pankowecki
December 13, 2017
rails
ruby
active record
domain-driven design
Why Event Sourcing basically requires CQRS and Read Models
Robert Pankowecki
November 28, 2017
domain-driven design
read model
cqrs
event sourcing
Quarantine your non-deterministic tests with a time limit
Robert Pankowecki
November 22, 2017
testing
Safely migrating hasandbelongstomany associations to Rails 4
Robert Pankowecki
November 17, 2017
rails
active record
Interview with Scott Bellware (Eventide co-creator) about micro-services in Ruby, event sourcing, autonomous services, SOA, dumb pipes, EventStore and mis-representation of terms in IT
Robert Pankowecki
November 15, 2017
ruby
microservices
soa
eventide
interview
Application Services — 10 common doubts answered
Robert Pankowecki
October 23, 2017
domain-driven design
Relative Testing vs Absolute Testing
Robert Pankowecki
October 19, 2017
ruby
testing
Two ways for testing preloading/eager-loading of ActiveRecord associations in Rails
Robert Pankowecki
October 16, 2017
rails
active record
testing
Using state_machine with event sourced entities
Robert Pankowecki
October 15, 2017
domain-driven design
event sourcing
Could we drop Symbols from Ruby?
Robert Pankowecki
October 2, 2017
ruby
Which ruby version am I using — how to check?
Robert Pankowecki
September 29, 2017
ruby
How to overwrite tojson (asjson) in Active Record models in Rails
Robert Pankowecki
September 26, 2017
rails
active record
All the ways to generate routing paths in Rails
Robert Pankowecki
September 18, 2017
rails
routing
Custom application configuration variables in Rails 4 and 5
Robert Pankowecki
September 16, 2017
rails
How mutation testing causes deeper thinking about your code + constructor for an included module in Ruby
Robert Pankowecki
September 13, 2017
ruby
mutation testing
inheritance
How to find records where column is not null or empty in Rails 4 or 5
Robert Pankowecki
September 4, 2017
rails
active record
DATABASE_URL examples for Rails DB connection strings
Robert Pankowecki
August 31, 2017
rails
Interview with Sergii Makagon about hanami-events, domain-driven design, remote work, blogging and more
Robert Pankowecki
August 29, 2017
domain-driven design
interview
inject vs eachwithobject
Robert Pankowecki
August 29, 2017
ruby
enumerable
The === (case equality) operator in Ruby
Robert Pankowecki
August 23, 2017
ruby
How to connect to and use ActiveRecord outside of Rails?
Robert Pankowecki
August 19, 2017
rails
ruby
active record
What I learned from reading spreadsheet_architect code
Robert Pankowecki
August 18, 2017
rails
That one time I used recursion to solve a problem
Robert Pankowecki
August 11, 2017
ruby
My fruitless, previous attempts at not losing history of changes in Rails apps
Robert Pankowecki
August 7, 2017
rails
domain-driven design
My first 10 minutes with Eventide
Robert Pankowecki
August 3, 2017
domain-driven design
eventide
How to add a default value to an existing column in a Rails migration
Robert Pankowecki
August 3, 2017
rails
active record
migration
When DDD clicked for me
Robert Pankowecki
August 3, 2017
domain-driven design
How to quickly add graphs and charts to Rails app
Robert Pankowecki
July 20, 2017
rails
nil?, empty?, blank? in Ruby on Rails - what's the difference actually?
Robert Pankowecki
July 20, 2017
ruby
Monitoring Sidekiq queues with middlewares
Robert Pankowecki
July 19, 2017
middleware
sidekiq
chillout
How to keep yourself motivated for blogging?
Robert Pankowecki
July 17, 2017
blogging
lifestyle
coaching
motivation
Handle sidekiq processing when one job saturates your workers and the rest queue up
Robert Pankowecki
July 14, 2017
sidekiq
How to safely store API keys in Rails apps
Robert Pankowecki
July 14, 2017
rails
api
security
The easiest posts to write for a programming blog
Robert Pankowecki
July 14, 2017
blogging
Using influxdb with ruby
Robert Pankowecki
July 10, 2017
chillout
Tracking dead code in Rails apps with metrics
Robert Pankowecki
June 23, 2017
chillout
What I learnt today from reading gems' code
Robert Pankowecki
June 23, 2017
gems
sidekiq
chillout
active support
Acceptance testing using actors/personas
Robert Pankowecki
June 7, 2017
testing
Handling SVG images with Refile and Imgix
Robert Pankowecki
June 1, 2017
rails
Conditionality is filtering. Don't filter control flow, filter data.
Robert Pankowecki
April 21, 2017
ruby
Reliable notifications between two apps or microservices
Robert Pankowecki
April 9, 2017
messaging
Why classes eventually reach 50 columns and hundreds of methods
Robert Pankowecki
March 31, 2017
domain-driven design
bounded contexts
Prototypes in Ruby and the strange story of dup
Robert Pankowecki
March 7, 2017
rails
ruby
Ruby code I no longer write
Robert Pankowecki
February 17, 2017
ruby
refactoring
metaprogramming
yield default object
Robert Pankowecki
February 2, 2017
ruby
Fluent Interfaces in Ruby ecosystem
Robert Pankowecki
January 26, 2017
ruby
object-oriented programming
On upcoming immutable string literals in Ruby
Robert Pankowecki
January 2, 2017
ruby
Why would you even want to listen about DDD?
Robert Pankowecki
December 26, 2016
domain-driven design
Safer Rails database migrations with Soundcloud's Large Hadron Migrator
Robert Pankowecki
December 23, 2016
rails
active record
migration
Patterns for dealing with uncertainty
Robert Pankowecki
December 4, 2016
domain-driven design
One request can be multiple commands
Robert Pankowecki
November 16, 2016
domain-driven design
commands
Hourly Billing is Nuts
Robert Pankowecki
October 20, 2016
consulting
The freelancer in you that wants to be FREE
Robert Pankowecki
October 18, 2016
consulting
To blog or to write code?
Robert Pankowecki
October 17, 2016
blogging
Minimal decoupled subsystems in your rails app
Robert Pankowecki
September 30, 2016
domain-driven design
messaging
respond_to |format| is useful even without multiple formats
Robert Pankowecki
July 21, 2016
rails
Implementing & Testing SOAP API clients in Ruby
Robert Pankowecki
July 18, 2016
ruby
testing
api
Always present association
Robert Pankowecki
July 12, 2016
rails
active record
Domain Events Schema Definitions
Robert Pankowecki
July 10, 2016
domain-driven design
rails event store
Cover all test cases with #permutation
Robert Pankowecki
June 25, 2016
ruby
testing
rspec
Domain Events over Active Record Callbacks
Robert Pankowecki
May 13, 2016
rails
active record
domain-driven design
domain event
How I hunted the most odd ruby bug
Robert Pankowecki
April 18, 2016
ruby
honeybadger
at exit
threads
Custom type-casting with ActiveRecord, Virtus and dry-types
Robert Pankowecki
March 20, 2016
rails
active record
Using anonymous modules and prepend to work with generated code
Robert Pankowecki
February 29, 2016
ruby
metaprogramming
prepend
Private classes in Ruby
Robert Pankowecki
February 22, 2016
ruby
Drop this before validation and just use a setter method
Robert Pankowecki
January 29, 2016
rails
ruby
validations
aspect-oriented programming
In-Memory Fake Adapters
Robert Pankowecki
December 4, 2015
rails
adapters
Monitoring services and adapters in your Rails app with Honeybadger, NewRelic and #prepend
Robert Pankowecki
November 28, 2015
rails
honeybadger
prepend
web application
Rolling back complex apps
Robert Pankowecki
October 24, 2015
deployment
Run it in a background job, after a commit, from a service object
Robert Pankowecki
October 24, 2015
rails
active record
background job
Advantages of working on a legacy application
Robert Pankowecki
October 20, 2015
rails
legacy
Sanitizing html input: youtube iframes, css inline styles and customization
Robert Pankowecki
September 20, 2015
rails
security
html
Testing race conditions in your Rails app
Robert Pankowecki
September 4, 2015
rails
testing
Null Object pattern in practice
Robert Pankowecki
August 16, 2015
ruby
On my radar: RethinkDB + React.js + Rails
Robert Pankowecki
April 30, 2015
rails
react
How to get anything done? - 4 tips
Robert Pankowecki
March 1, 2015
blogging
lifestyle
coaching
motivation
My favorite ActiveSupport features
Robert Pankowecki
February 25, 2015
rails
active support
Adding videos embedded in a page to a sitemap
Robert Pankowecki
February 21, 2015
ruby
video
sitemap
Upgrade capybara-webkit to 1.4 and save your time
Robert Pankowecki
February 18, 2015
rails
Ruby Exceptions Equality
Robert Pankowecki
January 11, 2015
ruby
exceptions
It's easy to miss a higher level concept in an app
Robert Pankowecki
January 4, 2015
ruby
The categories of validations
Robert Pankowecki
January 3, 2015
rails
validations
rails-refactoring.com podcast #1
Robert Pankowecki
November 15, 2014
service objects
Don't forget about eager_load when extending autoload paths
Robert Pankowecki
November 9, 2014
rails
autoload
code
You can move React.js root component around
Robert Pankowecki
October 23, 2014
react
Instantiating Service Objects
Robert Pankowecki
October 12, 2014
rails
ruby
service objects
React.js and Dynamic Children - Why the Keys are Important
Robert Pankowecki
October 3, 2014
react
Behind the scenes
Robert Pankowecki
October 3, 2014
lifestyle
React.js and Google Charts
Robert Pankowecki
September 29, 2014
react
Adapters 101
Robert Pankowecki
August 24, 2014
rails
ruby
adapters
Burnout - do you need to change your job?
Robert Pankowecki
August 17, 2014
async remote
Truncating UTF8 Input For Apple Push Notifications (APNS) in Ruby
Robert Pankowecki
August 13, 2014
notifications
Using ruby Range with custom classes
Robert Pankowecki
August 3, 2014
ruby
4 ways to early return from a rails controller
Robert Pankowecki
July 15, 2014
rails
RubyMine basic navigation features (that make you move around code fast)
Robert Pankowecki
July 9, 2014
rubymine
Service objects as a way of testing Rails apps (without factory_girl)
Robert Pankowecki
July 1, 2014
rails
testing
service objects
Effective async communication
Robert Pankowecki
June 13, 2014
communication
async remote
Would you love to work remotely (and asynchronously)?
Robert Pankowecki
June 9, 2014
async remote
Mastering Rails Validations: Objectify
Robert Pankowecki
May 8, 2014
rails
active record
validations
context
active model
Mastering Rails Validations: Contexts
Robert Pankowecki
April 30, 2014
rails
active record
validations
context
active model
The biggest obstacle to start with Continuous Deployment - database migrations
Robert Pankowecki
April 13, 2014
rails
deployment
database
migration
Zero uptime deploy
Robert Pankowecki
April 1, 2014
rails
ruby
unicorn
Don't call controller from background job, please. Do it differently!
Robert Pankowecki
March 20, 2014
rails
background job
pdf
2 ways to deal with big and complicated features
Robert Pankowecki
February 28, 2014
async remote
Pretty, short urls for every route in your Rails app
Robert Pankowecki
January 18, 2014
rails
routing
Stop including Enumerable, return Enumerator instead
Robert Pankowecki
January 8, 2014
ruby
enumerable
3 ways to do eager loading (preloading) in Rails 3, 4, 5 and 6
Robert Pankowecki
December 8, 2013
rails
active record
Chronos vs Kairos: Find out how you think about time when working on a project
Robert Pankowecki
November 21, 2013
async remote
Developers oriented project management: What our new book is all about?
Robert Pankowecki
October 14, 2013
async remote
project
Developers oriented project management: Take the first task
Robert Pankowecki
October 9, 2013
async remote
refactoring
story
tasks
Developers oriented project management: Leave tasks unassigned
Robert Pankowecki
October 4, 2013
async remote
refactoring
story
project
tasks
Developers oriented project management: Story of size 1
Robert Pankowecki
September 23, 2013
async remote
work
Developers oriented project management
Robert Pankowecki
September 16, 2013
async remote
pdf
Single Table Inheritance - Problems and solutions
Robert Pankowecki
July 27, 2013
rails
testing
inheritance
Are we abusing at_exit?
Robert Pankowecki
June 22, 2013
ruby
at exit
Is it cute or ugly?
Robert Pankowecki
May 9, 2013
ruby
refactoring
Web is no longer request-reply
Robert Pankowecki
February 15, 2013
rails
Rails API - my simple approach
Robert Pankowecki
January 10, 2013
rails
api
Blogging for developers
Robert Pankowecki
January 2, 2013
nanoc
blogging
blog
Not Rails
Robert Pankowecki
November 29, 2012
ruby
active record
threads
One app, one user, one ruby
Robert Pankowecki
November 21, 2012
ruby
deployment
Sending async data from Rails into the world (II)
Robert Pankowecki
November 11, 2012
rails
exceptions
threads
business metrics
Sending async data from Rails into the world
Robert Pankowecki
October 17, 2012
rails
exceptions
business metrics
Filepicker and Aviary - Image uploading on steroids
Robert Pankowecki
September 21, 2012
rails
coffeescript