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:


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 '%facebook%'
    and host_key not like '%wordpress%'
    and host_key not like ''
    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/"
rm -rf "Local Storage"

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

NASA Shutdown due to USA Government Shutdown

The world largest economy shut down its most prestigious space center agency.


Wikipedia provides some background information here: government shutdown. Regarding NASA it says: NASA will furlough 98% of its staff, leaving fewer than 600 out of more than 18,000 employees on the job. NASA will continue to support the astronauts on the International Space Station and the agency will maintain spacecraft that have already launched. However, work with unmanned spacecraft will be minimal. The Hubble Space Telescope, Curiosity and Opportunity Mars rovers will continue to operate, but analysis of the data it collects will cease.

Added 18-Oct-2013: NASA is online again.

Patrick Pichette on Google Fiber

Google CFO, Patrick Pichette, on the evolution of

  1. computing power
  2. storage capacity
  3. network bandwith

He shows the following remarkable slide on the disparity of the latter to the former. It was this disparity which apparently led Google to enter the broadband market with its own infrastructure.

This speech was held in Kansas, 2012. The full speech is in below YouTube video.

Force rsync Not To Use Timestamps

Most common usage of rsync is

rsync -anv ./ user@remote:/dir/

But when the timestamps of the files on source and target vary wildly it is better to use:

rsync -crntlv ./ user@remote:/dir/

The option -c stands for checksum. The option -n is used to not overwrite anything (dry run). Drop -n to actually run the command.

Option -t to preserve modification times, -r to recursively scan subdirectories, -l for symbolic links, -v for verbose output.

I don’t use -p to preserve permissions, but rather let the target system decide how to create files, and leave previous permissions intact.