Powered By Blogger

27 Aralık 2008 Cumartesi

Linux Belgelendirme Grubu

Açık kaynak yazılım dünyasına Türkiye'den hatkılar her geçen gün büyüyor.Açık kaynak yazılım konusundaki çalışmalar her geçen yıl ülkemizde daha fazla insan tarafından ilgiyle takip ediliyor.

Bu yazılımları daha rahat anlayabilmek için şüphesiz takip edenlerin ya da geliştirmek isteyenlerin kolay anlayabileceği Türkçe dokümanlara çok ihtiyaç var.

www.belgeler.org adresindeki çalışma grubu bunun için çalışıyor. Linux Belgelendirme Çalışmaları tamamen gönüllüler tarafından yürütülen bir çalışma.

Grubun Görev Alanı

NASIL belgelerinin dilimize çevrilmesi,
Kılavuz ve Bilgi Sayfaları ile diğer uygulama yardım belgelerini dilimize çevrilmesi
Linux kullanımını kolaylaştıracak yeni belgelerin hazırlanması,
Yukarıda anılan konularla ilgili daha önce yapılmış çalışmaların toplanması,
Tüm çalışmalarımızın sanalyöremizde yayınlanması,
Linux Bilişim Terimleri Sözlüğünün geliştirilmesi ve sanalyöremizde yayınlanması

olarak tanımlanmış. Ayrıca oluşturulan diğer belgeleri de indirip kullanabilirsiniz. Bu konuda bulabileceğiniz en iyi kaynaklar arasında olduğunu rahatlıkla söyleyebiliriz.

26 Aralık 2008 Cuma

Wikipedia Programcılar Listesi

Kutsal sözlük Wikipedia'da yer almayı başarmış programcılar kimler dersiniz ?

Listeye bir göz atın.

Wikipedia Programcılar Listesi

Hangi Düzeyde Programcısınız ?

Bir programcı olarak hangi seviyedesiniz ?

Bilmiyorum diyorsanız aşağıdaki matrise bir göz atın.

Programmer Competency Matrix

23 Aralık 2008 Salı

En iyi 100 yazılım mühendisliği kitabı

İyi bir yazılımcı olmak için iyi yazılım mühendisliği kitaplarını okumalıyız.

Hollanda'dan ISM ecompany'nin CIO 'su Jurgen Appelo en iyi 100 yazılım mühendisliği kitabını kendince tespit etmiş.

Değerlendirme kriterleri :

1) number of Amazon reviews,
2) average Amazon rating,
3) number of Google hits and
4) Jolt awards.

Listeye göz atmaya değer. İlk 75 kitabı vermiş,tamamı için e-posta göndermenizi istiyor.

Detaylı bilgi Jurgen'in blogunda

1 Steve McConnell
Code Complete: A Practical Handbook of Software Construction

2 Elisabeth Freeman, etc.
Head First Design Patterns

3 Steve McConnell
Rapid Development

4 Erich Gamma
Design Patterns: Elements of Reusable Object-Oriented Software

5 Bruce Schneier
Applied Cryptography: Protocols, Algorithms, and Source Code (2nd Edition)

6 Robert C. Martin
Agile Software Development: Principles, Patterns and Practices

7 Joel Spolsky
Joel on Software

8 Tom DeMarco, Timothy Lister
Peopleware: Productive Projects and Teams (2nd Edition)

9 Frederick P. Brooks
The Mythical Man-Month, Anniversary Edition (2nd Edition)

10 Martin Fowler
Refactoring: Improving the Design of Existing Code

11 Mike Cohn
Agile Estimating and Planning

12 Alistair Cockburn
Writing Effective Use Cases

13 Bertrand Meyer
Object-Oriented Software Construction (2nd Edition)

14 Steve McConnell
Software Estimation: Demystifying the Black Art

15 Mike Cohn
User Stories Applied: For Agile Software Development

16 Donald E. Knuth
The Art of Computer Programming, The, Volumes 1-3 Boxed Set (2nd Edition)

17 Martin Fowler
Patterns of Enterprise Application Architecture

18 Jeffrey Friedl
Mastering Regular Expressions

19 Andrew Hunt, David Thomas
The Pragmatic Programmer: From Journeyman to Master

20 Karl E. Wiegers
Software Requirements (2nd Edition)

21 Craig Larman
Applying UML and Patterns (3rd Edition)

22 Alistair Cockburn
Agile Software Development: The Cooperative Game (2nd Edition)

23 Gary McGraw
Software Security: Building Security In

24 Gregor Hohpe, Bobby Woolf
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

25 Tom DeMarco
The Deadline: A Novel About Project Management

26 Craig Larman
Agile and Iterative Development: A Manager's Guide

27 Eric A. Marks, Michael Bell
Service-Oriented Architecture: A Planning and Implementation Guide for Business and Technology

28 Thomas H. Cormen, etc.
Introduction to Algorithms, Second Edition

29 Thomas Erl
Service-Oriented Architecture: A Field Guide to Integrating XML and Web Services


30 Martin Fowler
UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition)

31 Kent Beck
Extreme Programming Explained: Embrace Change (2nd Edition)


32 Alan Shalloway, James Trott
Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition)

33 Grady Booch, etc.
Object-Oriented Analysis and Design with Applications (3rd Edition)

34 Jim Highsmith
Agile Project Management: Creating Innovative Products

35 Scott Berkun
Making Things Happen: Mastering Project Management

36 Jon Bentley
Programming Pearls (2nd Edition)


37 Paul Duvall, etc.
Continuous Integration: Improving Software Quality and Reducing Risk


38 Andrew Stellman, Jennifer Greene
Applied Software Project Management


39 Clemens Szyperski
Component Software: Beyond Object-Oriented Programming


40 Arthur J. Riel
Object-Oriented Design Heuristics


41 Thomas Erl
SOA Principles of Service Design


42 Mary Poppendieck, Tom Poppendieck
Lean Software Development: An Agile Toolkit


43 Ken Schwaber
Agile Project Management with Scrum


44 Ken Schwaber, Mike Beedle
Agile Software Development with Scrum


45 Joshua Kerievsky
Refactoring to Patterns


46 Alistair Cockburn
Crystal Clear: A Human-Powered Methodology for Small Teams


47 Steve McConnell
Software Project Survival Guide


48 Tom DeMarco, Timothy Lister
Waltzing With Bears: Managing Risk on Software Projects


49 Venkat Subramaniam, Andy Hunt
Practices of an Agile Developer: Working in the Real World


50 Kathy Schwalbe
Information Technology Project Management


51 Randall Hyde
Write Great Code: Volume 1: Understanding the Machine


52 Scott Rosenberg
Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software


53 Cem Kaner, etc.
Lessons Learned in Software Testing


54 Andy Oram, Greg Wilson
Beautiful Code: Leading Programmers Explain How They Think


55 Luke Hohmann
Beyond Software Architecture: Creating and Sustaining Winning Solutions


56 Grady Booch
Unified Modeling Language User Guide, The (2nd Edition)


57 Karl Fogel
Producing Open Source Software: How to Run a Successful Free Software Project


58 Michael Feathers
Working Effectively with Legacy Code


59 Kent Beck
Test Driven Development: By Example


60 Per Kroll, Philippe Kruchten
The Rational Unified Process Made Easy: A Practitioner's Guide to the RUP


61 Thomas Erl
Service-Oriented Architecture: Concepts, Technology, and Design

62 Cem Kaner, etc.
Testing Computer Software (2nd Edition)

63 Frank Buschmann, etc.
Pattern-Oriented Software Architecture Volume 1: A System of Patterns

64 Harold Abelson, Gerald Jay Sussman
Structure and Interpretation of Computer Programs - 2nd Edition

65 Dan Pilone
UML 2.0 in a Nutshell

66 Brett D. McLaughlin, etc.
Head First Object-Oriented Analysis and Design

67 Johanna Rothman
Manage It!: Your Guide to Modern, Pragmatic Project Management

68 James Shore, Shane Warden
The Art of Agile Development

69 Brian W. Kernighan, Rob Pike
The Practice of Programming

70 Ron Jeffries, etc.
Extreme Programming Installed

71 Scott W. Ambler, Pramodkumar J. Sadalage
Refactoring Databases: Evolutionary Database Design

72 Jared Richardson, William Gwaltney
Ship it! A Practical Guide to Successful Software Projects

73 Greg Hoglund, Gary McGraw
Exploiting Software: How to Break Code

74 Michael Nygard
Release It!: Design and Deploy Production-Ready Software

75 Edward Yourdon
Death March (2nd Edition)

Back to the Future

Uzun bir süre güncelleyemediğimiz blogumuza ilginç konularla geri dönüyoruz.
Bilişim ve biz yazılım dünyasında yoluna devam ediyor.

7 Eylül 2008 Pazar

Hug a developer today!

Yazılım geliştiriciler her yerde acı içindeler...

Hug a developer today!

İkon Savaşları

Her geçen gün kurduğumuz programlarla açtığımız klasörlerle yüklediğimiz oyunlarla masaüstümüz daha da karmaşık hale geliyor. Her yer ikonlarla dolmaya başladı. Peki bu ikonlar arasında savaş çıksa sizce kim kazanır ?

(benim favorim Diablo)

Icon Wars

MSDN Worldwide mı Sizce ?

Geçenlerde bir konu üzerinde araştırma yaparken Microsoft'un geliştirici yardım sitesi MSDN in destek verdiği dillerin listesiyle karşılaştım. Liste gerçekten çok ilginç. Desteklenen ülkeler ve dillerine bakın. Listede birçok ülkenin yanısıra Dominik Cunhuriyeti, Tayvan , El Salvador gibi ülkeleri de görebilirsiniz.

MSDN Worldwide

Her fırsatta Türkiye'nin Microsoft için çok önemli olduğunu, Türkiye'nin büyük bilişim potansiyeli olduğunu geveleyen Microsoft yetkilileri, Türkiye bilişimle kalkınıyor diye göstermelik kampanyalar yapanlar, acaba bana listede Türkiye ve Türkçe'yi gösterebilirler mi?

28 Temmuz 2008 Pazartesi

Hangi programlama dilisin ?

Siz hangi programlama dilisiniz ? Ben Prolog'um....


You are Prolog. You enjoy looking for different ways to solve a problem.  You take longer to solve them, but usually come up with more than one solution.
Which Programming Language are You?

27 Temmuz 2008 Pazar

Yazılım uzmanı olamayacağınızın 10 kanıtı

Gürkan Yeniçeri'nin sitesinde yer alan bu yazı yazılım uzmanlığıyla ilgili gerçek bilgiler veriyor.

Tech Republic’de yazan Justin James 10 maddede neden yazılım uzmanı olamayacağınızı açıklamış. Bakalım neymiş bu 10 madde.
1: Kendi kendine öğrenmek yerine kursları tercih ediyorsunuz
Yazılım Uzmanı ilk işe başladığında gerekli tüm bilgiyi biliyor olduğu varsayılır. Firmanın belirli bir eğitim politikası olsa bile gerçekte firmanın yardımı ile alacağınız eğitimler hiç bir zaman gerçekleşmez. En iyi ihitimalle bir iki kitap almanız için bir ödenek ayrılır. Yönetim ekibinin düşüncesine göre yazılım uzmanı problem çözmeyi bilen akıllı bir kişidir ve bu yüzden de eğitime ihtiyacı yoktur. Öte yandan kurs masrafları karşılanan yazılım uzmanının her zaman firmayı terkedip gitme ihtimali olduğu için firmanın yatırım yapması pek düşünülemez (olsa iyi olurdu tabii ama gerçek hayat bu). Bu durumlar göz önüne alındığında kendi kendinize öğrenebiliyor olmanız gerekir. Eğer bu disiplin sizde yoksa yazılım uzmanı olmayı aklınızdan bile geçirmeyin.
2: Normal çalışma saatlerini seviyorsunuz
Yazılım projelerinin geç bitme olayını herkes bilir. Zamanında biten projeler bile projenin hayatı boyunca çoğu kereler geç kalma durumuna düşmüştür. Eğer 9’dan 5’e bir işte çalışmayı seviyor ve yazılım projelerinin uzun çalışma saatlerine ve gecelemelerine dayanamayacağınızı düşünüyorsanız yazılım uzmanı olmayı aklınızdan çıkarın. Patronunuz, ürünün zamanında müşteriye ulaştırılmasını, sizin oğlunuzun spor müsabakasından yada televizyonda seyretmek istediğiniz programdan daha önemli tutacaktır.
3: Küçük maaş artışlarını kıdem yükselmesine tercih ediyorsunuz
Teknolojik değişmeleri uygulamayan bir firmada çalışmıyorsanız, şimdi bildiğiniz şeyler seneye ya geçersiz yada az ödeyen konuma gelecektir. Bugün gözde olan teknolojiler seneye isimleri bile hatırlanmayan garip teknolojiler olabilir. İşin sırrı hızlı biçimde değişmektir. Yeni teknolojileri hızlı (herkesden önce) öğrenip konu hakkında otorite olmaya bakın. Hiç yeni bir teknoloji öğrenmeden aynı koltukta oturup, maaşınıza gelecek zammın hayat standardınıza yeteceğini düşünüyorsanız yanılıyorsunuz. Ya deneyimlerinizi ilerletip aynı firmada kıdem yükseltmeli yada başka bir firmaya geçerek aldığınız maaşı yükseltmelisiniz.
4: Ekip çalışmasında insan ilişkileriniz pek iyi değil
Yazılım uzmanları her ne kadar a-sosyal insanlar olarak bilinsede bir araya geldiklerinde hararetli konuşmalar yaparlar ve kendileri gibi olan insanlarla hemen kaynaşıp sosyalleşirler. Hangi dükkanda indirim var veya dün akşamki diziden bahsetmedikleri için dışarıdan kulak misafiri olanlara Fransızca gibi gelir ama aslında çok sosyal insanlardır. Ekip içinde çalışamıyor ve iletişimin düşük olduğunu düşünüyorsanız yada ekip arkadaşları ile bağlantı kuramıyorsanız; problem genellikle sizdedir. Aynı deneyimleri yaşamamış kişilerin bağlantı kurmaları beklenemez.
5: Kolayca sinirleniyorsunuz
Yazılım dünyası pek çok engellerle doludur. Belgeler genelde tam değildir, sizden önceki yazılımcı okunmaz bir kod yazmıştır, proje müdürünün anlaşılmaz kuralları vardır, herkesin uyması beklenen... liste daha da uzatılabilir. Sonuç olarak kimse sürekli bela okuyan ve ekrana küfür eden birisi ile aynı çatı altında olmak istemez. Eğer 8 saatlik bir uğraşın sonunda konuyu 10 dakikada çözebileceğinizi görüp deliriyorsanız bu kariyer sizin için değildir.
6: Ekip elemanlarının fikirlerine kapalı iseniz
Yazılım geliştirmede genelde problemlerin birden fazla çözümü vardır her yiğidin bir yoğurt yiyişi olduğu gibi. Eğer gelen kritikleri ve diğer çözümleri göz ardı ediyorsanız önemli bir noktayı gözden kaçırıyor olabilirsiniz. Sektörde yani olan ve deneyimleri sizden az olan birinin yapacağı bir tavsiye size pek çok şey kazandırabilir. Tabii bu tavsiyeye önem verip uygularsanız.
7: Detay adamı değilsiniz
Programlama olayı komplex bir olaydır ve dikkat ister. Eğer Conan The Barbarian filminden daha karmaşık bir filmi izlerken kayboluyorsanız yada bir yeni nesil ev kredisi formunu doldururken zorlanıyorsanız yazılım uzmanlığı büyük ihtimalle sizin için değildir. Bazen unutulan bir virgül, başarı ile başarısızlık arasındaki çizgiyi çizer. Eğer bu virgülü arayıp bulacak yapıya ve sinir esnekliğine sahip değilseniz kariyeriniz belli limitler içinde yer alır.
8: Yaptığınız işten onur duymuyorsunuz
Kitaba göre yazılım üretmek ve orta derece ile geçecek bir iş çıkartmak mümkündür. Problem, kitapların sürekli güncelleniyor olmasıdır. Yazılım geliştirmek bir fabrika işi değildir. Fabrikada işler belirli bir prosedüre göre gider ve beyin seviyeniz ne olursa olsun prosedürü uyguladıktan sonra iş ortaya çıkar. Yazılım geliştirme daha çok bilimsel bir iştir ve bağımsız düşünce gerektirir ki bu da yaptığınız işten gurur duymanızı sağlar. Bir işi yanlış yoldan yapıp üretime geçildiğinde ancak yeteri kadar çalışmasını sağlayabilirsiniz fakat göz ardı ettiğiniz o hata problem açmıyor gibi görünsede ileride problem açacaktır. Yazılımcı olarak yaptığınız işin gurur duyulacak bir iş olduğunu düşünmüyorsanız ürettiğiniz ürünün kalitesi düşük olacaktır ve kariyerinizin sürekliliği ile doğru orantılı olacaktır. Siz ayrıldıktan sonra arkanızdan konuşulmasını istemiyorsanız (gerçi ağzınla kuş tutsan arkandan konuşacaklardır) haysiyet ve onurunuzu korumak için yaptığınız işin tam olmasına dikkat edin. En azından sizin içiniz rahat olur.
9: Önce ateş edip sonra soru soran tiplerden misiniz?
Yazılım uzmanı bir parça kod yazmadan önce bir planlama aşaması geçirir ve kod yazmaktan daha fazla zaman planlamaya ayrılır. Eğer kod yazma aracınızı açıp Allah ne verdiyse kod yazmaya başlıyorsanız %100 ihtimalle iki ay sonra yazdığınız kod tamamı ile değişecektir. Konu hakkında düşünen, planlayan yazılım uzmanı ise daha az hata ile daha kısa sürede kod yazacaktır. Çoğu programcıların neden 10 parmak yazamadığının nedeni de budur; işin zor kısmı ne yazacağını bilmektir. Eğer düşünen bir insan değilseniz yazılım uzmanlığı sizin için bir kariyer değildir.
10: “Geek” tipini sevmiyorsunuz
Haklı kimi nedenlerden dolayı, mühendis veya teknik kişilerin yakınında olmaktan hoşlanmıyor olabilirsiniz. Eğer Dilbert gibi bir kişilikten çekiniyorsanız yazılım uzmanlığını düşünmeyin bile. Tabii ki her yazılım uzmanı böyle değil ama sektörün büyük bir çoğunluğunu oluşturuyor ve aralarında haliniz yaman olur.
Çalışma hayatım boyunca çok rastladığım bir insan tipi “bir iş fazla para ödüyor” diye o işe girenler. Daha önce ahçı olan ve iki yazılım kursundan sonra yazılım uzmanı kesilen ve sektörde para kazanan pek çok kişi tanıyorum. Yaptıkları işlerin kalitesi ise yerlerde sürünüyor. Bir kaçının proje ortasında işine son verildiğine de şahit oldum. Tamam yazılım sektörü çok ballı bir sektör ama üzüldüğüm bir konu varsa o da bu kişilerin ürettiği ürünlerin bizim tarafımızdan ileride tamir edilecek olması. İlla yazılım uzmanı olmaya da gerek yok bence. Yazılım sektörünün daha bir çok dalı var ki bu dallarda hakikaten adama ihtiyaç var. Örneğin, yazılım tasarımcısı, iş analisti, sistem destek uzmanı, veri tabanı uzmanlığı, donanım uzmanlığı, test uzmanı vs. liste daha da uzatılabilir. Bu dallarda ki açıklar genelde yazılım uzmanı tarafından kapatılmaya çalışılıyor yada firmalar yazılım uzmanlarından bunu bekliyorlar. Yanlış bir uygulama ve tasarımın ve analizin kalitesini düşürüyor.
Siz ne düşünüyorsunuz? Bu liste daha da uzatılabilir mi? Yazılım uzmanı olmanın başka gereklilikleri var mı? Yorumlarınızı bekliyorum.

http://analystdeveloper.com/blogs/gurkan/archive/2007/11/02/3506.aspx

16 Mayıs 2008 Cuma

Makyaj nasıl yapılır merak edenlere...

Makyajım nasıl olacak diye uzun süre düşünmenize gerek kalmadı. Linki açın ve sizde test edin.

http://www.erolgurgen.com/hcifinal/

8 Mayıs 2008 Perşembe

MindJolt Games, challenge everything…

Shangai Dynasty isimli oyunu mutlaka deneyin demek isterdim ancak ben gibi müdavimi olup işi gücü boşvermenizden korkuyorum. Vista, Linux dağıtımları ve bir çok masaüstü uygulamalarından sonra Facebook’da da bağımlılık yaratan bu oyunun en zorlayıcı versiyonu MindJolt’da yayınlanmakta. Linux’daki shuffle seçeneğinin kaldırılması ile yaptığınız yanlışlar telafisi olmayan bir hal almış durumda. Deneyin bakalım, siz eş taşları götürmede ne kadar başarılısınız…

Benim favorim PicLens

Mozilla Firefox, “Bunu da mı düşünmüşler?” diyebileceğiniz bir çok eklentiye sahip. Normalde hakim bir kullanıcısı olmamama rağmen Firefox’un plug-in girdabı benide içine almış durumda. Birine bakayım derken, diğerlerine de bakmadan geçemiyorsunuz. Benim en eğlenceli bulduklarımın başında da PicLens gelmekte. Yahoo ve Google gibi arama motorlarının, görsel arama seçeneklerinde kullanılan bu eklenti benim gibi grafik özürlü bir insan için tasarım harikası. Arama sonucu gelen resimlere bir de PicLens’den bakmanızı tavsiye ederim…

http://www.piclens.com/site/firefox/win/

Netbeans'den MySql'e bağlantı

Netbeans'den MySql'e bağlanmanın yollarını anlatan yine Eda'nın hazırladığı bir doküman...


http://rapidshare.com/files/113507710/netbeans-mysql_ba__287_lant__305_lar__305_.zip.html

Ayıklamakla bitmeyen böceklere kesin çözüm...

' Yarsız yiğit , bugsız yazılım olmaz '. Bug ayıklama aracı Bugzilla hakkında hazırlanmış güzel bir doküman...

http://rapidshare.com/files/113506711/bugzilla.pdf.html

Projenizi MAVEN ile adam edin...

Proje düzenleme ve yönetme ortamı MAVEN hakkında bilgi edinmek için Eda Yüksel'in hazırlamış olduğu dokümanı inceleyebilirsiniz...

http://rapidshare.com/files/113505634/MAVEN.pdf.html

New York da 360 derece gezdiniz mi ?

360 derece videonun içerisinde yer alıp, NewYork'u gezmek ister misiniz ? Siteyi açın ve videonun üzerine tıklayıp mouse u sağa sola çevirin...

http://www.cornflex.org/?p=1

En çok ben "HelloWorld" yazarım

Kaç farklı dilde HelloWorld yazabilirsiniz ? Bir düşünün, 5 - 10 ?? Merak ediyorsanız aşağıdaki koleksiyona bir göz atın

http://www.roesler-ac.de/wolfram/hello.htm#SAL

Google da nerdeyim ??

Web siteniz varsa ve sitenizin aramalarda kaçıncı sırada olduğunu öğrenmek istiyorsanız, bu siteye mutlaka göz atmalısınız.

http://www.sitebilgi.net/

Yeniden Biz...

Bilişim dünyasının yeni konularıyla beraber yeniden burada olacağız...