Thursday, May 26, 2011

Book: Fooled by Randomness

Fooled by Randomness - The Hidden Role of Chance in Life and in the Markets, 2nd edition, Nassim Nicholas Taleb, 2004, 316 pages

We tend to see reasons/patterns even when there are none. Some things simply happen by chance. This bias leads to many stupid decisions, especially in economic and social matters. We should be aware of our foolishness and think twice before we reach conclusions. It reminds me of the warning by Montaigne:
"I realize that if you ask people to account for 'facts', they usually spend more time finding reasons for them than finding out whether they are true... They skip over the facts but carefully deduce inferences. They normally begin thus: 'How does this come about?' But does it do so? That is what they ought to be asking."

Sunday, May 22, 2011

Book: Indefensible

"Indefensible - One Lawyer's Journey into the Inferno of American Justice", David Feige

Justice as portrayed in movies is closer to fantasy than reality. The system is overloaded and cannot deal with the volume it is presented, therefore they try to make people surrender instead of going through lengthy procedures. Justice is of secondary importance. Poor people suffer more from injustice than anyone else. Neither judges nor police are your friends, don't trust them... It is a depressing account of how so-called justice really works.

Sunday, May 15, 2011

Hırsızlık

İki gün önce biz işte iken eve hırsız girmiş, neyse ki hiçbir şey almadan gitmiş, sanırım panikledi. Levye ile dört denemede kilit dilini bükerek girmiş, herhalde en fazla 5 dakika sürmüştür:


Dil büküldüğü için kapının kapanamaması hırsızın tedirginliğini arttırmış olmalı. Apartmanda tadilat olduğundan apartmana daha fazla insan girip çıkıyordu, ayrıca tadilat gürültüsünün yanında kapının zorlanması sırasında çıkan ses dikkat çekmemiştir. Geçmişte iki tanıdığımızın evine de hırsızlar apartmanda tadilat varken girmişler.

Olaydan beni kapıcı haberdar etti (o sırada işteydim). Kapıyı açık görünce beni aramış. Eve gelince sırayla yaptığım işler:
* Araba ruhsatı ve anahtarı yerinde mi: Evet
* Az miktardaki ziynet eşyası yerinde mi (potansiyel hırsıza not: İki kolye için bence değmez kardeşim, başka kapıya): Evet
* Laptop yerinde mi: Evet
* Fotoğraf makinesi: Evet
* Tek çalınan şey kapının yanındaki bozuk paralar (<20 TL)
* 155'i arayıp ekip istedim. 10 dakika sonra "kphhhh" efektli telsizleri ile iki polis geldi, hıza şaşırdım. Evden birşey çalınmadığını, sadece hırsızlık girişimi olduğunun kayıtlara geçmesini isteğimi söyledim. Tutanak tutulmasını istiyorsam karakola gitmeliymişim. Erindim, Behzat komser pozu takınıp "size söyledim, haberiniz olsun la" dedim... "La" dememiş de olabilirim(!) Geçmiş olsun deyip ayrıldılar.
* Çilingir çağırıp kilidi tamir ettirdim.
* Apartman sakinlerinin geçmiş olsun dileklerini kabul ettim, ne tür tedbirler uyguladıklarını öğrendim.
* Ev sahibini arayıp durumu bildirdim.

Alınan dersler:

* Apartmanda tadilat varken hırsızlık riski yüksekliyor.
* Hırsızı en az yarım saat uğraştıracak bir kapı yaptır: Ev sahibi ile temasa geçtik, kapı değiştirilecek. Ancak yeni kapı en az bir ay sonra hazır olabiliyormuş. Kapıyı tamir eden çilingirin söylediğine göre kapı esnemeyecek yapıda olmalı ve göbeği kolayca çıkarılamamalıymış ("rozetli" olmalıymış). İyi kapılar 1500 TL civarındaymış.
* Üst kilidi de kilitle, erinme. En azından hırsız biraz daha uğraşmak zorunda kalsın, ganimeti hak etsin :P
* Evde kıymetli eşya bulundurma. Araba anahtarını ve ruhsatını ne yapmalı? Benim KASKO poliçesinde "Araç Çalınmasında Uygulanacak İstisnalar" başlığı altında şu yazıyor:
Araç anahtarının ele geçirilmesi suretiyle aracın çalınması ve/veya çalınmaya teşebbüsü sonucu meydana gelecek ziya ve hasarlar teminat kapsamı dışındadır. Ancak,
1.Araç anahtarlarının gasp sonucu ele geçirilmesi yoluyla aracın çalınması ya da çalışmaya teşebbüs edilmesi
2.Araç anahtarlarının, sigortalının veya aracı kullanan kişinin kendi ev veya işyeri niteliğindeki kapalı ve kilitli bir mekanda bulunması sırasında, bu mekana; kırma, delme, yıkma, devirme zorlama, öldürme, yaralama, zor ve şiddet kullanarak veya tehditle ya da araç gereç veya bedeni çeviklik yoluyla tırmanmak suretiyle ele geçirilerek aracın çalınması veya çalınmaya teşebbüs edilmesi, teminat kapsamına alınmıştır.

Ayrıca, kanunen geçerli bir belge karşılığında otopark, servis/tamirhane, oto yıkama vb işletmeye teslim edildiği ispatlanan aracın çalınması veya çalınmaya teşebbüs edilmesi sonucu meydana gelecek hasarlar sigortalı tarafından mevzuata uygun işlemlerin yerine getirilmesi ve yasal tahkikatın başlatılması şartı ile teminat kapsamındadır.
Yani anahtarları evde bırakırsam ve biri eve zorla girerek (tutanak lazım) anahtarları alıp arabayı çalarsa sigorta karşılıyor. Ruhsatın önemi yok, arabada bırakabiliriz.

* Laptop eninde sonunda çalınacak diye düşün, laptop'ta önemli bilgi barındırma. Ben o tür bilgileri internette sağlamlığına güvendiğim ve sık kullanmadığım sitelerde tutuyorum. Sık kullandığım mail şifresinin bir gün çalınma olasılığı yüksek çünkü.

Alarm taktırmayı düşündüm ama onu da her evden çıkışta aktive etmek, her eve girmeden önce de deaktive etmek lazım. Ana bir merkezle haberleşmesini istiyorsun ayda 70 kaat bayılman lazım. Benim gibi kapıyı kilitlemeye erinen biri için 10 yılda bir hırsız girecek diye böyle tedbir çok fazla.

Zihni sinir projesi:
* Kapı açıldığında
** Alarm çalacak
** Bana "eve biri girdi" diye SMS atacak
** Opsiyonel: Video/foto çekip bana email/SMS ile yollayacak
** Hırsızın sistemi bozması için 1 dakikadan fazla zaman gerekecek. Hırsızın görememesi için güzel bir kamuflaj lazım.
* Sadece benim ayarladığım zamanlarda faal olacak (misal hafta içleri 09:00 - 17:00 arasında). Böylece her gün alarmı ayarlamam gerekmeyecek.
* Her ay sabit ücret ödemek istemiyorum. Aceba kontörlü sim kartlı sistemler var mı?

İlk aşamada zaman ayarlı bir alarm bulmayı/yapmayı düşünüyorum. Böylece yıllardır planladığım amatör elektroniğe başlayabilirim. Faydalı bir iş yapıyorum diye Derya lehim kokularına ses çıkarmaz umarım ;)

Sözün özü, herkesin evine eninde sonunda hırsız girecek. Mühim olan mahvolmayacak şekilde organize olmak.

Thursday, May 05, 2011

Book: Getting Things Done

"Getting Things Done", David Allen, 2001, 278 pages

The abundance of things to do and trying to hold all of them in our heads results in stress. The human mind cannot concentrate on more than a few things (usually one) at a given time. The issues that we are not currently dealing with disturbs our focus and saps away our energy. We need to analyze our to do items and break them down to actions. We also need a recording system which holds our to do items and reminds us at the appropriate time so that we can empty our brain (aka peace of mind).

Tuesday, May 03, 2011

C: Two dimensional arrays and pointer indexing

Pointer indexing of two dimensional array:
my2DArray[iCol][iRow] =
*(mpPointer+iRow*nCol+iCol);
"The C Programming Language", 2nd edition, Brian W. Kernighan, Dennis M. Ritchie:
[p.29] When the name of an array is used as an argument, the value passed to the function is the location or address of the beginning of the array - there is no copying of array elements. By subscripting this value, the function can access and alter any argument of the array.

[p.78] The unary operator & gives the address of an object, so the statement "p = &c;" assigns the address of c to the variable p, and p is said to "point to" c... The unary operator * is the indirection or dereferencing operator; when applied to a pointer, it accesses the object the pointer points to.

[p.83] By definition, the value of a variable or expression of type array is the address of element zero of the array... a reference to a[i] can also be written as *(a+i)... In short, an array-and-index expression is equivalent to one written as a pointer and offset... There is one difference between an array name and a pointer that must be kept in mind. A pointer is a variable, so pa=a and pa++ are legal. But an array name is not a variable; constructions like a=pa and a++ are illegal.

[p.83] As formal parameters in a function definition, "char s[];" and "char *s;" are equivalent...