Bilgisayar alanından hareketle yaşamla ilgili her şeyi paylaşmaya çalışan arkadaşların oluşturduğu kollektif bir günlüktür.
Yeniden Bisiklet
İzmir gibi değil İstanbul, ama uğraşınca oldu, açılışı yaptık, Maltepe'den Modaya kadar kısa ama keyifli bir tur attık akşam. Dalgalar da coştu, yıkadı bizi bisikletlerimizle.
Bisiklet kullanabilmek için çaba gerekiyor; çaba göstermek için bisikleti çocukluğumuzda kalan hali ile değil, birbiriyle uyumlu parçalardan oluşan bir sistem; mekanik, basit, hızlı, zorlu, keyifli ve sağlık için gerekli görmek, düşüncemizi bu yönde geliştirmek gerekiyor.
Bisikletin insan ile uyumu giderek artıyor: güçlü ve hafif kadrolar, gelişmiş Vites, pedal ve fren sistemleri ve kolay taşınabilirlik. Okuyarak başlayabilirsiniz:
Fren
Pedal
Genel
Özgür Yazılım, Özgür Toplum Kitabı
Sunuştan:
"Birçok farklı ortamda sunulmuş makale ve konferans tartışmalarından oluşan bu derlemede, yazılımın nasıl oluşturulduğu, hangi fikri mülkiyet araçlarına sahip olduğu ve yazılım topluluğunun gerçekte neyi temsil ettiği üzerine tartışmaları, özgür yazılım felsefesi ve ortaya çıkışı, yazılım sahipliği, özgür yazılım ve açık kaynak yazılım karşılaştırması, telif hakları, copyleft ve patentler hakkında bilgi ve tartışmaları, Genel Kamu Lisansları'nın son sürümlerini ve özgür yazılımı anlayabilmek için gerekli birçok tanım, tartışma ve hikayeyi bulacaksınız.
Üç yaşlarında bir çocuğun görüp beğendiği bir oyuncağa verebileceği iki tip tepki olabilir. Ya "o oyuncaklar benim!" diyecektir, ya da "ne güzel oyuncaklar!" deyip oynadıktan sonra onların bir arkadaşına verecektir. "Ne güzel oyuncaklar" demesi yüzünü toplumsal faydaya dönmesinin ilk adımıdır belki de. Yazılım alanının bir oyun alanı ve paylaştıklarının oyuncak olmamasına rağmen, üretimlerini "benim" değil "bizim" diyerek tüm toplumla paylaşmakla yetinmeyip, bu felsefeyi bütün bir yazılım alanı için etkin kılarak tüm insanlığın faydasına olacak şekilde bu alanı değiştirme cesaretine ve azmine sahip olan Richard Stallman'ın ve özgür yazılım topluluğunun hikayesini ve fikirlerini büyük bir keyifle okuyacağınızı umuyoruz.
Özgür yazılım, özel mülk yazılım, Linux-GNU/Linux, açık kaynak, copyleft, fikri mülkiyet, patentler ve telif hakları tartışmalarını, toplumumuzda daha fazla kişi için bilinir kılması, egemen kültür tarafından belirlenen ve tartışılmaz, alternatifsiz olarak sunulan yazılım üretim, geliştirme, dağıtma ve paylaşma biçimleri ve anlayışı üzerinde zihin açıcı olması, "özgür yazılım" kavramındaki "özgür" vurgusunun daha da öne çıkması ve tabii ki Özgür Yazılım Hareketi'nin gelişimine bir katkı sağlaması amacıyla basıma hazırladığımız bu kitabı sizlere sunmaktan onur duymaktayız."
Ayrıntılı bilgi için: http://www.emo.org.tr
Buruk bir bayram daha...
Herkesin kardeşçe, sağlıklı, mutlu bir bayram geçirmesi dileğiyle...
En iyi açık kaynak raporlama araçları
Öncelikler ve zaman kullanımı
Yapmamız gerekenler, yapılması gerekenler var. Mutlaka bir şeyler üretmeyi kafamıza koyuyoruz. Belki de hiç bir şey üretmeden sadece zamanı tüketmeyi kafamıza koyuyoruz. Her halükarda en değerli şey olan zamanı planlamamız gerekiyor. 24 saat aralıksız üretemeyeceğimiz gibi, 24 saat aralıksız zamanı boşa da tüketemiyoruz. Bu durumda 24 saati nasıl değerlendireceğimiz planlamamız gerekiyor. Her ne kadar her zaman hoşunuza gitmeyen şeyleri yapmayın gibisinden öneriler olsa da bazen hoşunuza gitmeyen bazı şeyleri de yapmanız kaçınılmaz. Bunları da zaman planımıza koyuyoruz. Sadece soyut şeylere değil, somut şeylere, en önemlisi insanlara zaman ayırmamız gerekiyor. Bütün bu süreci en iyi şekilde planlamak ve disiplinli bir şekilde uygulamak gerekiyor. Hele ki uğraştığınız, yapmaya çalıştığınız onlarca konu, çalışma, yazı, çizi, düşünme, üretme gibi şeyler varken. İnsanları, sevdiklerinizi dışarıda tutmadan bütün bunları iyi bir şekilde yapmanız gerekiyor. O zaman ne yaparsınız? Öncelik sırası oluşturursunuz. Gerçekten önemsiz olduğunu düşündüğünüz şeyleri yapmazsınız veya geç yaparsınız. Önem sırasına göre işleri yapmaya başlarsınız. Yapamayacağınız, zaman ayıramayacağınız konulara girişmezsiniz. Başkalarından gelen istekleri kendi öncelikleriniz ve konuya göre değerlendirirsiniz.
Düşüncelerim genel ve çok söylenen şeyler oldu sanırım. İlgili yazıdaki ana başlıkları paylaşıp sizi daha fazla sıkmayayım.
Yazıda özetle yaptığınız şeyden zevk alın, güçlü noktalarınıza odaklanın, yaptığınız işte nasıl mükemmel olacağınızı araştırın, önceliklerinizi oluşturun diyor. Ve SWOT adını verdiği bir yöntemi öneriyor.
Zaman planlamasına yönelik olarak bir başka yöntem de Getting Things Done yöntemi. GTD kısa ismiyle belirtilen yöntem için bir çok yazılım aracı da var. Bir ara denedim, ama beceremedim. Kaotik zaman planlaması sanırım benim karakterime yerleşmiş :)
2009 LOÇ Tırmanışı
Dağcılık Federasyonumuzun Kurucusu ve İlk Başkanı
merhum Latif Osman ÇIKIGİL(LOÇ) anısına
geleneksel olarak her yıl düzenlediği
LOÇ ANMA TIRMANIŞI
Bursa Uludağ’da 14 - 15 Kasım 2009 tarihinde gerçekleştirildi.
Zirve yüksekliği 2543 mt
Kamp alanı yüksekliği 2450 mt
Yürüyüş süresi 16 saat.
Gece sıcaklık ~= -10 C
Katılımcı sayısı ~= 160
Panel: Yeni Medyada Nefret Söylemi
İstanbul'da yaşayanlar için bir panel duyurusu.
“Yeni Medyada Nefret Söylemi” konulu bir panel düzenlememizin nedeni, Türkiye’nin gündelik yaşamında öteki olarak işaretlenenlere yönelik ırkçı, zenofobik ve homofobik nefret söyleminin geleneksel medyanın yanı sıra giderek daha yaygın bir şekilde yeni medya ortamında da dolaşıma girmesi ve yeniden üretilmesindeki dikkat çekici artış olmuştur.
Panelde, önce nefret söyleminin kökleri, nefret söyleminin ve nefret suçlarının hukuki zeminde yeri, ardından da yeni medya ortamında nefret söyleminin hangi mekanizmalarla nasıl üretildiği serimlenecektir. Son olarak da, yeni medya ortamında dolaşıma sokulan ve yeniden üretilen nefret söylemine karşı mücadele etmek için olası çözüm yolları tüm katılımcılarla birlikte tartışılacaktır.
Bu panelin düzenlenişinin bizati kendisi de nefret söylemine karşı bir farkındalık bilinci uyandırmayı amaçlamaktadır.
Tarih: 21 Kasım 2009, Saat:13.30 - 17.00
Yer: Tarık Zafer Tunaya Konferans Salonu Tünel/Taksim
Yöneten: Mutlu Binark / Başkent Üniversitesi İletişim Fakültesi
Düzenleyen: Alternatif Bilişim
Konuşmacılar:
- Nefret Söylemi Nedir ve Geleneksel Medyada Nefret Söylemi
Aslı Tunç / İstanbul Bilgi Üniversitesi İletişim Fakültesi - Nefret Söylemi ve Nefret Suçları: Hukuki Boyutu
Ayşe Kaymak/İstanbul Barosu Avukat, Alternatif Bilişim Hukuk Danışmanı - Ana Akım Medyanın Haber Portallarında Nefret Söylemi
İlden Dirini/Özgür Radyo - Toplumsal Paylaşım Ağlarında Nefret Söylemi
Kolektif Üretim adına Eser Aygül/Gazi Üniversites SBE. - Video Paylaşım Sitelerinde Dolaşıma Sokulan Nefret Söylemi
Tuğrul Çomu/Ankara Üniversitesi SBE. - 6.Genel Değerlendirme ve Tartışma
www.alternatifbilisim.org
Java geliştiricilerinin bilmesi gereken 10 şey
- Java'nın ve Nesne Yönelimli Programlamanın hemellerini hatırlayın: Hatırlayın yerine hiç unutmayın demek daha doğru olur sanırım. Buna karşı çıkacak birini de düşünmüyorum.
- Teknoloji kümenizi bilin: Evet, hızlı yazılım geliştirmek, tekerleği tekrar tekrar tasarlamamak, uygun hedef uygun ortam ve teknoloji kullanabilmek için Java'yı, sanal makinelerini, farklı teknolojileri, kütüphaneleri bilmek yararlı olacaktır.
- Farklı J2EE anaçatıyla denemeler yapın: Spring, EJB, vb. farklı J2EE teknolojileriyle denemeler yapıp, uygun olanı seçmeniz iyi olacaktır.
- Bir betik dili öğrenin: Mutlaka Java içerisinde kullanabileceğiniz hatta başka zamanlarda da kullanabileceğiniz bir betik dilini öğrenin (bence Python öğrenin :D )
- Web servislerini nasıl geliştireceğinizi öğrenin: Web servisleri yükselen trend olduğu söylenen ve IBM, Sun gibi büyük firmalar tarafından "pompalanan" şeyler. Gerçekten iyice öğrenin, kullanım gerektiren zamanlarda kullanın.
- Multithread kavramlarını ve uygulamanızda ne zaman kullanmanı gerektiğini öğrenin.
- JDBC ve JPA ile veritabanı geliştirme: Buna açıklama gerekmez sanırım :)
- AJAX ve İstemci tarafında çalışan bir betik dilini (JavaScript) öğrenin.
- Java'nın rakiplerini öğrenin (.NET, Ruby, vb.) ve en iyi IDE hangisidir tartışmalarından uzak durun.
- Ant (hatta MAVEN) öğrenin, Tomcat vb. bir uygulama sunucusunu kavrayın.
Java ve İlişkiler
Association (Birliktelik): İki sınıf arasındaki yapısal ilişkiye verilen isim. Herhangi bir dereceye sahip olacak şekilde aralarında ilişki bulunan sınıflar bu birlikteliğe sahip olurlar. UML gösteriminde düz bir çizgi ile temsil edilmektedir. Bu ilişki bize o iki sınıf arasında mesaj alışverişini sağlayan bir kanalın olduğunu anlatır. Burada Java'da mesaj alışverişinin metot çağrımlarıyla gerçekleştiğini hatırlatmak gerekir. Birliktelikler genellikle referanslar ile gerçekleştirilir.
Aggregation (Münasebet): "Sahip olma" ("possession") ilişkisini temsil eden özel bir birlikteliktir. Dairesel olmama koşulu vardır. Bunun anlamı nesne kendisiyle münasebet kuramaz. Bu yüzden münasebet çizge değil, ağaç yapısı oluşturur. Aggregation "has-a" ilişkisidir. Her iki nesne de kendi bağımsız varoluşlarına sahiptir.
Aggregation-Composition arasındaki farklar
- Aggregation "has-a" (var) ilişkisidir, Composition "contains-a" (içerir) veya "bütün-parça" ilişkisi
- Aggregation'da iki nesne de kendi bağımsız varoluşlarına devam ederler, Composition'da parça'nın ömrü bütün nesnesiyle temsil edilir.
- Composition'ın daha güçlü ilişki olmasına karşın Aggregation daha gevşek bir ilişkidir.
- UML'de Aggregation işi boş köşegen ve düz çizgi, composition dolu köşegen ve düz çizgi ile gösterilir.
- Composition ilişkisindeki "parça"nın sadece bir "bütün"ü olabilir. Aggregation kapsanan tarafta 0..* derecesine sahip olabilir.
Bir örnek Arabadır. Araba Parçalarından oluşur. Bu parçalara sahiptir. Eğer bir Parça yoksa araba bozuktur. Araba Parçalarıyla Composition oluşturur.Kaynaklar:
Ayrıca Arabanın Yolcuları vardır. Yolcular Arabanın Parçası değildir. Eğer bir Yolcu yoksa Araba bozuk değildir. Araba Yolcularına sahip değildir. Araba'da değillerse başka bir yerdedirler. İlişki geçicidir. Yolcular gelir ve gider. Araba ve Yolcular arasında Aggregation ilişkisi vardır.
Her iki ilişki aslında compositiondır. Arabanın hem Parçaları hem de Yolcuları vardır. Farklılık süresindedir. Parçalarla olan ilişki daimidir, Yolcularla olan ilişki geçicidir.
http://faq.javaranch.com/view?AssociationVsAggregationVsComposition
http://ootips.org/uml-hasa.html
http://www.javaworld.com/javaworld/jw-06-2001/jw-0608-java101.html
http://geekexplains.blogspot.com/2008/07/composition-vs-aggregation-whats.html
http://www.bilgisayarkavramlari.com/2008/12/20/birliktelik-munasebet-ve-olusum-association-aggregation-and-composition/
http://stackoverflow.com/questions/1384426/distinguishing-between-delegation-composition-and-aggregation-java-oo-design
http://www.coderanch.com/t/468736/Java-General/java/Aggregation-Java
DISTINCT yerine IN veya EXISTS
DISTINCT kullanmak yerine mümkünse JOIN ifadesinde kullanılan tablo ve koşullar ayrılarak altsorguya dönüştürülebilir, aranan değere ulaşmak için performansı bu tür durumlarda JOIN den daha yüksek olan IN veya EXISTS kullanılabilir(2).
(1)
select distinct m.musteri_no
from tbl_musteri m
join tbl_hesap h
on h.musteri_no = m.musteri_no
and h.kayit_durum = 'A'
and m.musteri_no = 123456
(2)
select m.musteri_no
from tbl_musteri m
where exists (select h.musteri_no
from tbl_hesap h
where h.musteri_no = m.musteri_no
and h.kayit_durum = 'A')
and m.musteri_no = 123456
Özgür Yazılım Göçleri
Basit kod için 7 kural (KISS - Keep It Simple Stupid)
- Okunması kolay olmalı
- Kullanımı kolay olmalı
- Değiştirmesi kolay olmalı
- Gereksiz yere üçüncü parti kütüphane, araç veya teknoloji kullanmamalı
- Basit görünmeli
- Zarif olmalı (sadece gerekli olanı yapmalı, fazlasını değil, az ve öz olmalı)
- Dobra olmalı (gereksiz yere yönlendirmeler içermemeli)
Aynı yazıda ayrıca önemli bir vurgu yapılmış. Bu vurgu basit kodun geliştirilebilmesi için sürekli sınama ve sürekli yeniden yapılandırmanın (refactoring) yapılması (zaten sürekli yeniden yapılandırma yapıyorsanız sürekli sınama da yapmanız ve dolayısıyla bol bol testlerinizin olması gerekir, bu noktada birim testler devreye girer) gerektiğidir.
JUnit 4
Testler için Java'ya yönelik olarak JUnit aracını kullandık. JUnit 3. sürümü kullanılıyordu. Üzerinden 2-3 yıl geçti. Ondan sonra arkadaşlarla yapmaya çalıştığımız bir kalıcı katman gerçekleştirimi esnasında da bu yöntembilimden yararlandık ve bazı arkadaşlara öğrettik, beraber kendimizi geliştirdik. Aradan geçen yıllarda önce test yaklaşımı alışkanlığımı kaybettim, artık Python'a kaymak gibi tercihlerim oldu ve Java geliştirmesinde büyük yazılımlarla uğraşmadığım için testleri yazmadan çalışan kod üretme yaklaşımını benimsedim. Uzun zamandır çok büyük bir projeyle uğraşmamamın da etkisi vardır. Ağırlığı teorik kısma verince sonuç bu oluyor :)
Yazmaya başlayınca iyice uzatıyorum. Aslında JUnit'in 4. sürümünde kolaylaşan test yazımlarından bahsedecektim. Ve herkese Test güdümlü geliştirmeyi araştırması, öğrenmesini önerecektim. Yazı geçmişten bahsetmeye başladı (yazı mı ben mi) :)
JUnit'in 4'ün en önemli getirisi "annotations" (Türkçesi: dipnot, not, açıklama teknik karşılığını bilmiyorum). Böylece çok kolay bir şekilde testleri yazabiliyorsunuz. Örnek verelim:
@Test public void simpleAdd() {
Money m12CHF= new Money(12, "CHF");
Money m14CHF= new Money(14, "CHF");
Money beklenen= new Money(26, "CHF");
Money sonuc= m12CHF.add(m14CHF);
assertTrue(beklenen.equals(sonuc));
}
@Test ifadesiyle bu metotun bir test metotu olduğunu belirtmiş oluyoruz, assertTrue ile de sınamamızı yapıyoruz.
Bu kadar kolay. Sınayacağınız sınıf içerisine de yazabileceğiniz gibi ayrı bir test sınıfı da kullanabilirsiniz.
Not: Python için unittest var
Kaynak: JUnit Cookbook,JUnit
IBM’de Sendikal Haklara Saygı İstiyoruz!
BASIN AÇIKLAMASI:
TARİH :21 EKİM 2009 ÇARŞAMBA
SAAT :12.30-13.00
YER :BÜYÜKDERE CADDESİ YAPI KREDİ PLAZA ÖNÜ B BLOK LEVENT / İST.
2008 yılının Şubat ayından bu yana IBM işyerinde Sendikal mücadelemiz devam etmektedir. IBM işyerinde örgütlenip çoğunluğu almamıza rağmen işveren hem çoğunluğumuza hem de işkoluna itiraz ederek çalışanlarının Anayasal haklarını kullanmalarına engel olmak istemiştir. Diğer taraftan işyerinde sendikal örgütlenmeyi yürüten arkadaşlarımızı işten atarak, sendika düşmanı tutumunu devam ettirmiştir.
IBM işyerinde hem hukuksal hem de demokratik ve meşru mücadelemiz devam etmektedir.
Ancak bu sefer de işverenin yeni bir oyunu ile karşı karşıyayız. IBM işvereni notere sendikadan istifa formu bırakarak üyelerimizi istifaya zorlamakta ve işten atma ile tehdit etmektedir.
IBM’in bu tavrını kınamak, ve mahkemelerde yaşananları basına ve kamuoyuna duyurmak için 21.10.2009 ÇARŞAMBA günü IBM önünde basın açıklaması yapacağız.
Basın açıklamamız, tüm genel merkez yöneticilerimizin katılımıyla genel başkanımız Sn. Gürsel Doğru tarafından yapılacaktır.
TÜM EMEK DOSTLARINI BASIN AÇIKLAMAMIZA DESTEK VERMEYE ÇAĞIRIYORUZ.
TEZ-KOOP-İŞ SENDİKASI
İSTANBUL 5 NO’LU ŞUBE
İklim Değişimi
İklim değişiminden bahsedecektim ama insanlığa geldi söz. Bence insanlığın kurtulması için ciddi bir "iklim değişimine" ihtiyacımız var. Eyleme geçen, hakkını arayan, insanlığı için mücadele eden insanları ortaya çıkaracak olan "iklim değişimine". Yazıyı uzatmıyorum, "insanlık"a olan umudumu yitirmeden "iklim değişimi" için herkesi uyanmaya çağırıyorum.
Not: Bu yazı Blog Action Day kapsamında yazılmıştır.
Farklı bir spor
Computer Programming using GNU Smalltalk
Kaynak: Fazlamesai
Ubuntu Karmic Koala
Ayrıntılı bilgi: http://www.ubuntu.com/testing/karmic/beta
Eclipse 3.5 ve Visual Editor
Kaynak: http://wiki.eclipse.org/VE/Update
Uyan Ey Gözler Gafletten Uyan
Gazetelerde çıkan aşağıdaki gibi 3. sayfa haberlerinin de şekli şemali iyice değişti kar topunun büyüyerek yaklaştığına örnek teşkil ediyor bu haberler ve gereken ciddiyetle ele alınmıyor (bu da bir gaflet örneği).
"İşsiz baba kendini astı.
İcra geldi, canına kıydı.
12 yaşında hapçı...
Böbreğini sattı.
İstanbul’da bir anne, bakamadığı zihinsel özürlü evladını vurdu, sonra kendini vurdu. Üniversitesi öğrencisi kızın, babasının borçlarını ödeyebilmek için fuhuş yaptığı ortaya çıktı. Oğlunu dershaneye gönderemeyen baba, PTT soymaya kalktı.
Çocuk Esirgeme’den kaçan kız çocuğu, bez bebek çalarken yakalandı.
Kredi borcunu ödeyemeyen çiftçi, hapse girdi.
Töreden kaçan iki sevgili, el ele ölüme atladı.
Öldürülen taksiciden 4 lira çıktı."
Aşağıdaki dizeleri Yunus sanki bugünler için yazmış
Ömür bahçesinin gülü solmadan
Uyan ey gözlerim gafletten uyan
Ecel bir gün bize gelip çatmadan
Uyan ey gözlerim gafletten uyan
Derviş YUNUS söyler sözün tutulmaz
Senin kumaşın şol yerde satılmaz
Böyle yatmak ile Hak’ka varılmaz
Uyan ey gözlerim gafletten uyan
Sevgiler...
Bekir Yıldız
100 En İyi (Kullanışlı) Açık Kaynak Uygulama
Kara Toprak
Doldurur dereyi düz olur gider Irakipler sıra dağlar arada Korkarım yar benden yoz olur gider Pervane ateşten sakınmaz canı Uğruna koymuşum başı bedeni Doldur tüfeğini hedef et beni Yaram doksandokuz yüz olur gider Veysel der çıkayım bir yüce dağa Ağaçlar bezenmiş yeşil yaprağa Zaman olur tenim düşer toprağa Karışır toprağa toz olur gider |
|
Aklıma Kurtuluş Savaşı'ndaki genç askerler geliyor. Senelerce karısı ve çocuklarını göremeden cephede savaşanlar, hiçbir kızın teninin kokusunu içine çekemeden ölen gencecik askerler... Sevgilisini bekleyen gencecik kızlar... Onların torunları 3G sistemli yüce insanlar olarak seks bağımlısı olduk, "aşk" "sevda" ve "yürek"'i unuttuk. Artık avrupanın amerikanın porno filmlerinde gördüğümüz starlar caddelerimizde dolaşıyor. Hatta herkes porno star olmuş ve kimse Veysel'den haberdar bile değil. Hayatın bize verdiği mutlulukları kenara iterek en büyük mutluluğun cinsel sorunlarımızı çözmek olduğu yalanına inanmışız. En büyük mutluluk hayalini kuramadığımız kişi ile yatıp hava atmak olmuş... Ereksiyon olabilmek, birçok kere orgazm olabilmek olmuş... Ancak bir sel gelip herşeyimiz götürdüğünde, önemli olanın yaşanılan aşk olduğunu anlıyoruz. En güzel yemeğin kanalizasyon sistemine karıştığı gibi en güzel orgazmın da en fazla 10 saniye sürdüğünü çok iyi anlıyoruz.
Herkesle herşeyi yapmanın mübah olduğu bir çağda, inadına onurlu ve alnımız ak bir şekilde, dimdik yaşayabilmemiz lazım. Aşka, sevdaya, yare, cana, Aşık Veysel'e ve bu toprakların türkülerine sadık kalarak, çocukken bizi uyuturlarken söylenen ninnileri unutmadan, en büyük mutluluğun bir şiir dizesinde ya da bir notada saklı olduğunu bilerek, bununla orgazm olarak... Buna ben tabutta orgazm diyorum.
Kara toprağa düştüğüm zaman orgazm olamazsam yazıklar olsun...
Oracle da join için bir ipucu
Örneğin
Tablo1 kayıt sayısı 100000
Tablo2 kayıt sayısı 20000
Tablo3 kayıt sayısı 4000 ise
select *
from Tablo2 t2
join Tablo1 t1 on t1.id = t2.id
left join Tablo3 t3 on t3.id = t2.id
şeklinde bir sorgu daha verimli çalışacaktır.
Tablo3'e left join ile gittiğimiz için daha az kayıt olmasına rağmen ilk tablo olarak onu alamadık. Left - Right joinlerde bu yöntem kullanılamaz.
Oracle da SUM ile NVL kullanımı
select tahsilat_ttr
into deger1
from tablo1
where musteri_no = -1
and kayit_drm = 'A';
/* 2. Aşağıdaki sorgu kriterlere uyan bir kayıt bulamazsa boş bir satır getirecektir*/
select sum(tahsilat_ttr)
into deger2
from tablo2
where musteri_no = -1
and kayit_drm = 'A';
/* 3. Aşağıdaki sorgu kriterlere uyan bir kayıt bulamazsa 0(sıfır) değerini getirecektir*/
select nvl(sum(tahsilat_ttr),0)
into deger3
from tablo3
where musteri_no = -1
and kayit_drm = 'A';
Burada 2. olasılıkta elde edilen değerin NULL olmasına dikkat edilmeli.
Örneğin burada elde edilen tutarı bir başka tutar ile toplayacak olursak,
2. değer NULL olduğu için toplamın sonucu da NULL olacaktır.
Sonuc := deger2 + deger3;
Bu durumda 3. sorgu doğru değer döndürse de 2. sorgu 3.den dönen değeri NULL a dönüştürmüş
ve hiç tutar yokmuş gibi NULL değer dönmüş olacaktır.
Bir olamayız çünkü...
Geçen akşam eve dönerken, mahalle içinde bir şantiye kamyonunun, tahammül sınırlarımızın ötesinde yüksek sesler çıkaran kornasına basa basa mahalle içinde tur attığını gördüm. Kasasında insanlar, önünde arkasında arabalar, hepsi kornalara basıp gecenin on birinde sevinç çığlıkları atıyordu. Herkes duymalıydı, onlardan biri askere, büyük ihtimalle 15 ay sürecek bir vatan hizmetine gidiyordu.
Ne var bunda herkes gidiyor diye düşündüm önce, ne bu yaygara yani, ne gerek var.. Sonra bunu sadece biz böyle düşünüyoruz sanırım diye düşündüm. Bu insanlar için çok önemliydi bu olay, o kadar ki en az 50-60 kişiyi bir araya getirip, mahalleler içinde, caddeler boyunca ve saatlerce çıkarabildikleri en yüksek sesleri çıkarıp, bağırıp, çağırıp kendilerini gösterme gayretinde bulunuyorlardı.
Bağırtıp gezdirmeyi geçtim, aranızdan kim toplayabilir 50-60 kişiyi bir gecede. Kaçımızın etrafında bu kadar güçlü sorgusuz sualsiz bağlı insanlar var? Biz bu tür bir olay için ancak en yakın tanıdıklarımızı toplayabiliriz, onlar da sessiz sedasız uğurlarlar bizi, olması gerektiği gibi.. Diğer yandan bu törenin, ritüellerin anlamsız(!) kısmını yaptırabileceğimiz insanlar yoktur etrafta; neden, çünkü herkes herşeyi sorgular bizim etrafımızda, ve anlamsız ise, gereksiz ise yapılmaz o şey.
İyi gibi görünen bu davranış biçimi neye sebep olur peki? Hiç bir zaman onlar gibi, inanmış olarak, sorgusuz, sualsiz bir araya gelemeyiz...
Dijital Fotoğraf Çekerken Sorulması Gereken 10 Soru
Bir Ekonomik Tetikçinin İtirafları
"İçimdeki doğa"
Bu sitedeki görselleri indirip izlemenizi tavsiye ediyorum.
Panoramik fotoğraf denemesi
Kodak M1093 model makinemi, sağdan sola "Panoromik Çekim" moduna getirip, tripod kullanmadan şu fotoğrafı çekebildim.
Bilimsel özgür yazılımlar CD'si
- OpenOffice.org
- Stellarium
- Celestia
- Boinc
- Avogadro
- NASA World Wind
- SimECG
- Octave
- Gretl
- JabRef
Dijital Fotoğrafçılar için 7 Açık Kaynak
2038 Yılı Problemi
Ubuntu ve Super GRUB
Bilgisayarımı yeniden açtığımda "GRUB Error 22" hatasıyla karşılaştım. Windows Vista'nın orada olduğunu bilmeme rağmen bilgisayara bir türlü giremiyordum. Yanımda da recovery dvd'leri olmadığı için başka bir şekilde -indirip kullanabileceğim Vista Onarma CD'si ile- bu sorunu çözebileceğimi düşündüm. Bayağı uğraşmama rağmen olmadı. İnternette biraz araştırdıktan sonra buna benzer sorunların çözümü için CD, USB, disket vb. biçimleri olan Super GRUB Disk'in kullanılabileceğini fark ettim. Ve GRUB'ı kaldırma adımlarını takip ederek Vista'ya yeniden girebilmeyi başardım.
Open Video ve HTML 5
Open Video kavramı HTML 5 ile ilgili bir kavram. Bu sitede daha önce açık kaynak, açık standartlarla ilgili yazılar gördünüz. Burada Açık Kaynak, Açık Standartların neden kullanılması gerektiğini tekrarlamadan bir özet geçmek lazım. Open Video, patentsiz ve açık bir standart olan Ogg Theora ve Vorbis kodeklerinin kullanılmasıyla, tamamen doğal olarak video ve ses desteğini kasteden bir kavram. Böylece Mozilla ve Google tarayıcı geliştiricileri "plugin prison" (eklenti hapishanesi)nden kaçışı amaçlıyorlar. Günümüzde İnternet üzerinde videoların ağırlıklı olarak Flash, Quicktime ve Silverlight (üçü de patentli, sahipli standartlar) eklentilerini gerektirdiği ortadadır. Bu open video yardımıyla artık eklenti kurmadan video izlememiz kolaylaşacak diye ümit ediyorum. Amaçlanan bu. Bu konuyu fazla uzatmadan Firefox tarafından Open Video kavramının ön plana çıkarılmasıyla ilgili şu yazıyı (İngilizce) ilgilere öneririm.
Gelelim HTML 5'e. Sürüm numarasından da anlayacağınız gibi HTML 5, HTML işaret dilinin bir sonraki sürümü. Bir çok yeni öğe (section, article, video, audio, aside, header, footer, nav, dialog, figure, embed, mark, meter, canvas, progress, time, command, datagrid, details, datalist, keygen, bb, output, ruby, rt, rb ) ve özellik (input öğesinin yeni type özellikleri datetime, datetime-local, date, month, week, time, number, range, email, url, search, color), uygulama geliştirme arayüzü (2B çizim, video ses oynatma, çevrimdışı web uygulamaları, taşıma-bırakma, ...) desteği eklenmiş. Firefox ve Opera tarafından kısmen desteklenmeye başlandı. Destek durumu için şuradaki tablo yararlı olacaktır.
İnternet dünyasında sahipli yazılım ve standartlara karşı açık standartların mücadelesi tüm hızıyla sürüyor :) .
Kaynak : http://en.wikipedia.org/wiki/HTML_5
http://dev.w3.org/html5/html4-differences
Not: Slashdotta karşılaştığım bir haberde bazı büyük tarayıcı geliştiricilerinin HTML 5'ten video ve ses desteğinin kaldırılmasını istediklerini okudum. HTML 5 daha çok tartışılacak gibi :)
GNU/Linux masaüstünün tercihinin artmasının 10 nedeni
Bazı(!) Sistemler Nasıl Çalışır?
Susma ve konuşturmadan istediklerini yapma ve yaptırtma anlayışı önemli bir araçtır. Kendilerine hiçbir şekilde eleştiri ve söz gelmemesi amaçlanır. Oysa kendileri “diğerleri” hakkında her türlü olumsuz konuşmayı ve davranışı olay yapmayı önemli bir araç olarak kullanırlar. Bu yapıya yatkın veya öyle gözüken kişiler de mensup yapılarak sorgulanamaz yapı güçlendirilir. Oysa onlara göre “karşı tarafta” gerçekleşen her şey en acımasız şekilde eleştirilir. Bu sistemik yapı bu çıkar gruplarına çok kazançlı bir ortam sağlar. Bunun altında yatan asıl neden normal koşullarda bu gruba mensup olan kişilerin verilen işi diğer kişiler kadar hakkınca yapamamasıdır. Bu yüzden bu kişiler bu özelliklerini bildikleri için farklı bir şekilde tüm ahlaki kuralları hiçe sayarak böyle kendilerine özgü bir yöntemi genel geçer, zımni kural haline getirmişlerdir. Aslına bakılırsa bu grupların, sorgulamadan büyüyen bireylerden oluşmaları bu sistemin oluşumunun en temel nedendir. Yani sorgulamadan öğrenilemeyen ve sonuçta verilen işi icra edememe sonucuna kadar giden yaşamdan elemine olmamak için, kendilerine has bu yapı oluşturulmuştur. Genel düşünüldüğünde böyle bir ülkede bu yapı %85-90 oranında yönetilen kurumların (özellikle devlet) temel yönetim anlayışı haline gelmiştir. Geri kalan %10’luk kesimin %95’i özel sektör kurumlarıdır denilebilir. Zaten bunlar sektöründe uluslararası rekabet yapabilen kuruluşlardır. Bu kurumlarda işi hakkıyla yapanlar başa gelir. Bu kurumlarda ise birincil ölçüt budur.
Daha da geniş bakıldığında sistemin bu yapısı etkin çalışamayan bir ekonomik bütün ortaya çıkartır. Zaten ilgili çıkar gruplarınca önemli olan, bütünün çıkarı değil kendi özel grubunun çıkarıdır. Zaten bu da maksimize edilmiştir. Bir adım daha ötesi düşünülürse; bu yapının toplumsal olarak bir kültür haline gelerek bireylerin aile hayatından, özel hayatına kadar yansıması olacaktır. Aile içi iletişimsizlikler ve otoriter ilişkiler toplumsal olarak kutuplaşmış, sadece kendi çıkarını düşünen, duyarsız bireyler yetişmesine neden olacaktır. Zaten Türkiye’nin de şimdiki hali de bu duruma benzer değil midir?
RFID ile Mars'a yolculuk
Gen 2 pasif RFID taglarını bir yıl kadar uzay istasyonunda bırakarak, atmosferik koşullardan nasıl etkileneceği tespit edilmeye çalışılacak. Ayrıca tagların ağırlıkları, silikon ve bakır tagların dayanıklılıkları da test sürecine alınacak kriterler arasında. Başarılı bulunursa, RFID tagların önümüzdeki yıllarda Ay yolculuklarında ve sonrasında Mars görevlerinde kullanılması hedefleniyor.
Detaylı bilgiye buradan ulaşabilirsiniz.
Vista üzerinde Mysql
Bayağı uğraştıktan sonra Vista için de Linux gibi admin modu kavramına benzer birşeyler yaptıklarını hatırladım. Sonuç olarak Vista üzerinde mysql'i doğru kurdunuz ama mysqld servisinin doğrudan başlamasını veya mysql veritabanını çalıştırmadıysanız; "mysql system tray monitor" u run as administrator olarak çalıştırın ve tekrar deneyin.
Sempozyum: “Üniversitenin Geleceği ve İstihdam”
ÜniversiteBenim
Tarih : 2 Haziran 2009
Yer : Ege Üniversitesi Yabancı Diller Yüksek Okulu Konferans Salonu
PROGRAM
Açılış Konuşması (9:30):
Eylin Babacan (Eğitim Sen İzmir 3 No’lu Şube)
I. Oturum (9:45– 12:30): Üniversitenin Geleceği
Oturum Başkanı ve Çerçeve Sunuş:
Cem Terzi (Prof. Dr., DEÜ)
“Türkiye’de Yükseköğretimin Finansmanı: Neoliberal Dönüşüm”
Süleyman Ulutürk (Yrd. Doç. Dr., Akdeniz Üniversitesi)
“Dikta ve Neoliberalizm: Üniversitede Yönetim Anlayışı”
Yasemin Özgün-Çakar (Yrd. Doç. Dr., Anadolu Üniversitesi)
“Üniversitede Eğitimin Geleceği”
Fatma Gök (Prof. Dr., Boğaziçi Üniversitesi)
“Nasıl Bir Gelecek?”
Nilgün Toker (Doç. Dr., Ege Üniversitesi)
II. Oturum (14:00 – 16:30): Üniversitede İstihdam
Oturum Başkanı: Aydın Arı (Araş. Gör., DEÜ)
“Akademik İstihdamın Dönüşümü”
Levent Dölek (Araş. Gör., İstanbul Üniversitesi)
“Asistanlar ve İşgüvencesi”
Mine Y. Alemdar ve Açalya Temel (Araş. Gör., Ege Üniversitesi)
“Üniversitede Taşeronlaşma”
Hüseyin Ünlü (İşçi, DEÜ)
EĞİTİM SEN İzmir 3 No’lu Şube (Üniversite Çalışanları Şubesi)
İnternet Yasakları ve İnternete Yaklaşımlar
"Yetkin,Yetkili, Uzman Mühendislik"
Bu tartışmayla ilgili EMO önümüzdeki dönemde Yetkin, Yetkili, Uzman Mühendislik Kavram ve Uygulamaları adı altında bir kurultay düzenleyecek. Bu kurultayın yerel etkinliği olarak İzmir'de, 23 Mayıs Cumartesi günü saat 13.00'te Tepekule Kongre ve Sergi Merkezi Ege Salonu'nda EMO İzmir Şubesi tarafından panel-forum düzenleniyor.
Yetkin,Yetkili, Uzman Mühendislik ile ilgili iyi bir kaynak:
Modüler İnsana Doğru-Yetkin Mühendislik-Fuat Ercan
SD karttan fotoğraf kurtarma
Fotoğrafları kurtarmak için biraz araştırınca, Zero Assumption Recovery (ZAR) adlı bu yazılımı buldum. Daha önce çekip de sildiğim fotoğraflar da dahil, birkaç yüz fotoğrafı % 90 başarı ile geri kazandım (bazılarını geri getiremedi) :)
İşte bazıları:
09.05.2009 - Ankara
19.05.2009 - İstanbul
Yöneylem araştırması
Günlük hayatta doğrudan kullanılacağını düşünmüyorum ama karar verme yöntemlerinin matematiksel olarak modellenmesi üzerine uğraşan bu bilim dalını genel kültür olarak bilmek, ihtiyaç olduğunda kullanabilmemizi sağlayacaktır.
Yöneylem araştırması; belirli kısıtların olduğu bir durumda, belirli bir amaca yönelik en uygun çözümün bulunması için geliştirilmiş bir yöntemdir.
'Yöneylem Araştırması' deyimi ilk kez İkinci Dünya Savaşı'nda İngilizler tarafından kullanılmışsa da, temellerini oluşturan ilkel matematik programlama modelleri 1759'da Quesnay tarafından, 1874'de Walras tarafından geliştirilmiştir. Daha karmaşık ekonomik modeller 1937 de Von Neumann ve 1939'da Kantoravich tarafından ortaya atılmıştır.
Doğrusal modellerin matematiksel temelleri ise 1873'de Jordan, 1896'da Minkowski ve 1903'de Farkas tarafından atılmıştır. Dinamik modellerin ilk geliştirilmesi 1856-1922 arasında yaşamış olan Markov, Kuyruk kuramının ilk çalışmaları ise 1878-1929 arasında yaşayan Erlang tarafından yapılmıştır.
Sanayi devriminin gerçekleşmesinden sonra bu devrimi gerçekleştiren ülkelerdeki organizasyonların hacimlerinin büyüdüğü ve işlemlerin karmaşıklıklarının arttığı
gözlenmiştir. Artan karmaşıklık kaynakların organizasyonun yararına en etkin şekilde kullanımını güçleştirmiştir.Bu tür problemler ve bunlara çözüm arayışı Yöneylem araştırması gibi yeni bilim dallarının doğurmuştur. YA nın ilk uygulamaları yönetimde bilimsel yaklaşımların
kullanılması olarak gösterilmektedir; yönetim bilimi ve YA ile ilgili çalışmalar M.Ö. 212 yılına kadar uzanmaktadır.
YA nın Konusu : İnsan - Makina sistemlerinin tasarım , kuruluş ve işletiminde karşılaşılan problemleri belirlemek ve karar problemlerine optimum çözüm aramaktır.
YA nın yaklaşımı : Sistemi bütünüyle ele alarak farklı disiplinlerden oluşan ekiple bilimsel yöntemi izlemektir.
YA nın amacı : Yönetimin politika ve uygulamalarını bilmsel olarak belirlemesine yardımcı olmak, böylece yönetimle ilgili kararların tutarlılık ve uygulanabilirliğini
arttırmaktır.
YA Model Yaklaşımı
Bir YA çalışmasında kullanılan aşamaları aşağıdaki gibi verebiliriz:
1. Problemin formüle edilmesi.
2. Çalışılan sisteme ait matematik modelin kurulması.
3. Modelin çözümünün yapılması.
4. Modelin ve çıkarılan çözümün test edilmesi.
5. Çözüm üzerinde kontrollerin yapılması.
6. Çözümün gerçek hayata geçirilmesi.(uygulanması)
Kaynaklar:
[1] http://tr.wikipedia.org/wiki/Y%C3%B6neylem_ara%C5%9Ft%C4%B1rmas%C4%B1
[2] Yöneylem araştırması ders notları
Yazılım Mühendislerinin Bilmesi Gereken 10 Kavram
- Arabirimler (Interface)
- Kurallar ve şablonlar
- Katmanlama
- Algoritma karmaşıklığı
- Hashing
- Önbellekleme
- Koşut zamanlılık (Concurrency)
- Bulut Hesaplama (Cloud Computing)
- Güvenlik
- İlişkisel Veritabanları
Ücretsiz Programlama Kitapları
Django
Bu çerçeveyle nasıl yazılım geliştirilir sorusuna özet bir yanıt verecek olursam, öncelikle projeyi ve uygulamayı yaratıyorsunuz, MVC'ye uygun olarak (MVT var bunda, Model-View-Template) modelinizi tanımlıyorsunuz - models.py modülünde -, verileri işleyen ve ilgili görünümlere aktaran fonksiyonları (view) tanımlıyorsunuz - views.py modülünde -, şablonları tanımlayıp kullanıyorsunuz, url tanımlamalarını düzenli ifadeler yardımıyla tanımlıyorsunuz. Özetle budur. Meraklılarına Türkçe kaynaklar için google araması öneriyorum. Ayrıca İngilizce olan The Django Book başlangıç için yararlı olacaktır.
Çelişki mi?
Teknolojinin gelişmesiyle birlikte eskiden zaman harcanan bir çok iş artık daha kısa zamanda hatta zaman harcanmadan halledilebiliyor. Peki bu durumda eskiye göre daha çok boş zaman kalması gerekirken insanların neden hala daha az boş zamanı (kendilerine ayıracak zamanı) oluyor.
Örneğin eski zamanlarda çamaşır makinesi, bulaşık makinesi, bilgisayar, elektrikli süpürge...vb. gündelik hayatı kolaylaştıran makineler yoktu. Şimdi ise teknolojiyle birlikte hepsi hemen hemen birçok evde mevcut. Peki özellikle çalışan insanların eskiye nazaran daha fazla kendine ayıracak zamanları olması gerekirken, kitap okumaya, sevdikleriyle hasret gidermeye, sohbet etmeye, sosyal aktivitelerde bulunmaya zamanlarının kalmaması nasıl açıklanabilir. Yoksa modern hayat insanı da mı robotlaştırmak/makineleştirmek istiyor???
Redd
Yeni albümleri 21 ile 21 şarkı yazmış ve söylemişler; bu hafta bu şarkılarla işe gittim, çalıştım ve uyumadan önce yine bu şarkıları dinledim. Şarkıların tamamı hoşuma gitmese de albümü genel olarak başarılı buldum.
Redd ve albüm hakkında bir yazıya bu bağlantıdan ulaşabilirsiniz.
İlk kliplerini "Don Kişot" şarkısına çekmişler; sitelerinde izleyebilirsiniz.
Oracle Sun'ı Satın Aldı
Özgür Bilim, Demokratik Üniversite
David Gray
Uzun zamandır birkaç şarkısını arka arkaya keyifle dinleyebileceğim gitara dayalı bir albüm olmadı; birkaç hafta önce, çoktandır dinlediğim “Babylon” adlı bir şarkıyı kim yazmış merak ettim ve David Gray ismine rastladım. Kliplerini izledim ve diğer şarkılarını bulmaya çalıştım, şu an elimde 3 albümü var; özellikle şu şarkıları tavsiye ediyorum:
“Babylon”
“It's not easy to be me”
“You’re the world to me”
“Shine”
“Best I ever had”
“Forever is tomorrow is today”
İzmir Kitap Fuarı Başlıyor
Ayrıntılı bilgi için: tuyap.com.tr
İki bağlantı
Sürdürülebilir Yaşam Gezici Festivali
Tomboy
"Q1: I'm interested in hearing your opinion on the relationship between Mono and GNOME.
Richard Stallman: Mono is a free implementation of Microsoft's language C#. Microsoft has declared itself our enemy and we know that Microsoft is getting patents on some features of C#. So I think it's dangerous to use C#, and it may be dangerous to use Mono. There's nothing wrong with Mono. Mono is a free implementation of a language that users use. It's good to provide free implementations. We should have free implementations of every language. But, depending on it is dangerous, and we better not do that."
Reddit neden Python kullanıyor
- Çok sayıda kütüphane barındırması: "Geliştirme esnasında bir çok yeni teknoloji ve mimari öğreniliyor. Örneğin bağlantı havuzlarını anlamadığımız zaman anlayana kadar var olan bir geliştirme havuzu kütüphanesi kullanıyoruz, iyice anlayıp kendi bağlantı havuzumuzu geliştirene kadar kullanmaya devam ediyoruz. Kendi web frameworkümüzü yazana kadar başkasınınkini kullanıyoruz".
- Python okunabilirliği ve yazılabilirliği: "Yeni çalışanlar aldığımızda sadece 'yazdığınız herşey Python'da olmalıdır" diyoruz sadece. Böylece sadece okuyabiliyoruz. Odanın diğer köşesinden ekrana bakarak yazdıkları kodun iyi veya kötü olduğunu anlayabiliyoruz, bu muhteşem bir şey. Çünkü iyi Python kodu çok bariz bir yapıya sahip. Bu yaşamımızı kolaylaştıran bir özellik. Python ifade etmesi kolay, okuması kolay, yazması kolay bir dil."
(Hızlı bir çeviri yaptım, dileyen İngilizce aslında okuyabilir)
Bir kısa film
Fotoritim Nisan 2009 sayısı
50 Altın İpucu
Libre Planet 2009
Görsel rehber: "ÖAKKY'ı anlamak"
27. İzmir Tiyatro Günleri
Etkinlik kapsamında söyleşiler de olacak.
Ayrıntılı programa www.izmirsanat.org.tr adresinden erişebilirsiniz.
Kumdan ve Havadan Sudan
Ama kumdan değil, havadan "su"dan bahsedeceğim bugün. Tam da Dünya Su Forumu'nun İstanbul'da yapılacağı şu günlerde elimizi göğsümüzün soluna koyup düşünmemiz gerek çünkü. Tam da yerel yönetim seçimleri öncesi, bir an oturup düşünmemiz gerek çünkü. Yaşamımızı birebir ilgilendiren bir konu bu çünkü. Yaşamımızı birebir ilgilendiren dedim, yanlış dedim: yaşamın kendisi bu: Su yaşamdır çünkü...
Daha dün, çocukluğumuzda , her çeşmeden kana kana su içtiğimizi hatırlıyorum. "Terli terli su içmememiz" tembihlense de oynadıktan sonra gidip musluktan doya doya su içmeyi hiçbir şeye değişmezdik. Terli terli içince daha tatlı oluyordu sanki..İçmekle kalmaz "su"lu şakalar yapardık. O zamanlar suyun şişelere sığdırılamayacak kadar değerli olduğunu bilmiyorduk.
Oysa birileri suya değer biçmekle uğraşıyordu; insanların hiçbir şekilde vaz geçemeyeceği suya değer biçerek, ondan para kazanılabileceğini düşünüyordu.
Alınıp satılabilecek, parası olanın yararlanabileceği bir "şey" durumuna getirmek için çok bilinen bir yöntem vardır: insanların o "şey"i algılayışını değiştirmek. Örneğin eğitim herkes için bir hak iken, toplumsal olarak ve devlet için insanları eğitmek ihtiyaç iken; önce eğitimin toplumsal bir olgu değil bireysel bir yararlanma olduğu anlatıldı insanlara. O yüzden harç verilmeliydi, parası olan okumalıydı.
Su için de geçerli bu. Hep temel insan hakkı olarak görülen suyun algılanışını değiştirmek için ilk olarak 1992 yılında Dublin'de "Su ve Çevre" konulu bir uluslararası konferansta, su, "ekonomik bir mal" olarak kabul edildi. Aynı yıl Birleşmiş Milletler'in Rio'da yaptığı Yeryüzü Zirvesinin "Çevre ve Kalkınma" konulu konferansında da su, "eko-sistemin bir parçası, doğal bir kaynak ve sosyal ve ekonomik bir mal" olarak tanımlandı. Buralardan çıkan düşünceyi benimseyen 300'e yakın kuruluş şimdi Dünya Su Konseyi diye anılıyor. Bu konsey içinde Dünya Bankası'nın yanısıra kalkınma bankaları, uluslararası şirketler ve kurumlar bulunuyor. İşte, Dünya Su Forumu'nu üç yılda bir bu konsey düzenliyor. Peki neden bu seferki Türkiye'de? Konsey neden İstanbul'u seçti?
Bundan sonrası beni ve bu blogu aşıyor. Ama merak edenlere iki site önerebilirim:
http://suplatformu.net
http://www.supolitik.org/
Sanayi ve Üretim Rakamları
Kaynak: Prof Dr. Hurşit Güneş, TÜİK.
Bilim Ve Teknik
Drupal-İçerik Yönetim Platformu
Eski zamanlarda web sayfası yapmak için harıl harıl html etiketleriyle bir şeyler yazmaya çalıştığımızı hatırlıyorum. Etiketi kapattık mı, tablo yaparken tr mi td mi diye kafamız karışır, el yordamıyla çözmeye çalışırdık.
Daha sonra dinamik web sayfaları için ilk deneyimleri asp.net ile yaşadım. Çok rahattı, oradan bileşenin birini tutup taşıyor(visual studio ile tabii) ve ardındaki kodu c# ile yazabiliyordun.
Adam akıllı, ilk web sitesi projem sırasında asp.net ile yazana kadar zaman kazanmak için html ile statik birkaç sayfa yapmıştım. "Özgür Yazılım" kavramını yeni yeni duymuş, PHP'yi sadece lisansta seçmeli bir dersin adında görmüş biri olarak bir arkadaşın Drupal diye bir şeyden söz etmesi ilgimi çekmişti. O sıralar, içerik yönetim sistemleri adı verilen site kurmaya yarayan bazı yazılımlar olduğunu duyuyordum. Bu da onlardan biriydi.
Drupal
Kısaca; PHP tabanlı, GNU-GPL lisanslı, MySQL ve PostgreSQL veritabanları kullanılabilen web içerik yönetim platformu. Drupal ile farklı amaçlar için kullanılabilecek web siteleri ve uygulamaları yapılabiliyor: tartışma siteleri, topluluk portalları, kişisel site ve bloglar, e-ticaret uygulamaları, sosyal iletişim ağ siteleri vb.
Yapısında; modül denilen farklı işlevlerin tanımlandığı kod kümeleri, görsellikle ilgili tanımlamaların olduğu tema klasörleri ve farklı dil destekleri için çeviriler bulunuyor.
Bazı özellikleri; özelleştirilebilir içerik türleri yaratabilme, gelişmiş URL yönetimi, çoklu dil desteği, gelişmiş kullanıcı yönetimi, yeni sürümlerin ve güncellemelerin takibini sağlayan sürüm denetimi...
Güzel taraflarından biri kullanmak istediğiniz bir özellikle ilgili modül bulabilmeniz ya da php ile yazabilmeniz.
Kurulum
Öncelikle drupal.org (Drupal'in resmi sitesi) adresinden sağ üstte görülen sürümlerden birini indiriyoruz. İndirdiğimiz dizini açtığımızda oluşan dosyaların tümünü sitemizi barındıracağımız yere yüklüyoruz. Yükleme bittikten sonra adresimizi yazdığımızda ekrana kurulum sayfası gelecektir. Bu aşamada sitenin önemli bilgilerini tutmaya yarayan settings.php dosyasını yaratmamız ve sites/default dizininin altına koymamız gerekiyor. Daha sonra yapılması gereken işlem sitenin verilerini tutacak veritabanının özelliklerini girerek veritabanını tanıtmak. Adımları izleyerek site kurmak çok kolay.(Kurulumla ilgili geniş bilgi için: drupal.org kurulum bölümü ve drupaldersleri.org - 6.x kurulumu sayfası )
Drupal'in bir güzel yanı özgür yazılım felsefesiyle yazıldığı için karşılaştığınız sorunlar ile ilgili birçok kaynak bulabiliyorsunuz ve sorunu çözebilmek için birçok insan gönüllü olarak çalışıyor.
Bu yazıda genel olarak Drupal'i anlatmaya çalıştım; ama geniş bilgi için resmi sitesini ve Drupal'i konu alan diğer siteleri incelemek gerek. Sorunuz olduğunda ben de elimden geldiğince yardım edebilirim. Arada bir bu blogta da ilgili yazılar yazmaya çalışırım.
Yararlı kaynaklar:
http://www.drupal.org
http://www.drupaldersleri.org
http://groups.drupal.org/turkey
http://drupaltr.org/
http://www.drupalturk.net/
Adalet ve muhalefet
Adil olmak
Muhalif olmak
Siz adaleti uygulayın, bırakın gökyüzü yerle bir olsun.
Her devirde kabile dayanışması ya da sosyal birleşme gibi "daha önemli" menfaatlerin adaletten önce geldiğini savunanalar olmuştur.
Cesaret kendi başına en önemli erdemlerden biri olmasa da, erdemlerin uygulanmasını mümkün kılan vasıftır.
Bir insan için yüzleşmesi en zor olan şeylerden biri de savaştayken kendi tarafının yanlış taraf olduğu sonucuna varmasıdır.
Hiçbirşey söylememenin de bir karar olduğunu unutma. Mantığın sesi az ama ısrarcıdır.
Adil davranmamanın nedenleri için 3 prensip;
Kama prensibi: Gelecekte daha da adil davranmanız beklenebilir korkusuyla şimdi adil davranmamanız gerekliliğidir.
Tehlikeli emsal prensibi: Gelecekte benzer bir durumda da aynı adaleti sergileme gerekliliğine karşın, bugün adaletli davranmamaktır.
Vakti gelmedi: Adaleti uygulamanın henüz vakti gelmedi inanışıdır.
Her şeyden şüphe etmek gerekir.
Akşam haberlerinde yapılan bir anket sonucunda senin gibi düşünen yalnızca % 20 lik bir oranda insan olması seni şaşırtmasın; elbette ki aykırı ve şüpheci kişiler çoğunluğun arasında olamazlar. Kendi başına düşünme ihtiyacı duyan ya da bunu isteyenler her zaman azınlık olacaktır.
İnsanlar güvene ve ait olma duygusuna ihtiyaç duyarlar; doğuştan gelen bireyciliğe sahip olsalarda kalabalık içinde çok daha kolay kontrol edilebilirler.
Bağımsız zihnin özü ne düşündüğünde değil nasıl düşündüğünde yatar.
Çoğu zaman tartışmalar "ışıktan çok ısı" oluşturur. Yinede tartışmalar iki tarafında gelişimine katkıda bulunur.
Mükemmeliyetçiler ve bağnazlar kırılabilir ama bükülemezler. Fanatikler sonlarını göremedikleri zaman çabalarını iki katına çıkarırlar.
Kötülük için kalabalığın peşinden gitmemelisin.
"Biz" ile ilgili olarak güvenle konuşan ya da "bizim" adımıza konuşan kimseye güvenme. Aidiyet güvenlik ve dayanışmayı getirse de, yaratacağı baskı ve zorbalığın daha fazla götürüsü olabilir.
*Genç Felsefeciye Mektuplar, Christopher Hitchens
Eclipse Ganymede (3.4) ve Visual Editor
Debian tabanlı sistemlerin paket yönetimi
Gelelim temel bilgilere. Debian'da paketler iki çeşittir. Binary paketler (deb uzantılı) çalıştırılabilir dosyalar, yapılandırma dosyaları, man/info dosyaları, telif hakkı bilgisi ve diğer belgelerden oluşan özel bir arşiv biçimidir. Kaynak paketler yazılımın kaynak kodları, Debian'a özgü değişiklikleri içeren dosya, ve dsc yapılandırma dosyasından oluşur. Bu dosyaları dpkg (apt-get ve aptitude önyüz desteğini de kullanabilirsiniz) yardımıyla kullanıp kurabilirsiniz.
Debian paket sisteminin temel aracı dpkg'dir. Alt seviyedeki paket kurma, kaldırma, yapılandırma ile ilgili tüm işleri bu araç gerçekleştirir. Apt ve Aptitude bu araç için bir önyüzdür. Dilerseniz diğer önyüzleri kullanmadan doğrudan dpkg kullanabilirsiniz. Özellikle depolarda olmayan deb paketlerini kurmak için dpkg kullanmanız gereken araçtır. Bu yazıda bahsedilen komutların hepsi uçbirim (terminal) kullanarak işleyebileceğiniz komutlardır.
Paket kurma: dpkg -i paketismi.deb
Paket kaldırma: dpkg -r paketismi(Paket ile ilgili bütün dosyaları, yapılandırma dosyaları da dahil, kaldırmak için "Purge" etmek grekiyor : dpkg -P paketismi)
Paket içeriğini listeleme: dpkg -L paketismi
Kurulu paketleri listeleme: dpkg -l(Daha geniş liste için dpkg --get-selections) Bu listeleme komutları çıktısını bir metin dosyasına kaydedip daha sonra yeni kurduğunuz bir sistemde o metin dosyasını apt'ye girdi olarak vererek daha önce kurulu paketleri tekrar kurabilirsiniz.
Paketi tekrar yapılandırma : dpkg-reconfigure paketismi
Dpkg ile daha ayrıntılı bilgiye komut satırında man dpkg yazarak ulaşabilirsiniz.
Öncelikle aptitude ve apt arasında hangisini kullanmanız gerektiğine karar vermeniz gerekiyor. Resmi olarak Debian geliştiricileri tarafından daha kapsamlı ve kullanışlı olan aptitude kullanılması öneriliyor. İkisi arasında temel olarak bir fark yok, sadece kullanım açısından farklar var. Buradaki komutları ikisi için de vereceğim. Ama ikisini karışık olarak kullanmayın, birine bağlı kalın.
Paket arama
aptitude search flac
apt-cache search flac
Bu komutlar aradığınız bir paketi bulmanıza yardımcı olur. Yukarıdaki iki örnek flac ifadesini barındıran paketleri listeler. Aradığınız paketi listeden bulup yükleyebilirsiniz.
Paketi güncellemelere karşı koruma
Bazı durumlarda bir paketin sabit bir sürümde kalmasını isteyebilirsiniz. Bu durumda hold komutu işinizi görecektir:
aptitude hold paketismi
echo "paketismi hold" | dpkg --set-selections
Güncel depo bilgisi alma
Bir paket kurmadan önce, sistemi güncellemeden önce depolardan güncel paket bilgilerini almak gerekir.
aptitude update
apt-get update
Sistem güncelleme
Aptitude ve apt sistem güncelleme için iki seçenek sunar. Biri upgrade diğeri de dist-upgrade. İlki sistemdeki paketlerin yeni sürümlerini yükler. İkincisi ise sistemdeki paketlerin güncellemesini yaptığı gibi kurulması gereken yeni paketleri de kurar, genellikle dağıtım güncellemelerinde kullanışlıdır. Aptitude ile yeni önerilen ise safe-upgrade.
aptitude safe-upgrade
apt-get upgrade
aptitude dist-upgrade
apt-get dist-upgrade
Paket bilgisini görüntüleme
Bir paket hakkında bilgi almak için
aptitude show paketismi
apt-cache showpkg paketismi
Paket kurma
Kullanmak istediğiniz bir paketi kurmak için aşağıdaki komutları kullanmanız gerekir. Paketin gereksinim duyduğu diğer paketler de otomatik olarak kurulacaktır.
aptitude install paketismi
apt-get install paketismi
(Aynı anda birden fazla paket kurulabilir paket isimleri arasına boşluklar koyularak gerçekleştirilir: aptitude install paket1 paket2 paket3 şeklinde)
Paket kaldırma
Paketi kaldırırken bu paket bağımlı olan paketler de kaldırılacaktır. İşlem esnasında bununla ilgili özet bir bilgi ekranda gösterilecektir. Özet bilgiyi iyice inceledikten sonra işleme onay verilmelidir.
aptitude remove paketismi
apt-get remove paketismi
Yapılandırma dosyalarını da kaldırmak için
aptitude purge paketismi
apt-get purge paketismi
Not: Bu yazıdaki komutların root haklarıyla kullanılması gereklidir. Root kullanıcısının etkin olduğu uçbirim kullanılmıyorsa komutların başına sudo getirilmelidir.
Using APT(Ubuntu) sitesi daha ayrıntılı bilgileri barındırmaktadır.
Kaynaklar:
Using Apt
APT Nasıl
Chapter 7 - Basics of the Debian package management system
Things You Need To Know To Become An Apt Guru
Using APT