ADSD with AOA and Udi – Day 4

It has been four days since I slept.

I am hallucinating Authorities (aka Services), Bounded Contexts, or is that Business Components? Up is down, down is up. Everything is abstract. Everything is physical but different. Or not.

Today we moved at a much steadier clip through our materials. I was more alert by necessity, and there were fewer tangents, although still enough. There’ve been a few cases of not-really-questions-more-comments-to-try-and-impress, but far more frequent are in-depth tangents that feel like individuals trying to get some free consultin’ out of Udi.

It is of course hard not to bring your real-world scenarios into the learning experience, but there is a difference in the feel of a question motivated by not-quite-understanding and a question that is looking for a solution.

Today was actually surprisingly more concrete and nuts-and-bolts. Still provocative and even surprising in places though, but I wouldn’t have *that* any other way. Why yes, yes, let’s connect the javascript client straight to the database; and the case he made was surprisingly compelling all things considered.

I cannot quite tell how he felt about CQRS; the tone and body-language was somewhat dismissive, but he explained it with a level of nuance and determination at odds with that posture. He was definitely dismissive of Event Sourcing though. And we’re not allowed to use Udi Says for justification, but it was hard not to sympathize with his assessment of the limitations on its value.

He still reveals some things with a larger sense of mystery and caginess than I think is warranted, but at this point I’ve decided the showmanship is just getting the best of him.

And… I was so hopeful.

We got to 200 pages out of 250 around 4pm. I thought today was going to be an “early” one (i.e. 5:30pm for example), since I knew he had a further speaking gig in the evening, and surely he eats?

In the end he raced through to page 237 by about 7pm. I’d have said that bodes well for an early mark tomorrow, but I really have no idea what to believe anymore. I’m doing my best to stay focused and absorb everything throughout the day, but it is … so … hard.

One more day.

I can do this.

And then, hopefully, a more in-depth summary of what I got out of the experience.

The Answer Might Surprise You.

ADSD with SOAAOA and Udi – Day 3

Dear diary, today is day 12 of my 5-Day Training Course.

I would complain about the energy drain if not for the appreciation that Udi is investing so much of his time. Every day starts at 8:30, and goes well past 6 pm with very limited breaks. It’s a … marathon? (I hope?) We’re now 30 hours in with at least 20 more to go that I can tell, excluding further homework tomorrow.

I am a bit mystified why Udi uses the word “Service” so much when he clearly has a distaste for its nebulous definition and general appropriation. “Authority Oriented Architecture” sounds like a much better descriptor overall, even if Authority isn’t ideally unambiguous either.

IT managed to go through all the good words by the end of last century, re-defining them all into meaninglessness.

The pattern in Udi’s style is abundantly clear by now; cleverly selected examples without singular answers, and a well-honed skill at arguing, together make for a lot of head-scratching around the room. I am enjoying thinking around the provocative propositions he throws out there, but I cannot help but feel there’s a level of empty calories about the exercise.

There will be no technology advice anywhere along the way. That’s an implementation-detail that is case-specific and therefore not something he can (or will) give us. I think some in the class are still hoping/thinking we may end up there, but that’s not the direction this course is following.

There will also be no scientific underpinnings for the theories. De-composing architecture along the lines of his advice is a good thing, because. And by squinting just right I am convinced overall that’s true, but I wish I had something more concrete to hang that on. Case studies. Empirical evidence. A rigid mathematical proof (I can dream…), but that’s also not where this is heading.

It’s a very valuable exercise at stretching the mind, and learning new ways to approach architectural and design decisions though, and that’s not to be sneezed at.

Still no silver bullets, sadly.

ADSD with SOA and Udi – Day 2


Apparently I am back in school now; after a long day (8:30am – 6:30pm) I have a homework assignment for tomorrow. I had hoped to get some extra sleep tonight, but no luck.

UsingĀ Thing-Oriented-Architecture, I am modelling the service boundaries for a hotel booking system tonight. I probably will save some for on the train tomorrow morning, because I could barely keep awake today and if I don’t sleep well, tomorrow will be worse still.

As much as yesterday felt like the set-up for some grand unified theory on distributed design, after today it feels like there aren’t going to be any answers, just increasingly vague questions. And a lot of my own opinions. So maybe more than anything this is a course to help me figure out what I believe myself? With some rules-of-thumb thrown in?

So far the single most useful piece has been a helpful question to determine whether services are sitting in the right context together (or not). I can tell it’s going to get a big work-out in time.

And I’m looking forward to the suggested approach to pull information back together into a cohesive interface. I can kinda see where Udi’s leading, but it is still a little bewildering. This may be exacerbated by the fact that heĀ is clearly purposely constructing worst-case examples to push boundaries.

I’m hoping tomorrow brings more answers than new questions.

I’ll hold off on holding my breath.

ADSD with SOA and Udi – Day 1

I am learning this week.

Advanced Distributed Systems Design with Udi Dahan.

So far, I have acquired many new questions that I didn’t think I had need of, and I am hopeful that in another 4 days they will all have disappeared again whence they came. I am an optimist.

One thing missing from the copy of the slides we all got was the reference table for quick lookup of relative latencies in computers; it’s good to keep in mind how much slower memory is than the CPU, and how much slower an SSD is than memory, and network than SSD and reboots beat everything. I kinda feel an urge to start suffixing method names for nasty latency surprises to make it a bit more obvious.

As my mind wandered onto tangents, Conway’s Law took on a whole new dimension too. I wonder if software organisations should ever re-structure if there isn’t a need for software re-architecture.

I have so many provocative notes in my little booklet that I’m not sure how to turn into cohesive provocative statements. I’m also not sure which ones I actually believe yet, so maybe I will have a more nuanced view to filter them through towards the end of the week.

There are definitely things I disagree with, possibly strongly, but I haven’t given them as much thought as Udi, so I do not feel qualified to disagree overtly just yet.

First, I need to get through all these damned questions.

Birthday and Future Plans

I have had an unusually quiet birthday weekend this year. A close gathering on the Wednesday before the weekend at my favourite restaurant with a ridiculous sense of portions was the main focus. And yesterday on the day itself most everyone was unavailable for a variety of reasons.

There’ll be a proper un-birthday party at some unspecified later time when the house is in better shape for hosting and the weather is more hospitable to such an event. I still have to properly celebrate making it through 365 days of blogging as well after all.

My Presents will universally be similarly late because I yet had to choose them.

My parents transferred money, which included a birthday gift as well as one Euro for every day I blogged. I feel like that money should go to support future creative endeavours. Which is where my first wish comes in.

A first wish… Adobe products.

I have spoken about Premiere Pro before I think when I was considering video production as a possibility for something else to do. As it turns out, Adobe have gone completely SAAS. That doesn’t literally mean “insane”, but close enough. To use Adobe products you now have to pay a monthly fee for their software-as-a-service offering tied to the cloud.

I had a look at the options, and $10 a month gets me just one of their products. I really want Lightroom for photography, and Premiere Pro for video as well as After Effects at least I think… and possibly Photoshop. This requirement pushes me straight into the top-tier of their service offerings at $50 a month. And I don’t get to own the software for that.

So, I’ve looked into Adobe CS6, which was the last version they sold outright. It might not have the very latest features, but I think that version would sufficiently future-proof me for all my imminent needs without recurring payments.

A second wish… coffee.

I have to do some research into coffee machines next, because our mocha pot is not… in good shape. And for all these creative endeavours that I am planning I am going to need coffee to keep going. Although possibly decaf? I’m not sure how that balances out.

I’m considering something with pods that are sold locally because although these are expensive, they are also the laziest option. I’m very lazy about my coffee.

A third wish… Kindle.

And this wish will have to wait longer than the others, because the Paperwhite 3 has not been released yet. Any month now apparently. Rumours range from thinner, through higher resolution up to actually waterproof.

I can imagine so many uses *coughWet’n’Wildcough* for a waterproof Kindle.

Or maybe I could spend the evening reading in the shower.
With the light off.
The possibilities are endless.

A fourth wish… more time.

Okay, traditionally the last wish is supposed to be a wish for more wishes, but mostly I want more time. I have so many ideas and so little time for their execution.

I have started some creative writing; no idea where that is going to land exactly.
I want to start designing the layout for the kitchen to have ready-made plans once the bathroom is done.
I want to get out for photography more as the weather gets better again.

I also have several work-related projects that need some attention.
Continuous Improvement is such a drain on my personal life…
It’s gotta start saving time soon, right?

I may need to plan a holiday longer than a long weekend. Two days here or there are just not giving me enough room to get ahead. I think October/November will be my next longer break.

Enough rambling.
Time to do some more.

Day 280 – Quick Brown Fox

86 – The 100 Best Typefaces of All Time

I never really think too deeply about fonts. It’s an interesting enough topic, but there are only so many hours in the day and I have to draw the line somewhere.

Whenever I do think about fonts, type design strikes me as an oddly archaic or niche job. I know there are type designers out there, creating new fonts I write this… but call me a heretic; I think most if not all our everyday font needs are well and truly satisfied with what we have.

When I set up this blog I played around a bit with the font selections; I tried a few variants on the classics, I tried a few playful fonts, and I tried a few dreadful ones. But in the end, I always return to close-to-classic because it just works best.

It is very easy to get carried away with fonts. There is a siren-song about font selection that tempts me with infinite possibilities. It tries to make me forget about anything but fonts. It lures me into fonts-for-fonts sake thinking. And that’d be fine if the sole purpose of this blog were to showcase its design.

I don’t want my font choices to be a distraction from the writing, because… then what’s the point?


Helvetica (and Arial and Calibri) may feel “boring”, but that may not be a bad thing. The reason it might feel boring is because it’s everywhere. And it’s everywhere, because it works. Why wouldn’t you want to pick a font that works? Ignore the knee-jerk reaction, and stick with a nice boring classic unless you can articulate why you need something else.


Frutiger (and Corbel) looks familiar but hard to place. It’s a font that gets used on airport signs (and I believe some road signs) specifically because it is very easy to read at a glance for short fragments. Ideal for direction signs. This might also make it a perfect font for headings perhaps?


Garamond (and maybe Constantia) look a little old-fashioned, but nice regular and rounded. There is a lot of debate about whether serif or sans-serif is better for readability of body text, but since new studies continue to find for alternating sides in this debate it probably has more to do with familiarity with the font than whether it has little dangly bits.


Times (and Times New Roman and Cambria) are a more modern choice for serif-ed fonts. I personally would look at the serif/sans-serif as more of an issue for visual contrast than whether one is more legible than the other.


Bodoni feels a bit squished to me. Technically I believe this is closer to the definition of a “modern” font, but I could be mistaken. My mind associates it with headings in magazines that have a very high opinions of themselves and their design-cred. This is probably a bad sign. I’m unlikely to every use this myself.

If design and type interests you, I really recommend reading “The Non-Designer’s Design Book” by Robin Williams (no, not the actor). It is a very lucid and simple introduction to the rules of design.

And I’ll leave you with some Commandments…

Day 273 – Bad Design …

93 – 100 Best Designed Websites of 2012

… it could happen to anyone.
It could happen to you!

I feared the worst when I saw the words “Best Designed”.

About 60 of the linked sites are “okay” design.
About 20 of the linked sites are “good” design.
About 10 of the linked sites are “great” design.

And 10-or-so just plain stink for a variety of reasons.

Just like the physical Bunnings experience. Yes, everything is technically speaking there. Yes, theoretically all the aisles are marked and organised. And yet… when you are looking for something it is almost impossible to find anything. Too many damn options. Too little design.

Possibly a victim to the fallout of HeartBleed, but… expired SSL certificate. All modern browsers display warnings for this these days, so either don’t build something that needs HTTPS, or just make sure you stay on top of the damned certificate!

Aaaand we’re seemingly warped into the 70s? Such drab colours. Much bland. Wow! This design style makes me think of passable default templates, slightly mangled by an amateur trying to make it “their own”. With a fresher simpler colour scheme, it’d still be bland, but at least passable.

And it’s not just little sites that have bland down pat. Some kind of vampire seems to have sucked all the life right out of this page. It was probably a lawyer.

And eventually… all links die.

The Lesson

Not everyone can be a design-guru.
I most definitely am not; the design on this site is definitely not inspired.

But the trick is to know when you are not, be it for lack of time, or for lack of skill.

(sufficiently advanced ineptitude is indistinguishable from a rush-job)

Once you admit you have a problem, the answer is simple.

As in: keep-it.

When you are not a designer, stick with simple. Start from a solid design and make only minor tweaks (as I did here). Or build your own from the simplest of elements.

Keep variety to a minimum. One font, two at most. Only a few colours, and for the love of all that is beautiful, just use Kuler already to pick a set of well-matched colours.

Minimise distractions. Don’t put boxes and lines and dividers anywhere. Absence of things is the best natural divider. Space is your friend.

Focus. If the idea of adding space as dividers scares you. If it makes you worry about what’ll scroll of the bottom of the screen… Then you probably have too much on your page to begin with. Simplify, and try again.

There are many great books on design, which might be worth reading as well.
But even then, simple is always your best friend.

Link Triage – Serious Links

This is a few buckets mashed together for convenience.


Software Design

(Web) Design


Other Work-related