18 July 08, Friday @ 11:31
Bir bilgisayarı motor ve sensörlere bağlamanız gerekmişse, yada çok basit
olmayan kararlar verecek bir elektronik devre yapmışsanız, mikrokontrolörlere
illaki işiniz düşmüştür. Mikrokontrolör basitçe, üzerinde CPU, RAM, Flash
bellek gibi birçok bileşen içeren ve kendi başına ufak bir bilgisayar
gibi çalışabilen bir entegre devredir.
Türkiye'de çoğunlukla Microchip'in PIC serisi kullanılıyor, ama ben Atmel firmasının
AVR serisini
tercih ediyorum.
Neden derseniz, geliştirme ortamı bildiğimiz gcc! gcc'nin çalıştığı
herhangi bir platformda, normal masaüstü işlemcilere, yada gömülü ARM
işlemcilere vb nasıl kod üretiyorsak, aynı şekilde AVR için geliştirme
yapabiliyoruz.
Geliştirme ortamını paketledim ve Pardus 2007 ve 2008 depolarına girmiş durumda.
pisi it -c programming.microcontroller
komutuyla kolayca
kurabilirsiniz. Derleme ortamı
binutils-avr,
gcc-avr
ve
avr-libc paketlerinden oluşuyor. Derlediğiniz dosyaları
avrdude aracıyla entegrenize yükleyebilirsiniz.
Yükleme bağlantısı için internetten STK500 gibi bir kit satın alabilir, ya da
ucuz ve rahat temin edilebilecek bir çözüm isterseniz Altaş yayıncılığın
USB programlayıcı
kartını kullanabilirsiniz.
AVR işlemcilerin çoğu modelini Karaköy'de bulabilirsiniz. Fiyatları
oldukça ucuz ve dahili osilatörleri olduğu için, nerdeyse iki bacağını
akıma bağlayan basit bir devreyle çalıştırabiliyorsunuz. Model seçerken
dikkatli olun, mesela 3
PWM
çıkışı var diyebilir, ama o pinler aynı zamanda programlama girişi yada
RS232 gibi başka bir üniteyle ortak çıkabilir, teknik PDF dosyasını
indirip pinlerin görevlerini kontrol etmekte yarar var.
Blogu uzatmamak için burada kesiyorum, ilerde yazılım araçlarının
kullanımı ile devam ederiz.
Nota tanıma programı
ise sevgili Löker'in katkısıyla ölçeklenebilen SVG bir arayüze kavuştu.
Qt4'ün QGraphicsScene sınıfına da ayrıca teşekkür ediyoruz.
1 comments...
03 July 08, Thursday @ 12:26
Harmonika öğrenirken ilk çıkan zorluk notaları bükebilmektir. Diatonik tabir edilen harmonikalarda her oktav için 12 notanın hepsi direk olarak bulunmaz. Mesela üçüncü delikten üflerseniz Sol (G), nefes çekerseniz Si (B) notasını çalarsınız. Nefes çekerken ağzınız içindeki hava akışını değiştirmeyi başarırsanız, notayı aşağı çekeceğiniz her yarım adım için sırasıyla Si bemol (Bb), La (A), La bemol (Ab) şeklinde Si'den Sol notasına doğru ses titreşimini indirebilirsiniz.
Bu hava akışını değiştirmek yazıldığı kadar kolay öğrenilen bir şey değil tabi. İşte bu tekniği çalışırken çok işe yarayan Bendometer adlı bir program vardı. Mikrofona çaldığınız sesten harmonika üzerinde hangi notayı çaldığınızı ve ne kadar bükebildiğinizi gösteriyor. Ağzınızla sesin frekansıyla istediğiniz gibi oynayabileceğiniz için (perdesiz gitar vb gibi düşünün) bu notaları tam frekansında çalabilmek önemli.
Faydalı olduğu için parasını ödeyip register da olmuştum. Ancak aylarca yanıt gelmedi, şimdi de yıllık abonelikli ve yüksek ücretli bir hale gelmiş. Ben de bari oturup yazayım işimi görecek bir şey dedim.
Python ve Qt4 ile hızlı bir prototip çıkardım, işte buradan erişebilirsiniz. Sesten notayı çözmek oldukça zor bir problemmiş, bunun için şimdilik Aubio adlı python kitaplığından faydalanıyorum, daha iyi bir algoritma hazırlayana kadar. Programı denemek için onu da çekip kurmanız gerekli.
Şimdilik çok basit halde, bazı şeyler hardcoded falan, ama keyifli bir şekilde gelişeceğini umuyorum. Belki ilgisini çeken olur diye de yazdım buraya :)
Be the first one to comment...
24 June 08, Tuesday @ 16:21
Geçen hafta sonu yapıldı. Ben de cuma günü özgür robotik yazılımları üzerine bir sunum verdim. Konferansın ardından Linux Kullanıcıları Derneği genel kurulu da yapıldı. Yönetim kuruluna yeni seçilen ekibe başarılar diliyorum. Umarım derneği yeniden idari işleri hızlı işleyen ve özgür yazılım camiasını bir araya getiren eğlenceli bir çatı haline getirmeyi başarırlar.
Nice zamandır düşündüğüm, bilgisayar bilimleriyle ilgili güzel kitapların listesini nihayet toparladım. Daha eklenecek şeyler var, ama iyi bir başlangıç sağlıyor meraklısına.
Be the first one to comment...
23 May 08, Friday @ 12:26
Günlük yazılımımı Zangetsu ile değiştirdim, böylece etiket ve yorum desteği de olacak artık. Daha sık günlük yazmamı sağlayacağını da umuyorum bu değişikliğin :)
Bir program üç satır da olsa eninde sonunda maintain edileceği gün gelecektir diye bir laf vardır. Piside inşa sırasında sisteme taşmaları önlemek için kullandığımız catbox modülü için de bu hafta bakım sırası geldi :)
Bu modül bir türlü doğru dürüst çalışmamıştı ve belirsiz bir şekilde bilmediği bir süreçten (process) gelen sinyallerle karışıyordu. Sorun şuymuş, bir programın sistem çağrılarını takip için kullanılan ptrace() çağrısının PTRACE_O_TRACEFORK diye bir seçeneği var. Takip ettiğiniz süreç fork ettiğinde, size buna dair bir sinyal ve yeni sürecin PID değeri geliyor, o süreç ise SIGSTOP ile hayata başlıyor ve çalışmak için sizin kontrolü ele almanızı bekliyor. Böylece takip ettiğiniz süreçler fork ederek sizden kaçamıyorlar.
Şu kodda decide_event() içinde görebileceğiniz gibi, oldukça karışık olan sinyal takibi sırasında, yeni sürecin çok hızlı açılıp SIGSTOP sinyalini ebeveyninin PTRACE_EVENT_FORK sinyalinden önce yollayabilmesi mümkünmüş. Bu durumu da dikkate alınca sorun düzeldi. Bu tür "race condition" tabir ettiğimiz zamanlama sorunlarını yakalamak ve incelemek çok zor oluyor. Burada şu anki halinden daha karışık olan core_trace_loop() u parçalara ayırıp basitleştirdikçe bazı ipuçları ortaya çıktı, sonra da bir kaç basit testle problemi yakalamak mümkün oldu. Hatanın nedenini bir türlü bulamıyorsanız, kodu yeniden yapılandırmayı deneyin yani :)
Bütün bu mambo cambo basitçe, son kullanıcıların eline daha iyi denetlenmiş dolayısıyla daha kaliteli paketlerin geçeceği anlamına geliyor.
Günün bilimsel eğlencesi ise "Kıllı top teoremi" :D
İlk aklınıza gelen şey değil tahminen. Bir bilardo topunun üstündeki saçları tarayamazsınız şeklinde eğlenceli bir izahından dolayı bu ismi vermişler. Bir küre etrafındaki vektör alanın en az bir noktasının sıfır değerinde olduğunu söylüyor. Mesela rüzgarı dünya etrafında böyle bir vektör alan kabul edersek, herhangi bir anda dünyanın bir yerinde mutlaka bir siklon olduğu gibi enteresan sonuçları var.
Be the first one to comment...
13 February 08, Wednesday @ 22:54
Şömbik resimdeki nesnelerden hangisidir? (yanıt için resme tıklayın)
Gömülü sistem yada sessiz bilgisayar için anakart arayışlarındaysanız, size
EPIA CN serisini önerebilirim. Ucuz ve etkili. Pardus ise "standart ekran modu" seçeneği ile sorunsuz kuruluyor :D
Sahte Rakı var bir de, hem de Yavuz Çetin'den. Tadından yenmez.
Be the first one to comment...
23 October 07, Tuesday @ 01:50
"Plan yada Pilav değil, Pilon istiyoruz."
- Eski bir Protoss atasözü
Serbülent'in
Hayali Yazılımcılar ve Faik'in
Yurdum ArGesi yazılarını bir arada ele almak lazım. Neden şirketler ar-ge yapmaz, ve neden şirketleri buna özendirme girişimleri hep vergi indirimi ve karşılıksız para verme basitliğinde kalır.
Ya da önce dünyada neler oluyor ona bakalım. Üç gün sonra Kaliforniya'daki eski bir hava üssünde
DARPA Urban Challenge yarı finalleri yapılacak. Birinciye 2 milyon $ ödüllü bu yarışmada amaç, normal bir şehir ortamında tüm trafik kurallarına uyarak, ve yoldaki diğer araçlarla çarpışmadan, 60 millik bir parkurda belirtilen noktalara gidecek, otonom bir araba yapmak.
Şehir ortamı ve trafik bu sene eklenen kurallar. Çölde yapılan ve hiç bir arabanın tamamlayamadığı 2004 yarışı ve beş arabanın tamamladığı 2005 yarışından sonra, yeni bir mücadele sunuyor. Yarı finale kalan takımlar arasında Austin, Caltech, Stanford, MIT, Princeton gibi bir dizi üniversite ile çeşitli öğrenci grupları da göze çarpıyor.
Her iyi Civilization oyuncusu bilir ki, hangi teknolojiyi araştırmayı seçeceğiniz uygarlığınızın batması veya çıkmasını belirler. Genişleyebileceğiniz karasal alan bittiğinde elinizde denizcilik bilgileri yoksa, barutu keşfetmiş bile olsanız, tıkanmaya başlamışsınız demektir.
DARPA bu yarışmaları belki 20 yıl sonrasının otonom savaş araçları vizyonuna ulaşmak için finanse ediyor.
Bu örneği bırakıp genele bakarsak, Ar-Ge güdüm projelerinde benim gördüğüm dört ortak nokta var. 1) İleri bir zamana yönelik bir vizyon ve buna giden iyi planlanmış adımlar, 2) Firmalara rastgele destek vermeye çalışmak değil, onların üretecekleri şeylere talip olarak arz-talep dengesiyle yapılan destek, 3) Özellikle üniversite ve öğrencileri üretime ve girişimciliğe çekmek, 4) Mali gücüyle para kazanan seri üretim firmalarından ziyade (ki maalesef yazılım firmalarının inanılmayacak bir çoğunluğu aslında bu grupta), yeni bilimsel gelişmeler sağlayan ve bunları üretime de taşıyabilen firmaları özendirmek.
Her ufkun ötesini görmeye çalışanın cebinde 3.2 milyar $ bütçe olmayabilir, ama önünü görebilmek için de para gerekmiyor.
Be the first one to comment...
27 September 07, Thursday @ 17:08
Üç yıllık çalışmadan sonra, bugün itibarıyla Tübitak'taki görevimden ayrıldım. Pardus, Türkiye için önemli bir proje, ama yapılacak daha büyük ve daha önemli işler de var. Geliştiricilerimiz ve stajyerlerimiz bana bu projenin kendi ayakları üzerinde devam edebileceği umudunu verdi. Bu sebeple yeni sulara yelken açmaya (literally ;) karar verdim.
Pardus geliştiricisi olmaya ve özgür yazılım camiasına katkıda bulunmaya devam edeceğim. Ancak bu tahminen ana projelerden ziyade yan işlerle olacak, antik özgür yazılımlarımdan bazılarının eski defterlerini de tekrar açabilirim hiç belli olmaz :)
Pardus sayesinde bir sürü kişiyle birlikte çalıştık/sabahladık. İsimleri saymakla bitmez ama özel olarak, M.Umut Pulat, Barış Metin, A.Murat Eren, S.Çağlar Onur, Onur Küçük, İsmail Dönmez, Faik Uygur, Ekin Meroğlu, Bahadır Kandemir, Gökmen Göksel, Mehmet D. Akın, ve Koray Löker e buradan açık bir teşekkür etmek istiyorum.
Eski bir blues amcanın da dediği gibi, see you down the road...
Be the first one to comment...
07 September 07, Friday @ 22:15
Uzun zaman olmuş yazmayalı.
Özgür yazılım cephesinde, iksemel'i Coverity'nin scan projesine kabul ettiler,
Proje listesinden takip edebilirsiniz. Pek güzel bir analiz araçları varmış.
Pardus'ta stajyerlerimiz, göç aracı, proksi arayüzü, paket yapım aracı, kooka yerine bir tarayıcı arayüzü gibi yazılımlar ürettiler. Çomar belgelendirmesi, pisi inşa çiftliği, paket imzalama, grafik yapılandırma, ağ yapılandırma istemcileri, Ahenk yönetim sistemi üzerinde geliştirmeler yaptılar. Bu
projelerin büyük bir kısmı 2007.3 sürümüne yetişecek durumda.
OpenSC'nin yeni sürümü
AKİS desteği ile çıkmak üzere. LDAP dizin sunucusu üzerinden Pardus kurulu bilgisayarları yönetebildiğimiz Ahenk sistemimiz de ilk geniş kapsamlı kullanımına başladı. Şu anda kullanıcıların, pisi paket ve güncellemelerinin ve sistem servislerinin bir merkezden yönetilebilmesini sağlayan bu sistemin, gelişerek komple bir Active Directory rakibine dönüşmesini umuyoruz. Son zamanda üzerinde çalıştığım şeyler bunlar oldu.
Hayat cephesinde ise büyük değişiklikler geliyor :p
Be the first one to comment...
26 April 07, Thursday @ 10:45
Pardus için akıllı kart paketlerini yapar ve test ederken, önceden pek bilmediğim bu konuyla ilgili epey not tutmuştum. Bunları bir düzene sokup şöyle bir
akıllı kart nedir belgesi haline getirdim, artık kimin işine yararsa.
PiSi için hazırladığımız sandbox modülümüz
catbox nihayet kullanılır hale geldi. Paket inşa edilirken, inşa dizini dışına çıkmasını engelleyen bu özellik, paket hatalarını yakalamak bakımından oldukça gerekliydi.
Belgesinde anlatılan
bazı nedenler yüzünden fakeroot yada Gentoo sandbox bize pek uygun değildi. Modülü yazarken basitmiş gibi görünen, başka bir sürece ait bir yol (path) dizisinin, gerçekte nereyi gösterdiğini bulmanın ne kadar karmaşık bir problem olduğunu öğrendim :) Sembolik linkler, garip sistem çağrısı davranışları, /proc/self gibi çok özel dosyalar vb derken ortalık iyice karıştı. Neyseki her çıkan hataya ve özel duruma önce birer test kodu yazarak gidiyordum. Eski hataların tekrar ortaya çıkmasını önleyen bu tekniği ne kadar övsem az.
Sandbox özelliğini kullanmak isteyen geliştiricilerimiz, Pardus 2007 deposundan catbox paketini kurup, /usr/lib/pardus/pisi altında, yakında PiSi'ye de girecek olan
bu yamayı uygulayarak deneyebilirler.
Yamadan görebileceğiniz gibi, birçok autoconf (yada autocrap :) paketi /usr/lib/cf* gibi absürd yerlere dosya yazıyor inşa sırasında. Qt derleme süreci de ev dizinindeki plugin dosyasını kitlemek istiyor illa ki.
Pardus'a yapılan yaz stajı başvurularında yaygın olarak gördüğüm eğilim, öğrencilerin CV ve başvuru metinlerinde, stajın çok dışında kalan konularda (ata binmek, keman çalmak, hayat hikayesi, vb) fazla bilgi verirken, ne üzerinde çalışmak istediklerinden çok az bahsetmiş olmalarıydı. Konu listesindeki bir işin yapılıp getirilmesini beklemiyorum tabi, o zaman stajın anlamı kalmıyor :) ama en azından yazılan şeylerin incelenip, üzerinde yarım günlük bir çalışmayla biraz fikir yürütülmesi düz bir CV den yada okul notlarından çok daha anlamlı olurdu. Bu şekilde başvuran az sayıdaki stajyerin hemen hepsini kabul ettik.
Milli takımımız ise Robocup German Open 2007 de dört ayaklı kategorisinde
dördüncü olmuşlar. Kendilerini kutluyorum.
Son olarak yarın saat 10:30 da, Sakarya Üniversitesi Esentepe kampüsünde, Python vakfına yeni müritler katmaya çalışacağım der, bu uzun yazıyı burada keserim...
Be the first one to comment...
25 February 07, Sunday @ 18:54
Bugün enteresan bir hikaye dinledim. Bir grup kişi kendi aralarında geyik yaparken, "alo" sözcüğünün Graham Bell'in kız arkadaşı Allessandra Lolita Oswaldo'ya telefon ederken kullandığı kısa hitap şeklinden geldiği şehir efsanesini ortaya atıyorlar. İçlerinden biri Onur Air'in dergisine şaka amaçlı olarak bunu yazıyor.
Buram buram bullshit yenigün kokan bu hikayeyi okuyan Mehmet Altan ise gidip
köşesinde beşinci sınıf hayat dersleriyle dolu bir yazı halinde yazıyor.
Söz konusu kız arkadaşın ismini
gugılda arattığınızda yalnızca yurdum insanından bir dolu sayfa çıkması da gösteriyor ki, kulaktan kulağa etkisiyle bu hikaye artık bir
Truthiness haline gelmiş :)
Bu arada pek zeki komedyen Stephen Colbert'in ortaya attığı bu terime giderek daha çok ihtiyacımız olmaya başlayacak. Çünkü eleştirel akıl yürütme yerine, kalbiyle bilmeyi tercih eden sala^H^H^H^H kişilerin sayısı hızla artmakta. O yüzden güzel bir Türkçe karşılık bulmak lazım. Kavram içimizde yaşamaya başladı bile, zor olmayacaktır karşılık bulmak.
Bakın nasıl anlatmış bu terimi (wikipedia'dan çeviriyorum) ve nasıl inceden dalga geçmiş:
"""
... beni bilen herkes sözlüklerin yada referans kitaplarının fanı olmadığımı bilir.
Kitaplara güvenmem. Tamamen olgudurlar, kalpleri yoktur. Ve ülkemizi ikiye ayıran da tam bu... kafalarıyla düşünenler ve kalpleriyle bilenler arasında bölündük.
Harrier Miers'i ele alın. Eğer onun hakkında "düşünür"seniz, elbette seçilmesi absürddür. Fakat başkan onun seçimini "düşündüğünü" söylemedi. Şunu dedi:
(Bush'un video klibi:) 'Onun kalbini biliyorum'
Beyni hakkında bir şey demediğine dikkat ettiniz mi? Demesine gerek yoktu. Harriet Miers hakkındaki gerçeği hissediyordu.
Ya Irak'a ne demeli? Eğer bunu düşünürseniz, savaş gerekçesi için bazı parçaların ortada olmadığı doğru. Fakat Saddam'ı alaşağı etmenin doğru şey olduğunu hissediyorsunuz di mi?
"""
Be the first one to comment...
20 February 07, Tuesday @ 21:40
Geliştirici toplantısında aldığımız kararlardan biri, depodaki yazılımlara ait bilgilerden
html sayfaları oluşturan repostats ve deponun iç tutarlılığı ile sık yapılan hataları denetleyen
ismail :) adlı yazılımlarımızı contrib depomuzu da kapsayacak şekilde geliştirmekti.
Özellikle repostats aylardır dokunmadığım bir programdı. Eklene eklene bu hale geldiği ve pek toparlanmadığı için kod baya pislenmişti. Her seferinde baştan yazayım deyip, sıkılıp bırakıyordum. Bu sefer
Joel'i dinleyeyim artık deyip, adım adım bir dizi değişiklikle refactor etmeyi seçtim. Hala çok temiz olmasa da, değişiklikler sırasında hiçbir zaman çalışmayan bir durumda kalmadı. Bunun güzelliği, boş anımda, yada bir yandan uğraşmakta olduğum dehşet sıkıcı projeden bezip kafa dağıtmak istediğim anlarda, oturup ufak ufak değişiklik yapıp hemen commit edip, sonra başka bir şeye geri dönebilmek.
Diğer pardus bloglarından Mehmet'in artık tam zamanlı olarak aramızda olduğunu okumuşsunuzdur belki. Bunun en büyük etkisi şimdilik yalnızca sözcük denetleme için kullandığımız
Zemberek'in daha hızlı gelişmesi ve yeni işlere girmesi olacak umarım :)
Bir başka güzel olay, sevgili geliştiricimiz Furkan Duman'ın benim itinayla kaytardığım ağ yapılandırması işine
el atıp bir anda kablosuz tarama ve wpa desteği ile ilgili sorunları çözmesi oldu :)
Görünen o ki, Pardus 2007 hala bittorrent sunucumuz üzerinden çekilmeye devam ediyor,
istatistiklere bakın, sunucu bir değişim sırasında yeniden başlatıldığı için yaklaşık 700 kadar indirme eksik. İlk anda ana sitemizden yalnızca bittorrent ile dağıtsaydık daha yüksek bir rakam olabilirdi sanırım. Hattımız için de daha hayırlı olabilirdi :)
Pardusman'ı ise artık Bahadır kodluyor, hemen eksikleri kapamaya başladı bile, sevgili Doruk "the sakallı" Fişek ise pek güzel bir
nasıl belgesi yazmış (bir başka itinayla kaytardığım iş :).
Be the first one to comment...
04 February 07, Sunday @ 00:05
Gündemden düşüveren yeni petrol yasası ile ilgili
petrol mühendisleri odası (basın duyurularına tıklayın),
Jeofizik mühendisleri odası,
Jeoloji mühendisleri odası ve
Petrol İş sendikası (pdf) basın açıklamaları yaptılar. 308 adet sayın milletvekilimizin, oylamasına girmeye bile gerek görmediği bu yasa hakkında, her seçmenin bilgi sahibi olmasında fayda var.
Be the first one to comment...
19 January 07, Friday @ 18:48
Irak'ta petrol yasası falan derken, bir baktım iki gün önce bizde de bir
yasa değişikliği yapılmış. Eski yasanın (namı diğer Max Ball yasası) yerine
5574 nolu yeni bir yasamız var artık.
Çok inceleyemedim ama ana fikrin, yabancı firmalar için petrolün belli bir kısmını iç pazara satma, belli bir sayıdan fazla alanda ruhsat alamama, çeşitli işler için bakanlar kurulundan izin alma vb gibi limitlerinin kaldırılması, ve alınan vergilerde büyük indirim ve rahatlıklara gidilmesi olduğu görünüyor. Cömertliğin tanımı yeniden yapılmış desem yalan olmaz herhalde.
Neyse, geçenlerde dönen Anadol STC muhabbetine ben de Aydın Demirer ve Özgür Aydoğan'ın
Huzurlarınızda Spor Anadol kitabından bir ekleme yapayım:
"Noyan'ın hicivleri de sınır tanımıyordu. STC-16'nın yapım aşamasında dönemin ünlü Malkoçoğlu çizgi romanına gönderme yaparak 'Mayhoşoğlu' diye bir tip yaratmıştı. Maceranın adını ise 'Mayhoşoğlu Metro Erzono'ya Karşı' koymuştu. Mayhoşoğlu, Eralp Noyan'ın ta kendisiydi. Metro Erzono ise Mamul Geliştirme'nın Müdürü Metin Erzi. Mayhoşoğlu'nun maceralarını Eralp Noyan Otosan'ın duvarlarına yapıştırıyor, başta Metin Erzi ve Erdoğan Gönül olmak üzere, bütün çalışanlar ve yöneticiler, bunları büyük bir keyifle okuyordu."
Be the first one to comment...
15 January 07, Monday @ 21:02
Bir
Pardus tanıtımı.
Yazarın nihai ürün kadar, katedilen yoldan etkilendiğini gözden kaçırmayın. Soyut planlar, Çalışan CD, Pardus 1.0, Pardus 2007 derken, gelişmeler hızlanacak ve Pardus 2008, 2007 den on kat daha iyi çıkacak karşınıza. Tüketim değil üretim tarafında durmaya cesareti olan herkesi aramıza bekliyoruz.
Be the first one to comment...
18 December 06, Monday @ 23:44
Sunucular çok kalabalık, Pardus 2007'yi daha verimli bir yolla çekmek isteyenleri
bu tarafa (torrent) bekliyoruz.
Be the first one to comment...