3 Mart 2023 Cuma

Günümüz. 4 mart 2023 çok uzun zaman olmuş be.
Kütüphanelerde araştırdığım programlama günlerinden 5g destekli akıllı telefonlara.

vay be! ve hakkaten vayy be!

Teknolojinin  bu denli hızlı gelişimine adapte olmakta zorlanır bir teknoloji sevdalısı olarak vay be!

Ben sıska sayılabilecek 180 den biraz kısa çelimsiz bir fizeğe sahip bir adamım. eskiden olsa hanın kapısında dilenen bir adam olabilirdim muhtemelen. kılıç kaldıramaz, kendini savunamaz belki en iyi ihtimalle bir seyis.

Ama günümüz şartlarında bilgiye yöne veren profesyonel ve kıdemi bir yazılım mühendisiyim. çelimsiz olan fiziğimin çok önemli olmadığı bir dünyada yaşaşayan bilgisini tecrübesini konuşturan bir tech pioneer!

Eskiden ne kadar iri olduğun önemliydi şimdi ise istersen elin kolun tutmasın ne kadar zeki ne kadar tecrübeli olduğun önemli

bu iyi bir şey tabi. yıllar sonra bloğuma bir iki satır yazmaya geldim. yıllar yıllar boyunca tüm tecrübelerim tüm icatlarım bana tek bir şey gösterdi. yıllarca çalışmadan makam sahibi oldum yıllarca çalışmadan para pul mall mülk sahibi oldum yıllarca çalışmadan saygın biri oldum

çalışmadan derken yanlış anlaşılmasın, sevdiğin bir iş yapıyorsan gönül verdiğin bir iş yapıyorsan karşılığında bir mali değeri olan ücret almayacaksan bile bu işi yapacaksan bence çalışmıyorsundur.

Ben öyleydim örneğin simit satsam yada bir fabrikada çalışan personel olsaydımda bu yaptığımı mesai sonrası yapamya devam ederdim.

şimdi ise bunu yaptığım için tabiri caizse çuvalla para alıyoru  ve işe bile gitmiyorum. ne güzel bir hayat!

Tabi bu hayatta kendi yarattığım tümsekleri de konuşmak lazım, benim işim ilk ve tek aşkım. hiç çocuk yapmadım! tıbbi bir sorunum yok ama işimden daha önemli olabilecek bir şey istemedim. evlendim evet aile ve çevre baskısıyla ama işim her zaman her şeyden daha önemli oldu. yani çocuk yok eş var ama iş ilk madde!

bu gün yarattığum sistemler için ilk kez sızma testlerini yaptırdım acaba nereleri patlatacaklar diye çok meraklı ve heyecanlıydım. ne kadar iş çıkaracak acaba nerelerde açıklarım tespit edilecekti! bir taraftan korkuyordum da sonuçta karşınızdaki insanlar yaptığınız sistemi bir yerden delecek kadar tecrübeli profesyonel insanlar hackerlar!

neyseki hayatımda girdiğim ilk testte 0 hata 0 güvenlik açığıyla geçtim. buna ben de şaşırdım. ama tahmin ettiğimden daha güvenli sistemler geliştirebildiğim için o kadar mutluyum ki yıllar sonra yazma şevkini bulabildim.

kendimi tebrik ediyorum!

16 Kasım 2015 Pazartesi

Steve jobs’ Last Words -(Steve Jobs'ın son sözleri)


I reached the pinnacle of success in the business world.

(İş dünyasında başarının zirvesine ulaştım.)

In others’ eyes, my life is an epitome of success.

(Başkalarının gözünde, benim hayatım başarının somut bir örneğidir.)

However, aside from work, I have little joy. In the end, wealth is only a fact of life that I am accustomed to.

(Ancak, işi bir tarafa bırakırsak, çok az keyif aldım. Sonunda, zenginlik alışık olduğum hayatın sadece bir
unsuru.)

At this moment, lying on the sick bed and recalling my whole life, I realize that all the recognition and wealth that I took so much pride in, have paled and become meaningless in the face of impending death.

(Şu anda, hasta yatağımda yatıyorken bütün hayatımı hatırlıyorum. Anlıyorum ki tüm gurur duyduğum tanınma ve zenginlik solgun ve yaklaşan ölümün yüzünde anlamsızlaşıyor.)

In the darkness, I look at the green lights from the life supporting machines and hear the humming mechanical sounds, I can feel the breath of god of death drawing closer…

(Karanlıklarda, yaşam ünitesinden gelen yeşil ışıklara bakıyor ve mekanik uğultularını duyuyorum. Ölümün yaklaşan çizgilerinde tanrının nefesini hissediyorum.)

Now I know, when we have accumulated sufficient wealth to last our lifetime, we should pursue other matters that are unrelated to wealth…

(Şimdi biliyorum, bir ömür boyu
biriktirdiğimiz zenginlik bitecek. Zenginlikle ilgisi olmayan şeylerin de peşinden gitmeliyiz.)

Should be something that is more important:

(Bundan daha önemli şeyler olmalı.)

Perhaps relationships, perhaps art, perhaps a dream from younger days ...

(Belki ilişkiler, belki sanat, belki de gençlik günlerimizin hayalleri.)

Non-stop pursuing of wealth will only turn a person into a twisted being, just like me.

(Hiç durmadan zeginliğin peşinden gitmek, kişiyi benim gibi şaşırmış birisine çevirir.)

God gave us the senses to let us feel the love in everyone’s heart, not the illusions brought about by wealth.

(Tanrı bize, herkesin kalbindeki sevgiyi hissetmek için duygular vermiştir. Zenginlikle gelen yanılsamalar değil.)

The wealth I have won in my life I cannot bring with me.

(Hayatım boyunca kazandığım serveti birlikte götüremiyorum.)

What I can bring is only the memories precipitated by love.

(Ne götürebiliyorum, sadece aşkla çöktürülmüş anılar.)

That’s the true riches which will follow you, accompany you, giving you strength and light to go on.

(Gerçek zenginlik sizi takip edecek, eşlik edecek, güç verecek ve devam etmeniz için ışık verecektir.)

Love can travel a thousand miles. Life has no limit. Go where you want to go. Reach the height you want to reach. It is all in your heart and in your hands.

(Sevgi binlerce mil seyahat eder. Hayatın sınırı yoktur. Nereye gitmek istiyorsanız gidin. Ulaşmak istediğiniz en üst noktaya ulaşın. Bu tamamen sizin kalbinizde ve ellerinizdedir.)

What is the most expensive bed in the world? - "Sick bed" …

(Dünyadaki en pahalı yatak nedir?
- "Hasta yatağı")

You can employ someone to drive the car for you, make money for you but you cannot have someone to bear the sickness for you.

(Birisini arabanızı kullanmak için, para kazandırmak için işe alabilirsiniz, fakat hastalığınızı taşıyacak birisini bulamazsınız.)

Material things lost can be found. But there is one thing that can never be found when it is lost – "Life".

(Kaybedilen şeylerin telafisi olabilir. Fakat kaybolduğu zaman bulunamayan bir tek şey var "hayat".)

When a person goes into the operating room, he will realize that there is one book that he has yet to finish reading – "Book of Healthy Life".

(Ameliyata giden birisi, henüz bitiremediği bir kitap olduğunun farkına varır "Sağlıklı Yaşam Kitabı".)

Whichever stage in life we are at right now, with time, we will face the day when the curtain comes down.

(Şu anda hayatın hangi evresinde olursak olalım, zamanla, perde iniyorken onunla yüzleşeceğiz.)

Treasure Love for your family, love for your spouse, love for your friends...

(Ailenize, eşinize, arkadaşlarınıza değer verin.)

Treat yourself well. Cherish others.

(Kendinize iyi bakın. Diğerlerine değer verin.)

Çok ders aldım, alması gerekenler olabilir diye Türkçe tercümelerini parantez içinde yazdım.

(Elimden geldiğince Türkçe'ye çevirmeye çalıştım. Yanlışlarım ya da imlâ hatalarım olabilir. Eksik olarak gördükleriniz varsa lütfen özelden bildirin düzeltmeleri yaparım.)

19 Ağustos 2010 Perşembe

Hakkımda

Eminim çocukken birçoğunuz atari oynamışsınızdır, aşağı yukarı herkes.
Bu atari denilen aletle oynamayı sevdiğimi düşünürdüm ve günün büyük kısmını bu atari oynamak ile geçirirdim, fakat sonraları yine bir şey fark ettim. Aslında sevdiğim atari oyunları değildi. Daha çok bu atari o günün teknolojisine göre yeni teknoloji sayılan bir alet sayılırdı. İşte benim asıl ilgilendiğim nokta tamda buydu, yani beni çeken oyun değil bu teknolojiydi. Ve asıl amaç bu oyunu oynamak değil bu oyunun nasıl oynanır hale getirildiğini anlamak bunun üzerine kafa yormaktı, bunu sanırım 1 hafta içinde anlayabilmiştim ve o günden sonra İnternet olmayan daha doğrusu bilgisayar bile parmakla sayılacak kadar olan ilçede bunun üzerine araştırmalar yapmaya karar verdim.
Bilgiye ulaşmak bugünkü kadar kolay değildi. Birçok araştırma sonucunda programlama diye bir şeyin varlığını örgendim. Çok ilgimi çekmişti, daha çok araştırmaya karar verdim ve zaman ilerledikçe daha çok öğrendikçe daha çok ilgimi çekmeye başladı çekmeye başladı. Her öğrendiğim yenilik daha fazla öğrenme gereği hissettirdi bu zamanla meraktan çok ihtiyaç olmaya başladı. Ve günümüz… bugün yaklaşık 6 farklı programlama dilinde uzman bir çoğunda da iyi sayılacak düzeyde programlama yapabiliyorum.
o günkü merakımdan ve azmimden hiçbir şey eksilmiş değil aksine şimdi daha çok öğrenme gereği ve isteği, ihtiyacı duyuyorum buna memnunum
günde yaklaşık 14 ile 20 saati bilgisayar başında kendimi çürüterek geçiriyor olsam da bundan şikayetçi değilim.
Şu sıralar marmariste yat otomasyon sistemleri üzerine bir proje geliştiriyorum. sistemi merak edenler www.tekneloji.com adresini ziyaret edebilirler...
İşte benim hikâyemin başlangıcı ve temel olarak devamı.

7 Eylül 2009 Pazartesi

Programcı olmak

Temel matematik/mantık bilgisinin üstüne, bilgisayarda çalışmayı sevme ve problem çözme yeteneği gerektirir. İyi programcılar, programlamayı severler.
Programcı olarak işyerinde çalışalım veya evden çalışalım; programcılık, sürekli belli bir disiplinde çalışmayı gerektirir.
Programcı olmak için, belli bir eğitimden geçiyor, yüzlerce örnekler ve denemelerle kendimizi geliştiriyoruz. Programlamayı öğrendik, biliyoruz diyoruz.
İş esnasında önemli olan ise, programı yazmak, çalışır hale getirmek, yani üretmektir.

Bilmek yeterli değildir. Yazılımı yapmak, buradaki esas önemli noktadır.

Bugün çok çeşitli, yazılımcı(programcı) türleri oluşmuştur.
Web programcısı: Web üzerinde çalışan programlar veya projeler üretir.
Php Kursu veya asp.net kursu veya Jsp Kursu; eğitimlerini alarak, web programcılığı alanında kendinizi geliştirebilirsiniz.

Masaüstü programcısı: Masaüstü üzerinde çalışan programlar veya projeler üretir.
.Net Kursu veya Java Kursu veya Python Kursu veya C++ Kursu; eğitimlerini alarak, masaüstü programcılığı alanında kendinizi geliştirebilirsiniz.
Multimedya Programcısı: Oyun, interaktif uygulama veya reklam uygulamaları gibi görsel ve işitsel yönü ağırlıklı programlar veya uygulamalar üretirler.
Actionscript Kursu veya Java Kursu veya C++ Kursu eğitimlerini alarak, multimedya programcılığı alanında kendinizi geliştirebilirsiniz.
Sistem Programcısı: İşletim sistemi veya donanım seviyesinde programlar ve projeler üretirler.
C Kursu ve C++ Kursu ve Linux Kursu eğitimlerini alarak, sistem programcılığı alanında kendinizi geliştirebilirsiniz.

1 Eylül 2009 Salı

Türkiye'de Bilişim Suçları ve Cezalar

BİLİŞİM SUÇUNUN TANIMI
Bilgisayar, çevre birimleri, pos makinesi,cep telefonu gibi her türlü teknolojinin kullanılması ile işlenilen suçlardır.

BİLİŞİM SUÇLARININ TÜRLERİ NELERDİR?
Suçların türleri TCK da suç teşkil edecek tüm suçları kapsaya bilmekte veya bu suçlara zemin hazırlamaktadır. Suçların işleme şekilleri;

Hakaret, küfür, kredi kartı yolsuzlukları, sahte belge basımı, bilgilerin çalınması ve buna bağlı olarak devam edebilecek suçları kapsamakla, birlikte bunlarla sınırlı olmayıp, günden güne değişiklikler göstermektedir. İl Emniyet Müdürlüğümüz Bilgi İşlem Şube Müdürlüğümüz 1999 yılından itibaren değişik birimlerden ve Cumhuriyet Başsavcılıklarından gelen talepler doğrultusunda çalışmalarına başlamıştır. 1999 yılında başlayan çalışmalarımız talebin atması nedeniyle Bilgi İşlem Şube Müdürlüğü içerisinde bulunan Bilgi Sistemi Büro Amirliği bünyesinde çalışmalarını sürdürmüştür. 2002 yılından itibaren Emniyet Genel Müdürlüğü bünyesinde İnternet ve Bilişim Suçları Şube Müdürlüğün kurulması sonucu taşra teşkilatı olarak Şube Müdürlüğümüz içerisinde Bilişim Suçları Büro Amirliği adı altına çalışmalarını sürdürmektedir.

ÜLKEMİZDE EN ÇOK KARŞILAŞILAN BİLİŞİM ŞUÇLARINDAN ÖRNEKLER

Başkalarının adına e-mail göndererek özellikle ticari ve özel ilişkileri zedeleme.
Başkalarının adına web sayfası hazırlamak ve bu web sayfasının tanıtımı amacıyla başkalarına e-mail ve mesaj göndermek ve bu mesajlarda da mağdur olan şahsın telefon numaralarını vermek.
Kişisel bilgisayarlar yada kurumsal bilgisayarlara yetkisiz erişim ile bilgilerin çalınması ve karşılığında tehdit ederek maddi menfaat sağlanması
Şirketlere ait web sayfalarının alan adının izinsiz alınması ve bu alan adlarının karşılığında yüklü miktarlarda para talep etmek.
Özellikle Pornografik içerikli CD kopyalamak ve satmak.
Sahte evrak basımı gibi çok farklı konuları içerebilmektedir.
NOT: Unutmayın bu tür suçların tek mağduru siz değilsiniz. Karşılaşılmış olan durumdan utanmadan tüm deliller ile birlikte en yakın Cumhuriyet Başsavcılığına başvurunuz.

BİLİŞİM SUÇU İLE KARŞILAŞTIĞINIZDA YAPABİLECEKLERİNİZ

Yasadışı siteler (web sayfaları) ile ilgili şikayetlerinizi 155@iem.gov.tr adlı e-mail ihbar adresine bildirebilirsiniz.
Şahsınız ile ilgili şikayetçi olduğunuz konular ile ilgili elde edebildiğiniz tüm deliler ile birlikte en yakın Cumhuriyet Başsavcılığına müracaat ederek şikayetçi olabilirsiniz.
İl Emniyet Müdürlüğümüz tarafından yürütülmekte olan tüm tahkikatlarda Savcılık talimatı veya Mahkeme kararı esas alınmaktadır.
Şikayetçi olduğunuz konular ile ilgili olarak yapılacak çalışma neticesinde ISP(İnternet Servis Sağlayıcının) yurt dışında bulunması durumunda Adli Makamlar tarafından yapılacak olan Adli İstinabe ile konunun takibi yapılabilmektedir.

BİLİŞİM SUÇLARI İLE İLGİLİ OLARAK MAĞDUR OLMADAN ÖNCE YAPILABİLECEKLERİNİZ

Şirketinize veya şahsınıza ait önemli bilgilerinizin yer aldığı bilgisayarınız ile özel güvenlik önlemleri almadan internete bağlanmayınız.
İnternet ortamında %100 güvenliğin hiçbir zaman sağlanamayacağını unutmayın!
Özellikle Chat ortamında bilgisayarınıza saldırılabileceğini;
Chat de tanıştığınız kişilere şahsınız, aileniz, adres, telefon, işiniz v.s. konularda şahsi bilgilerinizi vermemeniz gerektiğini unutmayın!
İnternet ortamında tanıştığınız kişilere kredi kartı bilgilerinizi vermeyin.
İnternet üzerinden yapılan yazışmalarınızda karşınızdaki kurumlarla özel bir yöntemle yazışmanızda fayda olacaktır. Bu şekilde sizin adınıza birlikte ticaret yaptığınız şirketlere asılsız bilgiler veya sizi kötüleyici bilgiler gönderilse bile karşı taraf bunun sizden gelmediğine emin olacaktır.

BİLİŞİM SUÇLARI İLE YAPILAN ÇALIŞMALARIN HUKUKİ DAYANAKLARI

Bilgisayar Yoluyla Dolandırıcılık TCK 503-507: Dolandırıcılık ve İflas
Bilgisayar Yoluyla Sahtecilik TCK 316-368: Sahtecilik Suçları
Kanunla Korunmuş Bir Yazılımın İzinsiz Kullanımı 5846'nolu Fikir ve Sanat Eserleri Kanunu (FSEK)
Yasadışı Yayınlar TCK 125-200: Devletin Şahsiyetine karşı cürümler;
TCK 480-490: Hakaret ve Sövme Cürümleri
TCK 426-427: Halkın ar ve haya duygularını inciten veya cinsi arzuları tahrik eden ve istismar eder nitelikte genel ahlaka aykırı: ve diğer anlatım araç ve gereçleri.
Bilgisayar Sistemlerine ve Servislerine Yetkisiz Erişim ve Dinleme "Bilişim Alanında Suçlar TCK 525a, b, c ve d". Maddeleridir.


YENİ TCK'DA BİLİŞİM SUÇLARI

1 Nisan 2005 tarihinde yürürlüğe girecek olan yeni TCK'nın kapsamında, bilişim sistemlerine karşı işlenen suçları da gerekçeleriyle birlikte yer alıyor.


Bilişim sistemine girme, sistemi engelleme,bozma, verileri yok etme veya değiştirme, tüzel kişiler hakkında güvenlik tedbiri uygulanması, banka ve kredi kartlarının kötüye kullanılması kapsamındaki suçları tanımlayan kanun maddeleri TCK'nın 243 -246.maddelerinde yer alıyor.

Bilişim sistemine girme

MADDE 243. - (1) Bir bilişim sisteminin bütününe veya bir kısmına, hukuka aykırı olarak giren veya orada kalmaya devam eden kimseye iki yıla kadar hapis veya adli para cezası verilir.

(2) Yukarıdaki fıkrada tanımlanan fiillerin bedeli karşılığı yararlanılabilen sistemler hakkında işlenmesi hâlinde, verilecek ceza yarı oranına kadar indirilir.

(3) Bu fiil nedeniyle sistemin içerdiği veriler yok olur veya değişirse, iki yıldan dört yıla kadar hapis cezasına hükmolunur.

Sistemi engelleme, bozma, verileri yok etme veya değiştirme

MADDE 244. - (1) Bir bilişim sisteminin işleyişini engelleyen, bozan, sisteme hukuka aykırı olarak veri yerleştiren, var olan verileri başka bir yere gönderen, erişilmez kılan, değiştiren, yok eden kimseye bir yıldan üç yıla kadar hapis cezası verilir.

(2) Bu fiillerin bir banka veya kredi kurumuna ya da bir kamu kurum veya kuruluşuna ait bilişim sistemi üzerinde işlenmesi hâlinde, verilecek ceza yarı oranında artırılır.

(3) Yukarıdaki fıkralarda tanımlanan fiillerin işlenmesi suretiyle kişinin kendisinin veya başkasının yararına haksız bir çıkar sağlamasının başka bir suç oluşturmaması hâlinde, iki yıldan altı yıla kadar hapis ve beşbin güne kadar adli para cezasına hükmolunur.

Banka veya kredi kartlarının kötüye kullanılması

MADDE 245. - (1) Başkasına ait bir banka veya kredi kartını, her ne suretle olursa olsun ele geçiren veya elinde bulunduran kimse, kart sahibinin veya kartın kendisine verilmesi gereken kişinin rızası olmaksızın bunu kullanarak veya kullandırtarak kendisine veya başkasına yarar sağlarsa, üç yıldan altı yıla kadar hapis cezası ve adli para cezası ile cezalandırılır.

(2) Sahte oluşturulan veya üzerinde sahtecilik yapılan bir banka veya kredi kartını kullanmak suretiyle kendisine veya başkasına yarar sağlayan kişi, fiil daha ağır cezayı gerektiren başka bir suç oluşturmadığı takdirde, dört yıldan yedi yıla kadar hapis cezası ile cezalandırılır.

Tüzel kişiler hakkında güvenlik tedbiri uygulanması

MADDE 246. - (1) Bu Bölümde yer alan suçların işlenmesi suretiyle yararına haksız menfaat sağlanan tüzel kişiler hakkında bunlara özgü güvenlik tedbirlerine hükmolunur.

Kaynak: www.iem.gov.tr

19 Ağustos 2009 Çarşamba

7 ve 0 yedi ve sıfırdan nefret ediyorum

Aslında batıl inançlarım yoktur ama hadi birlikte karar verelim. bu sayılardan nefret etmem gerekirmi...

birgün 80 kadar bilgisayrı için yeni bir network oluşturuyorum. her bir bilgisayar numaralandırılmış 1 den 80 e kadar. 2 bilgisayar hariç bütün bilgisayarlar sorunsuz çalıştı tahmin edin hangi bilgisayarlar? evet 7 ve 70 numaralı bilgisayarlar. baya ugraştırmışlardı beni.


yine başka bir dönem ve başka bir iş 20 bilgisayarın kurulumu yapılacak hayatımda ilk defa harddisk yaktım hemde ust uste 2 kez tahmin edin bilgisayar numarasını doğru! 07

hayatımdaki en kötü olaylardan birini yaşadığım tarihi duyduğunuzda gözlerinize inanamayacaksınız çoğunuz biliyorsunuz bir trafik kazası geçirdim ve yaklaşık 16 ay yattım. bu kaza yüzünden alnımda kocaman bir yara belimde platin var ayrıca sol dizimide hiç bukemiyorum. evet tarih geliyor 7 temmuz 2007 yani şöyle bakalım tarihe 07/07/07 :) sişzce 7 ve 0 rakamlarından nefret etmelimiyim? acaba gerçektende bir ugursuzluk bir gariplik yokmu bu rakamlarda benim adıma.

Sıkıcı... anlamsız...

Bu yaşıma geldim milletin (anlamadığım kısım burası) tek bir saniyesini bile kaçırmamak için türlü taklalar attığı maçları sıkılmadan nasıl izlemeye dayanabildiğini anlayamadım
hiç sevmem şu futbol olayını. izlemek tam bir işkence. hani iyi birşey mi bu maçları izlemek iyi birşeyse bende izliyeyim ama hiç bir kazancı yokki. yani futbolcular tabi çuvalla aprayı götürüyor diye koşturuyorlar o toğpun peşinde 22 kişi ama sizin kazancınız ne? hemen söyliyeyim maçı izlerken karşı takımdan yediğiniz küfür hakaret ve dayak haricinde? birde tabi zaman kaybı. arkadaşlarınızın tamamıyla aynı takımı tutamıyorsunuz ve eger takımınız yenilgiye ugradıysa arkadaşınızın alay konusu oluyorsunuz cunku takımınızın yenilgisi sizin sucunuzdur :) bıçaklamalar yaralamalar hatta ölümler bile olmuştur bu maçlar yüzünden ama kim ne kazanmış şimdiye kadar? anlamsız sıkıcı ayrıca zaman kaybı.

arabesk? nedir arabesk neden dinlenir birde damar denir damardan falan :) zaten dertlisinizdir derdinize dert katmak neden? neden daha cok canınızı yakmak istersiniz. bir gün felsefe ögretmenime sormuştum hocam arabesk müzik ve insan üzerindeki etkileri hakkında ne söyleyebilirsiniz diye? hocam şöyle dedi. arabesk sadece insanın icini karartır depresyona iter hatta ölüme bile götürebilir... bu anlamsız müziği hala severek dinliyormusunuz :) devam edin...

hayal kurmak? herşey iyi güzel hayal kurmak gerçekten bazen iyi hissettirir tabi hayaliniz duman olunca bir okadarda üzülürsünüz. hayal kurmadan yaşanmaz tabi ama hayal kurmak yerine hedef belirlemek daha mantıklı değilmidir? hayal adı üstünde haya erişilmez ulaşılmaz yda onun gibi birşey olduğu için haya ama hedef! tercümeye gerek yok.

18 Ağustos 2009 Salı

Bir programcının parmaklarının ucunda imkansız diye bir şey yoktur!

bu sözü bir çok yerde duyar görür işitir oldum yıllar önce bir projemde sisteme ters düşen bir olay üzerine iş arkadaşlarım "vazgeç artık bunu yapmak imkansız" deyip duruyorlardı ve bende onlara cevaben "Bir programcının parmaklarının ucunda imkansız diye bir şey yoktur!" dedim ve o imkansız denilen sisteme ters düşen olayı bir kaç aldatmacayla aşarak sonuca ulaşmıştım bu söz ata sözü sayılmaz belki ama o zamanlar ne program vardı ne programcı o yüzden CodeMania sözü diyelim şimdilik ilerki zamanlarda ata sözü sayılabilir ha nedersiniz :)

17 Ağustos 2009 Pazartesi

İmkansız diye birşey yoktur

Bir şeyin imkansız olduğuna inanırsanız, aklınız bunun neden imkansız olduğunu ispatlamak üzere çalışmaya başlar. Ama bir şeyin yapılabileceğine inandığınızda, aklınız onu yapmak üzere çözümler bulmanıza yardım etmek için çalışmaya başlar | Dr. David J. Schwartz

12 Ağustos 2009 Çarşamba

Şikayetim var

her zaman iyi bir bilişimci olmak size iyi bir kariyer getirsede bir çok kez başınıza dert açıyor. sırf kendileriyle çalışayım diye kafama silah dayayan rakip firma sahipleride olmadı desem yalan olur, bu işimde çok iyi olduğumu göstermez belki ama rakip görülmek istenmeyen biri olduğumuda düşündürmedi değil tabi bunun yanında etrafınızdaki herkese ücretsi danışma hattı gibi görünmeniz işin tuzu biberi olur gecenin hangi saati olursa olsun insanlar size bilişim sektoruyle alakalı soruları sorma hakkını kendinde buluyor ornegin gece 3 ve ısrarla telefon çalıyor açıyorsunuz selam müslüm ben falanca ya şöyle bir program varmı şu işi yapan cevap verirsiniz yarı uykulu senin...... tabi böyle değil var tabi işte programın adı şu googleye yaz çıkar. ve uykuya dalarsınız 15 dakikalığına yine ısrarla çalar telefonunuz, müslüm yine ben kusura bakma rahatsız ediyorum(farkındadır ama etmeye devam eder) yok estafrlh buyur o dediğin programdan başka yokmu birde msn e gir iki dakika bana sen yolla yorma beni aramakla(emradersiniz) yada bir arkadaşınız bilgisayar alacak en ucuzu en iyiyi almak ister öneri ister önerirsiniz sonra bir gün virüs bulaşır suçlusu siz olursunuz bilgisayarı siz önermişsinizdir ya. virüsün giriş sebebide siz olursunuz bir anda yada sizin önerdiğiniz bilgisayara virüs girmişse 5 para etmez bildikleriniz! daha milyonlarcası vardır, bazen keşke bu sorular yerine onlarda kafama bir silah dayayıp tetiği çekse dedirten cinsten...

11 Ağustos 2009 Salı

Yazılım geliştirmeye değişik bir bakış...

Programcılıkta sabahlamanın verdiği huzur ve tatmin çok meşhur. Programcılar sabaha kadar çalışma konusunda herkesi şaşırtan derecede istekli ve beceriklidir. Bu gece çalışması boyunca beyin bir "akış" yakalayarak saatlerin su gibi geçtiği bir çalışma ortamı oluşur. Bu çalışma sırasında beyin en derin konsantrasyon düzeylerine erişir ve genellikle zor programlar bu kesintisiz, onlarca saat süren çalışmalarda ortaya çıkar. Beyin bu stilde çalışırken kişilerin mutlu oldukları, mutluluk düzeylerinin arttığı bilimsel çalışmalarla gözlemlenmiştir. Bu çalışmalar eski Chicago Üniversitesi Psikoloji Bölüm Başkanı Mihaly Csikszentmihalyi tarafından yapılmıştır. Çalışmalarda çeşitli disiplinlerden yüzlerce kişinin günlük uğraşları incelenmiş ve bu sırada "mutluluk" düzeyleri gözlemlenmiştir. Bu çalışmaların programcılar tarafındaki bulguları ise ilginçtir. Her ne kadar programcılık bir bilim dalı (Computer Science), bir mühendislik (Software Engineering) olarak düşünülse de programcıların beyninin sanatçıların çalışma stiline sahip olduğu ortaya çıkmıştır. Programcılık sırasında beyin bir "akış" moduna geçmekte, etraftan ilişkisini kesmekte ve bir probleme günlerce konstantre olabilmektedir.

Başarılı programcıların çoğu konsantrasyon yetenekleri ile çevrelerini şaşırtır. Saatlerce sıkılmadan bir ekran başında vakit harcayabilirler. Bu saatler bir çok kez günlere kadar uzayabilir. Yaşamsal faaliyetler dışında hemen hemen her şeyden izolasyon gereklidir. Microsoft'ta Office yazılım geliştirme ekibinden bir programcının kendini odasına kilitleyip "bitmeden çıkmayacağım" demesi, Bill Gates'e bile kapıyı açmaması meşhurdur. Bu olay daha sonra Douglas Coupland'ın Microserfs (1996) kitabına konu olmuştur. Bu sırada kendini odaya kilitleyen programcının arkadaşlarının süper marketten gidip yassı yiyecekler alması ve kapının altından odaya atmaları, programcılar arasındaki dayanışmanın güzel ve sevimli bir örneği.

Bu çalışma sırasında programcı en derin düşüne moduna geçer ve etraftan kendini izole etmeye çalışır. Bir çok programcı bu amaçla müziği kullanır. Ancak müziğin programcılık sırasında beyne olan etkileri üzerine yapılan çalışmaların bulguları şaşırtıcıdır. Kreatif programlama ile müzik dinleme sırasında kullanılan beyin bölgesi aynıdır. Beyin bir müziğe konsantre olmuşken çok derin programcılık yapılamıyor. Ya da yeteri kadar iyi yapılamıyor. Programcının müziği kapatınca etraftaki gürültünün etkisi ile müziği dinlediğinde beynin gerekli bölgesinin meşgul edilmesi arasında bir tercih yapması gerekir. Tahminen bu nedenle izolasyon amaçlı müzik kullanımında elektronik müziğin, hard rock, alternatif rock ve heavy metal gibi müzik türlerinin daha fazla tercih edildiği görülür. Müzik, beyin ve programcılar üzerinde çalışmalar halen sürüyor, bu derin konu araştırılmaya devam ediyor. Şu anki bulgular, kritik kodların geliştirilmesi ve müzik dinleme sırasında kullanılan beyin bölgelerinin aynı olduğunu gösteriyor. Monoton kodlama (maintenance) diyebileceğimiz program geliştirme kısmı ise beynin başka bir bölümünde gerçekleşir. Bu tür kodların geliştirilmesi sırasında müziğin programlamaya herhangi bir negatif etkisi görülmemiştir.

Programcının kritik kodları yazmak için ihtiyaç duyduğu "akış" modunu koruyabilmesi için izolasyona ihtiyacı bulunur. Bu izolasyon arttıkça çalışma derinleşir, ilk önce beyinde yazılmak istenen programın çatısı oluşur, problem önce beyinde çözülür, daha sonra beyinde çözülen bu problem koda çevrilir. Programcının beyni pencereden dışarıyı seyrederken ya da gözler sabit bir yere bakıp dalıp gittiği zaman bu problem çözülmeye çalışılır. Hatta programcının beyni bu problemi uyurken, araba sürerken ve diğer başka monoton işleri yaparken ele almaya devam eder. Bu durumda sıfırdan ve baştan yazılan bir programa bakıldığında kodlama toplam sürenin oldukça az bir bölümünü almaktadır.

Bu çalışma sırasında beyin son derece karmaşık bir aktivite içerisine girmiştir. Var olmayan bir çözümü oluşturmak için "kreatif" süreç başlamıştır. Bu süreç duyu organlarını izole etmiş ve yaratıcılığa yoğunlaşmıştır. Bu süreç sırasında programcı onlarca konuda karar vermektedir. Değişken isimlerinden, akış yöntemlerine, parametrelerin cinsinden, kullanıcı ara birimine kadar bir programcı sürekli bir "karar alma" uğraşısı içerisindedir. Programcılar bu nedenle bir günde yüzlerce kararın altına imza atma becerisine sahip iyi birer karar vericidirler.

Tam bu yoğun programlama sırada birisinin programcının omzuna dokunduğu zaman bir "ara verme" operasyonu başlar. Bu ara verme operasyonu tam gaz giden bir arabada aniden frene basma gibidir. Derinleşen "kreatif" süreç derinliğini yitirir ve duyu organları "açılarak" omuza dokunan kişi ile iletişime geçilir. Bu geçiş çoğu zaman o kadar kolay olmamakta ve programcılar bu nedenle zor iletişim kurulan kişiler olarak görülmektedir. Bir soru sorulmaktadır. Eğer bu soru şu an üzerinde çalışılan konuyla ilgili ise mevcut kreatif süreç bu soruyu cevaplamakta kullanılır. Sorunun "bağlam" ile ilgili olması, sürecin durdurulmasını gerektirmez. Örneğin bir veri tabanı tasarımında yandaki programcı bir tablodaki alanın ne işe yaradığını sorduğunda süreç durdurulmadan cevap verilebilir. Cevabın verilmesi için gerekli bütün malzeme, zaten o sırada beynin çalışma bölgesine getirilmiş hazır halde bulunmaktadır.

Ama eğer bu soru bambaşka konularla ilgiliyse: "Bu iş ne zaman bitecek"ten tutun da , "dün maçı seyrettin mi?" ye kadar değişik açılardan gelen bir soru olabilir. Bu durumda ancak bu kreatif süreç durdurularak bu soruya cevap verilebilmektedir. Ya da çoğu programcı bu soruyu "duyacak" ama "algılamayacaktır". O an durumu kurtaracak bir cevap vereceklerdir: "yarına biter" vs gibi. Yapılan basittir: kreatif süreç bölünmeden çalışmaya devam etmek istenmektedir. Bu sırada soruyu soran kişi doğal olarak programcıların zor iletişim kurulan kişiler olduğunu düşünecektir. Oysa programcının beyni hız kesmemeye çalışmaktan başka bir şey yapmamaktadır.

Programcılar çoğu zaman konuşmayı pek sevmeyen ve zor iletişim kuran kişiler olarak bilinmektedir. Bu yanlış inancın temelinde, programcıların konsantre olma yetenekleri ve bölünmelere karşı geliştirdikleri iletişim "önlemleri" yatmaktadır. Oysa yazılım geliştirme ekipleri oldukça konuşkan olabilirler. Fark konuşulan konularda yatmaktadır... "Windows mu iyidir, Linux mu?" tartışmalarını dinleseniz programcıların az iletişim kurdukları konusundaki fikirleriniz tam tersi yönde değişecektir.

Eğer bölündüğü sırada programcı soruyu tam olarak algılayıp doğru bir cevap vermeye çalışırsa, soru "bağlam" dışı ise kreatif sürecin durması gerekmektedir. Duran bu akışın yeniden eski kaldığı noktaya geri dönebilmesi, kişiye çok bağlı olmakla beraber, on beş dakikaya kadar çıkabilmektedir. Konsantre olma yeteneği yüksek olan programcılar bölünen bu süreci daha hızlı bir sürede eski noktaya getirebilmektedir.

Programcılık sırasında beynin bu çalışma stilinin anlaşılması programlama ortamlarının ne kadar özenle seçilmesi gerektiği konusunda önemli ipuçları sağlamaktadır. Programcıların bu bölünmelerden korunması gereklidir. Daha da önemlisi programcıların kendilerini bu bölünmelerden korumaları gerekmektedir. Csikszentmihalyi ve ekibin yaptığı çalışmalar bu derin çalışma sürecinin ne kadar kırılgan olduğunu ve izolasyona ihtiyaç duyduğunu açığa çıkarmaktadır.

Kanımca bir çok yazılım hatası (bug) bu bölünmeler sırasında ortaya çıkmaktadır. Televizyonda bir motor yağı reklamını izlediğimi hatırlıyorum. Reklamda "motor ısınıncaya kadar olan sürede aşınır yıpranır oysa bu motor yağı mıknatıs özelliklerine sahiptir ve motor çeperine yapışık kalarak ısınma sırasında bile motorun yıpranmasını önler" diyordu. Bu reklamda anlatılan olayı programcılıkta çok gördüğümüzü düşünüyorum. Yeteri kadar ısınmadan, soğuk bir "beyinle" yapılmaya başlanılan programcılık sonucunda oldukça "hatalı (bogus)" kodlar üretildiğini düşünüyorum.

Meslek hayatımda karşılaştığım binlerce yazılım hatasını masaya yatırdığımda bu tür hatalarla karşılaştığımı görüyorum. Hataların bu kreatif sürecin hangi aşamasında yazılmış olabileceğini tahmin etmeye çalışıyorum. Bir programcı bölünme ile karşılaştığı zaman -üstelik bu bölünme bir SMS mesajı yazmak gibi zor ve zahmetli olup, beyni oldukça uğraştıran cinsten ise- programlama sürecinin beyinde eski aktivite düzeyine yükselmesi çoğu zaman yaklaşık 15 dakika sürecektir. Bu süreç sırasında hatasız bir kod üretimi için programcının kritik bir kod yazmaması gereklidir. Konsantrasyonun tam sağlanamayacağı bu ısınma dönemi, unutulan kontroller, atlanan olasılıklar ve hiç kodlanmayan program akış dallarına neden olacaktır.

Çağımızda bu bölünmelerin başlıca sebepleri cep telefonları, gelen SMS mesajları ve Instant Messaging programlarıdır. Bölünmemek için iletişimsizliğe ihtiyacımız varken çağımız bir iletişim çağı olmuştur. Watts Humprey, Software Engineering Institute tabanlı Personal Software Process'in (Kişisel Yazılım Süreci - PSP) geliştiricilerinden birisidir. Kendisi uzun yıllar IBM'de çalışmış, OS390 projesinde yer almış ve yazılım geliştirmenin önemli duayenlerinden birisi olmuştur. PSP bir programcının iyi program yazması konusunda kendini nasıl geliştireceğinin ana hatlarını çizer. Humprey'in PSP'yi anlattığı "Introduction to PSP" kitabını aldığımda şaşırdığım bir konu olmuştu. Kitabın ilk bölümlerinin zaman yönetimi ve bu bölünmelere karşı mücadele olduğunu görüp şaşırmıştım. Humprey, programcıları bu bölünmelerle mücadele konusunda bilinçlendirmeye çalışıyordu.

Yazılım geliştirme sürecinin tam verimiyle çalışması için bu sürecin korunmaya ihtiyacı olduğu çok açık. Bir programcının etrafında oturanlar, yöneticileri, ona SMS gönderenler bu sürecin geç cevap alacaklarının farkında olmalıdır. Böyle bir zihinsel durumdaki yazılım geliştirmeciyle olan iletişim senkron (eş zamanlı) değil asenkron (farklı zamanlarda) olmalıdır. Şu sıralar programcılıkta popüler olan yeni bir akım var. Entegre edilen sistemlerin birbirleriyle senkron bağlantılar yerine "loosely coupled" (gevşek eşleştirme) dediğimiz asenkron yöntemlerle bağlanması. Sanırım "akış" anını yakalamış bir programcı ile iletişimin de en sağlıklısı "loosely coupled" türden olacaktır.