Good, Fast, Cheap: You Can Only Pick Two!

A recent article “Five Minutes with Alison Barrett” linked to a speech by Alison Barrett on Unit Testing in particular in PHP.

 

The speech almost in passing made a reference to a famous quote on “good fast cheap, pick two”, which I found quite noteworthy. Using Google I found a number of references to this quote, one good example is Good, Fast, Cheap: You Can Only Pick Two! by Jennifer Kes Remington showing below picture:

Good-Fast-Cheap

Programming in Excel VBA Compared To LibreOffice (OpenOffice) Calc

Programming in Excel VBA is quite easy. Below are some simple basic concepts to access and change the spreadsheet data.

  1. Worksheets(i) references the i-th sheet, usually they are called Sheet1, Sheet2, Sheet3
  2. Cells(i,j) references i-th row, j-th column, e.g., Cells(2,3) is C2
  3. Cells(i,j).Value is the content of the cell
  4. Continue reading

Why Brian Koberlein Is In The Dark Matter Camp

Brian Koberlein blogged in “Ugly Theory, Beautiful Data” why he is in the dark matter camp, and not in the MOND camp. He very nicely weights each of the arguments of each theory to conclude why there is compelling evidence for dark matter.

He concludes with:

Of course dark matter still has a serious challenge. It predicts a new kind of matter that we haven’t seen in the lab. It would be nice to make a direct detection of dark matter. This is actually an active area of research. So far there are some interesting hints, but nothing conclusive.

Google Earth Used to Reunite Australian Boy With His Indian Mother

Saroo Brierley used Google Earth to find his lost mother in India after more than 25 years of separation. When Saroo was 5 years old he wrongly took a train to Calcutta near from his home-town which was more than 1,500 km away. In Calcutta he was adopted by an Australian couple. It is amazing what can be found out by technology like Google Earth in the hands of ordinary people. Saroo Brierley spent hours looking at satellite imagery.

Saroo Brierley wrote a book “A Long Way Home” on this which unfortunately is not directly available in Germany.
Saroo Brierley

Google used this story for an advertisement of Google Earth.

Saroo Brierley also held a speech at Google Zeitgeist Americas 2013.

A good summary can be found in Huffington Post.

Clearing Cookie Junk in Google Chrome Web Browser

From time to time I check what I have collected as cookies in my browser and I spot web sites which I probably have never visited directly but somehow set cookies. Instead of deleting them individually I now use sqlite3 to do this.

cd ~/.config/google-chrome/Default
sqlite3 Cookies "delete from cookies
    where host_key not like '%google%'
    and host_key not like '%delicious%'
    and host_key not like '%facebook%'
    and host_key not like '%wordpress%'
    and host_key not like '%tumblr.com'
    and host_key not like '%github%'
    and host_key not like '%youtube%'
    and host_key not like '%wikipedia%'
    and host_key not like '%twitter%' ;"

This leaves the “good” cookies intact but removes the junk.

Deleting “local storage” is even simpler.

cd "~/.config/google-chrome/Default/Local Storage"
rm ...

What Makes a Good Programming Environment?

I was recently asked about my opinion regarding agile software development.

I think the core problem is not agile or extreme programming, or object-oriented or structured. I think this simply misses the point. Below are the key ingredients to succeed in software development when it comes to development in larger groups of people, say 3 people and more.

  1. Your edit-compile-debug cycle should be fast. With fast I mean less than a second.
  2. Your build-system (make, ant, maven, etc.) must support the development and ideally only compiles those parts which really need compilation. Use ccache or distcc where required or possible. Unfortunately, some sites simply don’t use this build tools but rather build manually. I still witness software development where to rebuild the entire software system takes half a day, fiddling with JCL and various menus to achieve the desired goal.
  3. Continue reading