Sandor Dargo's Blog
Sandor Dargo writes about about C++, software development, books and stoic philosophy applied to software craftsmanship
- Posts
- 599 from 29 Dec 2016 to 27 Oct 2026
- Posting
- weekly (57 in the last year)
- Kind
- personal blog
- Feed
- https://www.sandordargo.com/feed.xml
2026 48
- C++26 Ranges: Parallel Algorithms and Safer Filters
- C++26 Ranges: Better Infrastructure
- C++26 Ranges: Four New Views
- C++ and AI at CppCon: We have to use agents - more or less?!
- C++26: the new debugging header
- Trip report: CppCon 2026
- C++26: Trivial infinite loops are no longer undefined behaviour
- C++26: Module improvements
- C++ Concepts is now a Leanpub course
- C++26: std::hive
- I helped to build GetCracked's Intermediate C++ Roadmap
- C++26: std::inplace_vector
- C++26: std::polymorphic
- C++26: std::indirect
- C++26: #embed
- The C++ Interview Book is here
- C++26: Reducing undefined behaviour
- The Portable Way to Extract Date and Time from a File's mtime in C++
- The Prompt-Wait-Evaluate Loop: How AI Kills Flow Without You Noticing
- Propagating exceptions from destructors with std::exception_ptr
- C++26: constexpr virtual inheritance
- Trip report: ACCU On Sea 2026
- Memory Management in C++ by Patrice Roy
- C++26: Cleaning up string literals
- Keeping Code Reviews From Dragging
- C++26: Ordering of constraints involving fold expressions
- C++26: More function wrappers
- C++26: Standard library hardening
- An Immigrant's Love Letter to the West by Konstantin Kisin
- The Dev Ladder comes back home
- C++26: string and string_view improvements
- C++26: Structured Bindings can introduce a Pack
- C++26: Structured bindings in conditions
- Freestanding standard library
- What happens when a destructor throws
- C++26: A User-Friendly assert() macro
- C++26: Span improvements
- C++26: The Oxford variadic comma
- Frictionless by Nicole Forsgren and Abi Noda
- Accessing inactive union members through char: the aliasing rule you didn't know about
- Partial Truth vs Explicit Failure: Designing Honest System Responses
- C++26: std::is_within_lifetime
- Deferred member initialization
- Time in C++: Closing Thoughts
- Time in C++: Once More About Testing
- Time in C++: C++20 Brought Us Time Zones
- Time in C++: Creating Your Own Clocks with <chrono>
- Time in C++: Additional clocks in C++20
2025 53
- 2025: A year with many faces
- Time in C++: Inter-clock Conversions, Epochs, and Durations
- 2025, A Year of Conferences
- Time in C++: std::chrono::high_resolution_clock — Myths and Realities
- Time in C++: Understanding std::chrono::steady_clock
- Time in C++: std::chrono::system_clock
- Time in C++: Understanding <chrono> and the Concept of Clocks
- Trip report: Meeting C++ 2025
- Pragma unroll
- Three Meanings of Reference
- Trip report: Budapest C++ - Breaking & Building C++
- How to Pick Which Conference Talks to Attend
- C++26: range support for std::optional
- C++26: std::optional<T&>
- Trip report: CppCon 2025
- Discovering observers - part 3
- Discovering observers - part 2
- Discovering observers - part 1
- How to look up values in a map
- C++26: Concept and variable-template template-parameters
- Use concepts with std::remove_cvref_t
- Avoiding Undefined Behaviour with BoostTests and standard types
- Format your own type (Part 2)
- Format your own type (Part 1)
- C++26: std::format improvements (Part 2)
- C++26: std::format improvement (Part 1)
- Trip report: C++ On Sea 2025
- Once more about dynamic_cast, a real use case
- Variadic class template arguments
- C++26: Disallow Binding a Returned Reference to a Temporary
- What Makes a C++ Talk Stand Out in the Review Process?
- Three types of name lookups in C++
- Constructing Containers from Ranges in C++23
- Declaring a friendship to self
- C++26: constexpr exceptions
- C++26: more constexpr in the standard library
- C++26: more constexpr in the core language
- Raw loops for performance?
- Should you use final?
- C++26: variadic friends
- C++26: an undeprecated feature
- C++26: Deprecating or removing library features
- C++26: Removing language features
- Trip report: C++ Online 2025
- C++26: no more UB in lexing and preprocessing
- The ultimate gift for (single) parents: home office?!
- Do you use a debugger?
- C++26: erroneous behaviour
- C++26: attributes in structured bindings
- C++26: pack indexing
- Start learning a new language
- C++26: a placeholder with no name
- C++26: user-generated static_assert messages
2024 57
- 2024: ready for the next year!
- C++26: Delete with a reason
- Let's start exploring C++26
- Replace CRTP with concepts?
- How to ensure a class is not copyable or movable
- Trip report: Meeting C++ 2024
- Implicit string conversions to booleans
- Use std::span instead of C-style arrays
- (When) performance is not about algorithmic complexity
- Different aspects of software performance
- Who does what by how much by Josh Seiden and Jeff Gothelf
- C++ Brain Teasers by Anders Schau Knatten
- Working in uncertainty?
- So shall we use static or dynamic linking?
- Binary size: should we use static or dynamic linking?
- Do it right or do the right thing: The Alignment Trap
- The limits of a portfolio job
- Structs and constructors
- Wrapping up our Airbnb host experience
- What is std::ref?
- Learn C++ by Example by Frances Buontempo
- The rule of 5 and inheritance
- Once more about the rule of 5
- 5 reasons why politics will ruin your career hopes
- What to do if you don't want a default constructor?
- Trip report: C++ On Sea 2024
- C++23: further small changes
- Member ordering and binary sizes
- Did you do what I asked for or not?
- Limit the number of library dependencies
- The limits of `[[maybe_unused]]`
- C++23: chrono related changes
- Do engineering teams really resemble sports teams?
- Two cases when forward declaring is not enough
- Quo vadis this blog?
- When and how variables are initialized? - Part 4
- When and how variables are initialized? - Part 3
- When and how variables are initialized? - Part 2
- When and how variables are initialized? - Part 1
- Upgrading the compiler: undefined behaviour uncovered
- Should we move from fundamental types?
- C++23: Encoding related changes
- Tidy First? by Kent Beck
- Three key philosophies behind C++
- My late discovery of std::filesystem - Part II
- My late discovery of std::filesystem - Part I
- How to write unit tests in C++ relying on non-code files?
- The Software Engineer's Guidebook by Orosz Gergely
- I got hacked recently
- C++23: More small changes
- C++23 likes to move it!
- My time management system in 2024
- C++23: bitwise operations
- C++23: Allocator related changes
- Wiring the Winning Organization by Gene Kim and Steven J. Spear
- Late discovery of std::filesystem - Part I
- DR20 - The Equality Operator You Are Looking For
2023 58
- 2023: What a tiring year!
- The 3 best books I read in 2023
- The Psychology of Money: Timeless lessons on wealth, greed, and happiness by Morgan Housel
- How to use your namespaces to their best
- Genghis Khan And The Making Of The Modern World by Jack Weatherford
- C++23: The rise of new streams
- C++23: Growing unicode support
- Nonconform by Gergely Böszörményi-Nagy
- Struct initialization
- C++: The most important complexities
- 10x is easier than 2x by Dr. Benjamin Hardy
- Extern templates to reduce binary size
- C++23: Removing garbage collection support
- My battle against signed/unsigned comparison: the worst violations
- My battle against signed/unsigned comparison: the most usual violations
- How to compare signed and unsigned integers in C++20?
- Trip report: Dev Talks Cluj 2023
- Be a good gardener of your scripts
- Once more about clean code
- Constexpr functions for smaller binary size?
- C++23: some changes related to templates
- The value of boring tasks
- C++23: compatibility with C
- C++23: mdspan
- C++23: multidimensional operator[]
- The Power of Tenure: 7 reasons to stay at your job
- C++23: static operator() and static operator[]
- Binary sizes and compiler flags
- C++23: Alias declarations in for loop init-statements
- Trip report: C++ On Sea 2023
- My way to get into conferences
- The 3 best books to level up your C++
- Fold expressions in C++
- Recent changes and personal commitments
- C++23: two additional noexcept functions
- C++23: Even more constexpr
- Are we - developers - spoiled or abused?
- Is this dynamic_cast needed?
- Variadic functions vs variadic templates
- Without RTTI your code will be cleaner
- We are always late
- Vectors and unique pointers
- Binary sizes and passing functions to functions
- Binary size and exceptions
- Can we find a compromise?
- The observer pattern and binary sizes
- Ordinary Men: Reserve Police Battalion 101 and the Final Solution by Christopher Browning
- The decorator pattern and binary sizes
- Binary sizes and RTTI
- What's the easiest way to add custom code to your WordPress site without breaking it?
- 4 different ways I've worked remotely
- The evolution of enums
- Virtual functions and binary sizes
- Special functions and binary sizes
- Deep vs shallow modules
- Object initialization and binary sizes
- What's an executable and how is it structured
- The run-time, compile-time, binary size triangle
2022 71
- The 8 best books I read in 2022
- 2022: Another great year!
- Class templates versus constructor templates
- C++ Software Design by Klaus Iglberger
- C++23: attributes
- C++23: std::out_ptr and std::inout_ptr
- Influence: The Psychology of Persuasion by Robert B. Caldini
- C++23: auto(x) and decay copy
- C++23: How lambdas are going to change?
- Non-coding roles or something you like?
- C++23: The <expected> header; expect the unexpected
- Why to use C++ in 2022
- 3 Things MongoDB Can Help You With
- The evolution of statements with initializers in C++ - part 2
- Template Metaprogramming with C++ by Marius Bancila
- The evolution of statements with initializers in C++
- I'm leaving Amadeus after 9 years
- Should you use static code analyzers as gatekeepers?
- The Battle Hardened Developer by Fiodar Sazanavets
- C++23: flat_map, flat_set, et al.
- 5 tips to find your next job
- C++23: The stacktrace library
- Don't feel bad because of failed interviews, just keep learning!
- C++23: Preprocessing directives
- Thinking, Fast and Slow by Daniel Kahneman
- Should you really memorize algorithm complexities?
- The Template Method Pattern and the Non-Virtual Idiom
- 3 ways to stay motivated when you are leaving your job
- The copy and swap idiom in C++
- Price's law and 3 things to do if you're underpaid
- Trip report: C++ On Sea 2022
- Hands-On Design Patterns with C++ by Fedor Pikus
- 6 C++23 features improving string and string_view
- What are string_views and why should we use them?
- Won't extend it more than once!
- C++: standardized
- Bitwise enumerations
- C++23: Narrowing contextual conversions to bool
- The Evolution of Cooperation by Robert Axelrod
- Smart pointers and their deleters
- C++23: Consteval if to make compile time programming easier
- C++23: Literal suffix for (signed) size_t
- The Tech Resume Inside Out by Gergely Orosz
- C++ basics: scopes, linkage, names
- Tipi, a new solution to build C++ projects easier
- Make declaration order layout mandated
- The Goal: A Process Of Ongoing Improvement by Eliyahu M. Goldratt
- The 4 use of using in C++
- The infamous bug of range-based for loops
- Beautiful C++: 30 Core Guidelines for Writing Clean, Safe and Fast Code by J. Guy Davidson and Kate Gregory
- My first work experience with C++20
- Use strong types instead of bool parameters
- Storing references of pointers in containers in C++
- Beyond Order: 12 more rules for life by Jordan B. Peterson
- The Employee-Company triangle
- C++ basics: Pointers vs iterators
- Mocking non-virtual and free functions with gMock
- Secondhand Time: The Last of the Soviets by Svetlana Alexievich
- Mocking virtual functions with gMock
- The big STL Algorithms tutorial: wrapping up
- System Design Interview: An insider's guide by Alex Xu
- C++23: Deducing this
- 5 types of communication a senior developer does
- The Gift: 12 Lessons to Save Your Life by Dr. Edith Eva Eger
- The big STL Algorithms tutorial: the memory header
- 3 piece of advice for junior developers
- The Choice: Embrace the Possible by Dr. Edith Eva Eger
- The big STL Algorithms tutorial: *numeric* scans
- Top 3 reasons to let people change teams within your organization
- Zen and The Art of Motorcycle Maintenance by Robert Pirsig
- The big STL Algorithms tutorial: more numeric algorithms
2021 79
- 2021: I feel I got everything I wanted and the next year will be even better
- The best 8 books I read in 2021
- What is the most vexing parse?
- Trip Report: CPPP 2021
- How to Measure Anything: Finding the Value of Intangibles in Business by Douglas W. Hubbard
- Top 7 reasons to join another team
- I broke production 3 times in 3 weeks - Part II
- Courage Is Calling: Fortune Favors The Brave by Ryan Holiday
- I broke production 3 times in 3 weeks - Part I
- Trip Report: Meeting C++ 2021
- The big STL Algorithms tutorial: permutation operations
- 5 sources of success: how not to lose confidence after a promotion?
- Functions to be called only once in C++
- The Ape That Understood The Universe by Steve Stewart-Williams
- The big STL Algorithms tutorial: reduce operations
- C++ Concepts and the Core Guidelines
- Science, Strategy and War: The Strategic Theory of John Boyd by Frans Osinga
- Bring some fresh AIR and write effective code review comments
- Replace std::find_if in 80% of the cases
- The Beginning of Infinity by David Deutsch
- The big STL Algorithms tutorial: comparison operations
- Top 6+1 responsibilities of a developer
- The Unicorn Project by Gene Kim
- Do we correctly calculate min and max?
- The big STL Algorithms tutorial: Minimum/maximum operations
- The Phoenix Project by Gene Kim
- OODA loop: The blueprint of our decision making
- const rvalue references
- Stand up for yourself and for your values
- Patterns of Conflict: Understand blitzkrieg with 4 German words
- The big STL Algorithms tutorial: heap operations
- Boyd: The Fighter Pilot Who Changed the Art of War by Robert Coram
- How much revenue do you generate?
- const and smart pointers
- Scrum: The Art of Doing Twice the Work in Half the Time by Jeff Sutherland
- The big STL Algorithms tutorial: set operations
- 2 ways to use static with functions in C++
- The Richest Man in Babylon by George S Clason
- Always the Buyer
- The big STL Algorithms tutorial: merge and inplace_merge
- The 4 C's formula by Dan Sullivan
- Multiple destructors with C++ concepts
- 3 ways to prevent micro-burnouts
- C++ Best Practices by Jason Turner
- Different ways to achieve SFINAE
- Live like a monk - the key to success
- The Big Leap: Conquer Your Hidden Fear and Take Life to the Next Level by Gay Hendricks
- The big STL Algorithms tutorial: binary_search et al.
- 3 types of people in software development without skin in the game
- Soft Skills: The Software Developer's Life Manual (Second edition) by John Sonmez
- C++ Concepts and logical operators
- Another 5 great productivity tips for working from home!
- 5 great productivity tips for working from home!
- What kind of developer are you?
- How to Talk so Little Kids Will Listen by Joanna Faber and Julie King
- How to use type traits?
- What are type traits?
- C++ 20: Get the details by Rainer Grimm
- My code is not shipped! Should I care?
- C++ concepts in real life
- Skin in the Game: Hidden Asymmetries in Daily Life by Nassim Taleb
- How to write your own C++ concepts? Part II.
- You have to ask for it!
- How to write your own C++ concepts? Part I.
- Concepts shipped with the C++ standard library
- Clean Agile: Back to Basics by Robert C. Martin
- C++ concepts with classes
- What Does This Button Do?: An Autobiography by Bruce Dickinson
- 4 ways to use C++ concepts in functions
- How to turn failures into growth in 5 steps?
- The concept behind C++ concepts
- I released my first book: How to use const in C++
- The big STL Algorithms tutorial: sorting operations
- Refactoring for Software Design Smells
- Can virtual functions have default arguments?
- Passion leads to specialization!
- The big STL Algorithms tutorial: partitioning operations
- Awaken the giant within by Tony Robbins
- Three ways to use the = delete specifier in C++
2020 63
- 2020: A year of changes and great results, can't wait for the next one!
- Good to Great: Why Some Companies Make the Leap...and Others Don't by Jim Collins
- What is virtual inheritance in C++ and when should you use it?
- Santa's Christmas Wishlist
- A story of nasty a bug: AWS DynamoDB UI special character escaping
- The best 9 books I read in 2020
- The big STL Algorithms tutorial: modifying sequence operations - rotate functions
- Read to boost your career!
- The most important git practice
- Emergent Design: The Evolutionary Nature of Professional Software Development by Scott Bain
- When to use const in C++? Part IV: parameters
- 12 Rules for Life - An Antidote to Chaos by Jordan Peterson
- When to use const in C++? Part III: return types
- What do you want from a job, that is the question
- When to use const in C++? Part II: member variables
- Don't Make Me Think by Steve Krug
- When to use const in C++? Part I: functions and local variables
- Sharpen your axe and chop down the tree quickly
- Confessions of an addict: Just a few lines...
- User-defined literals in C++
- Strong types for containers
- DevReads to fill up your reading list
- Cmake Project Creator at your disposal
- How to share data in Jenkins?
- Personality Isn't Permanent by Benjamin Hardy
- Happy International Programmers' Day
- The big STL Algorithms tutorial: modifying sequence operations - how to get distinct elements
- Let me introduce Daily Cpp Interview
- Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library by Scott Meyers
- Covariant return types
- The big STL Algorithms tutorial: modifying sequence operations - rotate functions
- See You At The Top by Zig Ziglar
- Virtual Trip Report: C++ On Sea 2020
- Why should we always catch exceptions by reference?
- The big STL Algorithms tutorial: modifying sequence operations - turn things around
- Code: The Hidden Language of Computer Hardware and Software by Charles Petzold
- Don’t Run From Pain, Embrace It
- Try-catch everything without macros
- Sapiens: A Brief History Of Humankind by Yuval Noah Harari
- Occupying a seat vs. show me your skill!
- The big STL Algorithms tutorial: modifying sequence operations - remove calls
- Functional Programming in C++ by Ivan Cukic
- Think about one with virtuous life
- Loops are bad, algorithms are good! Aren't they?
- The Power of Habit by Charles Duhigg
- The 4 Different Levels of Autonomy
- The big STL Algorithms tutorial: replace N elements
- Real-World Bug Hunting by Peter Yarowski
- Gratitude for COVID-19
- The quest of private inheritance in C++
- Extreme Ownership by Jocko Willink and Leif Babin
- The seniority trap
- The big STL Algorithms tutorial: modifying sequence operations - fill and generate
- Java by Comparison by Simon Harrer, Jörg Lenhard, Linus Dietz
- What to do when you screwed up?
- Immediately invoked lambda functions
- The Rational Optimist: How Prosperity Evolves by Matt Ridley
- What makes a training advanced?
- The big STL Algorithms tutorial: modifying sequence operations - replace*
- Your Code as a Crime Scene and Software Design X-Rays by Adam Tornhill
- I went to DevOps D-Day #5
- Default Member Initializers in C++
- The Art of Unit Testing by Roy Osherove
2019 52
- Goodbye 2019, hello 2020!
- The big STL Algorithms tutorial: transform's undefined behaviour
- Refocus on the Agile Developer
- The best 8 books I read this year
- Does this string declaration compile?
- My DEV birthday gift for you: DEV.to Analytics!
- Stillness Is The Key by Ryan Holiday
- The big STL Algorithms tutorial: transform
- Keep calm and do less
- Smartcuts: How Hackers, Innovators, and Icons Accelerate Success by Shane Snow
- The brand new assignment expression of Python 3.8
- Going down the road
- The Legacy Code Programmer's Toolbox by Jonathan Boccara
- The big STL Algorithms tutorial: modifying sequence operations - move and swap
- What's wrong with this person?! No! What's wrong with you?
- Drive: The Surprising Truth What Motivates by Daniel H. Pink
- The dead singleton and three ways to overcome it
- Why clean code is not the norm?
- Never split the difference: Negotiating As If Your Life Depended On It by Christopher Voss
- The big STL Algorithms tutorial: modifying sequence operations - copy et al.
- Forty and still a dev?
- Driving Technical Change by Terrence Ryan
- The big STL Algorithms tutorial: the rest of non-modifying sequence operations
- RivieraDev 2019 - the gastronomical dev conference
- The C++ Standard Library: A Tutorial and Reference by Nicolai Josuttis
- How do you prepare your commits?
- Travel report: CPPP 2019
- The Millionaire Fastlane by MJ DeMarco
- Take the lead!
- The Slow Birth of a Developer
- The Obstacle Is The Way by Ryan Holiday
- It's - not - so easy
- The big STL Algorithms tutorial: find et al.
- Rome's Last Citizen by Rob Goodman and Jimmy Sonni
- Be severe only with yourself
- Parameterized testing with GTest
- The Compound Effect by Darren Hardy
- Lesson of a booking: Don't trust the system!
- The big STL Algorithms tutorial: for_each
- Effective Modern C++ by Scott Meyers
- Production code as a playground?
- The Curiously Recurring Template Pattern (CRTP)
- Code Ahead by Yegor Bugayenko
- Do your job
- The big STL Algorithms tutorial: all_of, any_of, none_of
- The Manager's Path by Camille Fournier
- Virtue always has neighbours
- The big STL Algorithms tutorial: Introduction
- Optimized C++ by Kurt Gunteroth
- Who should be the master?
- The Three Laws of Objects
- Ryan Holiday: Perennial Seller
2018 56
- Review of 2018
- Professional learners we are
- Lambda Expressions in C++
- The best 13 books I read this year
- Reconquering my job in 15 steps
- How to use ampersands in C++
- Ramit Sethi: I'll teach you how to be rich
- A few words about team buildings
- How do you declare a function in C++?
- Nassim N. Taleb: The Black Swan
- Live with your results
- How I set up my Git
- Ryan Holiday: Ego is The Enemy
- Are you a fraud?
- How not to quit
- Cal Newport: Deep Work
- My first Flutter app
- It's not your job!
- Deliberate practice and memory management
- Cal Newport: So Good They Can't Ignore You
- Stop reading!
- Gilded Rose kata revisited
- The 4 Hour Body by Timothy Ferriss
- The cost of CPU operations
- Pitch Perfect - The Importance Of Personal Branding
- How to grow antifragile as a developer
- Why to use the override specifier in C++ 11?
- Essential Skills for the Agile Developer by Alan Shalloway et al.
- If I can't be my own, I'd feel better dead
- Patterns of Enterprise Application Architecture by Martin Fowler
- I went to RivieraDEV 2018
- How to automatically format your C++ code regardless the IDE you use
- Dale Carnegie: How to Win Friends and Influence People
- The only one way to educate efficiently
- John Sonmez - The Complete Software Developer's Career Guide
- The 7 worst things a manager can do to a newcomer
- Which Is Harder To Find?
- Clean Architecture: A Craftsman's Guide to Software Structure and Design
- New design - just keep it simple
- Class initialization and nasty cores
- Chris Guillebeau: Born for this - How to find the work you were meant to do
- Sane office environment with code review guidelines
- How to choose your first programming language
- Carl Gustav Jung: Man and His Symbols
- 8 books every junior developer should read
- Coders at work: Donald Knuth
- Design Stamina Hypothesis
- Setting yourself up to succeed
- 66-day learning challenge
- Briefly about Mutation Testing
- Practice with a timer!
- Coders at work: Bernie Cosell
- How Wine-Disco is progressing?
- Coders at work: Fran Allen
- Briefly about Mutation Testing
- New year, a new beginning
2017 61
- Coders at work: Ken Thompson
- Review of 2017
- Coders at work: L Peter Deutsch
- Briefly about Chaos Engineering
- Demistify stars in Python
- Coders at work: Dan Ingalls
- Cypher tutorial: Relationships with a varying length
- Coders at work: Guy Steele
- My perfect first day at a new job
- Cypher tutorial: OPTIONAL MATCH
- Coders at work: Peter Norvig
- How I got my nicest pair of pens
- Coders at work: Simon Peyton Jones
- Cypher tutorial: the RETURN keyword
- Coders at work: Joe Armstrong
- Ramping up a new team: let's mob
- Coders at work: Joshua Bloch
- Cypher tutorial: the MATCH keyword
- Coders at work: Brendan Eich
- Reflections on the dojo I facilitated at Soiree du Test Logiciel
- Coders at work: Douglas Crockford
- Cypher tutorial: the CREATE keyword
- Coders at work: Brad Fitzpatrick
- Introduction to cypher
- CodinGame at Amadeus
- Programming on rails: Railway Oriented Programming!
- Coders at work: Jamie Zawinski
- Graphs in everyday life
- Upcoming coding dojo about graph databases
- How to contact your colleague sitting next to you (or anywhere else)
- Introduction to graph databases
- Failing and getting up in the French Alps
- What can you use for visualizing a graph?
- Work for peanuts, but love your job!
- The blog has moved to a new address
- How to use rules in JUnit
- Why I spend lunch time at my desk?
- The power of the three
- A manager who wants to help
- Are you a monogamous or a polygamous developer?
- Meetings as a waste of money
- Naming conventions for interfaces in Java
- Meet Neo4j again
- I made my first open source contribution
- Test driven development with Spring
- Horror with Maven - dependency management vs dependencies
- Getting familiar with Kafka
- A new app
- 4 Hours Work Week by Timothy Ferriss
- TDD as if you meant it
- Attending my first IT conference
- Joining a new project soon
- Returned from Japan
- Looking for challenges in open source
- Story of a failure
- My latest user story is about being a consultant
- How to keep learning during vacations?
- Tooling is great!
- Refactor Knuth's Prime Printer
- The Hashtag Square
- Ruby is the first one coming