3.12.07
WEP Nasil kirilir!
http://www.tomsguide.com/us/how-to-crack-wep,review-451.html
Etiketler: crack, laptop, networking, WEP, wireless
12.9.07
iPhone - cebinize dikkat edin :)
Zavalli uc kisilik bir aile yanlarina iPhonelarinida alarak bir iki haftaligina gemi seyahatine cikmislar, iPhonelarinida surekli kapali olarak yanlarinda tasimislar. iPhone cok user friendly oldugu icin, kapali olmasina ragmen gece gunduz email hesaplarini update etmis :) ve aile yaklasik $4800 lik bir cep telefonu faturasi ile adeta apisip kalmislar, biraz daha arastirinca etraf benzer hikayelerle dolu. Bu da demek oluyorki ne zaman tum dunyada sinirsiz data hakki veren bir telekom sirketi kurulur (google duyuyormusun bizi ?) yada cok daha basit olarak telefonunuzu kapattiginizda gercekten kapanir :D.
29.8.07
Motorola Razr V3 ve Turkcell bilgisayardan internet
4-5 saat ugras sonucunda basardim ve bu arada ogrendiklerimi sizlerle paylasmak istedim, belki sizin baglanmanizi bir nebze de olsa kolaylastirmis olurum.
Donanim:
Motorola Razr V3
IBM thinkpad x31
windows XP service pack 2
Ilk denemeyi USB kablo ile gerceklestirdim:
1. Telefonu USB kablo ile bilgisayara baglayin (bu yontemin calimsasi icin motorola suruculerinin bilgisayarda yuklu olmasi gerekiyor)
2. control panel - phone and modem e girin.
3. Modem listesinden Motorola USB Modem i secin
4. Ozellikler (properties)
5. Advanced sekmesine gecin
6. "Extra initialization commands" alanina asagidaki bilgiyi yazin
+cgdcont=1,"IP","internet"
7. Tamam tusuna basip kapatin.
8. Control panelden - Network connections - Ag baglantilarini secip
9. Yeni baglanti - Create a new connectioni secelim
10. Connect to the Internet
11. Set up my connection manually
12. Connect using a dial-up modem
13. motorola USB modem secilir
14. ISP ismine Turkcell
15. Telefon numarasi: *99#
16. Kullanici adi ve parola bos birakilacak.
17. baglantiniz kullanim icin hazir. Ag baglantilarindan Turkcell simgesine tiklayarak turkcell e baglanabilirsiniz.
BlueTooth Baglanti:
1. Razr uzerinden bluetooth ayarlarina girip Discovery i acin "Find Me"
2. Bilgisayardan My Bluetooth places
3. View devices in range
4. Telefonunuzu secip baglanti islemlerini gerceklestirin.
5. Discover services
6. Dialup networking gatewaye sag tiklayip kisa yol menusunu secin
7. Artik My Bluetooth places altinda telefonunuzun dialup networking simgesini goreceksiniz
8. Bluetooth dialup simgesine cift tiklayarak dialup penceresini acabilirsiniz, burada telefon numarasi olarak *99# yazip dial dediginiz zaman USB kabloda oldugu gibi internet baglantiniz saglanacaktir.
Daha ayrintili bilgi icin Turkcell Bilgisayardan internet
Mutlu ve baglantili geziler,
Ozgur
Etiketler: Bluetooth, EDGE, GPRS, Motorola
27.3.07
Nereye gidiyor?
Az önce yukarıdaki sunumu izledim, her an önümüzde olup bitenler topluca bir anda sunulduğunda çok farklı bir etki bırakıyor.
27.12.06
Aradığınız programcıyı bulmak
- programcının her hangi bir programlama dilindeki ileri seviye bilgisi bizim için çok önemli değil. Bunun yerine temel yapı taşlarında olan deneyimleri cok daha önemli.
- Bir örnek ile konuyu açıcak olursak, Java programcısı arıyoruz ve iki adayımız var. Birisi c++ biliyor ve yıllardır nesneye dayalı programlama yapmış ve nesneye dayılı programlamayı çok iyi anlıyor ama java ile hiç proje deneyimi yok. İkinci adayımızda Java dilinde bir çok kod yazmış ama nesneye dayalı programla konusunda zayıf. Bu asamada tercihim c++ ve nesneye dayalı programlamayı iyi bilen aday olurdu.
- Problem çözme ve takım çalışmasına yatkınlık
- Günümüzde hemen hemen hiç bir problem tek başına çözülmiyor ve mutlaka iletişim gerektiriyor. Bunu ölçmek ve adayın bir takım içinde nasıl davranacağını bulmak için görüşme sırasında bir projeden bahsedebilir ve yarın işe alınırsa ve projeye atanırsa sorunları nasıl çözeceğini sorabiliriz. Adaydan bizi birer takım arkadaşı olarak görmesini ister ve istediği şekilde sorular sorabileceğini söyleriz. Burada adayın yapması gereken zekice sorular sorup projeyi daha iyi anlaması ve bizim onunla birlikte olası bir çözüme ulaşmamızı sağlamasıdır. Her hangi bir noktaya takılıp kalan adaylar, veya tüm problemleri kendilerinin güçlü olduğu yönden çözmeye çalışanlar bu testi geçemezler. "when you have a hammer, everything looks like a nail"
- Geekness faktörü
- bunun tam türkçesi nedir bilmiyorum hatta ingilizce olarak bile tam olarak nedir bilmiyorum ama en güvendiğim yöntemdir. Bir programcının başarılı olabilmesi için bu işi sevmesi gerekiyor, programcılık 9-5 arası yapılabilecek bir iş değil. (yapanlar var o ayrı :)) Bunu öğrenmenin en kolay yoluda adaya kişisel ilgileri ile ilgili sorular sormak, yeni çıkan teknolojileri biliyor mu? Biliyorsa bunlardan hangilerini merak edip üzerinde araştırma yapmış. Her hangi bir açık kaynaklı projeyi takip etmiş mi, email listelerine üye mi vs vs....
Saygılar,
31.10.06
Yazılım yapı taşları
Aynı sözleri daha önce çalıştığım firmalarda da duymuştum. Özellikle yeni başlayan küçük ölçekli firmalarda, yazılımın bir an önce bitirilip ürünün piyasaya sürülebilmesi veya projelerin çabuk bitirilebilmesi için bu tür yapı taşları tamamen ikinci plana itilmişti. Sürüm kontrol veya yayım yönetimi faydalı araçlar olarak görülmediği gibi, vakit kaybettiren bürokratik araçlar olarak benimsenmişti.
Mühendislik bilimi tekrarlanabilir sonuçlar üzerine kurulmuştur. Yazılım üretiminin de bir mühendislik olabilmesi için bu tekrarlnabilirliğin sağlanması gerekir. Bu tekrarlanabilirlikde ancak sürüm kontrolu, yayım yönetimi ve sorun takibi gibi araçların doğru kullanılması ile mümkün olur.
Sürüm kontrolu ve yayım yönetimi uygulanmayan bir şirkette yeni başlanılan bir projeyi ele alalım. Programcımız kodlamaya başlar ve proje gereksinimleri doğrultusunda kodlamaya devam eder. Proje devam ederken bazı değişiklikler gerekir programcımız bu değişiklikleri yapar. Daha sonra bu yaptığı değişikliklerden bazılarının geri çevrilmesi istenir. İşte bu anda programcının elinde bir sürüm kontrol sistemi olmadığı için, daha önceden yaptığı değişiklikleri eliyle düzeltir. Ama aynı hataya bir kez daha düşmemek için kodun değişik zamanlarda kopyasını almaya başlar. Bu kopyaları düzenli tutabilmek için her birini tarih atılmış bir dizine kopyalar vs.
Daha sonra müşteriye ürün gönderilir ve bu ürün kopyasıda müşteri adı ve tarih ile bir dizine kopylanır. Bir de bakarsınız ki programcımız programlama yükünün yanında birde manuel olarak sürüm kontrolü ve yayım yönetimi ile uğraşmaktadır.
Bunun yerine daha sağlıklı ve daha verimli çalışan bir sürüm kontrol uygulması kullanılabilir. Şirket bünyesinde bir kez harcanılacak bir planlama ve gerçekleme safhasından sonra tüm projelerin sürüm kontrolleri ve yayım yönetimleri yapılabilir, bunlar yazılım üretim süreçlerinin birer parçası haline getirilebilinir.
Faydası tek kişilik programlama ekiplerinde çok kolay görülen bu araçların, çok programcılı projelerdeki yararları ortak kullanılan kodlar ile daha da belirginleşir. Bır projede kullanılan koda başka bir projeden erişmek istenildiğinde yapılacak en kolay şey o kod dosyası aynen yeni proje içerisine kopyalanır. Aynı işlem bir kaç temel kod için bir sürü projeye kopyalandığında elimizde aynı kodun onlarca kopyası olur. İleride bu kod içinde bulnacak bir hatanın düzeltilebilmesi için tüm kopyalarında düzeltilmesi gerekir. Bunu önleyebilmek için bir yol bu kodun bir kütüphane içine konup tüm projeler tarafından ortaklaşa kullanılmasını sağlamak olabilir.
Bu ilk bakışta geçerli bir çözüm olarak gözüksede tek başına sağlıklı bir çözüm değildir.
Aynı kütüphane ye bağımlı iki proje olduğunu düşünelim. Birinci proje ihtiyaçları doğrultusunda kütüphane üzerinde değişiklikler yapması gerektiğinde ne yapmalıdır? Yaptığı değişikliklerin ikinci projecyi nasıl etkiliyeceğini bilmediği için kütüphaneyi yayımlayamaz (veya yayımlar ama diğer proje çalışmaz hale gelebilir.). Ya kütüphaneyi tamamen değiştirecek ve yeni bir kütüphane yayımlayıp birinci projenin bağımlılığını bu kütühnaye yapıcak, veya ilave edilmek istenilen fonksiyonları yeni bir kütüphane içinde toplayıp bunu projesine ekliyecek, bu da kaçınılmaz olarak kod tekrarına yol açıcak ve ilk anlattığımız senaryoya dönülecek.
Tahmin ettiğiniz gibi bu sornun çözümüde sürüm kontrol, yayım yönetimi ve testlerden geçiyor. Projelerimizi elimizdeki kütüphanelerin belirli sürümlerine bağımlı yaparak ve yazdığımız kodlarda kapsamlı testler kullanarak yukarıda bahsettiğimiz sorunların çözümü oldukça kolay.
Bir kütüphanede değişiklik yapılmak istendiğinde programcı bu değişiklikleri yapar ve kendi kodu ile test eder, daha sonra yapılan değişiklikleri sürüm kontrol sistemine eklemeden önce bu kütüphanenin yayımlanması gerekir. Yayım yönetim sistemi kütüphanenin yeni sürümünü kabul etmeden önce, yapılan değişikliği bağlı olduğu her proje için test edilmesini ister. Eğer yani yapılan değişiklikler başka bir projenin işleyişini bozuyorsa, kütüphane değişik bir sürüm numarası ile yayımlanır ve üzerinde çalışılan projenin ayar dosyaları değiştirilerek projenin bu yeni kütüphaneye bağlanması sağlanır.
Örneklerle anlatmaya çalıştığım gibi, bu tür uygulamalar başlangıçta zaman kaygı gibi gözüksede uzun vadede çok değerli yatırımlardır.
Özgür
Not: Aşağıdaki liste tam değildir, linkler örnek teskil etmesi amacıyla verilmiştir. Her bir ürünün avantajları veya desavantajları hakkında diğer sayfalardan bilgi alabilirsiniz.
Sürüm Kontrolü Yazılımları:
CVS
Subversion
Visual Sourcesafe
Yayım Yönetimi:
Maven
Yayım Yönetimi Bloğu
Hata Takibi:
bugzilla
17.10.06
Apache2 altinda SSL sertifikasi - Linux Debian
1. Sertifika için gerekli olan anahtar ve sertifika dosyalarınızı /etc/apache2/ssl altına kopyalayın.
2. /usr/share/doc/apache2/examples/ssl.conf.gz dosyasını unzip yapın, ve
ssl.conf dosyasını /etc/apache2/sites-available/ dizinine kopyalayın.
3. #a2ensite /etc/apache2/sites-available/ssl.conf kullanarak Apachenin SSL icin bir sanal sunucu çmasını sağlayın.
4.#a2enmod ssl komutu ile Apachenin SSL modülünü aktif hale getirmesini sağlayın.
5. ssl.conf dosyasını açıp SSLCertificateFile ve SSLCertificateKeyFile değerlerini /etc/apache2/ssl dizinine kopyaladığınız dosya isimleri ile değiştirin.
6. /etc/apache2/sites-enabled altında bulunan diger tüm dosyalarda
<VirtualHost *:80> ve NameVirtualHost *:80
7. ssl.conf dosyanızda DocumentRoot olarak belirtiğiniz dizinin altına yerleştireceğiniz sayfalara
https://www.yourdomain.com/dosyaadi.html olarak ulaşabilirsiniz.