Invalid Opcode "Paranoia is the belief in a hidden order behind the visible" — The Pi Moive

23Oct/094

İmalat

Bugün dandik bir kapı kumandasına "zorla" 30 ytl verdim. Bu kadar kazık olan bu aletin içini hemen açtım, Sadece bir saw osilatörü (çıkış katı bile yok) ve base'ine bağlanmış bir 12F serisi PIC'den ibaretti (bu da zaten ask demek). Kısaca toplam maliyet 5Ytl (%600 kar güzel iş walla) Ancak doğal olarak osilatör 12V'a ihtiyaç duyuyordu ve A23 tipi 12V'luk kalem pille çalışıyordu. Fakat problemde burada başlıyor PIC'in 5.5V'a ihtiyacı var. Dizayn edenler sadece bir direnç ve 5V'luk zener'den ibaret bir parallel regülatör koymuşlar, ne yazık ki bu kadar ufak bir pil öyle bir regülatörü durmadan besleyemez (kumandanın pil devresinde hiçbir açma kapatma tuşu yok)

Bu pillerin tanesinde 10ytl civarı. O yüzden devreyi tamamen dağıttım girişine bc517'den ibaret 10sn'lık bir monostable bağladım, kapı kapatma tuşunuda (ki bunu zaten kullanmıyorum) reset'ine bağladım. Artık pillerin dayanmasını umuyorum.

İmalatta amaç tabii ucuza üretmek fakat bu demek değildir ki salakça üretmek sistem nano-watt teknolojisiyle dizayn edilebilir pilin kendi kendine bitme süresiyle cihazın içinde boştayken bitme süresi birbirne eşit olabilirdi. Netice itibariyle Cep telefonlarının bile şarj'ların kaç saat gittiğine göre değerlendirildiği bir dünyada firmanız müşterilerini kaybedecektir...

Filed under: Hat Paraziti 4 Comments
11Oct/090

AVL Tree macerası

Bir süredir C ile bir AVL tree yazmaya uğraşıyorum, fakat ne yazık ki yaptığım şeyi yapıpda kodlarını yayınlayan sadece ama sadece 1 tek kişi var. (normal bir avl tree olmadığını şimdiye kadar çözmüşsünüzdür) (libavl) Çeşitli veri yapıları ve algoritma kitaplarını karıştırdım kullandığım tekniğe hiç değinilmemiş bile ve anlatmak yerine "koda bak" görüşü yaygın. Google'da parazit yapan salak öğrencilerin yazdığı kodlara değinmiyorum bile.

Sonra kutsal kitaba bir göz attım ve mutlu son :) The art of computer programming'in neden programlamanın bible'i olduğunu bir kez daha anlamış oldum.

Filed under: Hat Paraziti No Comments
24Sep/090

Glibc’nin sorunu nedir ?

Bitime çalışmam için, threading, seknronizazyon ve atomik işlem kodları yazmak zorunda kaldım (ki aslında tamamen ilgisiz olsada) bunun tek sebebi linux'un her şeyini (dinamik kütüpane yüklemeyi bile) tek glibc ile yapmasıydı. glibc en sade işlemlemleri bile "programcıyı korumak" adına inanılmaz derece komplex yapıyor. Bu ise sizin kodununuzun ne yapacağını tahmin etmenizi imkansız hale getiriyor (Tabii eğer glibc'i siz yazdıysanız başka :) ) (Eğer korunmak isteseydim C++ kullanırdım !)

Yazılımınızda bir bug olsun bunun kaynağı nedir ? Derleyici yanlış mı derliyor ? (bu olay tahmin ettiniğinizde çok daha fazla bakınız "blacklisted gcc" (hemde versiyon 4.0 'da !)) Sizin kodunuz mu hatalı ? Yoksa glibc mi hatalı ?Glibc'deki "0 dökümanyasyon" ve anlaşılmaz kodlama sitili sayesinde (insan self-docmented code yazar) her şeyi sizin çözmeniz gerekli.

Netice kendi kütüpanemi yazdım artık en azından "tahmin" edebiliyorum :)

Filed under: Hat Paraziti No Comments
19Sep/090

L Metre

Her zaman olduğu üzere yine sizlere felaket haberleri vermeye devam edeceğim.

Hat indüktanslarını ölçmek için 100pH çözünürlükte L metreye ihtiyaç duydum. Benden öncekilerin (evet egom tavan yapıyor :) ) çözümlerini incelemek istedim, malesef çeşitli web sitelerinde onlarca kez kullanılmış şemaların tamamiyle gerçek dışı olduklarını gördüm. Bu şemaların hepsine kullanılan ünlü LM311'ün tepki süresi sadece 200ns iken 1uH çözünürlük yakalanması bile mucize olur (bkz: LC katile faktörü).

Tabii ki iş yine bana düştü yakında 100pH'lık "gerçek" L metreyi teknik makalelerde bulabileceksiniz.

Filed under: Hat Paraziti No Comments
12Sep/090

Şeytanın gör dediği

Her ne kadar başlık "Şeytanın gör dediği"'de olsa Çetin Altan'la ilgili atıp tutmayacağım akisne sel felaketinin biraz detaylarına bakmak istiyorum.

T.V. izlemesem de gözüme takılan şey felaket bölgesindeki herkesin hiç bir kurtarma çalışmasının yapılmadığı oldu. Fakat şaşırmadım çünkü AKP yerel belediyesini alamadığı bölgelere büyük şehir vasitasıyla gidip bu bölgelerin yollarını kaztıktan sonra "terk" ederek halkı cezalandırmaya çalışıyorken AKP'nin kazanamadığı bölgere kurtarma ekiplerinin gitmemesi çok normal geldi.
Tekirdağ = CHP, Çatalca = CHP

Filed under: Hat Paraziti No Comments
3Sep/09Off

Oyuncak Osiloskop

Osiloskopumu kaybettiken sonra kıymetini anldım. Sözün kısası düşük frekans ihtiyacım için bir osiloskop yapmaya karar verdim. En fazla 145kHz'lik sinus dalgasını gösterebilir (3uS örnekleme) 70.000Mhz'e kadar frekans ölçebilir. (Girişe takacağınız MC12052 gibi bir prescalar ile bu değeri 1Ghz'e kadar artırabilirsiniz.)

Şema
test

Şemayı incelerseniz R5'in değerinin "garip" olduğunu görürsünüz. R5'i "10k + 10k trimer" ile ayarlayarak yapabilirsiniz. Önemli olan tek şey R4/R5 = 4.54 değerini vermesi.

R8 direncini giriş voltajınızın büyüklüğüne göre 330k'a kadar yükseltebilirsiniz. Yazılım kendini kalibre edecektir.

S1 buttonunu usb bootloder'im için ekledim. Eğer sizde CSS'nin bootloader'ini c0 pinine göre ayarlarsanız rahatça firmware güncellemelerini yapabilirsiniz.

Frekans ölçme hassasiyeti tamamen QG1'e bağlı olduğundan 50ppm'lık bir osilatör kullanmanızı tavsiye ederim. (Aksi halde .000 hassasiyetine ulaşamazsınız)

USB desteği tamamen css'nin "usb 2 rs232" koduyla sağlanmıştır. Sisteminizide muhtemelen /dev/ttyACM0 gibi bir yerde gözükecektir.

CSS C ile yazılmış PIC kodu : uscope.tar
Linux Kodları: usbscope-0.0.1.tar

30Aug/09Off

Bokode

Koşturmaca arasında siggraph 2009'u tamamen unutmuşum. Bir arkadaşımın bokode'i göstermesiyle farkına vardım :)
Bokode yaratıcılarının pek çok uygulama alanı göstermesine rağmen muhtemelen asla günlük yada sanayii uygulamaları olmayacak bir proje olsada oldukça yenilikçi bir deneme. siggraph paperleri için

Filed under: Hat Paraziti Comments Off
26Aug/09Off

Bilim ve Din üzerine

Beni böyle bir konuda yazmaya iten geçtiğimiz günlerde evrim hakkında
"talkshow"'lara çıkan "prof"'ların felsefeden ve bilimden tamamen uzak yorumları
oldu. (Ki bu insanlar "evrimci" idi)

Tanrı Yanılgısı
Dawkins ünlü kitabında tanrıya ihtiyaç olmadığını bu yüzdende kesinlikle var
olamayacağını söylüyor ve yaratılışla evrim arasındaki bağlantıyı tezini
güçlendirmek için kullanıyor. Peki problem nerede ?

Eğer matematik olsaydı bu %100 geçerli bir ispat tekniği olurdu. "Ben
bilmiyorsam yoktur" çeşitli farklı karizmatik isimlerle matematikte sıkça
kullanılan bir tekniktir. Şimdi bunu fiziğe uygulayalım ve neler olacağını
görelim. 18.yy ansiklopedilerinde şöyle anlatım geçer. "Güneş 10.000 yıldan
daha yaşlı olamaz çünkü saf oksijen ve karbondan bile oluşsa şimdiye kadar
bitmesi gerekirdi." Oysa 19.yy'da atom tayflarının ve nükleer enerjinin keşvi
ile Güneş'in yaşının 10.000 değil bir kaç milyar olduğu bulunmuştur. Matematiğin
bu kuralı mantıkta "argumentum ad ignorance" olarak bilinen bir mantık
hatasını doğurur. Bu sebebten tanrının yokluğunu ispat etmek mantık açısından
mümkün değildir.

Bilim Yanılgısı
Bilim "gerçek" yada "mutlak doğru" demek değildir. Çok geriye gitmeyin son 100
yıl içindeki bilimsel ilerlemeye bakın. Eskinin "doğru"'ları bugünün
"yanılgıları" haline gelmiştir. Evrim elimizdeki en mantıklı açıklamadır.
Gözlemlerle uyuşmaktadır. Eğer Dünya'nın Güneş'in çevresinde dönmesini okullarda
okutuyorsanız evrimide okutmalısınız. Bu ne kadar doğru ise evrimde o kadar
doğrudur.

"Gözümüz nasıl oldu ?" ,"Kuşlar nasıl kanatlandı ?" ,"Evrim bunu açıklayamaz bak
tanrının hikmetine" gibi 8-10 yaş sorularını artık bırakmalıyız. Eğer bir
yaratıcı arıyorsanız en azından "ilk enerji"'e bakın.

Fakat şunuda unutmamak gerekli, Güneş'in ışıklarıyla aydınlanan bir toz
zerresindeki karıncalar olarak kendimiz evrende gereğinden fazla bir önem
atfetmiyormuyuz ? Evren bu kadar büyükken bizim kadar ufak canlıların onun
"gündem maddesi" olduğunu düşünmek kulağa pek doğru gelmiyor :)

Filed under: Hat Paraziti Comments Off
23Aug/09Off

Programlama yanılgısı

Quartz kristallerin özelliklerini incelerken "programcıdan dönme" elektronikçilerinde hatalarını birkez daha gördüm. Eminim hepiniz AVR, PIC ve çeşitli MCU'larla yapılmış frekans sayıcıların sınırsız kopyasını görmüşsünüzdür. Dikkat ederseniz neredeyse hepsi MHz'de virgülden sonra en az 3 yada 6 hane (yani Hz'e kadar) frekansı gösteriyorlar. Peki neden aynı özelliklere sahip bir 1Ghz bir frekans metre $300'ken bu devreler sadece $10 - $30 ? Bu sistemlerin kullandıkları XO modülleri veya AT kesim quartz kristallerin kararlılığı sadece 100 ppm'dir. Yani 20Mhz'lik bir kristall 2Khz civarında frekansını çevre şartlarına ve yaşına göre değiştirir :) O halde siz en en en fazla virgülden sonra 2 hane'lik hassasiyete sahip olabilirsiniz. (Tabii MCU'dan kaynaklanan herşeyi ihmal edersek !!!). Oysa frekansmetrelerin OCXO'larının kararlılığı 0.000001 ppm'dir :)

Filed under: Hat Paraziti Comments Off
2Aug/09Off

Güvenlikçi

Daha önce Kullanıcının Evrimi başlıklı yazımda "günvelikçi"'lerin doğuşuna değinmiştim. Bugün ne yazık ki  Über Programcının Hayat Rehberi adlı bir yazı okudum ve birkez daha hala henüz "programcı neyi programlar"'ı anlayamayan bir güvenlikçi daha görmüş oldum. Programcılar kod yazan sekreterler değildirler :)

Filed under: Hat Paraziti Comments Off