Reklam Korkusu

Etiketler reklam, internet, film, medya, turkiye, sosyal, global, 11 saat 13 dakika önce

Nedense bizde genel olarak bir reklam yapma korkusu var. Mesela üzerinde markanın büyük harflerle yazdığı kıyafetleri "Ben bedavaya adamın reklamını mı yapacağım?" diye giymeyen insanlar var. Sanki bizim arka mahallenin sidikli Murat' ı değil de David Beckham arkadaş. Bu o kadar büyük bir mevzu değil ama bu işin özü.

Olayın değişik çıktılarını farklı yerlerde görebiliyoruz;

  • Türk dizilerinde, filmlerinde markaların hepsi sansürlüdür, firma adları, ürün isimleri söylenmez,*
  • Microsoft Zirvelerinde konuşmacılar Linux değil, Linux ve türevlerini kastederken "Diğer İşletim Sistemleri" derler,
  • Firmalar resmi olmayan yerlerde diğer benzer ürün ve firmalardan bahsederken "rakiplerimiz", ya da "benzer ürünler" derler, rakip bariz ve tek olsa bile isim kullanılmaz, Öyle ya reklamın iyisi kötüsü yoktur,
  • Microsoft' un yabancı evangelistleri hatta direk o ürünler üzerinde çalışanlar bile ürünlerini benzerlere göre zayıflıklarını açık açık söylerken,Türkiye' dekiler bu tip şeyleri asla kabul etmez ve rakip firma, ürün ismi kullanmaz. Microsoft örneğini ikinci defa veriyorum çünkü çok tanık oldum ve MS' in diğer ülkelerdeki yaklaşımı ile Türkiye' deki yaklaşımı bireyler açısından çok değişik, dolayısıyla farkı görmek çok basit.
  • Çok fazla Türk roman okumuyorum, pek atmış olmayayım ama gördüğüm kadarıyla romanlarda da marka, ürün vs. isimleri geçmez.


Mesela Stephen King' te görürsünüz ki karakterler Seven Eleven' da Coca Cola içerler, bilmem ne markası ile ellerini yıkarlar. Ya da Big bang Theory de Penny Age of Conan oynar, her üç dizinin ikisinde karakterler XBox onar. Bizde ise Wii ürününü göstermemek için üç takla atılır, hele ismi ise kesinlikle zikredilmemelidir.

Her zamanki bu sonuçsuz daha çok neden böyle sorusunu akla getiren bir yazı. Henüz ben bunun neden böyle olduğunu psiko-analiz edemedim, edenler vardır. Herkesin "Türkler ..." diye başlayan şeylerden sıkıldığını biliyorum ama bence çok önemli bir konu çünkü bu tip şeyler toplum olarak nerelerde doğru nerelerde yanlış yaptığımızı ortaya koyacak şeyler. Global bir dünyadayız sosyal hoppalık hepimizi dünya ile burun buruna getirdi, farklılıkları görmek çok daha kolay. Başkalarının ne sorunları nasıl çözdüğünü, neyi yanlış yaptığını, ne tip bir tarihin onları nasıl iyi veya kötü etkilediğini görmemiz çok daha kolay. Bunların sonucunda rakı masasında ülkeyi kurtaracak halimiz yok ama her zaman kendimiz kurtarabilir ve dalgaya kapılmadan kendi yolumuzu çizebiliriz.

Son olarak bloglar gibi organik ve kurumsal olmayan yapılar her ne kadar bunu takmasa da orada da başka bloglardan bahsetme korkusu zaman zaman başgösterir, mesela yazıya link verilmez "alıntı" yapılır, bu "alıntı" lar o kadar büyükdür ki adeta yazıyı almış gitmişsin gibi olur. Gene de sanırım internetin doğal samimi yapısı bu olayı çok ciddi şekilde kırıyor ve çok değil yakında kurumsal anlamda da bu yapıların başka coğrafyalarda kırıldığı gibi bizde de kırılacağına eminim.

* Türk dizi, film vs. lerde gizli reklam yasasından dolayı bunların bir çoğu mümkün olmuyor olabilir, ama yegane örnek bu değil ve sanırım genel kanıyı değiştirmiyor, ek olarak eminim ki bununda kanuni olarak üzerinden gelmenin bir yolu vardır. Bu konuda daha bilgili olan birinde işin o kısmının detaylarını duyabilirsek güzel olur.

anahtar kelimeler : global sosyal turkiye medya film internet reklam

Bu Yazılar Kaçmaz
SSL İmplementasyon Güvenliği
Büyük Resmi Görebilmek

Obsesif Programcılık

Etiketler cat-development, development, HTTP, https, RFC, ssl, mitm, proxy, 2 gün 21 saat 46 dakika önce

Programcılık kısa zamanda takıntıya dönüşen işlerden biri sanırım. Sitenin düzenli takipçileri farketmişlerdir bu aralar pek bir şey yazamadım. Genel mevzular dışında yoğun şekilde programlama yapıyorum. Son üç günüm tam anlamıyla feciydi. .NET ile SSL trafiğinede müdahaleyi sağlayacak bir proxy server yazmak ile uğraşıyorum. Aslında daha önceden XSS Tunnel için bir proxy yazmıştım ancak o proxy SSL, keep-alive desteklemiyor ve daima tek bir server ile HTTP objeleri üzerinden konuşuyordu.

Dolayısıyla TCP ile sadece tarayıcıdan proxy' ye gelen istekleri işliyordum, diğer taraf gene .NET' in HTTPWebRequest objelerini kullanıyordu. Gelen cevabı da değiştirip tarayıcıya geri gönderiyordum.

Bu yeni sistemde ise tam bir proxy implemantasyonu yapıyorum. Yaptığım iş tam olarak MITM – Attacking / Debugging proxylerin yaptığı işin aynısı. Bunun da bir çok gereksinimi var. SSL' e MITM yapmanız gerekiyor, HTTP Protokolünü kendiniz implemente etminiz gerekiyor. Son üç-dört gündür vaktimi harcadığım konular:

  • .NET' te TCPClient ile SSL bağlantısını self-signed bir sertifika ile kabul etme
  • TCPClient ile Chunked encoding' i destekleme
  • HTTP/HTTPS implementasyonu
  • Gzip, Deflate' i anlama, decode edebilme

Bazıları uzun, bazıları kısa sürdü ama bazı noktalarda ciddi derecede bunalıma girdim. Eğer 3 saat süreceğini planladığınız bir iş 2 gün sürüyorsa moraliniz bozuluyor ve bazen öyle bir noktaya geliyorsunuz ki "Acaba sonuçlar buna değecek mi?" ya da "Hiç bir zaman çalışmayacak mı?" gibi soruları kendinize sormaya başlıyorsunuz.

Ama Allaha şükür dört günün sonunda bir dizi hata ayıkladıktan sonra, tuhaf sorunlar ile karşılaştıktan sonra, HTTP RFC' lerini daha detaylı okuduktan sonra sistem çalışmaya başladı. Kodu deneysel aşamadan kurtarıp adam akıllı bir hale sokmak ve çeşitli şekillerde test etmek, performansı artırmak biraz daha vakit alacak ama bundan sonrası basit.

Bu arada programcılıkta akıcı noktayı yakalamak ile ilgili bu grafik çok hoşuma gitti. Neyse bu kadar işten sonra ödülü hakettim değil mi?

Yazar Call of Duty 5 Multiplayer' ı açar ve "Capture the flag" çığlıkları arasında çeşitli Yankee ve Japon askerlerini öldürür....

anahtar kelimeler : proxy mitm ssl RFC https HTTP development cat-development

Bilgi ve YAGNI

YAGNI - You Ain't Gonna Need It,  yazılım çevrelerinde kabul gören ve benim de şiddetle izlemeye çalıştığım prensiplerden biridir. Basit şekilde "bir şeye ihtiyacın yoksa yapma, ne zaman ihtiyacın olur o zaman yaparsın" diye özetlenebilir.

Bugün aklıma şu soru geldi: Bu prensibi bilgiye de uygulayabilir miyiz? Mesela "İspanyolca öğrenmeye henüz ihtiyacım yok, niye gidip İspanyolca öğreneyim ki?" Ya da "Ruby on Rails" seksi duruyor ama henüz benim bir işime yaramıyor gibi. Bu konu hafiften Genel Kültür Çağımızın En Büyük Yalanıdır konusu ile de ilişkili, henüz ben bir karara varamadım, karara varıp varmamak pratik yaşantıda ne kadar şeyi etkileyecek emin değilim ama ilginç sonuçlar getirebilir.

anahtar kelimeler : cat-personal-development cat-development kultur bilgi development YAGNI

Süper Makale SSL İmplementasyon Güvenliği

Etiketler ssl, security, web app security, guvenlik, faq, cat-security, 25 gün 22 saat 52 dakika önce
SSL İmplementasyon Güvenliği dokümanımı Web Güvenliği Topluluğu (WGT) altında yayınladım. Dokümanı daha önce ingilizce olarak SSL Implementation Security FAQ adı ile yayınlamıştım, Türkçe versiyonu biraz daha fazla bilgi içeriyor. Çevirirken tekrar üzerinden geçme fırsatım oldu. Eğer yazılım ve web uygulaması geliştiriyorsanız kesinlikle bir göz atın.
anahtar kelimeler : cat-security faq guvenlik web app security security ssl

Yorgunum Dostlar

Etiketler hayat, blog, oyun, gaming, fallout, cat-personal, 25 gün 23 saat 4 dakika önce
Artık neden blog yazmadım, 15-20 gündür neden gözükmüyorum vs. gibi konuları yazmıyorum bile. Çünkü ben sıkıldım, sizin ne kadar sıkıldığını tahmin bile edemiyorum.

Herneyse şimdi hızlı şekilde neler oldu, neler bitti?

  • Sistemi yeniledim, yeni bir harddisk, yeni bir işlemci, yeni bir grafik kartı aldım,
  • Hazır o kadar şey yapmışken Vista x64' e de geçtim,
  • 10 senedir beklediğim Fallout 3 çıktı (bunun hakkında daha sonra detaylı yazacağım inşallah)
  • Yılbaşı nedeniyle onlarca süper oyun piyasaya çıkıyor ve çıktı onlarla vakit harcıyorum, şu aralar oynadığım oyunlar:
    • Mass Effect
    • Fallout 3
    • Call of Duty 5 : World at War (Multiplayer Beta)
    • Soul Calibur IV
  • Arada bir baktıklarım da:
    • King's Bounty
    • Mirror's Edge
  • Genel olarak sağlığım iyi olsa da inanılmaz bir halsizlik hali içerisindeyim, kansızlığım azdı herhalde,
  • İş yoğunluğum normalin üzerinde, bu dönem çok yoğunuz dolayısıyla pek kendime vakit ayıramıyorum,
  • Sitenin SSL' i nin yenileme tarihi geçti, bu da blog ekranlarının SSL desteğinde sorun çıkardı, vs. vs.
Bunların içerisinde sizi ilgilendiren bir şey var mı? Muhtemelen yok.

Bütün bu dönemde ben gene aktif paylaşıma FriendFeed, Twitter ve RSS Paylaşımından devam ediyordum. Dolayısıyla blog' ta yeni yazı yokken canınız sıkılırsa buraları takip edebilirsiniz.
anahtar kelimeler : cat-personal fallout gaming oyun blog hayat

Süper Makale Büyük Resmi Görebilmek

Tatilim bitti, tekrar beyaz ekranlara döndüm ***. Uzun süredir kafamda dönen, herkesin bildiği lakin göze tekrar sokulmayı hakeden bir konuda yazmak istiyorum.

Büyük resmi görmek detaylardan kopup gerçek olayı görmek, getiriyi ve götürüyü analiz edebilmektir. Bu hayatın her yerinde karşı karşıya olduğumuz bir durumdur, elimizdekine odaklanıp gerçek amacı unutmak, bir projenin bir bölgesine yoğunlaşıp uzun vadede hataya dönüşen bir karar vermek, günü kurtarmak için 5-10 dakikadan kar edip işin sonunda günler kaybetmek ile alakalıdır.

Hatta genel olarak gizli servislerin ve devletlerin suni gündem yapması da bizim büyük resmi görmemizi engellemek içindir. Bu suni ya da gerçek ekonomik sıkıntı, savaş, magazin değerli bir haber ya da tamamen gerçek dışı bir olay olabilir. Bunlar sayesinde odağın kayması ve gerçekte, büyük çapta olan olayın farkedilmemesi sağlanır.

Büyük resmi görmeye bir kaç örnek;

Toplu Taşıma Sorunlarını Çözmek:

Bir metropolde toplu taşımanın geliştirilmesi ciddi maliyetlere çıkacaktır, ancak toplu taşımayı çözmenin tek amacı sadece insanların daha mutlu olmasını sağlamak için değildir, bunun getireceği güzellikler arasında şunlar da vardır :

  • Toplu taşımada kaybedilen insan gücünün ekonomiye geri dönmesi,
  • Toplu taşımanın kötülüğünden dolayı artan kişisel araç kullanımının artması
    • Bu hava kirliliği,
    • Daha fazla benzin harcanması (paranın yurtdışına çıkması) ve
    • Daha fazla kişisel aracın satılması (paranın yurtdışına çıkması) anlamına geliyor.
  • vs. vs.

Dolayıysıyla toplu taşımayı çözmenin kendini ne kadar sürede amorti edeceği hesaba katılmalıdır, bu sadece insanlar dah fazla oy versin diye yapılması gereken bir şey değil.

Çalışanların öğle yemeği vakti:

Yapılan araştırmalarda öğle yemeğine 30 dk. yerine 60 dk. ayıran firmalar çalışanlarından daha yüksek performans alıyorlarmış*. Burada büyük resmi gören firmalar 30 dk. kar etmeye değil bunun uzun ve orta vadedeki etkilerini görebiliyorlar. Benzer bir şekilde zamanında Hayalet Çalışan başlığı altında benzer bir konudan bahsetmiştim.

TDD, Test Driven Development :

TDD bir yazılım geliştirme metodolojisidir. TDD ile yazılım geliştirirken her yazılan kod için bir de test kodu yazılır, bu da tabii ki yazılan kod oranını ciddi şekilde yükseltiyor. TDD' nin özellikle Türkiye gibi sıkışık, aceleci, henüz tam oturmamış ülkelerde yerleşememesinin en büyük nedeni de gene büyük resmi görememektir. TDD konusunda yapılan bir çok araştırmada TDD' nin uzun vadede bakım, hata ayıklama ve benzeri proseslerden kazancından dolayı çok daha verimli olduğunu ortaya konulmuştur. Bugün bir çok firma ya TDD uyguluyor ya da sadece Unit Testing yapıyor. Dolayısıyla günlük yazılım geliştirme hızı düşse de sonuçta kazanç artıyor, bu noktada büyük resmi göremeyen yazılım firmaları da günü kurtarmaya devam ediyor **.

Maalesef hayatta da büyük resmi kaçırabiliyoruz, yegane amacı kaçıyoruz. Burada bir kaç nokta var, 

  • Yaptığınız şeyleri yaparken kendinize “Neden?” sorusunu sorun,
  • Yeni bir karar verirken sadece kısa vadeyi değil ana nedeni düşünün,
    Mesela üniversite sınavlarından sonra okul seçerken sadece iyi okul seçmeyi düşünmekle yetinmeyin “Neden Okuduğunuzu” u düşünün.
  • Her işinizi yaparken arada bir adım geri atın ve tüm olayı bir bütün olarak görmeye çalışın. Detaylarda kaybolmayın. Neden başladığınızı, şu an yaptığınızı neden yaptığınızı, bu yapılan ana sonuca yardımı olup olmayacağını değerlendirin.
  • Konunun içerisinde olmayan biriyi konuya çekip hızlı şekilde fikir alın.
    Programcılıkta bir yerde saatlerce takılır ve sorunu çözemezseniz hemen etraftaki bir programcıyı bulur ve ona sorunu sorarsanız, sizin iki saattir çözemediğiniz olayı genelde o bir dakikada tespit eder. Çünkü bu sorun genelde ya yazım hatasıdır, ya yazdığınız kod ile baktığınız çıktının farklı olmasıdır. Dışarıdan gelen kişi sizin kadar işin içerisinde olmadığından varsayım yapmadan en aptalca olan şeyleri bile kontrol eder. Yani size “Sunucunun prizi takılı mı?”, “Baktığın tarayıcı cache’ in de mi tutuyor?”, “Çalıştırdığın yazılım eski verisyonu mu son olarak compil ettiğin mi?” diye sorabilir. Siz ise bunları o noktada düşünemeyebilirsiniz (Hatayla Yaşamak ve Sorun Çözmek).

Konu bundan çok daha geniş ama siz zaten konuyu biliyorsunuz, bu ise size bir hatırlatma. Şimdi bir adım geri atın ve düşünün.

 

 

* Makalenin kaynağı BA Business Life dergisi, ancak online olarak bulamadığımdan kaynağı veremiyorum.

** Bu konuda bir çok istisna var, her firma illa TDD kullanacak diye bir şey yok, her projeye uygun da olmayabilir, ama TDD başarısı kanıtlanmış metodolojilerden biri.

*** “yeşil sahalara dönme” kelime grubuna yapılan göndermedir bu, bu noktada okuyucunun suratında bir tebessüm oluşması gerekiyor.

anahtar kelimeler : cat-personal-development dusunce hayat

Eğer Başka Bir İş Yapacak Olsaydınız

Etiketler cat-personal, meme, is, hr, hayat, 17.10.2008

Bu zaman zaman aklıma gelir, eğer şu an yaptığım şeyi yapmıyor olsaydım olsaydım ne yapardım?

Ben genelde istediğim şeyin peşinden giden insanlardan biriyimdir ama buna rağmen hayatın rüzgarını, gerçekçi planları ve elimdeki kaynakları kararlarıma da dahil ederim. Dolayısıyla bir konuda 10 sene harcadıktan sonra bam başka bir konuya atlayacağımı sanmıyorum.

  • Oyun Programcılığı
    Oyun programcılığı içimde kalmış uktelerden biridir, hatta bundan 4,5 - 5 sene kadar önce oyun programcısı olarak bir firmada başlıyordum, sonra olmadı.

    Lakin C++ taki deneyimsizliğim, çok güçlü bir matematik hatta fizik altyapımın olmaması ve deneyim kazanacak imkan olmaması yüzünden sanırım hiç bir zaman bu konuda uzmanlaşamadım.
  • Oyun Yazarlığı
    Oyunlar benim en büyük hobilerimden biridir, sadece oynamak değil kültürü, tuhaf oyunları görmek, yeni akımları incelemek vs. O yüzden her zaman oyun tanıtım yazılarını profesyonel olarak yapmayı da düşünmüşümdür. Lakin kalemimin güçlü olmaması, sektörün maddi yönden tatmin edici olmaması gibi etkenlerden hiç ciddi olarak düşünmedim bile.
  • Web Girişimcisi
    Bir çok kişinin web girişimciliği sadece son senelerdeki patlamaya dayanırken benim hayallerim yaklaşık 9-10 sene önceye dayanıyor (dot-com bubble' ı ve sonrası). Hani şu Google' un henüz Google olmadığı günler. Kişisel bir sürü fikir yanında ilk çalıştığım firmalardan birinde Ali Baba benzeri bir sistem kurmaya çalışıyorduk, bu sırada Türk Ticaret.net açılması ile bizim projemizde hafiften elimizde patlamış oldu. Tabii ki projedeki teknik ve iş planındaki yetersizliklerden bahsetmiyorum bile. Bu dönemde Gitti Gidiyor' un kurucu ekibi ile de hem tanıştık hem de birlikte çalışmıştık. O dönemden bu zamana adam gibi pek internet firması da Türkiye de ayakta duramadı, duranlarda Gitti Gidiyor gibi gerçekten ciddi bir konuma geldiler.

    Bunun yanında bir çok startup' ın kurulum sürecinde teknik ekipte geliştirici olarak ya da güvenlik/yazılım danışmanı olarak bulundum, şu an da bir kısmı battı, bir kısmı ise keyfi yerinde devam ediyor. Dolayısıyla klavyede uyumayı, mcdonalds' larda plan yapmayı, evlerde switch' leri kurup yazılım geliştirmeyi, dışarıdan gelen pizzalar ile gün boyu hayat geçirmeyi ve günün sonunda multiplayer bir oyun atmanın tadını bilirim. Nitekim bazen sevdim, bazen nefret ettim...

    Web girişimciliği benim uzun soluklu hayallerimden, internet ikinci dot com furyasını yaşarken belki bir fırsat bulur ben de sızarım. Girişimcilik artık bir çok açıdan daha kolay, dolayısıyla hareket etmek için de güzel bir vakit.
  • Yazarlık
    Deneme ve kısa hikaye yazmak sevdiğim işlerden, özellikle bir bilim-kurgu/polisiye arası bir roman yazmayı isterdim ama gel gör ki yeteneğim yok (pardon şöyle ifade edeyim : dünya beni anlamaya hazır değil), yeteneğim de olsa kim yazarlıktan para kazanmış ki?

    Daha çok teknoloji ile alakasız olmak istediğim şeyler yazabilseydim keşke ...

Açıkçası hadi ben "meme" yaptım, gitsin herkes yazsın ya da "sen", "sen", "bir de o köşedeki ufak blog sahibi, sen" yaz demeyi sevmiyorum ama siz ben bunu memelerim yazarım derseniz de kimseyi tutacak değilim. Yaparsanız da adresi yorumlara link olarak bırakın lütfen.

Açıkçası benim merak ettiğim bir konu, okuyuclardan da yorumları bekliyorum. Şu anki işinizi yapmasaydanız ne yapardınız? Ya da şöyle dile getireyim "Büyüyünce ne olmak istiyorsun çocuğum?"

anahtar kelimeler : hayat hr is meme cat-personal

Paul Graham ve Girişimcilik Dersleri

Bugün bir çok Paul Graham makalesi okudum, How to Start a Startup yazısında şu dikkatimi çekti.

...

So who should start a startup? Someone who is a good hacker, between about 23 and 38, and who wants to solve the money problem in one shot instead of getting paid gradually over a conventional working life.

..

The other cutoff, 38, has a lot more play in it. One reason I put it there is that I don't think many people have the physical stamina much past that age. I used to work till 2:00 or 3:00 AM every night, seven days a week. I don't know if I could do that now.

...

During this time you'll do little but work, because when you're not working, your competitors will be. My only leisure activities were running, which I needed to do to keep working anyway, and about fifteen minutes of reading a night. I had a girlfriend for a total of two months during that three year period. Every couple weeks I would take a few hours off to visit a used bookshop or go to a friend's house for dinner. I went to visit my family twice. Otherwise I just worked.

Doğal olarak yazıyı okurken kendimle kıyaslıyorum ve Graham' ın burada bahsettiği şeyleri ben 18-22 yaşları arasında yaşadım ve maalesef deneyimsizlik ve nasipsizlik yüzünden istediklerimi alamadım. Şimdi ise bunları yapmak bana çok uzak geliyor yani 23 yerine bu işe çok erken girmek beni henüz 38 olmadan 38 gibi hissettirmeye başladı. Tabii ki bu senelerdeki boşa küreklerimiz deneyim olarak geri döndü inşallah ama eğer bir defa daha cesaret eder ve bir startup denersem o zaman göreceğiz, bir daha böyle çalışabilecek miyim? Ya da önceki deneyimler işimize yarayacak mı?

Bu arada söylemeyi unuttum, biraz bariz ama gene de söyleyeyim "tatilden döndüm" :)

anahtar kelimeler : cat-personal hayat is ben paul graham startup

Hayat Detoksu

Hayatın ticari toksinlerinden kurtulma amacı ile 15 günlüğüne hayat detoksuna gidiyorum. Bu süre içerisinde yorumlar mucizevi bir şekilde onaylanacak, ancak yeni bir yazı site semalarında gözükmeyecektir.

Şimdi ben 15 gün boyunca yazı yazmayınca tüm site okurları boykota gidecek, hatta insanlar sitelerini kapatıp benim 15 gün blog yazmamamı protesto edecek, imza toplayıp avrupa insan haklarına gidip "blogu okuma haklarının ellerinden alınamayacağını" belirtecek, fanatikler yeni bir worm yazıp Ferruh yazı yazmıyorsa internetin ne anlamı var diyerekten ünlü 13 hayalete DDoS saldırıları düzenleyecekler.

Lütfen arkadaşlar bu tip şeylere gerek yok, bakınız :

SELECT COUNT(*) FROM Article
1737

1.737 yazı sizi bekliyor...

Ben sitede yokken biraz yorum yazın da, site canlı gözüksün. Bir de ben yok hergün bir doz şu videoyu izleyin :

This isn't a seminar, this isn't a weekend retreat. You have to realise that someday you will die, Until you know that, You are useless.

26 Eylül 2008

Ailenizin ziyaretçi kaygısı olmayan, her telden çalan, cümle başına 17 yazım hatası yapan, ayrı yazılan de ve da' lar kan davası olan, sorunlu blogcusu.

anahtar kelimeler : taglamanin bokunu cikartmak ramazan sulale baba ana pendik marmara kebap antalya istanbul baklava tatil tyler durden fight club hayatin anlami kirmizi benekli toptur hayat

Süper Makale iPhone Almamak İçin 22 Neden

Bir ay kadardır IPhone 3G kullanıyorum, TR' de de herkes sanal kamp yapmaya başlamış o yüzden almadan önce keşke bilseydim dediklerimi yazayım dedim.

  1. Şarjı çok az gidiyor, Vasat bir kullanım ile 1-2 gün civarı,
  2. İnternet beklediğinizden çok daha yavaş, kapsama alanları aslında o kadar da kapsamıyor,
  3. Wireless desteği kötü ve yavaş,
  4. IPhone için kaliteli uygulama çok az, yazılımların yarısı arada bir kitlenip, uçuyor,
  5. Kırmadan (jailbreak vs.) yükleyebileğiniz yazılım sayısı az,
  6. Yazılım geliştirirken maalesef .NET ya da Java desteği yok,
  7. Bir çok video formatını desteklemiyor,
  8. Windows kullanıcıysanız ITunes + Quicktime kurmanız zorunlu ve bunların ikisi de birbirinden rezil ve Windows ortamında saçmalık derecesinde yavaş yazılımlar,
  9. ITunes' un backup alması 1-4 saat arasında sürüyor, genelde sıkılıp MobileBackup.exe yazılımını direk sonlandırmak zorunda kalıyorsunuz.
  10. GPS şaka gibi, internet olmadan çalışmıyor, çalıştığı zamanlarda da süper yavaş çalışıyor. Gerçek ve offline bir GPS yazılım ile gelmiyor, dolayısıyla eğer GPS özelliğini gerçek bir GPS gibi kullanmayı düşünüyorsanız şimdiden vazgeçin,
  11. IPhone içerisindeki dosya, klasörlere direk erişim yok. Herşeyin ITunes üzerinden yapılması gerekiyor bu da senkronizasyon vs. gibi işleri çok zorlaştırıyor. Kendi bilgisayarınızın başında değilken IPhone' unuza müzik, video atmanız imkansız hale geliyor,
  12. Pahalı,
  13. MMS desteği yok,
  14. Her ne kadar işim olmasa da kendi MP3 vs. dosyalarınınizdan ringtone yapmamanız başka salak bir limitasyon,
  15. Ses ile kontrol, Kulaklık üzerinden çağrı kabul etme vs. gibi özellikleri yok,
  16. Iphone 3G' nin bazı eski IPhone / IPod aksesuarları ile uyumsuz olması, Kendini şarj etmemesi vs. (bkz. IDragon)
  17. Safari' de Flash' ın çalışmaması, buna rağmen youtube videoları özel yazılım ile çalışıyor,
  18. PDF, CHM vs. adam gibi hiç bir formatı okuyamıyor olması. O kadarki aslında dosya transferi yapamadığınızdan ve dosya sistemine erişmedeğinizden HTML bile okuyamıyor diyebiliriz. Bu da e-book konseptini öldürüyor.
  19. Apple her zamanki gibi mouse' da 2 butona ne hacet mantığı ile, Kopyala / Yapıştır sizin neyinize diyerekten böyle bir özellik sunmayı da gereksiz bulmuş. Ne de olsa salak bir sanal klavye ile 15 karakter şifre girme çok doğal bir iş.
  20. Uzun listelerde scroll yaparken, parmaklarınızın ağrıması ve hayatınızın gözlerinizin önünde şerit IPhone uygulaması olarak geçmesi.
  21. Kontakları SMS ile gönderememe (Bundan emin değilim, ben henüz bulamadım bulan varsa söylesin),
  22. Video kayıt özelliğinin olmaması.

 

Yiğidi Öldür Hakkını Yeme Listesi

  1. Bir çok açıdan donanım ve yazılım çok kullanışlı,
  2. Seksi & İnce,
  3. Video kalitesi, müzik kalitesi ve genel olarak IPod fonksiyonu güzel,
  4. Telefon ile konuşurken IPhone' u kullanmaya pürüzsüz devam edebilme, IPod dinlerken gelen çağrıları vs. güzelce kabul edebilme ve yeni arama yapabilme.
  5. Text-render ve görüntü kalitesi,
  6. Ekranın kendini ışığa doğru ayarlaması, dönmesi, kulağınıza getirince ekranın kapanması çekince tekrar açılması ve benzeri sensör aksiyonları,
  7. Kaliteli kulaklık.

Keşke biri Windows Mobile' ı bu donanımın içine koyabilse o zaman dünya çok daha güzel bir yer olurdu...

anahtar kelimeler : sucks mobile telefon windows mobile iphone

Yeni Tasarımın Yapılışı - II

Etiketler 21.09.2008

Bu yazının ilk bölümü: Yeni Tasarımın Yapılışı - I

Tasarımı HTML’ e aktarmak - 07.04.08

Pazar sabahı, 9:45 gibi uyandım, önce sitenin tasarımını Fireworks üzerinde fena olmayan bir seviyeye getirdim. Bunu yaparken RSS ikonuna ihtiyacım oldu normal RSS ikonlarını Feed Icons sitesinden aldım. Ek olarak e-mail ile RSS’ e üye olacaklar içinde bir ikona ihtiyacım oldu. Onun için de E-mail Subscriptions Icons’ u buldum ve onu da oradan çarptım. Tabii ki ikiside ücretsiz ve serbest şekilde dağıtılıyor, dolayısıyla isteyen sitesinde kullanabilir. İkonları ve benzer dış kaynakları kullanırken lisansa bakmak her zaman önemli, aksi takdirde Süleyman Hocam canımıza okur :)

CSS Tasarımı

Önce istediğimiz yapı için bir CSS şablonu bulmak gerekiyor. CSS’ yi kendimiz de yazabiliriz ama yapılmışı tekrar yapmamak için hemen CSS şablon avına çıkıyoruz. CSS şablonu veren bir çok site var ama şu iki tanesi benim hoşuma gidiyor. Iron Myers – Pure CSS Layouts ve Layout Gala ikiside her tarayıcıda bu CSS’ lerin sorunsuz çalıştığını iddia ediyorlar. Ben de onlara inanıyorum ve CSS’ lerinin basit ve temizliğinden dolayı Layout Gala’ yı seçiyorum.

İlgimi çeken CSS’ yi yüklüyor, Edit+ ile HTML kodlamaya başlıyorum.

Arada bir dizi başka iş yaptım, saat şu an 15:27...

Alıntı CSS’ si oluşturmak

Blog yazarken sık sık gereken bir şey başkalarından alıntı yapmak. O yüzden güzel bir blockquote tagını çok kullanıyorum, bunu belli etmek için güzel bir CSS oluşturmam gerekiyordu. Bu iş için Design Meme’ de güzel bir örnek var ama sadece Firefox’ ta çalışıyor bu da bizim işimizi görmüyor tabii ki. Bende şu an ki sitedeki gibi basit bir şey yapmak istedim. Aşağıdaki gibi bir şey yaptım;

image

CSS ise şu şekilde;

blockquote{

background: url('mg/openquote.gif') no-repeat left top;
padding-left: 16px;
padding-top:2px;
color:#555;
margin-left:14px;

}

blockquote p,blockquote div,blockquote td,blockquote span{

font:italic 14px "Georgia", serif;

}

İlk İzlenimler

Sağ taraftaki hakkında kısmını da hallettikten sonra aşağıdaki gibi bir HTML’ e ulaştım.

image

Resimde görülen sağdaki navigasyon kısım başlıklarını şu şekilde bir CSS ile gerçekleştirdim.

div.section h2{
text-align:center;
background: url('/mg/blackdot.gif') repeat-x center;
margin-top:0;
}

div.section h2 span{
font: normal 24px Times, serif;
color:#333;
background-color:#FFF;
padding:0 10px 0 10px;
}

HTML kısmı ise gene çok basit;

ARAMA

Şimdilik güzel gidiyoruz.saat : 17:35. Bir kaç kek ve 330ml Coca Cola tükettim.

Yazı devam edecektir...

anahtar kelimeler :

.NET Reflection, RCE and Hard Coded Keys

Sometimes you need to extract some data out of another application but the data stored as encrypted. As you might guess generally keys are just hardcoded, but mostly algorithm is custom. Since there is no such a thing as "client-side security", there are so many ways to do decrypt this data.

You can go and reverse the code which is decompiling the application and copy, paste then tweak the code to compile. But this can be a real pain when dependencies and obfuscated code comes into the play.  Since new obfuscators taking the advantage of IL tricks, generally it's not easy to use decompiler generated high-level code without heavy modification.

Unless you are a masochist I'd suggest you to use the application's code to do the job.

  1. Find the decryption point and the DLL,
  2. Invoke the related decryption function using reflection.

We use reflection instead of simply referencing the dll because this way it's possible to call any method within any scope such as private and friend which wouldn't be possible otherwise. Also it allows us to easily bypass Strong Name restrictions without touching to the original binary.

Here is the code:

   1: Function Decrypt(ByVal data As String) As String
   2:     'Load Assembly
   3:     Dim CustomAssembly As Assembly = Assembly.Load("DLL.To.Load")
   4:     Dim CustomType As Type = CustomAssembly.GetType("DLL.To.Load.SecretClass", True, False)
   5:  
   6:     Dim CopyObj As Object = CustomAssembly.CreateInstance(CustomType.FullName)
   7:     Dim Res As Object = CustomType.InvokeMember("Decrypt", BindingFlags.InvokeMethod, Nothing, CopyObj, New Object() {data})
   8:  
   9:     Return Res.ToString
  10: End Function
anahtar kelimeler : english reflection code snippet decryption encryption reverse engineering rce development net

DRM, Spore ve Korsan Yazılım

Etiketler piracy, lisans, atv, yayin, lost, video, download, 09.09.2008

Daha önceden söylemiştim "legal yazılım kullanmak zor iş" diye. EA şimdi Spore' da ve daha önceden de Mass Effect' te aktivasyon sistemi kullanmış. Yani oyun en azından 10 günde bir internetten kendini onaylamalıymış, aksi takdirde çalışmamaya başlıyormuş. Ek olarak sadece 3 defa aktivasyona izin veriyormuş.

Bildiğiniz gibi ben korsan yazılıma karşıyım ama korsan yazılıma karşı olmak salak olmak anlamına gelmiyor. Bir DVD' nin kopyasını sadece kendiniz için çıkarıyorsanız bile bu işlem bir çok ülkede kanuna aykırı. Şimdi bu oyunlarda da benzer bir durum sözkonusu. Ancak eğer filmin orijinal DVD' sinde bir sorun çıkarsa gidip yeni bir tane mi almanız gerekiyor?

EA' e göre de oyunu 3 defa kurduktan sonra gidip yeni bir oyun almanız gerekiyor (ya da kendilerini telefon ile arayıp derdinizi anlatmanız). Bu firmaların dertlerini anlıyorum ancak bu saçma bir durum ve bilinçli bir tüketici olarak iki defa düşünmeden oyunun crack' ini indirip kurarım -nitekim düzenli olarak yapıyorum-.

Benim teorim basit; firmaların bu şekilde önlemlere gitmesi uzun vadede onların işine yaramayacak ve eninde sonunda bundan vazgeçecekler. Çünkü paranla rezil  olmak tam da bu durum için söylenmiş bir söz.

Güzel bir örnek

ATV' nin iste & izle isimli bütün ATV dizilerini online izleyebileceğiniz bir sistemi var. Aylık fiyatı 15 YTL gibi bir fiyat. Bugün HBO' nun Lost' u web üzerinden HD kalitesinde ücretsiz yayınladığını düşünürseniz bence biraz cüretkar bir deneyim ama o kısım önemli değil. Sonuçta bir hizmet ve bence güzel bir adım, ama...

Avrupa Yakası son 3 senedir izlediğim tek yerli dizi diyebilirim ve ben de bu yüzden ATV' nin bu sistemine üye oldum.

  • ATV dizileri sadece online izlemenize izin veriyor (ve süper bir internet çıkışları yok)
  • ATV' nin online yayın kalitesi 260*200 gibi bırakın HD' yi NTSC/PAL kalitesine bile yetişmeyen bir kalitede.

Google' da iki tıklama ötemde olan site ise Avrupa Yakası' nı en iyi kalitede download edebileceğim bir formatta sunuyor. Benim çözümüm basit ATV' ye parasını öderim, giderim diğer siteden download ederim. Etik olarak kafam rahat. Çok istiyorlarsa bu akıl almaz hırsızlığım(!) için beni dava edebilirler.

Burada not düşmek lazım ATV' nin sitesinde şu slogan yok:

Satın al ve akıl almaz kötü bir kalitede tüm dizileri izle. Ya da youtube' a git onun kalitesi bile bizden iyi.

anahtar kelimeler : download video lost yayin atv lisans piracy

Yeni Tasarımın Yapılışı - I

Bir süredir yeni tasarım yayında. Yeni tasarımı yaparken bir nevi geliştirme günlüğü tutmuştum. Ne yaptım, neler kötü gitti, neler güzel gitti, hangi kaynakları kullandım vs. gibi. Bu dokümanları parça-parça yayınlamaya başlıyorum. Bu serinin birincisi, çok uzun değil bunun gibi 2-3 bölüm daha var. Bütün seri bittikten sonrada genel olarak ne bekliyordum, ne buldum yazısı yazmaya çalışacağım.

Gereksinimler

  • Temiz ve kullanışlı bir tasarım
  • Geçerli XHTML Strict veya Transitional
  • Eskisi gibi tablosuz CSS temelli tasarım
  • 1024*768 ve yukarısı çözünürlüklerde verim
  • Ortada “fixed” 960px layout, bu şekilde okunurluğun daha yüksek olduğunu düşünüyorum
  • Geçerli XHTML Strict veya en azından XHTML Transitional kodu olması
  • Geçerli CSS 2.1
  • Tüm sitenin UTF-8 olması
    Şu anki sistemde sitenin yarısı UTF-8 ama hepsi değil bu hem teknik sorunlara neden oluyor hem de bazı durumlarda Türkçe karakterlerin doğru gösterilmesine engel oluyor.

Ekstra Eklenecek Özellikler

  • Tamamen yeni ASP.NET altyapısı, Sistemin bir kısmı zaten ASP.NET ama hepsini ASP.NET’ e geçirmek istiyorum
  • Yorumlar için CAPTCHA desteği
  • AJAX ile yorumları okuma ve yazma
  • Site arşiv sayfaları
    • Tag tabanlı arşiv
    • Tarih tabanlı arşiv
    • Ana konu tabanlı arşivler
      • Projeler
      • Araştırma Dokümanları
      • Download
  • Yeni yorumlardan e-mail ile haberdar etme
  • Trackback gönderme ve kabul etme
  • İngilizce arabirim desteği, ikinci adım

Tasarım – 06.04.08

Ben tasarımcı değilim ama tasarımcı olarak bir geçmişim var. Yeni tasarımdaki amaçlarımdan biri daha okunaklı ve daha temiz, curcuna olmayan bir tasarım sunmaktı. Bir şeye başlamadan önce ilham almak için beğendiğim blogların tasarımlarına ve güzel tasarımları listeleyen ilham sitelerine baktım. Kendi beğendiğim blog sitelerine bakarken komik bir şey farkettim, bu sitelerin hiçbirini aslında ziyaret etmiyorum sadece RSS’ ten okuyorum. Bu da “içerik kraldır” lafını tekrar onaylıyor. Tabii ki bunu kendime bahane etmiyorum!

Bu şekilde sağı - solu bir saat kadar dolaştıktan sonra, kendi arşivimdeki eski yaptığım çalışmaları incelemeye başladım. Grafik konularından o kadar uzak kalmışım ki bir şey yapmak çok zor geliyor. O yüzden daha formdayken yaptığım çalışmalardan çalmayı düşünüyordum. Eski PNG dosyaları arasında bir saat kadar harcadıktan sonra ve Fireworks CS3 ile de bir kaç deneme yaptıktan sonra eski materyalleri değiştirip güzel ve basit bir logo çıkardım kendime.

clip_image001Ben genelde tasarıma logodan başlarım daha sonra da tüm konsepti logo üzerine kurarım. Bu seferde gene o şekilde yaptım. Soldaki logoyu tasarladıktan sonra, bunun üzerine tasarımı geliştirdim.

Önce gazete benzeri bir konsept yakalamaya çalıştım, bu adımda bir kaç rasterize efektli fotografta denedim ama istediğim gibi olmadı, bu sırada daha basit bir aşağıdaki çalışmaya ulaştım.

clip_image002

Ama bu sefer siteyi aşağıdaki gibi, 960px, 2 kolon fixed istiyordum.

clip_image003

Bu şekilde istememin ana nedeni ise orta içeriğin 500px gibi sabit bir şey ile limitleyebilmekti. Dolayısıyla yukarıdaki tasarımı değiştirip, bu şablona uyacak bir hale getirdim. Son zamanlarda wordpress temalarında popüler olan alt kısmı farklı bir renk ile ayırma işlemi de çok hoşuma gittiği için bir de ek bir renk ile footer çalıştım ve ortaya aşağıdaki çıktı.

clip_image005

Deneyimli tasarımcılar çoktan farketmiştir istediğim şablon / CSS Layout ile yukarıdaki tasarımı birleştirmede temel bir arka plan sorunu var. Bu yüzden Logoyu tamamen transparan bir arkaplan ile çalıştım ve header ve footer arka planlarını da yatay olarak tekrar edebilecek bir hale getirdim. Orjinal resimler 1600px uzunluğunda dolayısıyla bir çok monitörde zaten tekrar etmelerine gerek kalmayacak ama tekrar ederlerse de bu tamamen gözükmeyen bir geçiş ile olacak. Basitçe resimlerin soldaki başlangıçları ile sağdaki bitişlerini aynı çizgi üzerinde tuttum. Düz olmadıklarından dolayı bu biraz vakit aldı ama sonunda oldu. Bu işlemi yaparken “Ruler” ve “Grid” leri görünür hale getirmek çok işinize yarayacaktır.

Bütün bunları yapmak ve yukarıdaki hale getirmek yaklaşık 6-7 saat sürdü. Cumartesi öğleden öncem bu işe gitmiş oldu. Pazar sabahı da tasarımdaki son detaylarla oynayıp HTML’ e aktarmaya başladım.

Bir sonraki yarın yazı Pazar sabahından devam edecek....

anahtar kelimeler : css html blog site cat-personal tasarim design

ASP.NET Güvenliği ve Platform Tasarımı

Öncelikle genel yapılan geyiklerden birini kestirip atalım:

Tüm sunucu-taraflı (server-side) diller aynı seviyede güvenlidir, herşey kodu yazan kişiye bağlıdır.

Bunu unutun, yok böyle bir şey. Hemen açıkça söyleyelim mesela ASP.NET tasarımı PHP ye göre çok daha güvenlidir. Şimdi bir çok kişi yorumlara saldırmadan önce yazıya devam edelim. Mesela Struts (dil değil platform/framework) hatırı sayılır derecede bir çok platformdan daha güvenlidir.

Her dilde ve platformda güvenli olmayan yazılım geliştirebilirsiniz ama bazı platformlarda güvenli olmayan yazılım geliştirmek çok daha kolay. Şimdi bir dilin - platformun güvenlik noktasında nasıl analiz edilebileceğine bir bakalım.

Server-Side dillerin Güvenlik Analiz Kriterleri:

  • Yazılım güvenliği, platformun kendisinde çıkan açıklar (buffer overflow, yanlış çalışan encoding fonksiyonları vs.)
  • Platform tarafından sunulan güvenlik kütüphaneleri, fonksiyonlar
  • Platformun dokümantasyon ve eğitimlerin güvenli yazılım geliştirme pratiklerini teşvik ediyor olması. Güvenli kod yazmanın kolay olması
  • Güvenli varsayılan ayarlar ve fonksiyonlar varsayılan olarak güvenli şekilde çalışması

Burada bütün platformaları karşılaştırmayacağım zaten farklı platformlardaki teknik yetersizliğimden dolay bunu yapma imkanım da yok ama örnekler verip ASP.NET' in neleri başarılı bir şekilde yaptığını göstermeye çalışacağım.

Platformun Kendisinde Çıkan Açıklar

Bu tip açıklara şu örnekleri verebiliriz : ASP.NET Request Validation Bypass, PHP Global Overwrite, PHP Zend Hash Problemleri, Struts Validation Bypass vs.

PHP bu konuda tamamen sabıkalı, The Month of PHP Bugs bunu bize gösterdi zaten. Burada söyleyecek pek bir şey yok, ASP.NET in .NET Framework' ü üzerinde geliştirilmiş olması aynı Java gibi onu Buffer Overflow ve benzeri ataklardan tamamen korunmasına neden oluyor. Dolayısıyla .NET Framework' ün temelinde bir sorun çıkmadıktan sonra bir dizi güvenlik açığının ASP.NET te görülmesi imkansız hale geliyor.

Bunun harici foksiyonların kendilerinde çok ciddi sorunlar çıkmadı buna rağmen NULL karakterler ile string birleştirme operastyonları etkileme gibi açıkları çıktı. Dolayısıyla ASP.NET' te bu konuda mükemmel değil ama çok da kötü değil.

Güvenlik Kütüphaneleri ve Fonksiyonlar

ASP.NET tasarlandığı gibi kullanıldığında şu sorunların hepsini çözüyor :

  • SQL Injection
    Parameterised Query kullanımı
  • XSS, Cross-site Scripting
    Default olarak control' lerde encoding desteği, Request Validation desteği (bu sadece derinlemesine defans faktörü, sorunun çözümü değil). Bunlara rağmen ASP.NET' in control encoding desteğinin o kadar mükemmel olmadığını da belirtmek lazım.
  • Güvenli Kullanıcı Sistemi (Login/Logout, Role sistemi, şifre güvenliği vs.)
    ASP.NET Membership sistemi basit ve güvenli şekilde bir kullanıcı sistemi oluşturmanıza izin veriyor.
  • CSRF (Cross-site Request Forgery)
    ViewStateUserKey ile uygulama CSRF ataklarına karşı güvenli hale getirilebilir.
  • CRLF Injections
    İç fonksiyonların güvenli olması otomatik olarak CRLF açıklarından (HTTP Splitting) koruyor. Bazı fonksiyonlarda sorun olsa da en azından genelde güvenli diyebiliriz.
  • Parameter Manipulation
    ASP.NET istemci tarafına giden datanın modifiye edilmeden döndüğünü kontrol edebiliyor ama bu aslında pek iyi bir yazılım geliştirme pratiği değil. Eğer istemci tarafına giden datanın aynı olmasını istiyorsanız istemciden gelen parametreyi kullanmaz ve datayı session yada benzeri bir yerde tutarsınız. Buna rağmen bazı yazılımlar scability amaçlı buna ihtiyaç duyabiliyorlar.

    Ek olarak ASP.NET Validators var, bunlar sayesinde girdi denetimi yapmakta gayet pratik.

Bunun harici güvenlik ile ilgili bir çok hazır fonksiyon ve kütühane sunuyor:

  • Şifreleme ve Encoding Kütüphaneleri. Ek olarak bu kütüphaneler UTF8 ve UTF8 olmayan data ile de iyi geçiniyorlar.

Güvenli Yazılım Geliştirmeye Teşvik Etme

ASP.NET' in resmi dokümantasyonu güvenliğe çok önem veriyor. Bir çok güvenlik ile ilgili makale ve bu güvenlik özelliklerinin nasıl kullanılacağına dair dokümantasyon sunuyor. Bundan daha da önemlisi örneklerde Parameterised Query kullanımı gibi güvenli kullanımlar öneriliyor ve gösteriliyor. Bir çok işlem için gerekli fonksiyonlar zaten olduğundan kullanıcıların kendi kodlarını yazması gerekmiyor.

Güvenli Varsayılan Ayarlar ve Fonksiyonlar

Bu en önemli özelliklerden biri ve Microsoft' un güvenlik devriminden beri çok önemverdiği bir unsur. ASP.NET varsayılan olarak hata mesajlarını göstermiyor, debugging' i aktif hale getirmiyor.

Response.Redirect fonksiyonu da varsayılan olarak güvenli fonksiyonlara güzel bir örnek olabilir. Mesela PHP' de sayfa yönlendirme işleminden sonra manuel olarak sayfanın işlemin durdurmanız gerekiyor*. Bunu yapmdığınızda üyelik gerektiren sayfalara şifresiz erişim mümkün olabilir. ASP.NET ise bu fonksiyon varsayılan olarak işlemi durduruyor ama isterseniz ekstra bir parametre ile çağırıp sayafnın işlemesini durdurabiliyorsunuz.

Bu yazı bir karşılaştırma yazısı değil daha çok güvenli platform geliştirmeye güzel bir örnek olarak ASP.NET' i gösterme amaçlıdır. Şu an hangi penetration tester' a sorarsanız sorun ASP.NET sitelerinin genellemede çok daha güvenli olduğunu söyleyecektir**.

Güvenli Kod Yazmak Bunun Neresinde ?

Eğer kod güvensiz yazıldıysa maalesef sizi koruyabilecek bir platform henüz keşfedilmedi, ek olarak mantıksal açıklar da aynı şekilde. Hiç bir yazılım dili ya da platform sizi böyle delice bir şey yapmaktan alı koyamaz!

 

* Bunun ana nedeni bu fonksiyonun (header) çok jenerik olması.
** En azından 50 site üzerinde penetration testing yapıp, değişik platformlarda değişk siteler ile çalıştığını varsayıyorum.
*** Nihayet uzun bir aradan sonra teorik ama hala teknik bir yazı yazabildim.

anahtar kelimeler : struts framework cat-security asp net crlf csrf web app security

Şeytan Yemini ve The Escapists

Bir kaç gün İskoçya - Edinburgh' da olacağım ondan sonra da hafta sonu ufak bir tatile kaçıyoruz.

Şeytan YeminiBu arada bu yolculukları uzun süredir okumak için vakit kolladığım kitaplardan biri olan Jean-Christophe Grangé' ın Şeytan Yemini kitabına başlamayı düşünüyorum. Grange' ın bu harici tüm kitaplarını zaten okunuştum. Dolayısıyla bunun da süper olduğundan eminim.

Bu sırada bir hafta kadar önce The Escapists' i bitirdim. Süper bir çizgi roman (daha doğrusu graphic novel) değil ama fena da değildi. Bu aralar biraz nostalji yapıyorum ve nedense içimde ciddi bir çizgi roman okuma hissi var. Listemde de Hellboy v1, Watchmen, The Umbrella Academy gibi kitaplar var.

Dönünce bir kaç kitap ve programlama konusunda yazmayı planlıyorum. Bir de 10 sayfadan uzun bir tasarım dizisi yazısı var. Yeni siteyi yapmaya başladığımdan bu yana aldığım notlar ve site geliştirme süreci. Onu da yayınlanabilir formata getiririr getirmez 3-4 blog postu olarak yayınlamaya çalışacağım.

Şehir dışında olacağımdan bu hafta pek bir şey yazamayabilirim ve yorum onayları biraz gecikebilir.

anahtar kelimeler : seytan yemini jr grange cizgi roman graphic novel comic book kitap kent iskocaya scotland seyahat cat-book

Süper Makale White Papers

Some of my published white papers in chronological order.

  • Hiding your identity in the Internet (Turkish) - 26.04.2003
  • Small XSS Paper - 28.07.2004
    Potentially the first paper ever talks about detecting and exploiting XSS vulnerabilities in HTML attributes and Javascript blocks.
  • A Practical Guide to PGP (Turkish) - 09.01.2005
    Practical introduction to PGP, explains basic of PGP with some real world examples.
  • Attacking and Defending Wireless Networks (Turkish) - 25.12.2005
    A Highly detailed document about attacking and defending wireless network.
  • SQL Injection Cheat Sheet - 15.03.2007
    The most comprehensive SQL Injection Cheat Sheet, includes lots of detailed information about SQL injection methods and covers several different databases. Translated into Japanese, Published in "Hacker Japan" Issue 05.2007.
  • XSS Tunnelling - 10.07.2007
    Cutting edge research about exploitation of XSS vulnerabilities. Explains the implementation and idea of tunnelling HTTP traffic through XSS channels to bypass several restrictions and gain a total control over the victim's session.
  • Deep Blind SQL Injection - 26.10.2007
    A new way to exploit Blind SQL Injections which allows attacker to get 16+ different answers at a time from Blind SQL Injections instead of 2 (true or false). Also it's implemented in BSQL Hacker.
  • SQL Wildcard Attacks - 12.05.2008
    A new attack vector against web applications and databases. Affects more than 70% of web applications with an MS SQL Server database. This attack is now documented in the OWASP Testing Guide v3 as well.
  • SSL Implementation Security FAQ - 14.05.2008
    Quite comprehensive FAQ for common SSL implementation security pitfalls.
  • anahtar kelimeler : english paper download cat-security white-papers cat-featured

    Süper Makale Yeni Site Yayında!

    Etiketler news, blog, me, site, yeni, tasarim, 24.08.2008

    Nihayet yeni siteyi yayın aldım. Hata raporları başlasın!

    Tüm taglama işlemleri henüz bitmedi, onları yapmaya devam ediyorum. Sitede bir sürü yeni özellik var, gezin, tozun kurcalayın. Heryerde RSS var üye olun. Keyfini çıkartın.

    anahtar kelimeler : tasarim yeni site me blog news

    Yeni Siteye Geçiş

    Etiketler blog, news, yeni site, 24.08.2008

    Bir süredir üzerinde çalıştığım yeni sisteme geçiş çalışmalarına başladım. Önümüzdeki 1-2 gün boyunca yazılan yorumlar yeni sisteme taşınmayabilir ve site düzgün çalışmayabilir.

    Yeni site açıldığındada bir kaç kriz yaşanabilir, dolayısıyla hazırlıklı olun ve 23-24 Ağustos tarihlerindeki güzel yorumlarınızın taşınamayacağı ihtimalini gözönünüde bulundurarak yazın.

    anahtar kelimeler : yeni site news blog

    Hack & Slash Development

    Bu aralar bayağı boktan yazılar yazıyormuş gibi hissediyorum* ama Quantity always trumps quality ve dibi görmeden göğü görmek mümkün değildir diyerekten kendimi avutuyorum**.

    Bir kaç gün önce BSQL Hacker' ı yayınladım. BSQL Hacker yaklaşık 4-5 sene önce yazmaya başladığım bir yazılım. Başladığımda basit bir kod parçasıydı, yaklaşık bir sene önce çeki düzen verip bir çok kısmını tekrar yazmaya ve global bir formata oturtmaya çalıştım. Şimdi ciddi bir yazılım olma yolunda.

    Yazılımın çıkışı bu şekilde organik olunca geliştirme süreci biraz tuhaf bir hal alabiliyor. Benim için BSQL Hacker' ı geliştirmek The Cool Cam gibiydi. Yüzlerce bug varken ben yeni özellikler ekledim, çünkü bug temizlemek ciddi derecede sıkıcı bir işken yeni ve "cool" bir özellik eklemek çok daha eğlenceli. Her ne kadar yazılımı yayınlayıp, kaliteli bir şekilde dağıtmayı istesem de bu yazılım Afrika' daki aç çocukları doyurmayacağından eğlence kısmı benim esas dinamom oldu.

    Yazılımda genelde temel sorunu çözmek yerine bug' ı çözdüm, bu rezil bir yöntem ama gel görki saatler değil dakikalar harcayarak süper bir şey değil ama çalışan bir şey çıkartabiliyorsunuz.  Ama siz siz olun Never debug standing

     

    * "Sadece bu aralar mı?" dedi biri?, ayıp, ayıp.
    ** Bu noktada Chuck Palahniuk - Choke' taki dibe vurma konseptini de irdelemek lazım.
    *** Kendime blog postlarında en fazla "obscure referanslar" gönderen blogcu seçiyorum, eski yazıların bir kısmındaki göndermeleri ben bile anlayamıyorum!

    anahtar kelimeler : geyik bsql hacker yazilim diablo development