Jef Claes
On software and life
Home
All posts
Tags
Posts
12
Aug 2018
GES scavenging and the hidden cost of link events
Somewhere around a year ago, we started using [GES](https://eventstore.org/) in production as the primary data store of ...
01
May 2018
Amazon Redshift - Fundamentals
Late 2017, we set out to replace and upgrade our existing reporting and analytics infrastructure with something that wou...
03
Jan 2018
Consumed in 2017
Another year, another 17 books, 6 shows and 3 movies consumed. Here's this year's highlights. ## Books ### The Zen and...
15
Dec 2017
Passing the AWS Certified Solutions Architect exam
Before last week, the only certification exam I ever passed was the Microsoft .NET Framework Application Development Fou...
30
Jul 2017
Fast projections
Most EventStore client libraries allow you to subscribe to a stream by passing in a callback which is invoked when an e...
23
Jul 2017
From human decisions, to suggestions to automated decisions
I've been wanting to share this experience for a while, but it took me a while to come up with a story and example I cou...
13
Feb 2017
How to organize a meetup
I've organized a few [DDDBE](https://www.meetup.com/dddbelgium/) meetups in the past, and always succeed in forgetting s...
12
Feb 2017
Printing money - hacking loyalty points
At work, we've all grown quite vigilant when it comes to customers trying to cheat the system. A necessary trait when wo...
13
Jan 2017
Everyone has to serve somebody, but software has to serve more than one
When people get paid to write software, we very often find some form of friction between the people that build the softw...
27
Dec 2016
Consumed in 2016
I'm keeping the tradition alive, sharing how much I've consumed over the last year highlighting the things that stood ou...
18
Sep 2016
Commands and events with JustSaying and AWS
I've been looking into handing a bit of our messaging infrastructure over to a managed alternative. Managing your own me...
21
Aug 2016
My InfoQ interview on DDD, events and legacy
Seems that it's impossible to beat the Gaussian curve of blogging frequency. On the other hand, I spent quite some of my...
27
Apr 2016
Pieter Hintjens
Writing doesn't necessarily always come naturally to me. It often takes me days, weeks or even months of toying with an ...
24
Apr 2016
Using a batch layer for fast(er) aggregations
In the oldest system I'm maintaining right now, we have an account aggregate that, next to mutating various balances, pr...
17
Apr 2016
Notifications from an event log
User notifications are a feature that came as an afterthought, but turned out to be rather easy to implement - without t...
28
Mar 2016
Functional one-liner for running totals in C#
Visualizing some data earlier this week I had to compute the [running total](https://en.wikipedia.org/wiki/Running_total...
01
Jan 2016
Consumed in 2015
I started in [2014](http://www.jefclaes.be/2015/01/consumed-in-2014.html) to keep lists of everything I consume. I've co...
20
Dec 2015
Visualizing event streams
In my recent talk on [Evil by Design](http://www.jefclaes.be/2015/11/slides-from-my-talk-evil-by-design-at.html), I show...
18
Nov 2015
Slides from my talk "Evil by Design" at Build Stuff
Third time attending Build Stuff, first time doing a talk. I'm happy that it's out of the way and can now just enjoy the...
16
Nov 2015
Defining big wins
Casinos invest a lot of energy selling the dream. One way to do this is by showing off people winning big in your casino...
18
Oct 2015
Bulk SQL projections with F# and type providers
Early Summer, I had to set up an integration with an external partner. They required of us to daily provide them with a ...
11
Sep 2015
Aspect ratio calculation
Earlier today I was writing a migration script in F\# where I had to calculate the aspect ratio based on the given scree...
22
Jun 2015
Basic casino math
In a previous series of posts, I went over the models used by casinos to spin a wheel ([spinning](http://www.jefclaes.be...
24
May 2015
Consumed: Queries and projections (F#)
This is the third post in my series on porting a node.js application to an F\# application. So far, I've looked at ...
17
May 2015
Consumed: Handling commands (F#)
As [I wrote earlier](http://www.jefclaes.be/2015/04/parsing-command-line-arguments-with-f.html), I've been working on po...
26
Apr 2015
Finding unused code (F#)
Coming from C\#, I'm used to the compiler warning me about unused variables. Relying on the compiler to help me with [ch...
19
Apr 2015
Consumed: Parsing command line arguments (F#)
Last year, I set out to write my first node.js application; a small web application for keeping lists of [everything I c...
29
Mar 2015
Checked errors in F#
In the land of C\#, exceptions are king. [By definition](https://msdn.microsoft.com/en-us/library/ms173160(v=vs.80).aspx...
15
Mar 2015
Scaling promotion codes
In our system a backoffice user can issue a promotion code for users to redeem. Redeeming a promotion code, a user recei...
23
Feb 2015
Domain Language: The Playthrough Bonus
Since online gambling has been regulated in Belgium, basically each eligible license holder has complemented their land ...
15
Feb 2015
Side by side
This week marked my first year at my current employer. While that event went by rather silently, one year in, a few of m...
18
Jan 2015
Averages are not good enough (F#)
Let's (no pun intended) look at a set of response times of a web service. ```fsharp let responseTimes = [ 18.0; 21.0;...
11
Jan 2015
Consumed in 2014
Starting 2014, I wanted to look more closely at everything I consume. So I started keeping a list of everything I read, ...
28
Dec 2014
TDD as the crack cocaine of software
> The psychologist Mihaly Csikszentmihalyi popularized the term "flow" > to describe states of absorption in which atten...
14
Dec 2014
Spinning the wheel: clustering and near misses
The previous post showed a simple model casinos use to manipulate the odds. Instead of relying on the physical wheel for...
11
Dec 2014
Spinning the wheel: manipulating the odds
The previous post defined a basic set of data structures and functions to spin a wheel of fortune in F\#. There was...
09
Dec 2014
Spinning the wheel
In this post, I'll define a basic set of data structures and functions to spin a wheel of fortune. In the next post, I'l...
16
Nov 2014
Hot aggregate detection using F#
Last week, I wrote about [splitting a hot aggregate](http://www.jefclaes.be/2014/11/splitting-hot-aggregates.html). Disc...
09
Nov 2014
Splitting hot aggregates
When you visit a real casino, the constant busy-ness is overwhelming; players spamming buttons, pulling levers, spinning...
26
Oct 2014
Programmatically force create a new LocalDB database
I have spent the last week working in an integration test suite that seemed to be taking ages to run its first test. I r...
19
Oct 2014
Print out the maximum depth of recursion allowed
[Karl Seguin](https://twitter.com/karlseguin) tweeted the following earlier this week: "An interview question I sometime...
05
Oct 2014
Read an Event Store stream as a sequence of slices using F#
I'm slowly working on some ideas I've been playing around with whole Summer. Since that's taking me to unknown territory...
14
Sep 2014
The road to Großglockner
Sixteen days after leaving home, we're now on our way back to Antwerp. After Croatia, we've driven through Slovenia, Ita...
10
Sep 2014
Northbound again
[Leaving Plitvice behind us](http://www.jefclaes.be/2014/09/tolkiens-inspiration.html), we crossed the country heading f...
07
Sep 2014
Tolkien's inspiration
The next morning we woke up to another rainy day. We caught up with the rain in Austria and we have been following it ev...
02
Sep 2014
Porsches and a setting that sells them
With the Belgian 'Summer' ending, we are exploring South Eastern Europe. This trip will take us through Germany, Austria...
26
Aug 2014
Solomon, the architect
Two junior developers who started working for the company at the same time, had been quite competitive with each other f...
19
Aug 2014
Thinking No Computers
The other day I happened to see a curious exchange in one of our businesses. The cashier swapped a torn, but carefully r...
08
Jun 2014
Paper notes: A Study and Toolkit for Asynchronous Programming in C#
The .NET framework mainly provides two models for asynchronous programming: (1) the Asynchronous Programming Model (APM)...
01
Jun 2014
Not about the UI and the database
When you ask an outsider which components an average application consists of, he will most likely be able to identify th...
25
May 2014
Eventual consistency in the Wild West
San Francisco, 1852. With the California Gold Rush at its peak, successful gold-seekers wanted to protect all their prec...
16
May 2014
NCrafts Eventstorming slides
Me and [Tom](https://twitter.com/tojans) just finished doing our Event storming workshop at [NCrafts Paris](http://ncraf...
12
May 2014
What if we stored events instead of state? - slides
I just returned from Croatia, where I got to speak twice at the second edition of [The Geek Gathering](http://2014.thege...
04
May 2014
Glueing the browser and POS devices together
I have been occupied building a modest Point of Sale system over these last few weeks. Looking at implementing the clien...
21
Apr 2014
Solving Mavericks with VMware Fusion 6 and Windows 8.1 hangs
Since I intended to avoid Windows at home, I got a Macbook Pro starting out at my new job. Overall it has been a great m...
06
Apr 2014
Rebinding a knockout view model
As you might have noticed reading my last two posts, I have been doing a bit of front-end work using [knockout.js](http:...
23
Mar 2014
Sending commands from a knockout.js view model
While I got to use [angular.js](http://angularjs.org/) for a good while last year, I found myself returning to [knockout...
16
Mar 2014
Building a live dashboard with some knockout
Last week, we added a dashboard to our back office application that shows some actionable data about what's going on in ...
09
Mar 2014
Tests as part of your code
In the last project I worked on - processing financial batches - we put a lot of effort in avoiding being silently wrong...
02
Mar 2014
Alternatives to Udi's domain events
Almost four years ago [Udi Dahan introduced an elegant technique](http://www.udidahan.com/2009/06/14/domain-events-salva...
23
Feb 2014
Strategic DDD in a nutshell
There are two big parts to Domain Driven Design; strategy and tactics. Strategy helps setting out a high-level grand des...
16
Feb 2014
DDDBE slides on the Ubiquitous Language
Monday, I and four others did a [DDDBE](http://domaindriven.be/) session on the strategic side of Domain Driven Design. ...
09
Feb 2014
Reading an EventStore stream using JavaScript
Over Christmas break, I set out three days to play with the [EventStore](http://geteventstore.com/). One of the things I...
02
Feb 2014
Thinking in Systems
We are surrounded by systems day in, day out. As software developers, we even get to spend a big portion of our day acti...
26
Jan 2014
Repositories, where did we go wrong?
In essence, repositories are a simple abstraction over aggregate storage. A repository will insert, update, delete or fe...
19
Jan 2014
new YearPassed(2013);
I normally write this up at the end of the year, but circumstances made me push back this post for a few weeks. I use th...
12
Jan 2014
Happiness before success
Somewhere in the beginning of last century, two shoes salesmen were sent to Africa hoping to expand their employer's mar...
05
Jan 2014
Command and event semantics
Yesterday, I read [this blog post by Michael Feathers](https://michaelfeathers.silvrback.com/when-it-s-okay-for-a-method...
29
Dec 2013
2013's most read posts
This time of year, we're all very busy honoring traditions. This post is no exception ([2009](http://www.jefclaes.be/200...
22
Dec 2013
Databases are growing on me
I learned all about logical design of relational databases back in school; tables, columns, data types, views, normaliza...
15
Dec 2013
Buildstuff 2013
Last night, I returned from Vilnius, after seven intensive days of [Buildstuff](http://buildstuff.lt/). After a few long...
08
Dec 2013
Book review: Antifragile
When things are fragile, they break easily. We often see fragility as a bad thing and design things to be robust. But th...
24
Nov 2013
Observations over assumptions
> I heard a story once about an engineer who worked on the Disneyland > site when it opened in Anaheim, CA in 1955. > ...
17
Nov 2013
Event storming workshop slides
At [Euricom](http://euri.com/), we quarterly all retreat to headquarters for a day of sharing and learning. This time, I...
10
Nov 2013
An event store with optimistic concurrency
Like I mentioned [last week](http://www.jefclaes.be/2013/11/event-source-all-things.html) - after only five posts on the...
03
Nov 2013
Event source all the things?
Having covered [projections](http://www.jefclaes.be/2013/10/event-projections.html) last week, I think I have come full ...
27
Oct 2013
Event projections
In my first two posts on event sourcing, I implemented [an event sourced aggregate from scratch](http://www.jefclaes.be/...
20
Oct 2013
An event store
Last week, I implemented [an event sourced aggregate from scratch](http://www.jefclaes.be/2013/10/an-event-sourced-aggre...
13
Oct 2013
An event sourced aggregate
Last week I shared [my theoretical understanding of event sourcing](http://www.jefclaes.be/2013/10/my-understanding-of-e...
06
Oct 2013
My understanding of event sourcing
I've been studying event sourcing from a distance for little over a year now; reading online material and going through ...
29
Sep 2013
CZ The Trilogy
Over the weekend, we visited the Czech Republic for the third time ([one](http://www.jefclaes.be/2010/04/trip-report-cze...
22
Sep 2013
Actor Model in COBOL
In an Actor system, each Actor acts as a self-contained and autonomous component. An Actor can only communicate with oth...
15
Sep 2013
Slides from my talk on the Ubiquitous Language
I just returned from our yearly [Euricom](http://euri.com/) retreat. This year, all forty of us got to spend four days i...
06
Sep 2013
The first DDDBE Modellathon
On our way back from DDD Exchange, heavily influenced by yet another immersive DDD experience, we searched for ways to k...
25
Aug 2013
Inheritance is like Jenga
These last few days, I have been working on a piece of our codebase that accidentally got very inheritance heavy. W...
18
Aug 2013
But I already wrote it
A few weeks ago, we set out to implement a feature that enabled back office users to set a new rate ahead of time. With ...
15
Aug 2013
Eventual consistent domain events with RavenDB and IronMQ
Working on side projects, I often find myself using [RavenDB](http://ravendb.net/) for storage and [IronMQ](http://www.i...
04
Aug 2013
When your commands spell CUD
A good while ago, I blogged on commands (and queries). After exploring various flavors, I eventually settled on this one...
16
Jul 2013
The last cowboy
After seventeen days, 2000 miles (3220km), seven states, eight national parks and fifteen motels, our [second](http://ww...
15
Jul 2013
The road goes on forever
We didn’t get to see a lot of Salt Lake City. Before heading to Idaho Falls, we hung around at the mall, feasted on Sush...
12
Jul 2013
The long highway
We’re past halfway our trip and we need to make headway if we want to stay on schedule and reach Yellowstone by Sunday. ...
10
Jul 2013
Stairway to heaven
These last two days have been rather tiring. Yesterday we drove up to [Bryce Canyon](https://en.wikipedia.org/wiki/Bryce...
09
Jul 2013
She said yes!
Since our stay in Vegas was rather short, we selected some things [we failed to do last time](http://www.jefclaes.be/201...
07
Jul 2013
Fireworks, Tequila and Silvertown Blues
After a strenuous drive from Los Angeles to San Diego, we took advantage of the mild climate to unwind at San Diego’s [A...
04
Jul 2013
To Live & Die in L.A.
After exploring the USA’s West Coast [two years ago](http://www.jefclaes.be/2011/09/once-upon-time-in-west.html), we fel...
30
Jun 2013
Multiplayer Enterprise Architect
Hanging around in the pub after DDDX, I ended up talking to [Alberto Brandolini](https://twitter.com/ziobrando). For tho...
23
Jun 2013
Not handling edge cases, making them explicit instead
When I wrote about [accidental entities](http://www.jefclaes.be/2013/06/accidental-entities-what-about-ui.html) earlier,...
09
Jun 2013
Angular.js and IE8 caching
Older Internet Explorer versions are notorious for agressively caching AJAX requests. In this post, you'll find two tech...
02
Jun 2013
Accidental entities - what about the UI?
This post is a follow-up to my previous blog post "[Accidental entities - you don't need that identity](http://www.jefcl...
26
May 2013
Accidental entities - you don't need that identity
An entity is identified by an identifier, while value objects are identified by their value. If I make a living ren...
20
May 2013
Validating composite models with knockout validation
When you use [knockout validation](https://github.com/Knockout-Contrib/Knockout-Validation) to extend observables with v...
12
May 2013
IDDD Tour notes (2/2)
This is the second and last part of my notes I scribbled down attending the IDDD Tour. [The first part](http://www.jefcl...
05
May 2013
IDDD Tour notes (1/2)
Two weeks ago I got to spend four days attending the [IDDD Tour](http://idddtour.com/) by [Vaughn Vernon](https://twitte...
07
Apr 2013
Designing entities: immutability first
The first year I wrote software for a living I spent my days mostly writing forms over data applications; most of my eff...
24
Mar 2013
Reading large files in chunks with proper encapsulation
I've been doing some work lately which involves sequentially reading large files (> 2 to 5GB). This entails that it's...
17
Mar 2013
Putting my IronMQ experiment under stress
Two weeks ago, [I shared my first impressions of IronMQ](http://www.jefclaes.be/2013/03/first-ironmq-impressions.html). ...
10
Mar 2013
Some experimental infrastructure for IronMQ pull
I wrote about using [IronMQ as a cloud-based message queue](http://www.jefclaes.be/2013/03/first-ironmq-impressions.html...
03
Mar 2013
First IronMQ impressions
First time I touched messaging was in the first few years of my professional life working on software that supported fir...
24
Feb 2013
My Christmas holiday project postmortem
Somewhere over a year and a half ago I discovered the music of Dire Straits, which has sparked a fanatical love and fasc...
17
Feb 2013
Adding the R to CQS: some storage options
I've been writing [quite a bit](http://www.jefclaes.be/2013/01/separating-command-data-from-logic-and.html) about [CQS](...
10
Feb 2013
Premature judgement
When I started my first job, I hardly ever judged my peers. After all, how could I? Everything was unknown for me; I cou...
03
Feb 2013
Raising events in commandhandlers
I've explored quite a few options on how to handle commands and queries in the last few posts. I finally settled on [thi...
27
Jan 2013
Organizing commands and queries
In the last few posts I settled on an architecture for handling commands and queries. A byproduct of [the described appr...
24
Jan 2013
RavenDB: Drop all collections
I never stub or mock the database when I'm using [RavenDB](http://ravendb.net/). Generally, I use an embeddable document...
20
Jan 2013
Separating command data from logic and sending it on a bus
In [my first post on this topic](http://www.jefclaes.be/2012/10/commands-queries-and-testing.html), I started out with a...
13
Jan 2013
Self-contained commands with dependencies
*Also read: [separating command data from logic and sending it on a bus](http://www.jefclaes.be/2013/01/separating-comma...
31
Dec 2012
2012 Annual Review
It's that time of the year again where I take some time to look back on the year passed and peek at the year ahead. This...
23
Dec 2012
2012's most read posts
I look forward to writing this post each year; it's by far the easiest one to write, and it provides me with an occasion...
09
Dec 2012
It's not cake we are baking
I recently watched a talk on Vimeo where [Christin Gorman](https://twitter.com/ChristinGorman) talks about how cookie do...
02
Dec 2012
Some notes on performance tuning with NHibernate
A few weeks back, I spent an intensive day performance tuning parts of a, to me, relatively unfamiliar part of our codeb...
25
Nov 2012
Released: Kill long meetings
A lot has already been said and written about meetings, and some have carried the message above par; ['Meetings: where w...
04
Nov 2012
Commuting? Have you done the math?
On my first job interview, over four years ago, I was asked whether I would relocate if I was hired. Back then, I still ...
22
Oct 2012
Post Web.NET Europe
I attended and [spoke](http://www.jefclaes.be/2012/10/slides-and-code-from-my-webnet-europe.html) at [Web.NET Europe in ...
21
Oct 2012
Slides and code from my Web.NET Europe REST and ASP.NET Web API session
I just returned to the hotel after attending and speaking at [Web.NET Europe 2012](http://webnetconf.eu/). There were mu...
15
Oct 2012
Commands with dependencies
*Also read: [Separating command data from logic and sending it on a bus](http://www.jefclaes.be/2013/01/separating-comma...
14
Oct 2012
Commands, queries and testing
*Also read:* 1. [*Self-contained commands with dependencies*](http://www.jefclaes.be/2013/01/self-contained-commands-w...
08
Oct 2012
Côte d'Opale
The girlfriend, me and another couple, returned from a short weekend at the [French Opal Coast](http://en.wikipedia.org/...
07
Oct 2012
On job titles
It didn't take long before I noticed how little job titles mean. In my first job, you were assured to be granted [a fanc...
17
Sep 2012
The 7 R's of Hypermedia
While most [REST concepts](http://www.jefclaes.be/2012/09/slides-and-code-from-my-tunisia-rest.html) are rather easy to ...
13
Sep 2012
Slides and code from my Tunisia REST and ASP.NET Web API session
I just returned from a four day trip to Tunisia with [Euricom](http://www.euri.com/). Next to indulging on the sun, food...
02
Sep 2012
Supporting the OPTIONS verb in ASP.NET Web API
[ASP.NET Web API](http://www.asp.net/web-api) controllers support only four HTTP verbs by convention: GET, PUT, POST and...
22
Aug 2012
Is serialization really that expensive?
While wading through an exotic codebase, I stumbled upon a static class named Convert. This class contained somewhere a...
19
Aug 2012
My learning resources distilled
I have picked up a few new tools this summer ([MongoDB](http://www.mongodb.org/), [NancyFx](http://nancyfx.org/) and [We...
30
Jul 2012
Finito
With this last post, our trip to Italy has come to an end. We have spent these last few days practicing several indispen...
27
Jul 2012
Milano
After [Venice on Wednesday](http://www.jefclaes.be/2012/07/the-floating-city.html), we decided to stay in Torbole for a ...
26
Jul 2012
The Floating City
Yesterday we cruised along the eastern coastline of [Lake Garda](http://en.wikipedia.org/wiki/Lake_Garda). Plan A was to...
24
Jul 2012
Ferrari red. Lamborghini yellow.
After 14 hours and 34 minutes in the car, driving 1148km, over the German autobahn, swerving Austrian roads, and the Ita...
15
Jul 2012
Should I unit- or integration test my ASP.NET Web API services?
Over the last two weeks, preparing for a talk, I have been doing some research on [ASP.NET Web API](http://www.asp.net/w...
08
Jul 2012
HtmlHelper to generate a top-level menu for areas
Last week, we had to set up a new ASP.NET MVC web application, using a somewhat customized [Twitter Bootstrap](http://tw...
01
Jul 2012
On crime and document stores
Having worked with several storage paradigms over these last few months - from flatfiles, to NoSQL, to the big enterpri...
17
Jun 2012
Persisting model state when using PRG
I've been working on an ASP.NET MVC application in which we frequently apply the [Post/Redirect/Get pattern](http://en.w...
11
Jun 2012
Making my first NancyFx test pass
Like I already said last week, I have been dabbling a bit with [NancyFx](http://nancyfx.org/) lately. This week I t...
10
Jun 2012
Book review: The Art of Agile Development
While I have - obviously - read the [Agile Manifesto](http://agilemanifesto.org/) before, and regularly click through to...
03
Jun 2012
The 'everyone should learn to code' dilemma
Back when I was working on software for fire departments, we started thinking about reworking a critical piece of our so...
27
May 2012
The open plan fallacy testimonials
I wrote an article titled '[The open plan fallacy](http://www.jefclaes.be/2012/05/open-plan-fallacy.html)' just two week...
20
May 2012
Painless database logging with mongoDB
While browsing the source code of the [ELMAH mongoDB provider](https://github.com/CaptainCodeman/elmah-mongodb), I learn...
13
May 2012
The open plan fallacy
I haven't worked in a whole lot of places, somewhere around four, but every single one of them used an [open plan](http:...
06
May 2012
Why I will always love RSS
There has been a lot of noise in the tech community earlier this year about how RSS is supposedly having one foot in the...
02
May 2012
My InfoQ article on HTML5 offline web applications
After writing [a](http://www.jefclaes.be/2012/04/visualizing-offline-application-cache.html) [few](http://www.jefclaes.b...
17
Apr 2012
Some Servicelocator pattern stinks
I have been working on a somewhat legacy codebase which makes use of the [Servicelocator pattern](http://martinfowler.co...
11
Apr 2012
Visualizing the offline application cache update progress
I wrote about using the HTML5 application cache [earlier](http://jclaes.blogspot.com/2012/03/html5-offline-web-applicati...
02
Apr 2012
Check for local file browsing with JavaScript
Because I do most of my research while commuting by train, I often pull entire websites offline using [httrack](http://w...
01
Apr 2012
Add images to a GitHub readme
Today I wanted to add some screenshots to a GitHub readme for the sake of documenting. While this wasn't particularly ha...
25
Mar 2012
How a web application can download and store over 2GB without you even knowing it
I have been experimenting with the [HTML5 offline application cache](http://www.w3.org/TR/html5/offline.html) some more ...
17
Mar 2012
Sent from my phone
According to [Matt from 37signals](http://37signals.com/svn/posts/2500-lets-be-honest-sent-from-my) the line "Sent from ...
14
Mar 2012
HTML5 Offline Web applications as an afterthought in ASP.NET MVC
Recently I prototyped a mobile web application using ASP.NET MVC, [jQuery Mobile](http://jquerymobile.com/) and some HTM...
11
Mar 2012
Learning: the Hacker Way
I have had a fair amount of discussions on continuous learning and knowledge sharing the past few days. It became rather...
25
Feb 2012
ASP.NET MVC4 bundling in ASP.NET MVC3
One of the new wildly evangelized features of [ASP.NET MVC4](http://www.asp.net/mvc/mvc4) is the [built-in support for b...
20
Feb 2012
There's no place for monogamy in technology
In this post I would like to share some of my thoughts on a [recent post by James Hague](http://prog21.dadgum.com/128.ht...
08
Feb 2012
Book review: Working with NHibernate 3.0
It's been a while since I wrote my last book review, mostly because I'm still trying to figure out when it adds value to...
06
Feb 2012
Testing DI bootstrappers
While your [Dependency Injection](http://martinfowler.com/articles/injection.html) bootstrappers - being responsible for...
01
Feb 2012
A solar storm anecdote
Last week, several news channels reported on the strongest [solar storm](http://en.wikipedia.org/wiki/Solar_flare) since...
19
Jan 2012
How Wikipedia uses HTML5 to save bandwidth
Something I hadn't noticed until recently is that Wikipedia tries to use the browser's native [SVG](http://www.w3.org/TR...
15
Jan 2012
Autocorrecting unknown actions using the Levenshtein distance
This weekend I prototyped an idea I had earlier this week: autocorrecting unknown actions in ASP.NET MVC. ### Handl...
26
Dec 2011
2011 Annual Review
Since the end of the year is approaching, I would like to look back on 2011 and take a peek at 2012. Unlike the years be...
17
Dec 2011
2011's most read posts
I compiled a list of most popular posts that were published on this blog in 2011. Unlike [last year](https://jefclaes.be...
27
Nov 2011
When should you take performance into consideration?
Before publishing [my previous post on rewriting an if](https://jefclaes.be/2011/11/rewriting-if.html), I knew some peop...
24
Nov 2011
Rewriting an if
Yesterday I came across an if statement that looked something like this. ```csharp if (arg == "a" || arg == "b"...
23
Nov 2011
Blame no one but yourself
Blame no one but yourself. This is one of the few quotes I remember months after reading [this book](https://jefclaes.be...
20
Nov 2011
Daydreaming about jQuery Mobile and the WebAPI
I recently blogged about [programming for the future of mobile](https://jefclaes.be/2011/11/programming-for-future-of-mo...
09
Nov 2011
Programming for the future of mobile
I have been working on something small on the side lately. I hardly have anything to show for it though, most of it is s...
30
Oct 2011
The gift of legacy
Just after graduating, I hated legacy with the heat of a thousand suns. I felt unfortunate, having to work on old code, ...
06
Oct 2011
Book review: The Art of Unit Testing
I think [The Art of Unit Testing](http://www.amazon.com/gp/product/1933988274/ref=as_li_tf_tl?ie=UTF8&tag=diofanedebyje-...
29
Sep 2011
A real developer knows when to pull the plug
My mini-website [arealdeveloper.com](#) will no longer be available online after tomorrow. I slapped it together ov...
21
Sep 2011
Comfortably numb
Something that can bother me tremendously is being surrounded by people who are in a constant state of being [comfortabl...
18
Sep 2011
Building small things
Due to the nature of things we build in our day to day job, writing software can wear out even the most fit of us. ...
17
Sep 2011
Once upon a time in the West
The girlfriend and I returned from our [West Coast roadtrip](https://jefclaes.be/2011/08/west-coast-road-trip-schedule.h...
13
Sep 2011
City of fallen angels
After seeing the celebrities at Madame Tussaud's in [Las Vegas](https://jefclaes.be/2011/09/fear-and-loathing-in-las-veg...
11
Sep 2011
Fear and loathing in Las Vegas
Driving back into the desert after [our breakfast](http://www.youtube.com/watch?v=5GHczEmd11E), with Las Vegas in the re...
07
Sep 2011
Edge of eternity
We all know the Grand Canyon as one of [the seven natural wonders of the world](http://en.wikipedia.org/wiki/Wonders_of_...
06
Sep 2011
From Glen to Grand
Yesterday, we drove from Saint-George to Page, Arizona. The [Pipe Springs National Monument](http://en.wikipedia.org/wik...
04
Sep 2011
Rusty rocks
We started the day with a short drive to [Zion National Park](http://en.wikipedia.org/wiki/Zion_National_Park). On our w...
03
Sep 2011
Sands of Nevada
Yesterday evening we spent the night in a town called [Tonopah](http://en.wikipedia.org/wiki/Tonopah,_Nevada), which is ...
02
Sep 2011
Yosemite skyscrapers
[![](/post/images/thumbnails/2011-09-02-yosemite-skyscrapers-Yosemite_0166.png)](/post/images/2011-09-02-yosemite-skyscr...
31
Aug 2011
If you're going to San Francisco
While I'm writing this, the girlfriend and I are on our way from San Francisco to [Yosemite National Park](http://en.wik...
08
Aug 2011
High Hopes
Last week, I resigned from my job at [Ferranti Computer Systems](http://www.ferranti.be/). Three years ago, days after r...
26
Jul 2011
Merge sorting in JavaScript
The latest addition to my [data structures and algorithms in JavaScript](https://github.com/JefClaes Data-structures-and...
23
Jul 2011
My js data structures and algorithms now on GitHub
If you have been reading my blog lately, you know that I'm implementing some data structures and algorithms in JavaScrip...
18
Jul 2011
Overoptimizing my JavaScript stack implementation for fun
[Davy Brion](http://davybrion.com/blog/) made a comment on [my JavaScript stack/queue implementation](https://jefclaes.b...
12
Jul 2011
Stacks and queues in JavaScript
The second assignment in my 'implementing data structures and algorithms in JavaScript' quest consists of two popular da...
07
Jul 2011
Simple sorting in JavaScript
About three years ago I graduated and got my degree in Applied Computer Science. Although it says Computer Science, we h...
15
Jun 2011
Should we get this tool?
This is a decision that often needs to be made by middle management. For managers the most natural way to make this call...
07
Jun 2011
Book review: More Joel on Software
I was lucky to pick up a copy of [More Joel on Software](http://www.amazon.com/gp/product/1430209879/ref=as_li_tf_tl?ie=...
21
May 2011
Checking for anonymous types
Because I blogged about anonymous types [last month](https://jefclaes.be/2011/04/anonymous-type-equality-follow-up.html)...
09
May 2011
My thoughts on WebMatrix
After building [arealdeveloper.com](https://jefclaes.be/2011/04/arealdevelopercom.html), I felt like I had to do a follo...
02
May 2011
arealdeveloper.com mentioned on Channel9
While nosing around in the [arealdeveloper.com](#) analytics, I saw a bunch of traffic coming from [Channel9](http://cha...
26
Apr 2011
arealdeveloper.com
[A Real Developer](#) is a side-project I built over the weekend poking around with [WebMatrix](http://www.asp.net/webma...
24
Apr 2011
Prague impressions
[Last year](https://jefclaes.be/2010/04/trip-report-czech-republic.html) my girlfriend and I already made a trip to the ...
24
Apr 2011
Anonymous type equality follow-up: Equals()
After publishing [yesterday's post on anonymous type equality](https://jefclaes.be/2011/04/anonymous-type-equality.html)...
23
Apr 2011
Anonymous type equality
Let's say you instantiate two variables (a and b) using [anonymous types](http://msdn.microsoft.com/en-us/library/bb3976...
11
Apr 2011
Using C# keywords as variables
Hold it, don't shoot me. I know this would be an awful practice, but it is an interesting C\# compiler quirk nonetheless...
10
Apr 2011
It's not how good you are, it's how good you want to be
This Christmas, my girlfriend and I got this little book called [It's not how good you are, it's how good you want to be...
07
Apr 2011
Video, slides and source from my WebSockets talk
Yesterday, I gave a talk on WebSockets at HTML5 WebCamps Belgium. > **WebSockets on Fire** > > While the WebSo...
12
Mar 2011
Keeping WebSockets alive
The problem with using stateful connections on an imperfect place as the internet is that connections might drop. The se...
01
Feb 2011
Why I still buy real books
As a technology geek, it should be hard to keep ignoring the latest generation of eReaders (read: [the Kindle](http://ww...
22
Jan 2011
Book review: The Art of Non-Conformity
The book [The Art of Non-Conformity: Set Your Own Rules, Live the Life You Want, and Change the World](http://www.amazon...
15
Jan 2011
Book review: Got Fight?
I rarely review books with non-technical content here, but I just felt like I had to with this one. The book [Got F...
06
Jan 2011
Book review: Pro HTML5 Programming
The [Apress](http://apress.com/) book [Pro HTML5 Programming](http://www.amazon.com/gp/product/1430227907?ie=UTF8&tag=di...
29
Dec 2010
Reviewing and renewing resolutions
### My career I'm still working on the same projects as I was last year: Firestation Antwerp and Ghent. This year w...
26
Dec 2010
HTML5: Exception handling with the Geolocation API
In [my previous post](https://jefclaes.be/2010/12/html5-geolocation-api-is-scary-good.html) on the [Geolocation API](htt...
19
Dec 2010
HTML5: The Geolocation API is scary (good)
I read about the [HTML5 Geolocation API](http://dev.w3.org/geo/api/spec-source.html) in the [Pro HTML5 Programming](http...
12
Dec 2010
HTML5 selectors and jQuery
In [my first post on the HTML5 javascript Selector API](https://jefclaes.be/2010/11/html5-new-in-javascript-selector-api...
05
Dec 2010
HTML5: Drawing images to the canvas gotcha
While I was playing with the [Canvas API](http://www.w3.org/TR/html5/the-canvas-element.html) I came across a weird issu...
05
Dec 2010
HTML5: More on selectors
[Last weekend I blogged](https://jefclaes.be/2010/11/html5-new-in-javascript-selector-api.html) on new addittions to the...
29
Nov 2010
HTML5: New in the javascript Selector API
Because I finally got the MCTS 70-536 certification out of the way, I can start experimenting with some fun stuff again....
14
Oct 2010
Trip Report Denmark (Part 2)
If you missed the first part of this trip report, you can find it [here](https://jefclaes.be/2010/10/trip-report-denmark...
13
Oct 2010
Trip Report Denmark (Part 1)
Last month me and my girlfriend went on a holiday to [Denmark](http://en.wikipedia.org/wiki/Denmark) for a week. We had ...
23
Sep 2010
Things good to know about SQL State Server
While installing a [SQL State Server](http://msdn.microsoft.com/en-us/library/ms178586.aspx) last week, I came across a ...
21
Jul 2010
Tripping in Holland. Honey, who shrunk Holland?
People who [follow me on Twitter](http://twitter.com/JefClaes) might have seen my tweets about going on a weekend to Hol...
14
Jul 2010
Switching with non-constant cases in C#
Last week I came across a scenario where I wanted to switch over non-constants (aka variables), but while I was compilin...
23
May 2010
Handling the AggregateException
Last week I showed you how you can use the `AggregateException` to apply consistent exception handling in batch operatio...
15
May 2010
Exception handling in batch operations with the AggregateException
Doing batch operations and elegantly handling exceptions is a problem which every developer has faced before. In .NET 3....
12
Apr 2010
Trip Report Czech Republic
Last week my girlfriend and I went on a short holiday to the city of [Plzeň](http://en.wikipedia.org/wiki/Plze%C5%88) in...
13
Mar 2010
Cannot Start Service from the command line or debugger. A Windows Service must first be installed (using installutil.exe)..
When you create a new Windows Service project and try to debug it, Visual Studio will show you a Windows Service Start F...
22
Feb 2010
Book review: Object-Oriented JavaScript
Although I've made my feet wet with various JavaScript frameworks, I am not a JavaScript hero at all. This might be one ...
15
Feb 2010
Webforms lessons learned the hard way (Part 2)
If you missed part 1, you can find it [here](https://jefclaes.be/2010/02/webforms-lessons-learned-hard-way-part.html). ...
14
Feb 2010
Webforms lessons learned the hard way (Part 1)
I've been spending a lot of my days in Webforms the last two years. In this post I want to share some best practices I'v...
20
Jan 2010
Log4Net: log.Debug(String.Format()) versus log.DebugFormat()
[Log4net](http://logging.apache.org/log4net/index.html) is one of the most popular opensource logging frameworks availab...
21
Dec 2009
Looking back, moving forward (New years post)
In this post I'm going to reflect on the year that's almost finished and the year to come. I came up with a few top...
05
Dec 2009
Response.RedirectPermanent in .NET 3.5 and older
One of the new features in ASP.NET 4.0 is permanently redirecting to a page using [Response.RedirectPermanent](http://ms...
17
Nov 2009
Book review: Professional Refactoring in C# & ASP.NET
Three months ago I was looking up to refactoring a legacy ASP.NET Webforms application. Although I was familiar with ref...
09
Nov 2009
My trip to Madrid in ten pictures
Last week I went to Madrid with my family-in-law to visit my girlfriend's brother and cousin. Although our stay the...
23
Aug 2009
Why code reviews should be a team thing
Often code reviews are done by one person, the technical lead of your team. In my opinion it's better to make each ...
15
Feb 2009
Stored Procedures: Make them or break them
I've been thinking about the use of stored procedures lately. Some questions that popped up in my head: What are th...