Ağu 04

TEKNO CEMAATLER VE BİLGİ PAYLAŞIMI CENNETLERİ: Forumlar

İnternet hayatımızda yokken bilgiye nasıl erişiyorduk acaba? Üzerinde çalıştığınız konuda güzel bir kitap bulduğunuzda şanslı sayıyordunuz belki kendinizi ,ya da mahallenizde bu işlerden anlayan bir abiniz vardı.Bu kadar şanslı değilseniz, çoktan o işle uğraşmayı bırakmayı bile düşünmüş olabilirdiniz.Peki ya bugün?

Artık kesintisiz internet, ADSL’nin de hayatımıza girmesiyle birlikte hemen aklımıza geleni “google” a sormak adete bir refleks haline geldi.Şanslıysak karşımıza çıkan binlerde sonuçtan birinde aradığımızı buluyoruz.Hepimizin önüne çıkan sonuçlarda çoğu zaman başka birinin cümlelerini görüyoruz,linke tıkladığımızda da alt alta yazılan cevaplarla uzamış bir “çözüm önerileri” destanı çıkıyor.Şu tesadüfe bakın ki soruyu soran kişi de sizinle aynı problemi paylaşıyormuş.Ardından gelen cevaplarla da sorun çözülmüş.Tabi sizinki de…

Peki bu kadar insanın, yeni aldığı balığını nasıl besleyeceğinden,mikrodenetleyicili devresindeki sorunun ne olduğuna kadar geniş konularda fikir alışverişi yaptığı bu forumlar tam olarak ne oluyor ve bize faydası ne olabilir? Bu konuyu yine kendi alanımızdan, elektronik mühendisliği açısından ele alacağım.

Birçoğumuz okuduğumuz okullardan şikayet ediyoruz.Belki çevremizde bizim kadar meraklı arkadaşlarımız olmadığından ya da birikimlerinden faydalanacağımız hocalarımızdan çok da faydanalanamadığımızdan… Evet internetten öncesinde bu serzenişler için yapabilecek bir şey yoktu.Ancak artık birçok forumda artık derdimizin çaresini bulabilmekteyiz.Çünkü artık ,eskiden mahallemizdeki tecrübeli abimizin yerini alabilecek birçok insan internette bilgi ve birikimlerini paylaşıyor.Bilgi ve birikimli olmanın da belirli bir seviyesi yok.Sizin de sahip olduğunuz bilgiler bir başkasının şu anda içinden çıkamadığı bir problemin çözümü olabilir.O zaman forumlardan yararlanmanın vaktidir.

Son zamanlarda forum sitelerinin sayısı oldukça arttı.Bu forum siteleri birçok konu içerebildiği gibi özel bir konuda da olabilmektedir.Ayrıca belirli bir konu üzerinde bilgilerin bulunduğu bir sitede ayrıca bir de forum bulunabilmektedir.

Elektronik hakkındaki forumlarda en temelden ,ileri seviyeye kadar geniş bir alanda bilgi paylaşımı yapılmaktadır.Hakkında bilgi sahibi olmak istediğiniz bir konuda ya da içinden çıkamadığınız bir problem hakkında sorularınızı foruma iletip birçok insanın bilgi ve tecrübesinden faydalanabilirsiniz.Ancak forumların interaktif ortamlar olduğunu da unutmamalıyız.Onlardan biz faydalanabileceğimiz gibi kendi bilgilerimizle biz de başkalarına yardımcı olabiliriz.Bizler de elimizden geldiğince kendi kaynaklarımızı bu ortamlara sunmalıyız.Bilgiye çok ihtiyacımız olan şu dönemde forumlar hayati bir gerekliliği yerine getirmektedir.

Her yerde olduğu gibi forumları da kullanırken bazı “yazılı olmayan kurallar”a dikkat etmeliyiz.Bunların bir kısmını maddeleyerek yazacağım.Forumlar gibi bilgi iletişim ortamlarından faydalanırken dikkat edilecek hususlarla ilgili olarak Eric Steve Raymond’ın Doğru Düzgün Soru Sormak* adlı yazısını da okumanızı tavsiye ederim.

– Öncelikle bir soru sormadan önce bu konuda az da olsa kendiniz bir araştırma yapmalısınız.Google’a yazılacak iki kelimeyle karşınıza onlarca sonucun çıkabileceği bir alandaki soruyu direk forumlara yazarak “hazıra konmaya çalışmak” çoğu zaman hoş karşılanmayacaktır.

-Bir konuda yardım istemek için attığınız mesajları doğru foruma ve doğru alt başlık altına yazın.Alakasız bölümlere yazılmış alakasız sorular tepki çekebilir.Eğer hangi bölüme yazacağınıza karar veremediyseniz, konunuza en yakın bölüme sorunuzu yazın ve bu durumu mesajınızda belirtin.Forum sorumluları mesajınızı uygun bölüme taşıyacaktırlar.

– Forumlar da “Lütfeeeeen yardıııım!” ,”Çok acele!!!!” gibi başlıklardan daha itici gelen başlık yoktur.Bu ortamlarda birçok kişinin yardıma ihtiyacı olduğunu ve sizinkinin en acili olduğuna insanları ikna edecek iyi bir sebebe ihtiyacınız olduğunu unutmayın.Başlıklarınız konunuzla ilişkili olsun.

– Bir probleminizi anlatırken mümkün olduğunca detaylandırın.Kimsenin “müneccim” olmadığını unutmayın.

– Düzgün bir Türkçe kullanmaya özen gösterin.

-Noktalama işaretlerinin var ve gerekli olduğunu unutmayın.Bazen satırlarca yazılmış bir yazıdan hiçbirşey anlamamak insanları oldukça şaşırtmaktadır.

-Kimsenin sizin ödevinizi veya projenizin tamamını hazırlayıp ellerinize vermesini beklemeyin.Herkesin zamanı kısıtlı ve değerli.Çalışmalarınız üzerinde uğraşıp takıldığınız noktalarda soru sorma yöntemini kullanın.

Unutmayalım ki bu tür kurallar rahat bir paylaşım ortamının sağlanması için gereklidir.

Ayrıca forumların sadece bilgi “alınan” değil bilgi “paylaşılan” yerler olduğunu unutmayın.Siz de mevcut bilgi ve tecrübelerinizle katkıda bulunun.Bilginin altın kadar değerli olduğu şu dönemde forumlar imdadımıza yetişmektedir.Kim bilir belki de geleceğin okulları buralarda doğmaktadır.

Ekler:

Eric Steven Raymon Doğru Düzgün Soru Sormanın Yolları – Türkçe çevirisi

>Faydalandığım belli başlı elektronik forum siteleri:

Türkçe:

http://www.picproje.org/ sitesi forumu

http://forum.antrak.org/

http://forum.donanimhaber.com/ elektronik bölümü

http://www.forumtrportal.com/forumdisplay.php?f=87

http://www.turkyasam.com/forumdisplay.php?f=170

İngilizce:

http://www.edaboard.com/

http://www.electro-tech-online.com/

Ağu 03

Dünya Düz mü Yuvarlak mı?

Geçenlerde kitapçıları gezerken Thomas Friedman’ın World Is Flat (Dünya düzdür) adlı kitabının Türkçe’ye çevrilmiş olduğunu gördüm.Daha önceden İngilizcesinden okuyup çok beğendiğim bu kitabın yurdum insanıyla buluşması beni son derece mutlu etti.Umarım Amerika,İngiltere gibi ülkelerde çok satanlar listesinde yer alan bu kitap burada da aynı derecede ilgi görür.Google’daki aramam sonucunda kitapla ilgili güzel bir inceleme yazısı buldum.Ayrıca kitabın özetini de www.ozetkitap.com sitesinde bulabilirsiniz.Yaşadığımız çağı anlamaya çalışan herkese bu kitabı okumayı öneriyorum.Kitap Boyner Yayınlarından yayınlandı.

İnceleme yazısı

Ağu 02

Programlama sadece bilgisayarcıların işi mi?

*Bu yazı daha önce www.antrak.org.tr sitesine yayınlanmıştır.

Bu yazımda bir elektrik-elektronik mühendisliği öğrencisi olarak programcılığın bu alandaki önemini tartışacağım.Programcılık denildiğinde ilk olarak akla programcılar ve bilgisayar mühendisleri gelmektedir.Genel olarak program denildiğinde de (yazılım da diyebiliriz) akla gelen ilk şeyler son kullanıcıya hitap eden üst seviye yazılımlar veya işletim sistemleri oluyor.Halbuki günümüzde programcılığın önemi elektronik mühendisliğinde de oldukça artmıştır.Bunun için elektronik biliminin gelişimine bir göz atalım.

Elektronikte yaşanılan müthiş ilerlemenin belki de başlangıcı sayılabilecek olay Bell Laboratuarlarında “transistör” ün geliştirilmesi olmuştur.Bu buluşla birlikte ,hantal olan diyot lambaların yerini çok daha küçük boyutta yarı iletkenler almıştır.Buna elektronik devriminin başlangıcı da diyebiliriz.

Transistörün ardından gelişen “tümdevre” teknolojisi yeni bir devrimi müjdeliyordu.Artık birçok eleman içeren devreler tek bir yonga içine sığdırılabiliyordu. Artık devreler tümleşik olarak üretiliyordu.Seri üretim ile maliyetler de çok düştü.
Elektronik dünyasındaki sonraki büyük gelişme mikroişlemciler olmuştur.Buna mikroişlemci devrimi de diyebiliriz.Mikroişlemci terimi günlük hayatımızda bilgisayarlarla birlikte giriş yaptı.Ancak burada konumuz elektronik mühendisliği olduğu için bu yönden inceleyeceğiz.Mikroişlemci teknolojisindeki gelişmeler onbinlerce transistörü ufacık bir hacme soktu.Bununla beraber imalat teknolojisindeki gelişmeler fiyatları oldukça aşağıya çekti.

Mikroişlemci devrimiyle birlikte bilgisayarlar dünyada hızla yayıldı.Bununla beraber elektronik mühendisliğinin bir dalı olmaktan çıkarak bilgisayar mühendisliği ayrı bir alan haline geldi.

Elektronik mühendisliği açısından mikroişlemcilere baktığımızda önceden belirli fonksiyonları yerine getiren sabit tasarımlı devreler yerine içindeki program ile fonksiyonları değiştirilebilen “gömülü sistemler” ortaya çıktı.Endüstride önceleri röle mantığıyla ,birçok anahtarlama elemanıyla gerçekleştirilen lojik fonksiyonlar sonradan programlanabilen lojik kontrollörler (PLC) denilen cihazlarla yapılmaya başlandı.Bu cihazlar içinde bir mikroişlemci ve giriş çıkış birimlerini barındıran kompakt kontrol cihazlarıydı.Sistemde daha sonradan çıkan yeni ihtiyaçlara göre fiziki sistem üzerinde değişiklik yapılmadan yazılımın değiştirilmesi ile bu gerçekleştirilmeye başlandı.

Elektronik dünyasında mikroişlemciler giderek mikrokontrollör çatısı altına girmeye başladılar.Mikrokontrollörü içinde mikroişlemci,bellek,giriş/çıkış birimleri barındıran bütünleşik bir sistem olarak tarif edebiliriz.Ya da başka bir deyişle tek çiplik bir bilgisayar.Bilgisayarımızın ufak bir modelidir aslında.

Mikrokontrollörler büyük bir hızla elektronik sektöründe yerlerini aldılar.Bugün dünyada yılda milyarlarca mikrokontrollör üretilmektedir.Ortalama bir aile arabasında 20 kadar mikrokontrollör bulunmaktadır.Örneğin abs fren sistemi kontrolünde,elektronik ateşleme sisteminde,cd çalarda,alarm sisteminde…

Artık evimizde bizim görmediğimiz birçok minik bilgisayar haberimiz olmadan kendi işlerini yapıyorlar.Müzik dinlediğiniz cd çalarınız,evinizdeki mikrodalga fırınınızda,televizyonunuzda hatta otomatik zaman ayarlı oda parfümünüzde ufak bilgisayarlar gizli.

ELEKTRONİK MÜHENDİSLİĞİ VE PROGRAMCILIK
Elektronikten ortaya çıkmış programlanabilen cihazlar yine elektroniğin içine böylesine girmişken ,programcılık mantığından uzak bir elektronik mühendisliğinden de artık söz edilemez olmuştur.Ancak ne yazık ki elektrik-elektronik mühendisliği müfredatlarına baktığımızda bu konuda büyük eksikliklerin olduğu görülmektedir.Temel bilgisayar bilimleri dersleri adı altında bir programlama diline (büyük oranda C’ye) üstün körü değiniliyor,yapılan uygulamalar da adres defteri yazmayı geçmiyor.Temel programlama mantığı öğretilmediği için işin içine ezber giriyor.Programcılık da tamamen matematiksel bir mantığa dayandığından ezberle halledilebilecek bir şey değil.
Eğer elektronik konusunda ciddi olarak çalışma yapmak istiyorsak, programcılıktan uzak kalmamız mümkün değil.Programlama konusunda kendimizi mümkün olduğunca geliştirmeliyiz.

PEKİ NEREDEN BAŞLAYACAĞIZ?

4 Senelik mühendislik müfredatında programcılık ile ilk tanıştığımız ders “temel bilgisayar bilimleri” ya da değişik adlarla olabiliyor.Burada ilk olarak öğrenmemiz gereken şey bilgisayarın temel yapısı ve birimleri.Ardından bütün programlama dillerinde bulunan belirli yapıları öğrenmeliyiz.Tabiki hepsinden önemlisi “algoritma” öğrenmek.Algoritmayı kısaca “bir işi yapmak için izlenecek yol” diye tanımlayabiliriz.Bir problemi dijital bir bilgisayara(mikrokontrollör,PC vs…) çözdürebilmek için öncelikle onu bilgisayarın anlayabileceği şekilde ona anlatmalıyız.Bunun için problem belirli adımlarla tanımlanmalı ve bir programlama diliyle bilgisayara aktarılmalıdır.
Algoritmadan sonraki aşama bir programlama diliyle bu algoritmaların çalıştırılmasıdır.Başlangıç olarak PASCAL,BASIC gibi diller programcılığa ısınmak için ideal olabilirler.Ardından adını çokça duyduğumuz meşhur C’ye geçiş yapılabilir.C günümüzde hala popülerliğini koruyan bir dildir.Elektronikte de mikrokontrollörlerin programlanmasında büyük oranda bu dil kullanılmaktadır.

Burada kendi görüşlerim etrafında programcılığın elektronik alanındaki önemini tartışmaya çalıştım.Umarım bu konuda kendini geliştirmeye çalışan arkadaşlar için ufak da olsa bir yol gösterici olabilir.

Şub 11

21 Günde Uzman olunur mu?

Önceki yazımda öğrenmekten bahsetmiştim ve şimdi de bu konuya devam edelim.
Piyasada “21 günde ….. öğrenin” şeklinde birçok kitap bulunuyor. Bahsettikleri konular da öyle basit şeyler değil. Fakat vaatleri çok büyük. Uzmanlaşmak için belki yıllar gerek gereken bir konuyu öğrenmek bu kadar kolay mı? Peter Norvig de bu konu üzerine yazdığı bir makalesinde bu konudan bahsetmiş. (Makalenin orjinali ve Türkçe çevirisinin linklerini yazımın sonunda bulabilirsiniz). Bakın ne diyor:

“Araştırmacıların da (Hayes, Bloom) ortaya koyduğu üzere, satranç oynamaktan beste yapmaya, resimden piyanoya, yüzmeden tenise ya da nöropiskoloji ve topoloji alanlarında araştırma yapmaya kadar bir çok alanda uzman olmak, on yıl civarında bir zaman alıyor ve bunun bir kısayolu var gibi de gözükmüyor. Daha 4 yaşında müzik dahisi olduğu anlaşılan Mozart bile, ancak 13 sene sonra dünya çapında ses getirecek bestelerini yapmaya başlamış.”


Peter Norvig’in makalesi programcılığa yönelik olsa da birçok alan için geçerli. Hiçbir konuda uzmanlaşmak 21 günde ya da 3 ayda sağlanacak kadar kolay birşey değil. Tamam bu işlerin zaman alacağını kabul ettik. Peki şimdi ne yapmalıyız? İlgilendiğimiz alanla ilgili bütün kitapları okusak bu yeterli olur mu? Yine Peter’a kulak verelim:

“Sadece kitaplardan öğrendiklerinizle ne kadar ilerleyebileceğiniz tartışılır. İlk çocuğum doğmadan önce, bütün How To (Nasıl) … kitaplarını okumuştum ve buna rağmen kendimi hala bilgisiz bir çömez gibi hissediyordum. 30 ay sonra, ikinci çocuğum doğacakken, bir tekrar için kitaplara geri mi döndüm dersiniz? Hayır, bunun yerine kişisel tecrübelerime güvendim ve daha sonra gördüm ki bu, uzmanlar tarafından yazılmış binlerce sayfadan çok daha yararlı ve güven verici. “

Bisiklet sürmek için istediğimiz kadar kitap okuyalım, onu gerçekten yapmadan bunun nasıl birşey olduğunu anlayamayız. Demek ki uzmanlaşmak istediğimiz şey her ne ise bu konuda tecrübe sahibi olmak demek bilfiil o işle uğraşıyor olmak demek.
Gömülü sistemler konusunda makaleler yazan Jack Ganssle Nasıl Gömülü Sistemler uzmanı olunur? (how to become a embedded geek?) adlı makalesinde bu konuda benzer şeylerden bahsetmektedir:

“Birşeyler yapın:
Kitap bilgisi elbette gereklidir ancak pratikle de desteklenmelidir. Projeler yapın. Birşeyler ortaya çıkarın. Onları çalışır hale getirin. Problemlerin ortaya çıkmasına şaşırmayın ama onlara çözüm üretin. Bir projeyi sadece zor diye veya kafanız karıştı diye bırakmayın. Gerçek gelişimler, başlangıçta çözümsüz görünen patron isteklerinin ürünleridir”

Buradan görüyoruz ki ilgilendiğimiz konudaki bilgi kaynaklarından elbette faydalanacağız. Ancak bize gerçek anlamda katkı yapacak şey yine kendi çabalarımız ve bu çabalar sonucunda elde edeceklerimiz olacak.
Ben de son günlerde C dili ve bu dille mikrodenetleyicilerin programlanması çalışmaları yapıyorum. Her gerçekleştirdiğim küçük adım bana yeni bir bilgi, yeni bir tecrübe katıyor. Yaptığınız şey ne kadar ufak da olsa sonuçtaki başarının verdiği keyif inanılmaz. O zaman ne duruyorsunuz!  Biryerden başlayın. Sadece bir LED’i yakmak bile, ilerideki büyük bir projenin ilk ışığı olabilir.

Ek:
Peter Norvig’in yazısının Türkçe çevirisi:
http://ileriseviye.org/arasayfa.php?inode=programmingtenyears.html
Orjinali:
http://www.norvig.com/21-days.html

*Jack Ganssle www.embedded.com sitesinde gömülü sistemler üzerine makaleler yazmaktadır.
Ayrıca www.ganssle.com adresinde başka yazıları da bulunmaktadır.Gömülü sistemlerle ilgilenenlere “how to become a embedded geek?” yazısını indirmelerini tavsiye ederim.