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. Long, but pleasant drives; if you’re used to Belgian traffic. Yesterday we visited Capitol Reef National Park. We originally planned on doing the Hickman Bridge Trail, but apparently there had recently been a big rock fall, blocking access at the trailhead. As an alternative we did the Narrows trail at Grand Wash Road, which was carved by a stream ages ago and is now still sometimes victim to flashfloods. Afterwards, we followed the scenic route, which made us zigzag between big boulders, on- and off-road. ...

July 12, 2013 · 2 min · Jef Claes

Stairway to heaven

These last two days have been rather tiring. Yesterday we drove up to Bryce Canyon, where we did the Queen’s Garden and Navajo Loop hike, which was only 3 miles (5km) but was rather strenuous because the trail takes you all the way down and all the way up again. Today we followed the advice of the kind lady at the visitor center and hiked along Calfs Creek. It was a 6 miles (10km) round trip through loose sand in over 100°F (38°C), but halfway you’re rewarded with a stunningly beautiful waterfall and a refreshing dip in the basin. Driving up there, we got to witness the grandeur of the Utah plateau. When we finally got back to the air conditioned car, we made a detour to see the Grand Staircase – Escalante National Monument. ...

July 10, 2013 · 1 min · Jef Claes

She said yes!

Since our stay in Vegas was rather short, we selected some things we failed to do last time. For me, shooting a gun was definitely on that list. Although I’m not that big on gun culture - seems to me that if you live by the gun, you’re more likely to die by the gun - it’s still a thrill holding such a powerful weapon. We headed to Vegas’s most popular shooting range: The Gun Store. At the entrance, I got to pick a gun and a target to point it at. The heavy Desert Eagle became my weapon of choice to blow a zombie’s head off. Being guided to the shooting range by a professional, he ensured that I didn’t shoot my foot, and helped me land five headshots. ...

July 9, 2013 · 2 min · Jef Claes

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 Aquatica. Being the 4th of July, we joined the festivities and watched the fireworks from the car. Sadly we didn’t get to see a redo of last year’s spectacle, when San Diego accidentally launched all its fireworks in 30 seconds. Next we headed for Joshua Tree National Park. With temperatures flirting with 100°F (38°C), we took on one small hike and drove up to two viewpoints; Skull Rock and Key’s View. Driving through cities of the plain in the California desert, we stopped in Barstow for some Mexican food and Corona, to finally faceplant in our pillows. ...

July 7, 2013 · 1 min · Jef Claes

To Live & Die in L.A.

After exploring the USA’s West Coast two years ago, we felt like we had to pay a second visit to fill in some blanks. We left Antwerp Sunday 7AM to touch down 25 hours later in LAX, after an eight hour cross-Atlantic flight to Newark and a six hour overlay waiting for a connecting flight. We were welcomed by a rental car salesman who strongly advised us to upgrade to a bigger SUV which would give us tinted windows since it’s gonna be hot, you know. After politely blowing him off, we drove off to our first hotel. Arriving at an airport motel, we got to check off the clichés with a lost empty beer bottle in the room, and us playing ‘the stained carpet is lava’. ...

July 4, 2013 · 3 min · Jef Claes

Multiplayer Enterprise Architect

Hanging around in the pub after DDDX, I ended up talking to Alberto Brandolini. For those who have never met him; he’s very much into visualization. You will always see him carrying a drawing pad, with a dash of permanent marker on his cheek, and a few lost sticky notes on his back. I don’t know if it was the Italian accent and the strong gestures, or my mildly intoxicated condition, but the idea of visualization as an important tool grew on me even more that evening. ...

June 30, 2013 · 3 min · Jef Claes

Not handling edge cases, making them explicit instead

When I wrote about accidental entities earlier, we followed a consultant building software for a car rental company. In the meanwhile, he has finished implementing the registration of new cars. Next on the list is allowing customers to make a booking. We managed to get the CEO to set a whole hour apart to walk us over how the booking system should work. CEO: “I’m not sure this meeting is going to take a whole hour though. Making a booking is rather trivial. Do you have any idea on how a booking would work?” ...

June 23, 2013 · 5 min · Jef Claes

Angular.js and IE8 caching

Older Internet Explorer versions are notorious for agressively caching AJAX requests. In this post, you’ll find two techniques that combat this behaviour. The first option is to have your server explicitly set the caching headers. Response.Cache.SetExpires(DateTime.UtcNow.AddDays(-1)); Response.Cache.SetValidUntilExpires(false); Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetNoStore(); Since you don’t necessarily own the server, or clients might already have cached some requests, you can trick the browser into thinking each request is a fresh one by making each url unique. Our old pal jQuery already learned this trick years ago. Angular.js on the other hand seems to have forgotten. We can get around though. ...

June 9, 2013 · 2 min · Jef Claes

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”. In that post, we followed a consultant building an application for a car rental. One of the requirements was that the CEO could manage a collection of available colors. Although the tools at our disposal - a relational database and NHibernate - wanted to trick us into making a car reference one of these available colors by its identifier, we found out that the CEO really thinks of a car’s color as a value, and does not care about a color’s identity. This means that we didn’t make a car reference an available color, but we copied its value instead. This allows the CEO to remove available colors, without it having an impact on cars that already came in that color. ...

June 2, 2013 · 4 min · Jef Claes

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 renting cars to tourists, I might not care the least about the identity of the colors the cars came in. I just care about their value; Rosso Corsa, Azurro Metallic… If I repaint the car, the color changes, and the previous color is abandoned as a whole. However, if I were a car paint manufacturer, I would care a great deal about the identity of a color. My first action might be to make up a marketable name for the color, something that I can identify it with - a la Burnt Sienna or Iceberg Blue. The color might have a certain structure from the get-go, but I might experiment with the structure along the way, while I’m still referring to it as the same color. ...

May 26, 2013 · 8 min · Jef Claes