Thursday, April 21, 2011

SABİM

SABİM web sayfasından:
SABİM Türkiye’ye, haftanın 7 günü, 24 saat kesintisiz bir şekilde hizmet vermektedir. Vatandaşlarımıza düşen “184 ALO SABİM” hattımızdan aramak, ya 0 312 430 18 49 numaralı faksımızdan ulaşmak, ya da şahsen Bakanlık Merkez Binasında bulunan SABİM’e şahsen başvurmaktır.

Bu yollarla bize ulaşan vatandaşlarımız:
— Sağlık sisteminin işleyişine yönelik her türlü konuda bilgi alabilirler.
— Sağlık sistemine yönelik talep, eleştiri ve önerilerde bulunabilirler.
— Sağlık hizmetlerinden yararlanırken, sistemin herhangi bir aşamasında yaşadıkları sorunlarını iletebilirler.
Bu hizmeti ve etkili olduğunu bir asistan doktorun yazısından öğrendim:
...siz bir hasta olarak SABİM’i arayıp falanca doktor bana gerekli ilgiyi göstermedi, 10 dakikadır sıra ilerlemiyor, doktor odayı terketti dediğiniz anda sağlık bakanlığı yarım saat içerisinde hastaneye döner ve falancayı bulur ve sorar.
Geçenlerde doktorlar grev yapmıştı, bu vesile ile bir iki kelam etmek isterim. Doktorların çalışma koşullarının kolay olmadığının, doktor olana kadar uzun süre okuduklarının farkındayım. Ama çok daha farkında olduğum şey vatandaşın hastanelerde eziyet çektiğidir. Doktorların empatik davrandığı pek görülmez, görülünce şaşırılır. Çoğunluk için doktor soğuk ve kibirli biridir, ondan korkulur. Her an sizi azarlama hakkına sahiptir. İyi davranması bir lütuftur.

İçinde bulunulan sıkıntıları gidermek için basit adımları dahi atmadığınız sürece sevgili doktor kardeşlerim, ihtiyacınız olduğunda aradığınız sempatiyi bizlerden bulamazsınız.

Müzik: Ezginin Günlüğü - Ebruli

Film:
* Sunshine (2007)
* The Source Code

Saturday, April 16, 2011

Lise 1 Fizik Sorularına Cevaplar

Aşağıdaki Lise 1 fizik sınavına verilen cevaplar pek çok öğrencinin fiziğe değil, temel Türkçe'ye ihtiyacı olduğunu gösteriyor çünkü böyle cevaplar ancak anlamadığınız bir dilde soru sorulsa verilebilir:


Adventures with Visual Studio 2010

How to prevent console from exiting immediatly when you run using Ctrl + F5:
With the new visual studio 2010 you might see this behavior even when you use ctrl f5 aka "start without debugging". This is most likely because you created an "empty project" instead of a "Win32 console application". If you create the project as a "Win32 console application" you can disregard this as it does not apply.

In the older versions it would default to the console subsystem even if you selected "empty project", but not in 2010, so you have to set it manually. To do this select the project in the solution explorer on the right or left (probably is already selected so you don't have to worry about this). Then select "project" from the menu bar drop down menus, then select "*project_name* properties" > "configuration properties" > "linker" > "system" and set the first property, the drop down "subsystem" property to "console (/SUBSYSTEM:CONSOLE)". The console window should now stay open after execution as usual.
When you have a C++ project with C files in it, you will get "error D8045: cannot compile C file". You need to change a setting [MSDN]:

1. Open the project's Property Pages dialog box.
2. Click the C/C++ folder.
3. Click the Advanced property page.
3. Modify the Compile As property and set it to /Tp. The /Tp option specifies that filename is a C++ source file, even if it doesn't have a .cpp or .cxx extension. Which is the case for C files which usually have .c extension.

Sunday, April 10, 2011

Suç ve Ceza

Yakınlarda açığa çıkan bir tecavüz ve cinayet vakası nedeniyle hangi suça nasıl ceza verilmeli konusunu ve idam cezasını tartıştık. Ceza miktarını belirleyebilmek için önceliği ortaya koymak gerekir: Mağdur tarafın yüreğinin soğuması mı, suçun azaltılması mı, suçlunun ıslahı mı daha öncelikli?

Eğer mağdur tarafın tatmini öncelikli ise ağır suçlarda neden idamla sınırlıyoruz ki kendimizi? Örneğin neden işkence etmiyoruz? Eskiden ağır işkencelerle öldürülme kabullenilen bir uygulama idi. İşkencenin insanlık dışı olduğunu öne süreceksek bugünkü uygulamaların insanlığa uygun olduğunu nereden biliyoruz? İnsanlığın ulaşabileceği en medeni noktada olduğumuzu iddia eden yoktur herhalde. Cezaların zamanla yumuşadığını göz önüne alırsak bir 10 yıl sonra bugünkü cezalarımızı insanlık dışı bulacağımız kesin.

Ayrıca suçun zanlı tarafından işlendiğini hangi kesinlikle biliyoruz? Dünya'da mükemmel bir adalet sistemi var mı? Sistemi işleten insanlar arasında kariyer hırsı ile gözü dönmüşler, beceriksizler, umursamazlar yok mu? İdamın geri dönüşü yok. Ne kadar hatayı göze alacağız? Örneğin her 9 suçluya karşılık 1 suçsuzu idam etmeyi göze alıyor muyuz?

İlk andaki öfkeyi atlatan çoğu kişinin suçun azaltılmasını öncelikli bulacağını tahmin ediyoruz. Suçun azaltılmasını nasıl sağlayacağız? İlk akla gelen caydırıcı cezalar vermek. Peki o zaman cezayı sınırlayan nedir? Tamam işkence etmeyelim ama neden hırsızlığa 30 yıl ceza vermiyoruz? Büyük olasılıkla cezanın ağırlığı ile  caydırıcılığı arasındaki ilişki sandığımızın daha zayıf. Bu aralar okumayı planladığım When Brute Force Fails kitabının konuya ışık tutmasını umuyorum.

Gelelim suçlunun ıslahına: Örneğin hadım yasasında ilaçla tedavi öngörülüyormuş. Adam tedavi olduktan sonra ona hala suçlu muamelesi yapacak mıyız, yoksa iyileştiği için (%100 kesinlikle söylenebilir mi?) salıvermemiz mi gerekir? Suçluyu cezalandırmaya duyulan heves kadar, suça teşvik eden çevresel/biyolojik faktörleri anlamaya da gayret edilmeli, edinilen bilgiler ışığında önleyici tedbirler güncellenmeli.

Tüm bu tartışmalardan sonra idam gibi cezaların en önemli probleminin aslında ölümü normalleştirmesi olduğu sonucuna vardık. Toplum ölmeyi, öldürmeyi anormal karşılamazsa, insan öldürmek meşru kılınırsa bu yetkiyi kimin nasıl kullanacağı bilinemez. İnsanlık tarihi gücün kendini çoğaltmak için ne hunharca yollara başvurduğunun örnekleri ile dolu. En iyisi geri dönülemez sonuçları olan böyle bir riske hiç girmemek ve hiç kimseye, hiçbir kuruma insan öldürme yetkisi vermemek.

Velhasıl kelam, televizyondaki sansasyonel haberin etkisinden kurtulup aklı selim ile düşündüğümüzde ilk başta parlak görünen "sallandıracaksın hepsini" fikrinin pek de zannettiğimiz kadar rahatlatıcı olmadığını gördük.

music:
* Aloe Blacc - I Need A Dollar
* Mireille Mathieu - Der Clochard

Thursday, April 07, 2011

Reading a text file using C

I wanted to read the following text file which has an extra line at the end (test.txt):
345
 <--empty line

I wrote the following C code:

FILE *fp;
char line[80], *myResult;
fp = fopen("test.txt", "rt");
while (!feof(fp))
{
         myResult = fgets(line, 80, fp);
         printf("line = %s", line);
         printf("myResult = %s", myResult);
         printf("feof(fp) = %d\n", feof(fp));
}

The output was:

line = 345
myResult = 345
feof(fp) = 0
line = 345
myResult = (null)feof(fp) = 16

I was surprised to see “line = 345” being written twice although there is only one value inside the file. My guess is that when fgets reads the last line, it directly returns NULL and while doing so it does not modify the value that was pointed to by “line”, so “line” stays at the same value from previous step.

I modified the while loop as follows:

while (fgets(line, 80, fp) != NULL)
{
         printf("line = %s", line);
}

New output is just one line as expected:

line = 345

Lesson learnt: Don’t use eof() in your while loop, use the return value of fgets() to check end of file.