All blogs / Software / engineering practice
Jef Claes
On software and life
Software / engineering practiceC# / .NETDistributed systems / cloud
- 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
2018 3
2017 6
2016 8
2015 16
- Visualizing event streams
- Slides from my talk "Evil by Design" at Build Stuff
- Defining big wins
- Bulk SQL projections with F# and type providers
- Aspect ratio calculation
- Basic casino math
- Consumed: Queries and projections (F#)
- Consumed: Handling commands (F#)
- Finding unused code (F#)
- Consumed: Parsing command line arguments (F#)
- Checked errors in F#
- Scaling promotion codes
- Domain Language: The Playthrough Bonus
- Side by side
- Averages are not good enough (F#)
- Consumed in 2014
2014 35
- TDD as the crack cocaine of software
- Spinning the wheel: clustering and near misses
- Spinning the wheel: manipulating the odds
- Spinning the wheel
- Hot aggregate detection using F#
- Splitting hot aggregates
- Programmatically force create a new LocalDB database
- Print out the maximum depth of recursion allowed
- Read an Event Store stream as a sequence of slices using F#
- The road to Großglockner
- Northbound again
- Tolkien's inspiration
- Porsches and a setting that sells them
- Solomon, the architect
- Thinking No Computers
- Paper notes: A Study and Toolkit for Asynchronous Programming in C#
- Not about the UI and the database
- Eventual consistency in the Wild West
- NCrafts Eventstorming slides
- What if we stored events instead of state? - slides
- Glueing the browser and POS devices together
- Solving Mavericks with VMware Fusion 6 and Windows 8.1 hangs
- Rebinding a knockout view model
- Sending commands from a knockout.js view model
- Building a live dashboard with some knockout
- Tests as part of your code
- Alternatives to Udi's domain events
- Strategic DDD in a nutshell
- DDDBE slides on the Ubiquitous Language
- Reading an EventStore stream using JavaScript
- Thinking in Systems
- Repositories, where did we go wrong?
- new YearPassed(2013);
- Happiness before success
- Command and event semantics
2013 47
- 2013's most read posts
- Databases are growing on me
- Buildstuff 2013
- Book review: Antifragile
- Observations over assumptions
- Event storming workshop slides
- An event store with optimistic concurrency
- Event source all the things?
- Event projections
- An event store
- An event sourced aggregate
- My understanding of event sourcing
- CZ The Trilogy
- Actor Model in COBOL
- Slides from my talk on the Ubiquitous Language
- The first DDDBE Modellathon
- Inheritance is like Jenga
- But I already wrote it
- Eventual consistent domain events with RavenDB and IronMQ
- When your commands spell CUD
- The last cowboy
- The road goes on forever
- The long highway
- Stairway to heaven
- She said yes!
- Fireworks, Tequila and Silvertown Blues
- Multiplayer Enterprise Architect
- Not handling edge cases, making them explicit instead
- Angular.js and IE8 caching
- Accidental entities - what about the UI?
- Accidental entities - you don't need that identity
- Validating composite models with knockout validation
- IDDD Tour notes (2/2)
- IDDD Tour notes (1/2)
- Designing entities: immutability first
- Reading large files in chunks with proper encapsulation
- Putting my IronMQ experiment under stress
- Some experimental infrastructure for IronMQ pull
- First IronMQ impressions
- My Christmas holiday project postmortem
- Adding the R to CQS: some storage options
- Premature judgement
- Raising events in commandhandlers
- Organizing commands and queries
- RavenDB: Drop all collections
- Separating command data from logic and sending it on a bus
- Self-contained commands with dependencies
2012 48
- 2012 Annual Review
- 2012's most read posts
- It's not cake we are baking
- Some notes on performance tuning with NHibernate
- Released: Kill long meetings
- Commuting? Have you done the math?
- Post Web.NET Europe
- Slides and code from my Web.NET Europe REST and ASP.NET Web API session
- Commands with dependencies
- Commands, queries and testing
- Côte d'Opale
- On job titles
- The 7 R's of Hypermedia
- Slides and code from my Tunisia REST and ASP.NET Web API session
- Supporting the OPTIONS verb in ASP.NET Web API
- Is serialization really that expensive?
- My learning resources distilled
- Finito
- Milano
- The Floating City
- Ferrari red. Lamborghini yellow.
- Should I unit- or integration test my ASP.NET Web API services?
- HtmlHelper to generate a top-level menu for areas
- On crime and document stores
- Persisting model state when using PRG
- Making my first NancyFx test pass
- Book review: The Art of Agile Development
- The 'everyone should learn to code' dilemma
- The open plan fallacy testimonials
- Painless database logging with mongoDB
- The open plan fallacy
- Why I will always love RSS
- My InfoQ article on HTML5 offline web applications
- Some Servicelocator pattern stinks
- Visualizing the offline application cache update progress
- Check for local file browsing with JavaScript
- Add images to a GitHub readme
- How a web application can download and store over 2GB without you even knowing it
- Sent from my phone
- HTML5 Offline Web applications as an afterthought in ASP.NET MVC
- Learning: the Hacker Way
- ASP.NET MVC4 bundling in ASP.NET MVC3
- There's no place for monogamy in technology
- Book review: Working with NHibernate 3.0
- Testing DI bootstrappers
- A solar storm anecdote
- How Wikipedia uses HTML5 to save bandwidth
- Autocorrecting unknown actions using the Levenshtein distance
2011 43
- 2011 Annual Review
- 2011's most read posts
- When should you take performance into consideration?
- Rewriting an if
- Blame no one but yourself
- Programming for the future of mobile
- The gift of legacy
- Book review: The Art of Unit Testing
- A real developer knows when to pull the plug
- Comfortably numb
- Building small things
- Once upon a time in the West
- City of fallen angels
- Fear and loathing in Las Vegas
- Edge of eternity
- From Glen to Grand
- Rusty rocks
- Sands of Nevada
- Yosemite skyscrapers
- If you're going to San Francisco
- High Hopes
- Merge sorting in JavaScript
- My js data structures and algorithms now on GitHub
- Overoptimizing my JavaScript stack implementation for fun
- Stacks and queues in JavaScript
- Simple sorting in JavaScript
- Should we get this tool?
- Book review: More Joel on Software
- Checking for anonymous types
- My thoughts on WebMatrix
- arealdeveloper.com mentioned on Channel9
- arealdeveloper.com
- Prague impressions
- Anonymous type equality follow-up: Equals()
- Anonymous type equality
- Using C# keywords as variables
- It's not how good you are, it's how good you want to be
- Video, slides and source from my WebSockets talk
- Keeping WebSockets alive
- Why I still buy real books
- Book review: The Art of Non-Conformity
- Book review: Got Fight?
- Book review: Pro HTML5 Programming
2010 20
- Reviewing and renewing resolutions
- HTML5: Exception handling with the Geolocation API
- HTML5: The Geolocation API is scary (good)
- HTML5 selectors and jQuery
- HTML5: Drawing images to the canvas gotcha
- HTML5: More on selectors
- HTML5: New in the javascript Selector API
- Trip Report Denmark (Part 2)
- Trip Report Denmark (Part 1)
- Things good to know about SQL State Server
- Tripping in Holland. Honey, who shrunk Holland?
- Switching with non-constant cases in C#
- Handling the AggregateException
- Exception handling in batch operations with the AggregateException
- Trip Report Czech Republic
- Cannot Start Service from the command line or debugger. A Windows Service must first be installed (using installutil.exe)..
- Book review: Object-Oriented JavaScript
- Webforms lessons learned the hard way (Part 2)
- Webforms lessons learned the hard way (Part 1)
- Log4Net: log.Debug(String.Format()) versus log.DebugFormat()