Sami Ben Grine's home site

A place to share thoughts

Software architecture

I often come across the topic of software architecture when I speak with experienced software developers. I also see some fairly junior developers who label themselves software architects. While there are certainly people who are more inclined than others to do very well in software architecture, it’s a field that can be best approached with a lot of experience writing code.

Read More


Junior developers don’t put comments inside their code, but don’t apply SOLID principles to their code. The code is brittle.

Read More


As software engineer, I obviously spend most of my time in front of a computer. All the people who are versed into computing pay a great deal of attention to their workstation. The ergonomics and the hardware can literally spark magic in my work day. And the primary way we experiment computing is actually via the keyboard.

Read More

When 0.1 * 10 != 1.0

Simple non-intuitive result with double; watch out for exact comparisons with doubles!

1 let inc = 0.1
2 var total = 0.0
3 for _ in 0...9 { total += inc }
4 println ("Total = \(total)" // Total = 1.0
5 if total != 1.0 { println ("total - 1.0 = \(total - 1.0)") } // total - 1.0 = -1.11022302462516e-16

Read More

Why I switched to Apple's new Mackbook and Mac OS X Yosemite?

People shouldn’t break promises

One time to many, Microsoft broke a promise they made just a few months before. Windows 10 won’t be available for my Surface 2 RT and that sounds like a repeat from the Nokia 900, that never saw the light of Windows Phone 8. With the new promise of being stuck with an operating system that would not get technical or security updates, it was pretty clear that action was necessary.

Read More

Up and running!

This is it, my new site is up and running. I used Jekyll and Github pages to build this place.

Read More