18 Temmuz 2010 Pazar

Long Live JQuery

Evet projemizin sonlarına gelmişken, işler murphy yasaları gereği sarpa sardı. Aslında son derece basit bir konu, ancak geliştirme sürecinde çok küçük verilerle deneme yapmak bu sorunu farketmemizi engellemiş. Neredeyse bütün linklerimizi ajax kodlarına dönüştürmek gerekti. Bende Ufuk'ta ajax konusunda bilgisiz olduğumuzdan projemize baştan başlamamıza sebep olabilecek bu durum JQuery sayesinde bir günde halledildi. Peki sorun neydi? oy verildiğinde sistemin ilk sayfasına geri dönmek. Örneğin 3. sayfanın ortasında bir fikire oy verdiğinizde ilk sayfaya giden bir link işliyordu. Tabi linkler kalkıp ajax ile post işlemleri gelince yerine, kodda inanılmaz büyüklükte gereksiz parçalar oluştu. Başta planlarken django ile yapılacağı düşünülmüş parçalar, ajax ile gerçekleştirilince bazı kod parçaları boşa çıkmış oldu.

Sonuç olarak yeni beyin arayüzü, tamamlanmaya çok yakın, kullanılabilir bir şekilde elimizde. En önemli sorun eski beyindeki önerilere ne olacağı yönünde idi. Hemen bu konuya açıklık getireyim, eski fikirler, forum linkleri ile taşınacak. Kötü haber ise, oylar, durumlar, kategoriler taşınamıyor. Eski fikirler işlenene kadar beyin biraz karışık olacaktır, umarım kısa sürede bu dönem atlatılır.

12 Temmuz 2010 Pazartesi

Gebze-TÜBİTAK

Geçen hafta perşembe ve cuma günlerini Gebze'deki TÜBİTAK merkezinde geçirdik, peşinen söyleyeyim, muhteşem bir yer. Bir zamanlar Level dergisinden tuğbek Ölek nvidia kampüsüne gitmişti silikon vadisine, onun fotografları geldi gözümün önüne hep, yemyeşil, sade bir kampüs, aralarda görünen binalar bir örnek çirkin kutulardansa birinin emeğini gösteren, inşaa edilmiş değil tasarlanmış, hesaplanmış yapılar. Tabi o binaların dışını görmek için dahi kontrolden geçildiğini belirtmeme gerek yok sanırım. Asıl güvenlik binaların içinde, dışarıda "çimlere basmayınız" tabelalarına alışmış gözlere "yüksek güvenlik bölgesidir girilmez" yazısı biraz şaşkınlık veriyor, ama kapıdan girince anlaşılıyor asıl güvenlik. Kimlik kartları ile ilk güvenliği aşarsanız eğer, gidebileceğiniz tek yer kantin. Bilim kurgu filmlerindeki gibi tüplerden geçip giriliyor binanın gerisine. ama binanın gerisi dediğim sadece koridorlar, projelerin herbirinin kendi özel güvenliği var bunun üzerine. Tabi cep telefonu, bilgisayar hatta taşınabilir bellek bile içeri girmiyor, binaların dışında dahi fotoğraf çekmek yasakmış, uyardılar üzerinize atlar güvenlik yapmayın öyle hatalar diye.

Sanmayın ki tek olayı güvenlik, evet arkalarda parendeler atarak ilerleyen özel ajanların girmeye çalıştığı kapılardan var, ama beni en çok etkileyen olay kantinde gerçekleşti. Bir çay bir poğaça aldım sabah kahvaltı olarak, fiyatını söyledi oradaki görevli abla, ben paramı önümdeki çanaklara koydum, para üstümü de kendim aldım. orada şaşırmıştım kimse kontrol etmiyor mu diye, sonra fark ettim aslında delice paranoyaklığa ne kadar alışmış olduğu mu. O özel güvenlik bölgesinde, ülkenin en iyi bilim adamları var, ve insanlar birbirlerine güveniyorlar. Temizlik yapan ablalar masamın tozunu almak için izin istiyor, çalışanlar çöpler toplanırken teşekkür ediyor, gerçekten herhangi bir kamu kuruluşu ile en ufak ilgisi yok buraların. Tabi ki ulaşım bir sorun, ve evet ilk haftadan sonra 5 kademe güvenlikten geçmek sıkıcı olacaktır eminim, ama herkesin çalışmak isteyeceği gerçekten çok güzel bir ortamları var. İçeride pek bir şey yapmadık, herkesle tanışıp sohbet ettik, ama hepsini sizlerde tanıyorsunuz, konuştuğumuz şeyleri de zaten biliyorsunuz, uzatmaya gerek yok.

tabi bu arada sanmayın ki TUBİTAK-Artistanbul karşılaşmasında durum 1-0. Artistanbul da Azra Akın'ın ziyareti ile durumu eşitledi, hatta biraz önceden haber verselerdi,görünce konuşacak aklım kalsaydı yani, belki öne bile geçerdi, inşallah bir daha ki sefere artık.

10 Temmuz 2010 Cumartesi

Abi ben beğenmedim

Evet bu hafta neredeyse sadece kullanıcılara beğenmeme hakkı vermeye çalışmakla geçti. Tahmin ettiğiniz gibi konumuz fikirlerin oylanması. Projenin başlangıcında modelleri hazırlarken ne kadar kolaydı oysa. İlk hatamız oyları alırken kim tarafından verildiğini tutmamakla olmuş, insanların birden çok oy vermesini nasıl engelleyeceğimizi düşünürken gördük hatamızı. Oy vermek tek başına yeterli bir uygulama değil bu konuda, engelimiz oyların değerlendirilmesinde karşımıza çıktı. bir oyun değerinin ne olduğuna karar vermek sanılandan önemli, 20 artı 10 eksi oy alan bir fikir, 18 artı 8 eksi oy alan bir fikirden iyi midir? Nötr bir oy ne ifade eder? Bunları tartıştık, ve kötü oyun iyi oy kadar değerli olmayacağı sonucunu çıkardık. Sonrasında teknik bir problemle karşılaştık, bir kullanıcıya daha önceden verdiği oyu nasıl gösterebiliriz? Bu konuda şimdiye kadar kullanığımız yöntemler yetersiz kaldı, templatetags kullanıp çözdük bu problemi, bu arada djangonun bir inceliğini daha öğrenmiş olduk. En son verilen oyların görsel olarak ifade edilmeleri ile ilgili çalışmalar kaldı. Şu anda işlev olarak eklenecek tek şey, yeni fikir ekleme sırasında yapılacak bir arama sayesinde, olası fikir tekrarlarını minimuma indirmek, ve bunun için bir hafta zamanımız var. Bu gün Gökhan Özkan ile beyin2 için gereken tasarım materyalleri ile ilgilendik, umuyorum yeni uygulama görsel olarak da eskisinden daha iyi olacak. Eğer bir sorun çıkmadan bitirebilirsek bu hafta beta olarak kullanmaya başlayacağız, sonrasında şu anda beyinde olan fikirlerin aktarılması ile ilgileneceğiz. tabi bizler beta denebilecek bütünlüğe ulaştırdığımıza karar verdiğimizde daha ayrıntılı ve teknik bir şekilde değişiklikleri açıklayacağım.


Son olarak irc toplantısına katılan arkadaşların en büyük şikayeti isim konusunda oldu, beyin2 iğrenç bulundu. Şu anda hala en ufak bir fikrim bile yok ne olabilir isim, fikirlere açığım bilgilerinize...

5 Temmuz 2010 Pazartesi

artistanbul yoklaması

biraz ofis hayatından bahsetmek istiyorum. Artistanbul ofisi pekte öyle ofis sayılacak bir yer değil, insanlar konuşmasın diye eklenmiş karton duvarları olan kübikler içinde değiliz( çok şükür ), insanlar konuşsun diye hazırlanmış salon gibi bir yerde oturuyoruz. insanlar alışkanlıkla belli masalara otursa da, sadece iki masanın sahibi belli, çünkü sadece 2. masaüstü bilgisayar var :D
işten kaytarmak serbest ofiste, işi olmayan canı sıkılan isterse çıkar gezer, isterse bilgisayar oynar, isterse mutfakta dedikodu yapar, hepsi serbest. Stajyer olmanın burada herhangi bir negatif etkisi yok, sadece bulaşık sırasında önlere atılma ihtimali var. Sırayla bulaşık yıkanıyor, ama burası bir yerde öğrenci evi gibi, biri bulaşık yıkarken diğeri çöp atıyor falan. Ben bulaşık yıkarken Ali abi( a.k.a. patron) çöp atmaya gitti. Asıl patron gizem ( belen ) bu civarda, Beyaz'ın pisikopatı gibi yaklaşıyoruz kendisine, bazen gözü dönebiliyor. Ahmet ( Aygün ) pek sık gelmiyor, geldiği zamanda sürekli bir geyik ortamı oluyor, rahat, enerjik, hoplamalı zıplamalı bir adam. Gökmen ( Görgen ) burada en geek kabul ediliyor, bize çok yardımcı oluyor, ama şu sıralar oda kayıplara karıştı, ofiste django işini 2 stajyere bıraktılar, hadi hayırlısı :D Anıl var burada bizimle işi olan, tatmin edilemez beyin yöneticimiz kendisi. kodla falan bir işi yok onun, o bizden bir şeyler istemekle görevli, ama sanırım zeus çarptı onu, şu sıralar podcast işleri falan hep onun üzerine kaldı. Genel hava görebileceğiniz gibi herkes kendi kafasına göre prensibiyle işliyor, güzel bir ortam var, pek iş yerine benzemiyor, Açıkçası iki haftada alıştım buraya, yıllardır burada çalışıyormuşum gibi, iş öğrenmeye değilde tatile gelmişim gibi rahat çalışıyorum, gelecek yıllarda staj yapacak arkadaşlara tavsiyem başvuru listelerine Artistanbul'u eklemeleri, pişman olmazsınız...

2 Temmuz 2010 Cuma

beyin2 durum raporu

hızlı başladığımız bir haftanın sonuna geldik. kağıt kesiği raporları almak için başladığımız proje, beyinin yerine geçecek bir programa dönüştü.
şu anda programımızın durumu:
temel fonksiyonlar:yeni kayıt ekleme,kayıt eklerken yada düzenlerken resim ekleme, kayıtlar görme, kayıtları düzenleme, kayıt silme, kayıtlardan birini diğerinin tekrarı olarak işaretleme.
forum bağlantıları: yeni fikir için başlık açılması, silinen fikir başlığının kilitlenmesi, tekrar fikirde iki başlığa da gerekli bilgilerin girilmesi ve tekrar olan fikir başlığının kilitlenmesi, yapılan yorumların sayısının arabirimde gösterilmesi.

peki neden böyle bir yol izliyoruz? neden "beyin"in yerine göz diktik? aslında cevabı basit, kafa karıştırmamak için. Şu anda çalışan 2 birim var, var olan yazılım özelliklerinin hataları için bugzilla, var olmayan özellikler için beyin, ancak bu ikisinin arasındaki fark dahi yeterince anlaşılmış değil, son kullanıcının kafasını 3. bir uygulama ile karıştırmak istemedik. Eğer dikkat ederseniz, zaten neyin kağıt kesiği kabul edileceğini geliştiriciler dışında birinin tespit etmesi çok zor, son kullanıcı için imkansız. gelen fikirlerin %99 unun silineceği bir uygulamadansa, beyinin eksikliklerini gideren, gelen fikirlerden şartları sağlayanların kağıt kesiği olarak işaretlenebileceği bir ortam, hem yönetmesi hem kullanması daha kolay olacağı için tercih ettik. şu anda görünen tek eksiğimiz, fikirlere oy verme. umuyorum haftaya pazartesiye kadar bu özelliği de kazandırıp tasarım aşamasına geçeceğiz.

bu hafta içinde ilk haftakine benzer bir öğrenme süreci yoktu, kod yazıp doküman okumanın dışında özellikle yaptığımız tek şey, özgürlükiçin kodlarını okumaktı, özellikle forum ile ilgili özellikler biraz baş ağrıttı. bu haftanın diğer önemli olayıda özgürlük için sitesinin bir süre için çökmesiydi. Hala hatanın sebebi bulunamadı. forumda frankestein kalesinin önünde biriken meşaleli kalabalığın bir benzeri oldu :) şimdi işe geri dönmek lazım, eksikleri de tamamlarsak eğer, haftaya belkide denemelere başlayabiliriz kim bilir...

28 Haziran 2010 Pazartesi

İlk Hafta Notları

Artistanbul'da ilk hafta son derece eğlenceli bir şekilde sonisphere ile noktalandı. Biraz tecrübe kazanmak birazda buradaki ekibin işleyişini öğrenmek için bu haftayı bir blogger uygulaması geliştirmekle geçirdik. Burada kodlama mümkün olduğunca standart kütüphanelerden faydalanarak yapılıyor. Zaten yazılmış olanın tekrar yazmak yok. Buna karşılık kod konusunda pek seçici değiller, değişken isimleri, yorum satırları vs. öyle inanılmaz önemli değil, bunun sebebinin python da zaten okuyup anlamanın çok kolay olmasına bağlıyorum, yada Gökmen ve Uğur çok zeki koda bakınca hiçbir şey sormadan sorunlarımızı çözüyorlardı :D
Belki basit olabilir ama, Bir blogger yazarak neler öğrendim bir bakalım:
1. POST bilgilerini tek tek almaya çalışma, forms.py diye birşey var Django'da
2. Etiketleri de tags kütüphanelerine bakarak kolayca halledersin, elle yazma.
3. URL Name Dispatcher kullan, url değişikliklerine karşı programını koru.

gördüğünüz gibi bunların hepsi dokümanları inceleyerek öğrenilebilir, ama kim evde kod yazarken doküman okumak ister ki? Ayrıca öğrendiğim en önemli şey, Django hata ayıklama raporlarına inanmamaktı. Aldığım hataların yarısı bile yanlış olan yeri göstermiyordu, dünyanın en güvenilmez hata ayıklayıcısını yazmışlar bariz biçimde.


Ortamdan bahsedecek olursak, tek kelimeyle rahat. Geliş saati 10:30~ sabah trafiği vs. sorunu olmuyor (tabi bunu kartaldan gelen Ufuk'a sormak lazım asıl), çıkış buna göre 19:00 civarı seyrediyor, ama pek kesin değil. öğlen molası vs. yok, ama istersen kulaklıkları takıp film izlemek, oyun oynamak, kapının önüne inip çekirdek çitletmek serbest. Bu kulağa ne kadar süper gelse de bir haftada Ali abinin dehasını gördüm. 10 kişilik ofiste, öyle çekirdek serbest falan güzel olsa da, insan vicdan yapıyor bir nevi, öyle 2 saat mola veremiyor, 5 dk. sözlük okuyup direk işe devam ediyorum ben şahsen. Buzdolabımız var burada, çılgınca ice-tea tüketiliyor, öğlen yemeklerimiz anlaşmalı bir lokantadan geliyor. Asıl eğlence Ahmet'te, şu anda bile anlattıkça coşuyor, coştukça anlatıyor, bu adam ne zaman çalışıyor?


her neyse toparlamak gerekirse, çok çalıştık çok eğlendik. Sonisphere ile haftayı üzerimizden attık, Bu hafta artık papercut yazılacak, bu gün bir toplantı yapıp feature set çıkaracağız, hafta sonuna kadar temel işlevleri çalışan bir sistemimiz olacağı kanaatindeyim. tabi ki bir özgür yazılım portalının projesi olarak herkesin görebileceği şekilde geliştirilecektir, bizler başladığımızda, isteyenlerin kodu inceleyebilmeleri için svn adresini yine buradan paylaşacağım.

21 Haziran 2010 Pazartesi

Artistanbul'da İlk Gun

Bugün Artistanbul ofisinde yapacağım yaz stajının ilk günüydü. Öncelikle şunu belirteyim, öyle resmi bir yer değil, herkes cana yakın, samimi.

Sabah ilk iş Ali Işıngör, Ufuk Uzun ve bana bizden istenen proje konusunda bilgi verdi, biraz çalışma şartlarını anlattı (ofiste Pardus kullanmak zorunlu, Ubuntu vs kabul edilmiyor son derece doğal olarak).

Staj projemiz Pardus için Ubuntu'nun hazırladığı papercut'a benzer bir yazılımın ozgurluk icin dahilinde geliştirilmesi.

Peki nedir bu papercut? papercut (kağıt kesiği) son kullanıcıların bilgisayarlarını kullanımlarını zorlaştıran yada zevksizleştiren, çözümü basit ama sık karşılaşıldığı için negatif etkisi büyük soruncuklar. Pardus 2009.2 sürümünde masaüstüne sağ tıklarsanız "dizin görünümü eylemi ayarları" diye bir seçenek göreceksiniz, Tıkladığınızda açılan pencerenin başlığına bakın, "Masaüstü Ayarları". Son kullanıcı masaüstü arkaplan resmini değiştirmek için "dizin görünümü eylemi ayarları" seçeneğini kullanması gerektiğini anlayamaz(geliştiriciler bile anlayamaz bence gerçi)oysa seçeneğin ismi "masaüstü Ayarları" olsaydı bu ufacık değişiklik Pardus kullanıcılarının %90 ının hayatını birazcık kolaylaştırırdı.Bu sorun bir papercut örneği, böyle sorunları kullanıcıların kolaylıkla rapor edebileceği, (belki önem için oylayabileceği) geliştiricilerin iş bölümlerini de sağlayan bir web arabirimi hazırlanmasıda bizim staj görevimiz.

Projemiz belli olunca Ahmet Aygün ile oturduk iki stajer, papercut ile ilgili dokümanları kurcaladık, sıkılınca muhabbet ettik, django'nun sitesindeti tutorialları denedik. İlk gün olduğundan projeden çok django-artistanbul-staj üçgenine alışmaya çalışmakla geçti, ancak ilerleyen günlerde daha hızlı bir çalışma temposu ortaya koyacağımızdan eminim.



Ubuntu'nun papercut projesi için
https://wiki.ubuntu.com/PaperCut