Odak

Etiketler odak, cat-personal-development, project, 6 gün 17 saat 57 dakika önce

Senelerce bir çok farklı işte çalışıp küçüklü büyüklü bir çok proje yaptıktan sonra fark ettim ki bir projenin en büyük düşmanı içimizdeki diğer projeler. Ne zaman bir işe başlasam daha henüz başındayken başka projeler gelip odağımı çalıyor.

Başka projelerin odağı çalması tamamen motivasyon ile alakalı. Eğer elinizdeki iş henüz yayınlanmamışsa, yayınlanmışsa ama henüz yeterince kişi ilgilenmediyse, beklediğinizi bulamadıysanız başka projelerin odağınızı çalması çok daha basit hale geliyor.

Bunu çözmek için bir kaç yol:

  • Projelerin ayağa kalkmasının belli bir vakit süreceğiniz kabullenin. Bu vaktin genelde sandığınızdan daha fazla süreceğini de bilin.
  • Aklınıza gelen tüm diğer fikirlere şiddetle karşı çıkın
    • Bu fikirleri bir yere not alıp, unutabilirsiniz
    • Bu fikirleri blog, twitter gibi yerlerde açık açık dokümante edip kurtulabilirsiniz

Her zaman "süper" fikirler aklınıza gelecek, bunu durdurmak mümkün değil ama o fikirleri kovalamamak mümkün.

İyice Odaklanın

Elinizdeki işe odaklanmak için diğer tüm gereksiz projelerden, işlerden de kurtulmanız lazım. Vaktinizi veya aklınızı alan gereksiz tüm projelerinizi ya elden çıkartın ya da çizgi çekin.

Elden çıkart: Sat, kapat.
Çizgi Çek: Bir daha dokunma, güncelleme, tanıma.

Nasıl birden çok şeyi aynı anda yapmaktan iyi verim alınamıyorsa, birden çok projeyi aynı anda yapmak da işe yaramıyor.

Bu Yazılar Kaçmaz
Netsparker Satışa Çıktı
Verimli Bilgi Takibi

Nasıl soru sorulur ve cevap alınır

Etiketler cat-personal-development, mail, qa, question, email, soru, cevap, adap, 17 gün 15 saat 45 dakika önce

Son günlerdeki öğreten adam temama yıllardır yazmak isteyip bir türlü yazamadığım bu yazı ile devam ediyorum...

Blog yazmaya başladığım ilk günden bu yana düzenli soru e-mail' ları alıyorum. "Hangi antivirüs' ü alayım?" dan tut "Erkek arkadaşım bilgisayarı benden çok daha fazla seviyor ne yapayım?" a kadar. Ciddiyim ikinci soru ve farklı varyasyonlarını bir kaç defa gördüm.

Kişisel sorulardan hiç bahsetmiyorum bile...

Henüz daha toyken hemen hemen tüm bu emaillara cevap veriyordum. Daha sonradan fark ettim ki bu emailların yarısı cevabı bile hak etmiyor. Ben de bizzat tanımadığım kişilere email ile soru soruyorum, bunların bazıları çok meşgul ya da günde 100 tane email alan kişiler. Kitap yazarları, teknik adamlar, blog yazarları vs.

Bu soruları sorarken şu kuralları izlemeye çalışıyorum:

Altın Kural
Soru sorduğum kişi bana cevap vermek zorunda değil.

Kural 1
Kendi yapabileceğim bir şeyi başkasından istemem. Mesela Google' da arama yapmak gibi!

Kural 2
Sorduğum sorunun cevabını verecek kişinin eforunu minimuma indirmem gerekiyor.

  • Soru hakkında kişinin neleri bilmesi gerektiğini düşünüp bunların hepsini daha o istemeden ilk emailda göndermeye çalışırım. Dolayısıyla sorduğum kişi bana dönüp 10 soru daha sormak zorunda kalmaz.
  • Emailı mümkün oldukça kısa tutmaya çalışırım. Kısa yazı yazmak kolay bir iş değil, dolayısıyla göndermeden sorunun üzerinden defalarca geçip yeterince kısa mı?, anlatmak istediğimi en efektif şekilde anlatabildim mi? diye düşünürüm.
  • Emailları adam gibi dil bilgisi ile yazmaya çalışırım. Yazım kuralları olabildiğince doğru olmalı. En azından bir "spell checker" kullanalım değil mi? Eğer ben yazdığım emaila 5 dakika harcayamıyorsam cevap verecek kişi neden 20 dk. uğraşıp cevap versin ki?

Kural 3
Kibar ol. Bkz: Altın Kural

Tanımadığınız insanlara tanımadığınız insanlar gibi yaklaşın. Askerde birlikte bot bağlamış gibi değil. Burada herkesin tipi farklı tabii ki, benim blog üslubumdan dolayı genelde aldığım emaillarda insanlar senli-benli hitap ediyorlar ki bence hiç bir sorun yok, hatta siz diye gelen emaillar biraz tuhafıma gidiyor ama bu durum herkes için geçerli olmayacaktır.

Buna rağmen daha kendinin kim olmadığını söylemeden, selam sabahsız emaillarda genelde anında siliniyorlar. Aradaki farkı iyi bilmek lazım.

Kural 4
Karşıdaki kişinin konusu ile alakalı bir şey sormaya çalışırım.

Mesela bana Java konusunda teknik sorular geliyor. Acaba bugüne kadar Java' yı küfretmek dışında cümle içerisinde kullandığımı kaç defa görmüşler ki?

Kural 5
Elimden gelen her şeyi yapmama rağmen kişi cevap vermezse kızmam. Dolayısıyla emailları yazarken varsayılan olarak cevap almayacağımı düşünürüm, cevabın gelmesi beni sevindirir. Bkz: Altın Kural

Altın Kural, altın kural, altın kural.... Karşıdaki kişi bana cevap verme yükümlülüğünde değil bana cevap veriyorsa bu büyük bir kıyaktır. Bunu unutmadan yazdıktan sonra gönül rahatlığı ile bir yabancıya email atıp soru sorabilirsiniz.

Flash Uygulamalarının Güvenliği

Etiketler flash, security, crossdomain, exploit, presentation, demo, conference, me, riatalks, 18 gün 17 saat 12 dakika önce

2008’ de RIATalks’ da flash güvenliği ve web 2.0 uygulamalarının güvenliği üzerine konuşmuştum.

Sanırım daha önce kimsenin pratikte bunu görmemiş olmasından dolayı özellikle Flash sunumunda gösterdiğim Crossdomain.xml’ i exploit etme işini herkes çok beğendi. Bu sunumdan sonra özellikle bir çok güvenlikçi arkadaşım bunun kodunu istemişti, ben de kodları kaybettiğimden dolayı verememiştim. Bugün backup’ larım arasında buldum bu kodları. Kodlar, sunum ve sunumun videosu aşağıdaki gibi.

Video

 

 

Sunum

Kod Download

http://drop.io/ycek5is

Bilimsel Cevaplar

Etiketler cat-personal-development, is, hayat, life, soru, cevap, bilimsellik, insan, 25 gün 11 saat 57 dakika önce

Her zaman insanları okumak konusunda iyi olduğumu düşünmüşümdür ve bu hislerime güvenmediğimde başıma gelenlere bakarak sandığımdan daha da iyi olduğumu söyleyebilirim, ama zaten kendi hakkımızda ne biliyoruz ki?

Eğer birine Evet / Hayır noktasına gelebilecek bir soru sorarsanız iki farklı bilgiye dayalı iki farklı cevap gelme ihtimali var.

Mesela "Zafer evde mi?"

  • Evet, Zafer evde. Çünkü cevap veren kişi Zafer' i az önce evde gördü.
  • Hayır, Zafer evde değil. Çünkü cevap veren kişi Zafer' in evden çıktığını ve geri gelmediğini gördü.
  • Evet, Çünkü cevap veren kişi Zafer' in evde olduğunu tahmin ediyor, çünkü kendi çapında nedenleri var ama aslında Zafer' in evde olup olmadığını bilmiyor.
  • Evet, Çünkü cevap veren kişi Zafer' i gördüğünü zannediyor ama aslında hayal gördü, dolayısıyla tüm dürüstlüğüyle cevap veriyor ama aslında Zafer evde olmayabilir.

Genelde bir kişi cevabı malum yerinden atıyorsa bunu anlamak pek zor olmuyor, ki bu durumda ilk işim kanıt aramak oluyor "Zafer' i en son ne zaman gördün?" , "Eve kaçta geldi?" vs.

Örnek olarak basit bir konuyu seçtim, ben aynı diyalogu bir çok konuda yaşadım. Normal diyaloglarda insanların bunu yapmasına çok alışkınım, mesela saçma bir istatistik konusunda sanki kendileri 1000 kişi ile bizzat röportaj yapmış gibi konuşurlar. Kendilerine kaynak sorunca Hürriyet' i, amcalarının oğlu Muzaffer' i ve Wikipedia' yı gösterirler ama aslında konu hakkında sadece fikirleri vardır, buna rağmen cevapları her zaman kesindir.

Aynı komik diyalogu tarih kitaplarında da zaman zaman görülür "Padişah zötterö kendisine hastır oradan diye yeni çerinin ağlamasına kulak asmadan Mehmet ve Ahmet ile birlikte, zöttöre ağacında sallandırdı, çünkü Katerina onu gaza getirdi." Tarihçilere sorduğunuz da çok gülerler bunlara.

Açık konuşmak gerekirse bu tip kesinlikle bir şey aktaran ya da cevap veren insanların becerilerine hayranım, çünkü gerçekten bilmediğin bir konuda kesin konuşmak etkileyici bir yetenek ve iş dünyasında adam kafalamaya çok yarar, tabii ki karşında senin bunu attığını ya da gerçekten yeterli derecede bilmediğini anlayabilecek birisi yoksa. Bkz: fizzbuzz yazamayan programcı işe alan bir dünya firma.

Buna rağmen özellikle teknik konularda bunu yapmak feci bir hatadır. Ben birlikte kod yazdığım birine 10.000 elemanlık bir datayı "SortedList" te mi daha hızlı buluruz yoksa "List" te mi dediğimde kişinin cevabı ya "SortedList" ve "List" bilgisinin çok iyi olmasına dayanmalı ya da kendi bizzat bu işi denemiş ve benchmark' larını yapmış olmalı. Aksi takdirde "Bilmiyorum" ve "Emin değilim" dışında vereceği tüm yanıtlar faydadan çok zarara neden olacaktır.

Özetle tahmin ettiğiniz şeyler konusunda denemeden "Budur" ya da "Değildir" demeyin, ya da bunu söylerken çıkış datanızı belirtin. Benimle çalışmış olanlar bilirler genelde bir bilgi elime ulaşır ulaşmaz, bir sakatlık olduğunu hissedersem klasik sorularımdan biri şudur "Neye dayanarak?", bakalım boktan bir dayanak noktan mı var? Yoksa gerçekten söylediğini biliyor musun? Bazen söyleyen kişide bunu irdelememiş olabilir, normaldir, siz söyleyince düşünür o da hak verir.

İlginç bir şekilde bunun insanlar arasında inanılmaz yaygın bir davranış olduğunu gördüm, bizzat ailem, akrabalarım bir sürü arkadaşım hepsi bu şekilde ve şahsen beni deli ediyorlar. İlginç bir şekilde sanırım işin doğal bu. Eğer %50 üzerinde bir şeye inanıyorsan %100 biliyormuş gibi "Evet" veya "Hayır" deme hakkına sahipsin. Normal hayat üzerine bir uzmanlığım yok ama teknik konularda bunu yapıyorsanız ciddi sorunlar var demek.

Masanın söyleyen tarafındaysanız söylediklerinizi ve söyleyiş biçiminizi iki defa düşünmeye başlayın eğer dinleyen kısmındaysanız "all input is evil until proven otherwise" deyişindeki gibi gelen girdinin doğruluğunu onaylayın ve insanların tonundaki o emin olmama tınısını tanıma konusunda kendinizi geliştirin.

Bu aralar "öğreten adam" modunda yazmaya başladığımı fark ettim, buradaki her yazı benim naçizane deneyimlerimin çıktısıdır (doğru, yanlış, hatalı), ben kendi kişisel balonumdan yayın yapıyorum, öyle kabul edile.

Motivasyon

Etiketler cat-personal-development, motivasyon, is, life, 28 gün 13 saat 42 dakika önce

Dün bir e-mail aldım, bir arkadaşımız şöyle bir soru sormuş:

"Kendini bu kadar nasıl motive ediyorsun?"

Her şeyden önce motivasyon insandan insana inanılmaz derecede değişen bir şey. Kimi insanı motive etmek için gaz vermeniz lazım, kimi insana ödül göstermeniz lazım, kimisine küfretmeniz, hırslandırmanız lazım vs. vs. Mesela çoğu insan baskı altında daha iyi çalışırken ben baskı altında genelde dökülürüm ve iş yapamam.

Sizi sizden iyi bilen biri yok. Bu konuda ilk iş kendinizi neyin tetiklediğini öğrenin, hayatınız boyunca kendinizle yaşadınız, herhalde daha önceden hangi faktörlerin sizde çalışma isteği uyandırdığını bulabilirsiniz.

Motivasyon bir kaç faktöre bağlı, benim gözümde 2 ana faktör var ve onları etkileyen 2 önemli parametre var:

Faktör I - Ödül

Mesela açık kaynak kodlu bir uygulama yazıyorsanız, 2-3 ödül olabilir:

 

Faktör II - İhtimal

Eğer size günde iki saat çalışarak bir sene içerisinde ciddi bir futbol takımında oynayabileceğiniz garantisini verebilseydim, siz de bu konuda ciddi derecede motive olurdunuz, çünkü ödül büyük, çalışma mantık dahilinde ve sonuç kesin.

Gerçek hayatta sonuç hiç bir zaman kesin olmuyor onun yerine ihtimaller üzerine konuşuyoruz. Mesela yukarıdaki örnekten devam edersek açık kaynak kodlu bir yazılım yazdığınızda eğer bir sene içerisinde toplam üç milyondan fazla kullanıcıya ulaşabileceğinizi bilseydiniz bu tip bir uygulama yazarken çok daha motive olurdunuz. Tabii ki ödül seçiminizin bu olduğunu varsayıyorum, eğer derdiniz para ise üç milyon kullanıcının yüz bininin paralı bir destek alacağını umuyor olacaktınız vs.

Olaya gel, geyiğe bağladın gene

Bunlar haricinde ödül' ü etkileyen ödülün size ne anlam ifade ettiği faktörü var. Mesela para size bir anlam ifade etmiyor olabilir ama ünlü olmak çok önemlidir gibi.

Son faktör de ödüle ulaşmak için gerekli efor. Bu kritik çünkü eğer beş sene boyunca günde on iki saat çalışınca başarılı olacağınızdan emin olsanız bile bunu yapmayabilirsiniz. O yüzden gerekli efor da kritik faktörlerden biri.

Psycho Folder

Mesela Psycho Folder isimli küçük yazılımım için benim motivasyonumu inceleyelim:

  • Ödül
    Kişisel bir işi çözmek. Bunu çözünce çok büyük bir şey kazanmayacağım. O yüzden ödülün büyüklüğü az.
  • Önem:
    Bunu çözmek hayatımda ciddi bir değişiklik sağlamayacak, günde bir saat tasarruf etmeyeceğim. Dolayısıyla ödülü çok da umurumda değil.
  • İhtimal
    Başarı ihtimalim çok yüksek, çünkü yapabileceğimden eminim. Ne kodlayacağımı biliyorum, dile hakimim, teknik olarak ne yapılması gerektiğini biliyorum. 
  • Efor:
    Çok düşük bir efor ile çıkabilecek bir iş.

Dolayısıyla Psycho Folder için motivasyonum vardı ama iki günde yayınlayıp bitirecek kadar. Artık üzerinde çalışmıyorum, çünkü bundan fazla efor sarf ettiğimde alacağım ödülü karşılamaz hale geliyor.

Aynı mantık üzerinde ilerleyince neden kendi işini yapmayan bir çok kişinin çalıştığı iş yerlerinde motive olamadığını hemen anlıyoruz.

Sonuç

Motivasyon tamamen yaptığınız iş ve faktörler ile ilgili, ben son zamanlarda hayatımda hiç olmadığım kadar motive olmuş durumdayım, çünkü üzerinde çalıştığım proje için yukarıdakilerden ihtimal, ödül ve önem ciddi bir şekilde yükselişte.

Son olarak not düşmek lazım insanın kariyerinde 15m2 ofislerde tek ödülü internet ve yazıcıyı kullanabilmek olduğu zamanları da oluyor, ve ilginç bir şekilde inanılmaz bir motivasyonda da olabiliyor, dolayısıyla kariyerin belli noktalarında iniş ve çıkışlar boyunca uzun vade planlara bakıp motive olmak lazım.

Soruya cevap vermedin?

Tüm yazıyı yazmama neden soru şuydu:

"Kendini bu kadar nasıl motive ediyorsun?"

Sevmediğin işi yapma

Her şeyden önce zevk almadığım işleri yapmıyorum, bu yüzden "Efor" faktörüm genelde düşük oluyor, çünkü yaptığımdan zaten zevk alıyorum.

Bazen sevmediğiniz işleri bir süre yapmak zorunda kalacaksınız bu kaçınılmaz, bunu bir adım olarak saymak lazım. Nedenleri maddi olabilir, kariyer gereksinimi olabilir vs. Sadece sevmediğiniz bu işi çok uzun yapmayacağınızdan ve bir planınız olduğundan emin olun.

İnsanları önemseme

Ben çok fazla insana fikir sorarım ama aldığım fikirleri kullanmadan veya onlara inanmadan çok iyi analiz eder ve sorgularım. Kimseden "X böyledir" gibi bir açıklamayı kanıt olmadan kabul etmeyin. İnsanlara neden diye sorduğunuzda bir çok kişinin neden sorusunu cevaplayamadığını ya da saçma bir nedenleri olduğunu göreceksiniz. Hatta bazen onlar nedenlerini söylerken söylediklerinin saçma olduğunu anlayacaklar. Çünkü yıllardır akıllarındaki o fikri tekrar sorgulama gereği duymamışlar.

Ben bir çok insanın aksine fikirlerini, planlarını ve hayallerini paylaşmayı seven ve bu konularda açık olan biriyim. Şahsen yaptığım bir çok kariyer seçiminde çok yakın çevrem harici bir çok insan bana inanmadı. Kimi açık açık söyledi, kiminin söylemesine bile gerek olmadı, belliydi.

Genelde yanıldılar, 6 ayda bir iş değiştirmek iyi bir fikirdi, 15m2 lik boktan bir ofiste çalışmak ve kariyerimin başında tüm şerefsizlerle tanışıp daha sonradan şerefsiz ve şerefli insanları 10 dk. içerisinde birbirinden ayırma yeteneğini kazanmak iyi oldu, o firmanın bana kazık atması insanların kişisel yüzleri ile iş hayatlarının farklı olduğunu öğretti, sadece "networking" olsun diye kişisel özelliklerini sevmediğim insanlar ile takılmamak, konuşmamak iyi bir fikirdi... vs.

Özetle insanların %90' ı salaklık bariyerinde, posizyonları, durumları ve popülerlikleri ne olursa olsun. İnsanlar her projenizde bok atacak, laf sokacak sizi demotive edecekler. O durumlarda bu insanların bariyerin diğer tarafında olduğunu kendinize hatırlatın, ben öyle yapıyorum. Bu bazılarına züppemsi gelebilir ama çivi çiviyi söker. Salak insanlara karşı ya züppe olmak ya da salak taklidi yapmak gerekiyor, ona göre duruşunuzu seçin.

Çok dertliymişim bu konuda çok uzattım, özetle:

  • Başkalarında bilgi ve fikir kabul edin ama onu analiz edebilecek tek kişi sizsiniz
  • İnsanların genelde salak olduğunu unutmayın
  • Bir çok büyük ve iyi fikre bir çok insanın kafasının basmaması doğal bir şey, ne kadar zeki olurlarsa olsun, aynı şeyi göremiyor olabilirler. Bazı fikirlerin olgunlaşması için gerekli aynı şeylerden beslenmek lazım.
  • Son olarak "kalın kafalı" olmayın bazen gerçekten de haklı olabilirler, dolayısıyla insanlar genelde salak diye subjektifliği kaybetmenin bir anlamı yok.

Hedefleri büyük tut

Benim her zaman adım adım hedeflerim vardır, çok kesin şeyler değil ama kafamda büyük bir planın olması en dandik noktalarda, kısa vade ödüllerinin çok kötü olduğu zamanlarda bile devam etmemi sağlıyor.

JFRI - "Just Fuckin' Release It"

JDI ve JFDI versiyonlarından sonra bu da benim versiyonum JFRI. Bir şey yapıyorsanız ne olursa olsun onu olabildiğince hızlı şekilde yayınlayın. Kapalı bir grupta yayın yapıyor olabilirsiniz ya da tüm dünyaya açabilirsinizö önemli değil ama yaptığınız işi yayınlamak ciddi bir şekilde motivasyonunuzu arttıracaktır.

Bu da benim düzenli olarak yaptığım şeylerden biri, bence "Release Often Release Early" motto' sunun es geçilen en önemli avantajlardan biri budur. Hatta bir çok kişi motive olabilmek için projelerini bloglarında tarih ve detayları ile yazıyorlar. Bu sayede "herkese rezil olma korkusu" onları motive ediyor. Bu benim motivasyon kriterlerimden biri değil "bkz. insanları önemseme başlığı" ama sizin için işe yarayacaksa neden olmasın, kullanılabilir.

Özetle yaptığım işleri en kısa sürede yayınlamaya çalışıyorum.

Felsefe

Son olarak felsefik tipler için ödül konsepti çok havada kalacaktır, çünkü insan ödülü takip ederken hızlı şekilde "Hayatın amacı nedir?" noktasına ulaşıyor. Balıkçı kasabası adamıysanız profesyonel anlamda hemen hemen hiç bir halttan kolayca motive olamazsınız, çünkü ödül' e verdiğiniz önem sıfır olacak. O zaman esas ödülü düşünün ve hayatınızdaki öncelikleri ona göre belirleyip doğru şeylere motive olun.

Mükemmellik

Sene 1998, Duke Nukem’ in patladığı seneden bir sene sonra. 3D Realms Duke Nukem Forever’ ı duyurmuş ve E3’ de Quake II oyun motoru ile geliştirilmiş ve bir çok kısmı bitmiş olan oyunun demosunu yapmış.

Unreal oyun motoru bu dönemde çıkıyor ve Quake oyun motorundan daha gerçekçi, daha güzel grafikler sağlıyor. Bu demonun hemen ardından bir toplantıda programcının biri ”Unreal’ a geçsek nasıl olur?” diyor. Duke Nukem’ in başarısını Duke Nukem Forever ile tekrar yakalamak isteyen Broussard bu fikre katılıyor.

10 sene sonra 3D Realms hala Duke Nukem Forever’ ı yayınlayamıyor, oyunu durduyor, herkes işten çıkartılıyor. 3D Realms hala yayıncılarına karşı milyonlarca dolarlık bir dava ile uğraşmakta.

Bana Hayatınızı Değiştirecek 62 Öneri yazısı konusunda bir çok kişi neden ”Mükemmeliyetçi olmayın” dediğimi sormuştu, sanırım bu güzel bir cevap. (Duke Nukem konunun bu kısmını ben de Wired USA Ocak’ dan okuyup, yeni öğrendim.)

Hayat Nasıl Gidiyor…

Soran olmadı ama ben söyleyeyim…

Bu aralar yeni şeyler öğrenmeye çalışıyorum. Bunların başında "pazarlama" geliyor. Bu konuda kazmayım hala da aynı şekilde devam ediyorum, bu benim için gerçekten sıkıcı bir iş. İnsan ilişkileri ile aram bir noktaya kadar iyi ama onun dışındaki konular gerçekten sıkıcı… Neyse bu işi daha uzman birine devredene kadar cezamı çekeceğim galiba.

Software Project Survival Guide (Pro -- Best Practices)

Organik gelişmiş bir yazılımı ticari hayata sokmanın etkisiyle gelmiş geçmiş en iyi programlama kitabı olan Code Complete’ in yazarı Steve McConnell’ ın Software Project Survival Guide’ ı okumaya başladım. Biraz eski, bazı şeyler benim uğraştığım projelerle ve yapılarla tutmuyor ama çok ilginç bilgiler var. Steve’ in en sevdiğim yanlarından biri çok fazla gerçek data ile anlattıklarını destekliyor olması. Yani bazıları gibi oturduğu yerden üretmiyor ya da kendilerinin başından geçen bir olaydan yola çıkılarak olayı genelleştirip sonuçlara varmıyor.

Steve’ in adam gibi blog yazmaması ve artık bir “iş adamı” olması bizim için büyük kayıp. Eğer yazılım işi ile uğraşan her kişi bir defa Code Complete’ i okusa ve uygulasaydı muhtemelen dünyadaki yazılımın kalitesi %15 ya da daha fazla yükselme gösterirdi. Neyse özetle Code Complete güzel bir kitap. Steve hakkında son bir not, eğer kitap yazsaydım herhalde o tip bir aksan ile yazmak isterdim, tam anlamıyla harika.

Hayatımın nasıl gittiği ile ilgili bir özet geçecektim ve farkettim ki son zamanlarda başıma gelen en ilginç seç Zuma’s Revenge’ te 50. level’ e geçmiş olmam! Onun harici sanırım işkolik ve internet kolik olmuş durumdayım. Twitter, FriendFeed ve Email kontrol oranım sağlıksız bir şekilde yükseldi.

Arada oturup yazmak istiyorum ama yazmak çok zor, daha doğrusu iyi yazmak çok zor. Yazmak için de bir şey yapmak gerekiyor, bu aralar yaptığım şeyleri yazmak da çok zevkli bir iş değil. Ya da zaten yazılmış şeyler. Neyse hiç yoktan nasıl bir şey yazamadığımı yazarak ve koca yazı boyunca aslında anlamlı hiç bir şey söylemeyerek bir blos postunun daha sonuna geldim...

VB.NET Developer Arıyoruz

Etiketler job, msl, is, reklam, kariyer, 29.12.2009

Biz Kimiz?

Mavituna Security isimli Netsparker yazılımını geliştiren bir firmayız. Web uygulaması güvenliği konusunda aşmış derecede know-how’ ı olan, bu konuda diğer firmaların yapamadığı işleri yapabilen, dinamik ve hızlı şekilde iş bitiren İngiltere temelli bir firmayız.

Size Faydamız Ne?

  • Güzel maaş veriyoruz
  • Evden çalışıyorsunuz
  • Dünya pazarında cirit atan ve web uygulaması konusunda uzmanlaşmış bir firmada deneyim kazanıyor ve bilgilerinizi geliştirebiliyorsunuz
  • Konferans, kitap vs. gibi kişisel gelişim konularında size yardımcı oluyoruz
  • Çalışma saatlerinizi seçebiliyorsunuz

 

Geliştirme ekibimize katılacak şu şekilde güzel bir arkadaş aramaktayız:

Şu konuları çok iyi bilen:

  • .NET Framework
  • Winforms
  • Multithreading

Bunları bilmesi tercih sebebi olacak:

  • Web Uygulaması Güvenliği
  • Design Patterns
  • COM-Interop
  • Web Development

Şu konseptleri anlayıp, uygulayabilen:

  • RTFM
  • DRY
  • GTD
  • TDD
  • JFGI

Şu becerilere sahip:

  • İletişebilen
  • Leb demeden leblebi’ nin dünyadaki satış oranlarını Google’ dan bulabilen
  • Geliştirme takımı ve insanlarla iyi geçinebilen
  • İleri seviye İngilizce yazma/okuma ve yeterli seviyede İngilizce konuşabilme
  • Verilen işin hakkını verebilecek
  • Ev ofisinden çalışabilecek
  • Bir sorumluluk aldığında tekrar dürtülmeye gerek duymadan sorumluluğunu yerine getirebilecek
  • Yönetilmeye ihtiyaç duymayacak
  • Şu 62 öneriyi okumuş olan : http://ferruh.mavituna.com/hayatinizi-degistirecek-oneri-oku/

Başvururken şunları yapmalısınız:

  • CV’ lerinizi contact-at-mavitunasecurity.com a göndermeli,
  • E-mail başlığı “[İSMİNİZ] - NETPROG“ olmalı,
  • Bugüne kadar .NET ile yazdığınız en iyi ve en az 300 satırdan oluşan kodu eklemeli veya linklemeli,
  • E-mail’ ın girişini bir paragrafta neden bizimle çalışmak istediğinizi İngilizce olarak yazmalısınız.

Ne Zaman?

Bu pozisyonu 2010 Mart ayına kadar doldurmayı planlıyoruz, dolayısıyla başvuru cevapları en geç 2010 Mart ayında verilecektir.

Süper Makale Netsparker Satışa Çıktı

Web uygulaması güvenliğinde daha önceden yapıl(a)mamış bir çok yeniliğe imza atan yazılımımız Netsparkertm, Next Generation Web Application Security Scanner bugün itibariyle satışa çıkmış bulunmakta.

Ürünün en dikkat çeken özellikleri:

  • False-Positive raporlamaması
  • Entegre exploitation desteği
  • SQL Injection, XSS gibi açıklarda diğer tarayıcılardan daha iyi olması

Şahsım ve tüm Mavituna Security ekibi adına 3 senelik bu çalışmanın, ar-ge ve geliştirme sürecinin en sonunda hayata geçmesinden büyük gurur duyduğumuzu söylemeliyim.

Ek olarak IBM, HP gibi büyük firmaların elinde tuttuğu çeyrek milyar dolarlık bir sektöre mütevazi takım ve yapımız ile girmekten ve bir çok konuda bu büyük rakiplerimizden çok daha iyi bir iş çıkarmış olmaktan da çok büyük bir gurur duyuyoruz.

Beta süresince bize katkıda bulunan 500 ‘ den fazla Beta Tester’ a da çok teşekkür ederim, onlar olmadan eksiklerimizi bu kadar iyi görebilmemiz, düzeltebilmemiz mümkün olamazdı.

Destek ve dualarını eksik etmeyen dostlara da tekrar teşekkür etmeyi borç bilirim.

Bayramımız Mübarek Olsun

Etiketler bayram, tebrik, kurban, 27.11.2009

Kurban bayramımız mübarek olsun, gidin büyüklerin ellerinden öpün, küçüklerin gözlerinden öpün, kendi yaşınızdakiler high-five yapın.

Bu sene pek bayram havasına giremedim, inşallah seneye bayramları Türkiye’ de geçireceğim. Bu bayramda kendimi Uncharted 2 Multiplayer’ a ve IstSec’ e hazırlanmaya vereceğim.

Bu bloga eskisi gibi düzenli ve güzel bir şeyler yazmak istiyorum ama inanın ne yazasım var ne de blogla ilgilenesim var. O yüzden sanırım bir süre daha bu şekilde devam edecek.

IstSec ‘09

Türkiye’ de en güzel ve en açık şekilde organize edilen tek güvenlik konferansı olan İstSec’ in ikincisi 12-13 Aralık’ ta yapılacak.

2 gün boyunca ben de dahil olmak üzere Mavituna Security ekibi de orada olacak, ek olarak konferansın ilk günü ben web uygulaması güvenliği konusunda 30 dk. lık çok aşırı teknik olmayan bir sunum yapacağım.

Katılım ücretsizdir ama kayıt yapmanız gerekli. Bir önceki konferans çok keyifliydi bu daha da güzel olacak gibi gözüküyor. Son olarak konfrerans boyunca inşallah standımızda Netsparker demosu yapıyor olacağız, ilgileniyorsanız uğrayıp bir selam vermeyi unutmayın.

OWASP AppSec DC 2009

12 Kasım’ da Washington DC’ deki OWASP AppSec DC 2009’ da One Click Ownage hakkında konuşacağım ve bir de Web Raider isimli küçük bir program yayınlayacağım inşallah.

One Click Ownage muhtemelen SQL Server’ da komut çalıştırmak, reverse shell, reverse VNC vs. almak için geliştirilmiş şimdiye kadarki en hızlı yöntem. Ek olarak CSRF + SQL Injection durumlarını da işe yarar şekilde exploit etmek için de bilinen tek yöntem. Bunun değişik bir implemantasyonunu Netsparker içerisine de ekledik.

Ek olarak 13 Kasım’ da konferansta olacağım, eğer katılacaklar varsa bana bir e-mail atın, orada görüşelim.

10 saat uçak çektikten sonra hemen geri dönmek olmaz diye konferans sonrası New York’ a geçip biraz orada olacağız. O yüzden site’ deki yazma ve e-mail cevaplama performansım bu süre zarfında biraz düşebilir.

Süper Makale Verimli Bilgi Takibi

Eskiden bilgi yok diyen bizim artık yeni bir sorunumuz var, bilgi fazlalığı.

Sorun büyük, çözüm basit değil ama bazı huyları değiştirerek verimli şekilde hem yeni bilgiyi takip edebilir, hem bilgiye yetişebilir hem de çok kısa süreler harcayarak yapabilirsiniz.

  1. RSS okuyusu kullanın, hiç bir blogu ziyaret etmeyin, blogları ziyaret etmek bir çok nedenden dolayı oradan alacağınız bilgiye gereğinden daha fazla efor vermenize neden olur.
  2. RSS okuyusunda herşeyi okumayın, başlıkları okuyun, konu ilginizi çekiyorsa devamını okuyun.
  3. Bilgi kaçıtrmaktan korkmayın, eğer bir şey gerçekten çok iyiyse takip ettiğiniz başka bir kanaldan onu duyacaksınız ne de olsa. İnternet sandığınızdan çok daha küçük, çok fazla kişi aynı konu hakkında konuşuyor. Hepsini okumanıza gerek yok birini okumanız yeterli.
  4. Eğer bir RSS ilgilendiğiniz konudan çok ilgilenmediğiniz konularda yazıyorsa, o RSS’ i takip etmeyi bırakın. (Benim rasgele değişik konulardan yazmam bir çok kişi için bu blogu da bu kategoriye sokuyor olabilir. Eğer öyleyse korkmayın silin. Çok iyi bir şey yazarsam bir şekidle duyarsınız zaten.*)
  5. İkna olduğunuz konuları tekrar tekrar okumayın. Eğer “LinkedIn” in kariyerinize yardım edecek bir kanal olduğuna inandıysanız LinkedIn’ in neden çok iyi olduğuna dair 5 yazı daha okumanıza gerek yok.
  6. Aynı bloggerlar aynı konuları çok yazarlar, bunu gördüğünüz anda o yazıyı es geçin. Bir de bunların kendilerine “technology evangelist” falan diyenleri vardır ki onlardan koşarak kaçın.
  7. Çok az yazı baştan sonra dikkatle okumayı gerektirir, değer. Önce yazıları hızlı bir şekilde okuyun. Hızlı okuma teknikleri ile ilgili bir çok kitap ve makale var. Bunları deneyebilir ya da kendi kendinize pratik yapabilirsiniz. Mesela bunun gibi bir makaleye maksimum 4-5 dk. harcamanız gerekli. Genelde 2 dk. yeterli olacaktır. Mesela girişteki paragrafın hiç bir amacı yok, bunu geçebilirsiniz. Bir yerden sonra bu doğal bir davranış olacaktır.
  8. İlginizi çeken konuları hemen okumayın Read it Later, Evernote ya da InstaPaper gibi bir sistem kullanın. Bu sayede konsantrasyonunuzu da bozmadan ve bulduğunuz kaynağı kaybetmeden ilginizi çeken konuyu daha sonra okuyabilirsiniz.
  9. Eğer mümkünse Pocket PC, iPhone gibi bir cihaz edinin ve daha sonra okumak için işaretlediğiniz yazıları bu cihazda okuyun. Bu sayede yolculuk, sırada bekleme, köprü trafiği, berber koltuğu, ramazan pidesi sırasını verimli bir iş için kullanmış olursunuz.
  10. Twitter, FriendFeed vs. gibi sistemler bilgi takibi için tasarlanmış sistemler değiller. Geyik ve sosyalleşme harici bilgi için kullanmaya çalışmayın, verim alamayacaksınız.
  11. Kitap okurken, kitabın heryerini okumayın. 400 sayfalık bir kitapta en az 200 sayfa boşluk doldurma sayfası vardır. Bunları tespit etmek bazen zor olur ama ufak bir eforla en azından 100 sayfayı okumadan ama içindekini anlayarak geçebilirsiniz. Buna rağmen her sayfasını okumaya değecek çok az kitap vardır, o kitapların hakkını vermek lazım. Bu kitaplar genelde yazarlardından anlaşılabilir.

Bu yazıyı sevenler hayatlarını değiştirecek şu 62 öneriyi de sevdi.

* Kayıtlara geçsin diye yazıyorum, şu anki RSS üyesi 3351, bu yazından sonra bir değişiklik olacak mı bakalım göreceğiz.

Süper Makale Netsparker

Sitenin düzenli takipçileri uzun bir süredir adam gibi yazmadığımı farketmişlerdir. Bir süre önce çalıştığım firmadan ayrıldım ve gene Londra’ da yeni bir firma kurdum – Mavituna Security Ltd.

Uzun bir süredir de bu firmanın ana ve tek ürünü olan Netsparker’ ın geliştirilmesi ve firma işleri ile uğraşıyorum.

Startup’ lar konusunda önceden çalışan ve kurucu olarak deneyimim olsa da bu önceki deneyimlerimin ötesinde çok daha farklı bir deneyim. Ölçek daha büyük, market çok daha büyük, rekabet çok daha büyük. HP ve IBM gibi firmaların başı çektiği bir markete yeni bir yazılımla girmek kolay bir iş değil. Daha önceden bu kadar kalabalık bir ekip hiç olmamıştı. (çok fazla değil, en kalabalık günümüzde altı kişiyiz)

Özetle bir süredir yazmamamın nedeni bu iş yoğunluydu, bu yoğunluk devam ediyor o yüzden ben de burada daha az yazıyor olacağım.

Netsparker Nedir?

Netsparker bir web uygulaması güvenlik tarayıcısı. Otomatik olarak bir web sitesini uygulama seviyesindeki güvenlik açıklarına karşı analiz edip güvenlik açıklarını raporlar. Ek olarak raporlamanın bir adım da ötesine geçip güvenlik açıklarını kullanarak aynı bir saldırgan gibi sistemden data çıkartabilir ya da sisteme tam erişim sağlayabiliyor.

Bu sayede SQL Injection, Cross-site Scripting gibi açıkları başkaları bulmadan siz bulabiliyorsunuz.

Bu süreç içerisinde bir çok beta tester' ın desteğini aldık ve almaya da devam ediyoruz. WGT ekibinin hemen hemen her üyesi bunun içerisinde, onlara da çok teşekkürler.

Burayı reklam alanına çevirmeden ilgilenenleri Netsparker Blog’ una davet ediyorum.

OWASP Top 1

Etiketler owasp, geyik, guvenlik, dedikodu, 18.09.2009

Popülerizm ve marketing sevmediğim şeylerdendir ama maalesef hayatta bazı gereksinimler var, genelde güçlü olmayan biz, akımları ve normları takip etmekten çok kabul ederiz.

OWASP’ ı severim, bazı abuk-subuk şeyleri olsa da genel olarak web uygulaması güvenliği konusunda bilinçlenme adına dünyada en çok işi yapmış topluluktur. OWASP Türkiye’ de de zaten aktif olarak bulundum, bulunuyorum, OWASP Guide' v3’ te yazdım vs. Dolayısıyla lafım OWASP’ a değil ama OWASP  Top 10’ e.

Genel olarak Top 10 listelerinden nefret etmiştirim, bloglarda gördükçe gıcık olurum ama OWASP Top 10 bunlardan da kötü. OWASP Top 10 yapmak nedense bana “Top 10 Sex Offenders” gibi bir liste yapmakmış gibi geliyor. 2009 OWASP Top 10’ i ne olacak dedikoduları başlamış, Top 10 i bilmem ama ben size OWASP Top 1’ ü söyleyeyim.

Güvenlik hakkında fikri olmayan web programcıları.

İşin daha da komiği bu Top 10 güvenlik açığı gibi listelerin arkasında kayda değer hiç bir data bulunmamasıdır, ama sanırım herkes bunun insanlara bu konuda gaz vermek için aynı şeyi evirip çevirip söylemek olduğunu farkdındadır zaten.

Kavga, Dövüş, Güvenlik

Etiketler hayat, guvenlik, hoyt ulen, 16.09.2009

Son bloglarımda belirttiğim gibi bu ara işlerim ekstra yoğun, bir kaç gün önce de Meşgul bir sahur isimli yazı yazmıştım.

Yazının yazılma sebebi benim bulunduğum ve iki arkadaşımla paylaştığım sunucuya birilerinin girmiş olmasıydı, girmişler sonra da oradan benim sitemin ana sayfa dosyasına ulaşmışlar, değiştirmişler. Ben önce konu hakkında kısa bir şey yazmıştım, sonra prim vermeyeyim dedim, daha sonra herkes anlat anlat diye tutturunca FriendFeed’ de anlattım şimdi de burada anlatayım.

Olayın teknik detayına inersek:

  • Bir kaç sene önce sunucuya arkadaşlarımdan biri bir güvenlik açığı olan bir script yüklemiş, tabii ki güvenlik açığı olduğunu bilmeden
  • Bu sırada biz kullanıcı hakları birbirlerine erişemesin diye kullanıcı haklarını düzenlemiştik, ancak bu arkadaş bir de arada kendi IIS kullanıcısını admin kullanıcısı haline getirmiş. Benim de bundan haberim yoktu.
  • Daha sonradan bu arkadaşlar da benim sitemi hacklemek isteyince direk sunucudaki diğer siteleri araştırmaya başlamış. Komiktir benim siteye saldırmayı denememişler bile, direk diğer sitelere saldırmışlar.
  • Ondan sonra bu güvenlik açığı olan ASP dosyası üzerinden, birinden çarpma bir ASP shell yükleyip onunla sunucudaki diğer sitelere erişmişler. Erişebilmişler çünkü script saçma bir şekilde “yönetici hakları” ile çalışıyormuş.
  • Tam onlar dosyaya eriştiler ben zaten sunucuyu bastım, durumu toparladım ama arada sanırım 15-25 dk. kadar o dosyalar o şekilde kaldı.
  • Sistemin log analizlerini yaptık, IP leri aldık, ne yaptıklarını inceledik, nerelerine eriştiklerine baktın, sistemleri düzelttik ve sahurumun içine ettikleri için bu arkadaşlara küfür edip, hayatımıza geri döndük.

Dedikodulara cevap vermek gerekirse:

  • Evet hacklendim, 8 seneden sonra bu da başımıza geldi, sunucuyu paylaştığım arkadaşlar sağolsun!
  • Hayır benim kodumda güvenlik açığı yoktu (olamaz değil, o da olur ama bu saldırı tamamen başkasının, eski ve salakça yazılmış bir ASP kodunun eseridir)
  • Hayır onları ya da TTNet’ i hacklemeyeceğim (gerçi başkaları onları hacklemiş bile)
  • Evet bende de büyük eşşeklik var, 3 senedir Shared Hosting’ ten çıkacağım deyip çıkmadığım için, düzenli olarak sistemdeki hakları kontrol etmediğim için.

Günün sonunda çıkarılacak dersler:

  • Güvenlik sistemin en zayıf halkası kadardır, bu zayıf halka sizden başka biri olabilir
  • Derinlemesine defans’ ı boş vermemek lazım
  • Güvenmediğiniz sistemlere kişisel data koymamak çok mantıklı bir hareket olduğunu tekrar öğrendik

Şimdik, nerede kalmıştık?

Çeviklik

“Agile” kelimesi her ağıza sakız olmuş durumda, ben de parmağımı pastaya bulaştırmak istedim.

Çevik yapılar, duruma göre kendi adapte edebilen, hızlı şekilde çözüme ulaşan, durumu daha kompleks bir hale* getirmeyip basitleştiren yapılardır. Bu birey olabilir, bir yazılım geliştirme metodolojisi olarak düşünülebilir ya da bir kurumun yapısı olabilir.

Çevikliği maksimum düzeye kavuşturmak için yapılması gereken iki kritik şey var.

Al, Çal, Kaçır

(Ç)almak ya da outsourcing.

Outsourcing

Outsourcing tüm sorumluluğu başkasına atmak olarak kabul edilebilir.

Mesela bir blog açacaksanız “Wordpress” kullanmak çalmaktır. Kendiniz wordpress’ i download edersiniz, sunucunuza kurar ve kullanırsınız. Hazır bir sistemi çalıp kullandınız. Outsourcing ise blogger.com’ dan blog açmak ya da Wordpress.com üzerinden bedava bir blog almaktır.

Outsourcing çeviklikte her zaman ilk adım olmalı, buradaki kritik nokta devrettiğiniz işin üzerinde ne kadar kontrole ihtiyaç duyduğunuzdur. Örnek olarak eğer kendinize özel bir web suncusu kullanmak zorundaysanız basit bir hosting firmasından, basit bir hesap almak işinizi görmeyecektir. Outsourcing’ de yapabileceğiniz en büyük hata “ana işinizi” başkalarına devretmektir.

Mesela bir web tarayıcısı geliştiriyorsanız rendering engine’ ini geliştirmek yerine başka bir yerden alıp kullanmak yanlış olacaktır. Not düşmek gerekir iş modeli sadece devretmek üzerine kurulu firmalar istisnadır, mesela IE’ nin altyapısını kullanıp arabirimini geliştiren ya da farklılaştıran firmalar var. İkinci bir not düşecek olursak bu tip firmaların hiçbirinin uzun vadede bir başarısı olmamamıştır.

Aynı şekilde rendering engine’ ini dışarıdan programcılara outsource etmekte bir o kadar yanlış olacaktır, buna rağmen Gzip encoding’ i oturup yazmanız da bir o kadar saçma olacaktır. Gzip library’ sini outsource etmek değil çalmanız gereklidir ama o konuya biraz sonra geleceğiz.

Web 2.0 hikayesinin sosyal medya’ yı hayatımıza sokması, kişisel bilgilerin öneminin azalması, insanların internet sitelerine daha fazla güvenmesi ile SaaS (software as a service) konsepti ve oursourcing / devretme olanakları inanılmaz şekilde yükseldi. Yükselmeye de devam edecek. Bu yükseliş bizim için iki anlam ifade ediyor;

1. SaaS işinin geleceği çok iyi olduğundan dolayı bu sektörde iş yapmak

2. Kendi işimizde olabildiğince bu yüksek kalite hizmetleri kullanmak

SaaS’ ın büyümesi ve outsourcing kavramının popülerleşmesi belki son senelerde gördüğümüz internetteki kaliteli iş modellerinin ve firmaların çoğalmasındaki kritik nedenlerden biri olabilir. Yeni model firmalar kendi CRM sistemlerini kurmuyorlar, SalesForce kullanıyorlar, SVN Serverlarını kurmuyorlar, xp-dev’ den SVN server ediniyorlar, artık proje yönetim sistemi kurmuyorlar, BaseCamp kullanıyorlar.

Bu da onlara enerjilerini geçekten umursadıkları işe yönlendirme fırsatı sunuyor. Ek olarak maliyetlerin düşmesi de cabası.

Kurumların, bu tip içerideki yönetim sistemlerinin kurulumu, bakımı ve güncelliği için inanılmaz vakitler harcadıkları dönemler vardı. Hala Microsoft, Adobe gibi firmalar bu tip sistemleri kullanmıyor. SalesForce gibi ekstrem uçtaki hizmetler çıkmadıkça kullanmayacaklar da.

Bunun nedeni bu tip büyük firmaların bu tip konularda yakabilecekleri paralara sahip olmaları ve burada ekstradan yakacakları 1M$, sistemin onlara özel olmasındaki avantajlardan dolayı zaten uzun vadede kendini amorti edecektir. Ancak bu tip firmalar ile 1-150 kişi arasındaki firmaları karşılaştırmamak lazım.

Firmaların doyum noktaları vardır, doyum noktasından sonra para harcama ve iş yapma modelleri değişir. Mesela bir yazılım firmasının doyum noktası ana yazılımlarının piyasadakilerden daha çok iş yaptığı ve yakın bir takipçisinin olmadığı noktalarda olur. Mesela Skype buna güzel bir örnek.

Bu noktaya gelmiş bir yazılım firması genelde yazılıma sadece saçma özellikler ekler, elindeki büyük kadroyu mütemadiyen çalıştırması gereklidir ama yapacak işi yoktur. Yazılıma tema, animasyon gibi kimsenin umrunda olmadığı sadece %1 için bir anlam ifade eden şeyler eklerler ya da bazı MS Office sürümleri gibi sadece görsel değişiklikler yapıp yeni bir versiyon daha satmaya çalışırlar.

Özetle küçük ve çevik bir firma artık en basit işten en komplike işe kadar herşeyi outsource edebilir hale geldi. Önemli olan outsource edeceğiniz şeyleri ve outsource edeceğini kişileri, firmaları iyi seçmek.

İlk başta outsourcing işi pahalı gibi gözükse de aksine çok daha ucuzdur. Yatırım daha azdır, yönetim istemez, değiştirmek basittir, disaster recovery gibi konular sizin değil başkasının derdi olur. Vakit ciddi bir kaynaktır ve bir şeye yatırım yapma, yönetme ciddi bir kaynak gideridir. Eğer hala vakit, bakım-takip ve para arasındaki ilişkiyi matematiksel olarak kuramıyorsanız zaten kişi veya firma olarak burada anlattıklarımdan daha ciddi sorunlarınız var demektir. Önce o noktayı kavramak lazım ama oradaki ilişki başka bir yazı konusu, burada detaylandırmayayım...

(Ç)almak

Çalmak outsource edemediğiniz de yapmanız gereken şey. Mesela bir blog’ a ihtiyacınız var bu ama hali hazırdaki blog sistemleri sizin siteniz ile iyi entegre olamıyor, bu durumda gidip baştan blog sistemi yazmazsınız, hali hazırda yazılmış bir blogu kullanır ve onun üzerinde özelleştirme yaparsınız, işte bu çalmaktır.

Bir iş yapacaksınız çalışan bir iş modelini alabilirsiniz. Baştan tüm modeli oluşturmanıza gerek yok, ama eğer kendiniz çok daha gelişmiş bir iş modeli geliştirdiyseniz ve işinizi buna dayayacaksanız tabii ki bunu yapın. Çalma ile Geliştirme arasındaki çizgiyi doğru çizmek lazım.

Son örnek olarak mesela kodlama standartları dokümanı oluşturacaksınız, kendiniz sıfırdan başlamayın gidip benzer bir doküman bulun daha sonra bunu kendi takımınıza göre özelleştirin.

Çalmayı küçükten büyüğe her boyutta yapabilirsiniz, hazır bir uygulamayı alıp değiştirebileceğiniz gibi bir algoritmayı kendiniz tekrar keşfetmeye çalışmak yerine pseudocode’ unu bulup onun üzerinden yazmanız daha mantıklı olacaktır.

Dikkat edilesi

Çalarken dikkat edilecek şeyler var,

- Gereksinimlerden daha kompleks sistemleri hazır diye entegre etmeye çalışmak
Eğer ana sayfada 3 haber başlığı ve metin göstermek istiyorsanız Wordpress’ i implemente etmeye çalışmayın, kendiniz yazın. Bedava her zaman bedava demek değildir. Sahipliğin getirdiği bir masraf vardır ve kompleks sistemler de bu yük ile gelir. Dolayısıyla **basit tutun.

- Çaldığın şeyi bilmek
Eğer bir kodu ne yaptığını tam bilmeden çalıyorsanız şöyle saçma durumlar oluşabilir.

Daha önceden Hayatınızı değiştirecek 62 öneri yazımda da söylemiştim “Mükemmeliyetçilik” outsourcing’ in ve çalmanın en büyük düşmanıdır ve bunu yenmek çok zordur. Mükemmeliyetçilik ile ilişkili diğer bir kötü huyda kontrolcülüktür. Koda sahip olmak, HTML çıktısını istediğin gibi kontrol etmek, herşeyi bilme ve kontrol etme arzusu da sizi bunları yapabilmekten uzak tutacaktır. O yüzden bu tip huylardan kurtulmaya çalışmak lazım.

Çalın, outsource edin, basit düşünün, üretin.

*over-engineering
** KISS - Keep It Simple & Stupid

Meşgul bir Sahur

Sunucudaki bir kaç sorundan dolayı dün 4 saat kadar erişim mümkün değildi. Hayatımın güzel bir 5 saatini orada harcadım. Sahura kadar bir dizi salak sorun ile uğraşmak zorunda kaldım, neyse şimdi sorunlar çözüldü, eskisi gibi yazmaya(!) devam edebilirim.

Kişisel yoğunluğumdan dolayı pek blog yazamıyorum, bırakın blog yazmayı kitap okumaya bile vakit bulamıyorum. O yüzden yaklaşık iki ay daha bu blog çok düşük tempoda ilerleyecek. Bu sessizlik bahanesiyle RSS üyeleri de 3100’ e çıkmış, az yazmak RSS takipçilerini çoğaltmak için en iyi yol sanırım…

SANS Eğitimleri Türkiyede

Bu haberi özellikle geçmek istedim, direk mesaja dokunmadan aşağıdan veriyorum. Bu güvenliğin Türkiye’ de daha güzel bir yerlere gelmeye başladığının bir göstergesidir.

SANS 560-: Network Penetration Testing and Ethical Hacking Eğitimi Türkiye’de.

SANS Organizasyonunun en popüler eğitimlerinden biri olan “Security 560: Network Penetration Testing and Ethical Hacking” eğitimi Ekim ayında  Mentor formatında İstanbul’da verilmeye başlanacak. Eğitim, içerik olarak “Reconnaissance” ile başlayıp “Scanning” , “Exploitation” ve “Password Attacks” şeklinde devam edip “Wireless Attacks” ve “Web Attacks” konularına değindikten sonra bütün anlatılanların bir CTF(Capture The Flag) uygulaması ile sonlandırılacağı bir eğitim olacaktır.

Bu eğitim de öğrenciye SANS’ın “Self Study” eğitiminde olduğu gibi kurs kitapları, kurs CD-DVD leri ve kurs MP3 dosyaları verilecektir. Bunun yanısıra Mentor eğitimine bağlı olarak online kurs materyali ve mentor “hands-on” lab notları öğrenciye verilecektir.  10 adet 2 saatlik oturumlar şeklinde oluşacak ve tamamen “hands-on” lablar şeklinde işlenecek olan eğitim, 10 Ekim 2009 tarihinde başlayıp 12 Aralık 2009 tarihinde sona erecektir. Bu oturumlar İbrahim Saruhan ve Halil Öztürkci tarafindan yönetilecek ve eğitime katılan tüm öğrencilerin lablarda aktif rol olması sağlanacaktır.

Eğitime kayıt detayları ve kayıt için http://www.sans.org/mentor/details.php?nid=19944 adresine bakabilirsiniz. Sorularınız için ibrahim.saruhan@adeo.com.tr ve halil.ozturkci@adeo.com.tr adreslerine mail atabilirsiniz.

Coder to Developer

Etiketler kitap, cat-book, book, development, 27.08.2009

Coder to Developer: Tools and Strategies for Delivering Your Software by Mike GunderloyBir kaç ay önce Coder to Developer: Tools and Strategies for Delivering Your Software kitabını okudum. Ne bekliyordum bilmiyorum ama beklediğim herşeyin altında bir kitap.

Eğer yeni bir yazılımcıysanız işinize yarayabilir ama zaten yazılım geliştiren biriyseniz benim gibi kitabın hepsini okuyup yeni hiç bir şey öğrenmeyebilirsiniz.

Kitap hakkında yazmak istiyorum ama çok da yazacak bir şey yok, bir çok konuda bir çok temel bilgiden bahsediyor. “İçindekiler” kısmına bakın ve eğer bu konularda bilginiz yoksa sokuyun, o durumda işinize yarayabilir. Ama bu konudaların daha önceden ismini duymuş ve çok az baktıysanız bu kitabın size vereceği yeni bir şey yok.

Yazarın kendisinin de iyi bir geliştiriciği olduğu şüpheli lakin iyi ve deneyimli geliştiricilerin kitaplarında çok fazla ve harika gerçek dünya deneyimleri duyarsınız bu kitap böyle bir şey de yok, özetle uzak durun.