The Curious Engineer

All blogs / Software / engineering practice

Jef Claes

jefclaes.be

On software and life

Software / engineering practiceC# / .NETDistributed systems / cloud

’05’10’15’20’25
Posts
234 from 1 Jan 2001 to 22 May 2026
Posting
now and then (1 in the last year)
Kind
personal blog
Feed
https://jefclaes.be/feeds/posts/default

2026 1

  1. Into the middlegame

2018 3

  1. GES scavenging and the hidden cost of link events
  2. Amazon Redshift - Fundamentals
  3. Consumed in 2017

2017 6

  1. Passing the AWS Certified Solutions Architect exam
  2. Fast projections
  3. From human decisions, to suggestions to automated decisions
  4. How to organize a meetup
  5. Printing money - hacking loyalty points
  6. Everyone has to serve somebody, but software has to serve more than one

2016 8

  1. Consumed in 2016
  2. Commands and events with JustSaying and AWS
  3. My InfoQ interview on DDD, events and legacy
  4. Pieter Hintjens
  5. Using a batch layer for fast(er) aggregations
  6. Notifications from an event log
  7. Functional one-liner for running totals in C#
  8. Consumed in 2015

2015 16

  1. Visualizing event streams
  2. Slides from my talk "Evil by Design" at Build Stuff
  3. Defining big wins
  4. Bulk SQL projections with F# and type providers
  5. Aspect ratio calculation
  6. Basic casino math
  7. Consumed: Queries and projections (F#)
  8. Consumed: Handling commands (F#)
  9. Finding unused code (F#)
  10. Consumed: Parsing command line arguments (F#)
  11. Checked errors in F#
  12. Scaling promotion codes
  13. Domain Language: The Playthrough Bonus
  14. Side by side
  15. Averages are not good enough (F#)
  16. Consumed in 2014

2014 35

  1. TDD as the crack cocaine of software
  2. Spinning the wheel: clustering and near misses
  3. Spinning the wheel: manipulating the odds
  4. Spinning the wheel
  5. Hot aggregate detection using F#
  6. Splitting hot aggregates
  7. Programmatically force create a new LocalDB database
  8. Print out the maximum depth of recursion allowed
  9. Read an Event Store stream as a sequence of slices using F#
  10. The road to Großglockner
  11. Northbound again
  12. Tolkien's inspiration
  13. Porsches and a setting that sells them
  14. Solomon, the architect
  15. Thinking No Computers
  16. Paper notes: A Study and Toolkit for Asynchronous Programming in C#
  17. Not about the UI and the database
  18. Eventual consistency in the Wild West
  19. NCrafts Eventstorming slides
  20. What if we stored events instead of state? - slides
  21. Glueing the browser and POS devices together
  22. Solving Mavericks with VMware Fusion 6 and Windows 8.1 hangs
  23. Rebinding a knockout view model
  24. Sending commands from a knockout.js view model
  25. Building a live dashboard with some knockout
  26. Tests as part of your code
  27. Alternatives to Udi's domain events
  28. Strategic DDD in a nutshell
  29. DDDBE slides on the Ubiquitous Language
  30. Reading an EventStore stream using JavaScript
  31. Thinking in Systems
  32. Repositories, where did we go wrong?
  33. new YearPassed(2013);
  34. Happiness before success
  35. Command and event semantics

2013 47

  1. 2013's most read posts
  2. Databases are growing on me
  3. Buildstuff 2013
  4. Book review: Antifragile
  5. Observations over assumptions
  6. Event storming workshop slides
  7. An event store with optimistic concurrency
  8. Event source all the things?
  9. Event projections
  10. An event store
  11. An event sourced aggregate
  12. My understanding of event sourcing
  13. CZ The Trilogy
  14. Actor Model in COBOL
  15. Slides from my talk on the Ubiquitous Language
  16. The first DDDBE Modellathon
  17. Inheritance is like Jenga
  18. But I already wrote it
  19. Eventual consistent domain events with RavenDB and IronMQ
  20. When your commands spell CUD
  21. The last cowboy
  22. The road goes on forever
  23. The long highway
  24. Stairway to heaven
  25. She said yes!
  26. Fireworks, Tequila and Silvertown Blues
  27. Multiplayer Enterprise Architect
  28. Not handling edge cases, making them explicit instead
  29. Angular.js and IE8 caching
  30. Accidental entities - what about the UI?
  31. Accidental entities - you don't need that identity
  32. Validating composite models with knockout validation
  33. IDDD Tour notes (2/2)
  34. IDDD Tour notes (1/2)
  35. Designing entities: immutability first
  36. Reading large files in chunks with proper encapsulation
  37. Putting my IronMQ experiment under stress
  38. Some experimental infrastructure for IronMQ pull
  39. First IronMQ impressions
  40. My Christmas holiday project postmortem
  41. Adding the R to CQS: some storage options
  42. Premature judgement
  43. Raising events in commandhandlers
  44. Organizing commands and queries
  45. RavenDB: Drop all collections
  46. Separating command data from logic and sending it on a bus
  47. Self-contained commands with dependencies

2012 48

  1. 2012 Annual Review
  2. 2012's most read posts
  3. It's not cake we are baking
  4. Some notes on performance tuning with NHibernate
  5. Released: Kill long meetings
  6. Commuting? Have you done the math?
  7. Post Web.NET Europe
  8. Slides and code from my Web.NET Europe REST and ASP.NET Web API session
  9. Commands with dependencies
  10. Commands, queries and testing
  11. Côte d'Opale
  12. On job titles
  13. The 7 R's of Hypermedia
  14. Slides and code from my Tunisia REST and ASP.NET Web API session
  15. Supporting the OPTIONS verb in ASP.NET Web API
  16. Is serialization really that expensive?
  17. My learning resources distilled
  18. Finito
  19. Milano
  20. The Floating City
  21. Ferrari red. Lamborghini yellow.
  22. Should I unit- or integration test my ASP.NET Web API services?
  23. HtmlHelper to generate a top-level menu for areas
  24. On crime and document stores
  25. Persisting model state when using PRG
  26. Making my first NancyFx test pass
  27. Book review: The Art of Agile Development
  28. The 'everyone should learn to code' dilemma
  29. The open plan fallacy testimonials
  30. Painless database logging with mongoDB
  31. The open plan fallacy
  32. Why I will always love RSS
  33. My InfoQ article on HTML5 offline web applications
  34. Some Servicelocator pattern stinks
  35. Visualizing the offline application cache update progress
  36. Check for local file browsing with JavaScript
  37. Add images to a GitHub readme
  38. How a web application can download and store over 2GB without you even knowing it
  39. Sent from my phone
  40. HTML5 Offline Web applications as an afterthought in ASP.NET MVC
  41. Learning: the Hacker Way
  42. ASP.NET MVC4 bundling in ASP.NET MVC3
  43. There's no place for monogamy in technology
  44. Book review: Working with NHibernate 3.0
  45. Testing DI bootstrappers
  46. A solar storm anecdote
  47. How Wikipedia uses HTML5 to save bandwidth
  48. Autocorrecting unknown actions using the Levenshtein distance

2011 43

  1. 2011 Annual Review
  2. 2011's most read posts
  3. When should you take performance into consideration?
  4. Rewriting an if
  5. Blame no one but yourself
  6. Programming for the future of mobile
  7. The gift of legacy
  8. Book review: The Art of Unit Testing
  9. A real developer knows when to pull the plug
  10. Comfortably numb
  11. Building small things
  12. Once upon a time in the West
  13. City of fallen angels
  14. Fear and loathing in Las Vegas
  15. Edge of eternity
  16. From Glen to Grand
  17. Rusty rocks
  18. Sands of Nevada
  19. Yosemite skyscrapers
  20. If you're going to San Francisco
  21. High Hopes
  22. Merge sorting in JavaScript
  23. My js data structures and algorithms now on GitHub
  24. Overoptimizing my JavaScript stack implementation for fun
  25. Stacks and queues in JavaScript
  26. Simple sorting in JavaScript
  27. Should we get this tool?
  28. Book review: More Joel on Software
  29. Checking for anonymous types
  30. My thoughts on WebMatrix
  31. arealdeveloper.com mentioned on Channel9
  32. arealdeveloper.com
  33. Prague impressions
  34. Anonymous type equality follow-up: Equals()
  35. Anonymous type equality
  36. Using C# keywords as variables
  37. It's not how good you are, it's how good you want to be
  38. Video, slides and source from my WebSockets talk
  39. Keeping WebSockets alive
  40. Why I still buy real books
  41. Book review: The Art of Non-Conformity
  42. Book review: Got Fight?
  43. Book review: Pro HTML5 Programming

2010 20

  1. Reviewing and renewing resolutions
  2. HTML5: Exception handling with the Geolocation API
  3. HTML5: The Geolocation API is scary (good)
  4. HTML5 selectors and jQuery
  5. HTML5: Drawing images to the canvas gotcha
  6. HTML5: More on selectors
  7. HTML5: New in the javascript Selector API
  8. Trip Report Denmark (Part 2)
  9. Trip Report Denmark (Part 1)
  10. Things good to know about SQL State Server
  11. Tripping in Holland. Honey, who shrunk Holland?
  12. Switching with non-constant cases in C#
  13. Handling the AggregateException
  14. Exception handling in batch operations with the AggregateException
  15. Trip Report Czech Republic
  16. Cannot Start Service from the command line or debugger. A Windows Service must first be installed (using installutil.exe)..
  17. Book review: Object-Oriented JavaScript
  18. Webforms lessons learned the hard way (Part 2)
  19. Webforms lessons learned the hard way (Part 1)
  20. Log4Net: log.Debug(String.Format()) versus log.DebugFormat()

2009 6

  1. Looking back, moving forward (New years post)
  2. Response.RedirectPermanent in .NET 3.5 and older
  3. Book review: Professional Refactoring in C# & ASP.NET
  4. My trip to Madrid in ten pictures
  5. Why code reviews should be a team thing
  6. Stored Procedures: Make them or break them

2001 1

  1. About