Lippman’s C++ Primer

2 Apr

Ev kurma telaşı ve evlilik hazırlıkları nedeniyle uzun zamandır bu sayfayı ihmal ediyordum. Ama sonunda geri döndüm ve yeni bir projeyle kaldığım yerden devam ediyorum.

Bir hayli zamandır orta seviye bir C++ kitabı arıyordum. Amazon.com’da okuduğum çeşitli yorumlar ve C++ çevrelerinden aldığım tavsiyeler sonucu Lippman’ın C++ Primer (4th edt.) kitabını almaya karar verdim. Yurtdışından sipariş vermeme gerek kalmadığı için çok memnun oldum, çünkü bu kitap Pandora’da mevcutmuş. Kitap elime ulaştığında biraz hayal kırıklığına uğradığımı söyleyebilirim çünkü ince kapak ve renksiz sayfalar tasarım açısından olumsuz bir düşünce yaratıyor insanda. Hatta bir ara kitabın orijinal olup olmadığından şüphelendim doğrusu. Ancak Addison-Wesley’in sitesindeki sample sayfalara bakınca kitabın orijinalinin de renksiz olduğunu gördüğümde içim rahatladı. Yoksa Pandora’ya kitabı geri gönderip, Amazon.com’dan yeni sipariş vermeye niyetlenmiştim bile.

Her ne kadar tasarım açısından kitap hayal kırıklığı yaratmış olsada, kitabın içeriği çok kuvvetli ve bir çok noktada sarsıcı. Adı C++ primer olsa da pek başlangıç kitabı olduğu söylenemez. İlk defa C++ öğrenmeye çalışan bir insan muhtemelen kitabın 20. sayfasında kitabı bir kenara atıp bu dili öğrenmekten vazgeçecektir. O yüzden başlangıç için kesinlikle tavsiyem Deitel.

Kitabı okurken bir yandan kendimce önemli gördüğüm noktaları not almaya çalışıyorum. Bu anlamda bu notları hem benim için öğretici olması ve web üzerinden ulaşabileceğim bir yerde bulunması için ( her zaman ajandamı yanımda taşıyamıyorum) burada elimden geldiğince paylaşmaya çalışacağım. Notları blogda parça parça yayınlayacağım, ancak istendiği takdirde tümüne birden “C++ Corner“dan ulaşabilirsiniz.

Strowger Exchange

25 Nov

Bir gece oturmuş eski elektromekanik telefon santrallerinin çalışma prensiplerini araştırırken çok orijinal bir siteye rastladım. Teknik olarak ilk otomatik telefon santrali olan strowger aygıtını meraklı bir arkadaşımız kendi başı

na eski parçalarından kurmuş ve çalıştırmış. Bu orijinal çalışmaya aşağıdaki web sayfasından ulaşabilirsiniz.

http://www.dunford.plus.com/exchange.html

Turkcell GSM Eğitimi

9 Nov

Turkcell Akademi, interaktif bir GSM eğitimi hazırlamış,ziyaret edilmeye değer doğrusu.

http://www.turkcellakademi.com.tr/TurkcellPublishEmbeddedDocuments/GSM/Courses.html

A history of the Amiga, part 1: Genesis

4 Sep

Belki çoğu insanın adını bile duymadığı bir bilgisayara, AMIGA’ya, sahiptim daha 9 yaşındayken. Bugünkü PC’lerin atası olan bu efsane bilgisayarın doğuşunun ve vizyon sahibi olmayan yöneticiler tarafından iflasa sürüklenen bir şirketin hikayesine aşağıdan ulaşabilirsiniz.

http://arstechnica.com/hardware/news/2007/07/a-history-of-the-amiga-part-1.ars/

The value is not in the data, but in the structure

29 Aug

Years ago, some clever person calculated that if you reduce human beings to their components
of carbon, hydrogen, oxygen, and nitrogen atoms (plus traces of others), they would be worth only 97 cents. However droll this assessment,
it’s misleading. People aren’t composed
of mere isolated collections of atoms. Our atoms combine into enzymes, proteins, hormones, and many other substances that would cost millions of dollars per ounce on the pharmaceutical
market. The precise structure of these combinations of atoms is what gives them greater value. By analogy, database structure makes possible the interpretation of seemingly meaningless data. The structure brings to the
surface patterns, trends, and tendencies in the data. Unstructured data — like uncombined atoms — has little or no value.

Ev kurma telaşı ve Türk mobilyacılığı

21 Aug

Bir insanın genel anlamda huzurunu etkileyen bir çok faktör var hayatta. Sahip olduğunuz iş, eşiniz ve çevrenizle olan ilişkileriniz, yaratıcıyla olan samimiyetiniz ve oturduğunuz mekan başlıca sayabileceklerimiz. Hal böyle olunca huzurunuzu veya öteki adıyla yaşam kalitenizi artırmak için bunların hepsini bir arada düşünmek ve hesaplamanız gerekiyor. Böyle olunca da çok kompleks bir denklem ile karşılaşabiliyorsunuz.

1 Eylül’de Huawei R&D Center’da iş başı yapacağım için evimi de Ümraniye’ye taşımaya karar verdim. Şimdilerde evi dekore etme ile kafayı bozmuş durumda olduğumu söyleyebilirim. Dekorasyon dergileri ve ev tasarımı ile ilgili çeşitli portallar, mağazaralar… Geçtiğimiz iki hafta içinde MASKO(İkitelli) ve MODOKO(Ümraniye)’yi  gezme fırsatı buldum ve Türkiye’nin mobilya tasarımı ve markalaşma konusunda ne kadar geri kaldığını görme fırsatı yakaladım. Böylesine büyük mobilya kentlerinde fiyatların rekabet nedeniyle düşük olmasını beklerken, tam aksine fiyatların ortalama bir insanın alım gücünün çok üstünde olduğunu görerek büyük bir şaşkınlığa uğradığımı söyleyebilirim. Gerçi yüzlerce mağazanın olduğu bu yerde 4-5 saat gezdikten sonra bir genelleme yapmak doğru olmaz ama yine de bütün mağazaları gezdiğinizde bir şeyin değişeceğini sanmıyorum.Modern tasarım arayanların pek kolay bir şekilde zevklerine göre uygun bir şeyler bulamayacağı yerler buralar. Annelerimizin veya komşularımızın evlerinde gördüğümüz klasik “istikbal” mobilyacılığı dışında bir şeyler arıyorsanız fiyatların ateş pahası olduğunu görmek sizi şaşırtmasın.

Burada dikkat çekmek istediğim diğer bir husus buradaki mobilya -sözde- devlerinin bilişim çağında olduğumuzu çözememiş olmaları. Yüzlerce mağazanın ne doğru düzgün internet siteleri var,ne de sizi etkileyip mağazasına sürükleyebilecek oda tasarımları. Reklam yapmaya çalışanlar da mobilyayı kuru bir şekilde odanın ortasına koyarak fotoğrafını çekip web ortamında yayınlamış. Ülkemizin bir çok sahasında olduğu gibi mobilyacılarımız da çağın gereksinimlerini takip etmekten çok uzak.

Bu koşuşturmaca içinde beni en çok etkileyen ve ev tasarımı konusunda ilham veren firma IKEA oldu. Zaten yıllardır kataloglarında görüp hayran olduğum oda tasarımlarını ve mobilyaları yerinde görme fırsatı yakaladım. Bizim mobilyacılarımıza sorduğunuzda çok kalitesiz ve dandik olarak niteleyecekleri mobilyaları çok güzel bir dekorasyon içinde insanlara sunarak bir pazarlama dehası göstermişler. Ayrıca dar alanlar için öyle efektif mobilya çözümleri sunmuşlar ki insan ancak hayranlıkla izliyor bu tasarımları. Sanatı ve mühendisliği öyle güzel harmanlamışlar ki bu mekanı gezerken kendinizi bir resim sergisi veya bir sanat müzesi gezer gibi hissediyorsunuz. Belki mobilyaları almayı düşünmeyebilirsiniz ama dekorasyon konusunda ilham verici birşeyler görmek istiyorsanız IKEA’yı mutlaka ziyaret etmelisiniz. Ben çok yakında bir defa daha gitmeyi düşünüyorum. Bu sefer biraz daha erken gidip daha çok şeyi not etmeliyim sanırım.

Mezunlara Nutuk (Peyami Safa)

11 Aug

Salahiyetim olsaydı, her sene üniversitenin ve yüksek mekteplerin son sınıf mezunlarını bir araya toplar, onlara şu fikirleri kabul ettirmeye çalışırdım. –Tahsiliniz bugün sonar eriyor, değil mi? Ellerinize tutuşturulan diplomanın en büyük yalanı budur.

Tahsiliniz bugün bitmiyor, bilakis, bugün başlıyor. On altı, on yedi seneden beri size öğretilen şeylerin çoğu ihtisas bakımından lüzumsuzdur; bugün dünyada hala yıkılmamış kötü bir öğretim sisteminin kurduğu an’aneye göre hafızalarınıza istif edilmiş, unutulmaktan başka hiçbir şansları olmayan ölü bilgilerdir. Zekânız bu kokuşmuş malumat kadavralarını ne kadar atarsa, hürriyetine o kadar erken kavuşur.

Mümkün olsaydı, size bugün diploma yerine bir hafıza müshili verir, ilmin bu molozlarını ruhunuzun bağırsaklarından, dışarıya çabuk def etmenize hizmet ederdim. Ellerinizdeki diploma, öğretim denilen ve yazık ki, ilacı henüz keşfedilmemiş müzmin bir hastalığın raporudur. Bu günden öteye ilk işiniz, kendiniz bu zoraki bilgi illetinin toksinlerinden kurtarmağa çalışmak olsun, size ihtisas olarak öğrettiğimiz şeylerin de bir kısmı lüzumsuz bir kısmı yanlıştır.

Bunların içinde pek azı ileride sizin için düşünmek ve kültürünüzü derinleştirmek için malzeme olmağa yarar. Gençler! Hayatta muvaffak olanlarla olmayanlara bakınız. Eğer ticaret gibi ameli mesleklerin zaferlerine bir göz atarsanız, bu şubede kazananlardan yüzde doksanının ticaret mektebinde mezun olmadıklarını görürsünüz. Bunlar ticaretin hiçbir ders ve etüt kitabında izi olmayan bütün inceliklerini tecrübe mektebinde, hayat mektebinde öğrenmişlerdir.

Doktorluk ve avukatlık gibi yarı ameli ve yarı nazari mesleklerin kahramanlarına da bakınız. Bunlar da bilhassa diplomalarını aldıktan sonra kendi aşklarıyla ve tecessüsleriyle kitapların ve tecrübelerin üstüne kapanmış insanlardır. Ameli ve nazari, serbest ve resmi bütün mesleklerde geri kalmışların hayatına bakınız. Bunlar diplomalarını alır almaz tahsilin bittiğini ve öğrenilecek hiçbir şey kalmadığını sanmışlardır. Hayat, iki mevsimliktir: biri ekme çağı, ki tahsil çağıdır; öteki de biçme devresi, ki bütün ömür süren meslek devresidir. Bu devrede ekme yok yalnız biçme var sanmışlardır.

Hâlbuki asıl ekme devresi tahsil çağından sonra başlar ve biçme ameliyesini de içine alır. Şu mahalle doktoru niçin mi kazanmıyor? Muayenehanesinde girip bakınız, cevap yaldızlı bir çerçeve içinde duvarda asılıdır: diploma! Zavallı hekim, bu diplomayı oraya astıktan sonra hastalara bakmaktan başka bir iş kalmadığına inanmıştır. Kütüphanesi tam takırdır. Orada unutulmuş mektep bilgilerini hatırlatan birkaç tıp lügatinden ve arkadaş tavsiyesiyle alınarak tamamıyla okunmayan birkaç eserden başka bir şey göremezsiniz.

Bu kitapların cildini kaplayan bir parmak toz, hekimin bütün muvaffakiyetsizliklerini izah eden ve kendisinden başka herkesin görebileceği işarettir. Bütün bu zavallılar beşikten mezara kadar süren hayat okulundan başka okul olmadığı ve diplomasını aldıkları mektebin, asıl hayat okulunun küçük ve kötü, bir taklidinden başka bir şey olmadığını bilmeyenlerdir. Aranızda bu hakikati anlamayanlar, o zavallılar ordusuna katılacaklardır.

İşte bugün hepiniz, size hiçbir suni okulumuzun veremeyeceği, hiçbir müfredat programının kazandıramayacağı bilgileri ve görgüleri temin edecek olan büyük hayat okulunun eşiğindesiniz. Bu okuldan çıkmak için ölmek lazımdır. Yaşadığınız müddetçe, artık hocanıza yaranmak için değil, babanızın gönlünü hoş etmek için değil, ,iyi not almak için değil, sınıfta kalmamak için değil, yedikçe acıkan tecessüsünüzü doyurmak için; öğrendikçe artan cehlinizi azaltmak için değil, memleketinizin ve mesleğinizin şerefi için ve nihayet kendi muvaffakiyetiniz için, program ve disiplin zoruyla değil anlamak ve çalışmak aşkıyla, durup dinlenmeden öğrenecek ve deneyeceksiniz. Asıl bugün mektebe başlıyorsunuz. Notları ve imtihanları olmayan bu büyük mektepten mezun olmak ve diploma almak yoktur. Çünkü ilim bitmez ve öğrenmek ihtiyacımız, varlığın sırları ve cehlimizin karanlıkları kadar sonsuzdur.

Me and Huawei

6 Aug

Huawei ile tanışmam ilk defa Kariyer.net üzerindeki ilanlarıyla olmuştu. Hem telekomünikasyon hem de yazılımla yakından ilgilenen bir mühendis olarak Huawei gibi bir telekomünikasyon devinin Türkiye’de bir Ar-Ge merkezi kurduğunu duyduğumda heyecanlanmıştım doğrusu.

Biricik Turtle’tımızı proje fuarında gösterime sunduğumuzda Huawei İK yetkililerinden Seda hanımla tanışma fırsatı yakalamış, ayak üzeri konuşma fırsatı bulmuş ve bu yaz yeni alımların olacağı haberini almıştım. Ayrıca yaptıkları ayrıntılı tanıtım sunumunda bulunarak bir iş başvuru formu doldurmuştum. İnsanın hayatındaki en ufak bir ayrıntının insanın karşısına ne gibi fırsatlar çıkaracağını da zaman içinde anlamama neden olacaktı bu ufak kağıt.

Geçtiğimiz haftalarda Huawei tarafından C++ ve database üzerine teknik sınava çağırıldım. Ümraniye’deki Ar-Ge merkezine ulaştığımda belki yüze yakın adayın sınava gireceğini gördüğümde açıkçası hevesim kırılmıştı. Çünkü CE ve CS’ciler işin içine girdiğinde işin niteliği göz önünde bulundurulduğunda biz EE’cilerin yazılım alanında rekabet etmesi güçleşiyor haliyle. Ama yıllar boyunca okulun haricinde kendi çabalarımla altını üstüne getirdiğim C++ kitaplarına ve okulla birlikte yürüttüğüm part-time arge mühendisliği tecrübeme güvenerek sınavda elimden gelenin en iyisini yapmaya çalıştım.

C++ sorularının bir çoğu gerçek anlamda zordu ve en detay diyebileceğimiz noktalarda insanın bilgisini ölçüyordu. Bu noktada C++ öğrenmek için herkese tavsiye edeceğim Deitel&Deitel serisinin büyük faydasını gördüğümü itiraf etmeliyim. Database soruları ise gerçekten genel bilgiyi ölçmenin ötesinde,tamamen ayrıntılara odaklanmış sorulardı. Test formatındaki yaklaşık 40 soruyu cevapladıktan sonra ingilizce bir makale yazmamız istendi.

Sınavdan bir hafta sonra Seda hanımın sesini telefonda duyduğumda inanılmaz derecede mutlu oldum. Onca insanın arasında sıyrılıp mülakata çağrılmak hem büyük bir fırsat hem de insanı onore eden bir durumdu. Sıkı bir zihni ve teknik hazırlık döneminin ardında geçtiğimiz hafta Salı günü mülakata girdim. Kısa bir IK mülakatının ardından dananın kuyruğunun kopacağı teknik mülakata geçildi. Burada biri ODTÜ EE biri CE mezunu enerji dolu iki takım liderinin sorularına cevap verdim. Yazılım ve OOP üzerine genel sorulardan,tahtada fonksiyon yazmaya kadar büyük bir tempo içerisinde ardı ardına yağmur gibi gelen sorulara teker teker cevap verdim. Harika geçen bu mülakatın ardından Çinli yöneticimizle görüşerek mülakat turunu tamamlamış oldum.

Burada özellikle vurgulamak istediğim bir husus var ki o da, bütün Huawei çalışanlarının başkta IK olmak üzere, teknik mülakattaki takım liderlerine kadar herkesin güleryüzle ve samimiyetle sizinle yakından ilgilenmeleri. Eksisözlükten ve kulaktan duyma bilgilerin tam aksine bu anlamda herkese örnek olabilecek bir tavır sergilediklerini söyleyebilirim. Daha ilk dakikadan itibaren size kendinizi iyi ve değerli hissetiren bir ortamın içinde buluyorsunuz kendinizi ve burada çalışmak,ve bu takımın bir parçası olmak için can atıyorsunuz. Beni uzun zamandır hiçbir şirket bu kadar heyecanlandırmamıştı doğrusu, özellikle de bundan önce yaşadığım mülakat tecrübelerini göz önünde bulundurduğumda.

Yaklaşık bir hafta içerisinde geri dönüş yapacaklarını belirtmişlerdi ,ama ertesi gün çok güzel bir iş teklifi ile geri döndüler ve ben de tereddütsüz bu teklifi kabul ettim. Çünkü İstanbul gibi ruhu olan bir şehirde ve de kendimi geliştirebileceğim bir Ar-Ge ortamının içinde, kariyer hedeflerim doğrultusunda yazılım üzerine çalışacak olmak tam olarak da bütün beklentilerimi karşılayan bir durumdu. Bu anlamda ne kadar bahtiyar olduğumu söylememe gerek yok sanırım.

1 Eylül’de işbaşı yapmayı, enerji dolu Huawei takımına katılmayı sabırsızlıkla ve heyecanla bekliyorum :)

C++ Technical Questions

30 Jul

What is the output of the program below?

class X
{
private:
int i;
int j;
public:
X();
void Get(){ cout << endl << i; cout << endl << j;}

};

X::X():j(5), i(j)
{
}

int main()
{
X a;
a.Get();
return 0;
}

Answer:

Some garbage value
5

In C++, the initialization of member variables is performed in order of their declaration. ‘i’ was declared before ‘j’. Therefore, ‘i’ will be initialized first and at that time the value of ‘j’ is undefined.

——————————————–

Explain private,protected and public keywords.

* A member (either data member or member function) declared in a private section of a class can only be accessed by member functions and friends of that class
* A member (either data member or member function) declared in a protected section of a class can only be accessed by member functions and friends of that class, and by member functions and friends of derived classes
* A member (either data member or member function) declared in a public section of a class can be accessed by anyone

Life as an Embedded Software Developer

27 Jul

A very common question about embedded software developers is what makes them different from an ordinary software developer.Here is a very satisfying answer to this significant question quoted from the book “Programming Embedded Systems” of O’Reilly.

(more…)