31 Ağustos 2008 Pazar

Windows için US_TR Klavye Düzeni

Yazılarımın çoğunda gördüğünüz gibi Türkçe harf kullanmaya pek özen göstermiyorum. Ç yerine c, ş yerine s basmam özensizligimden değil, klavyemin US düzenine sahip olmasından. Linux'de benim gibileri düşünmüşler ve alternatif bir düzen koymuşlar. Bu düzende alt tuşu ile s'ye basarsanız ş, u'ya basarsanız ü çıkıyor. Zor da olsa kullanmaya çalışıyorum.
Yaklaşık bir aydır zorla windows kullanıyorum. Çoklu masaüstü (VirtuaWin) ve diğer bir kaç araçla linux ortamımı az da olsa yarattım; bir bu klavye düzeni kaldı. Daha kolay yöntemi yada hazırı var mı bilmiyorum ama oturup The Microsoft Keyboard Layout Creator ile kendim bir düzen yarattım (maceradan kaçmayacaksın :)). us_tr.rar dosyasındaki setup.exe'yi çalıştırıp Input Service olarak "Türkçe - US klavye + Türkçe karakterler" servisini kurabilirsiniz.

31 Temmuz 2008 Perşembe

USBPC

Evimizde şu an 4 dizustu bir de masaüstü bilgisayar var. Hepsini satsan bir de üstüne emektar tarayıcıyı versem, iki göz yaşı, ancak 1000 lira alirim.
Eskiden olsa bir cop yiginindan bahsediyor olurdum ama artik durum baska. Artik islemciler, bana gore, cok coook gelismis durumda. Ben oyle internette gezen iki fal bakan bir kulanici degilim. Kod gelistiririm, resim yaparim arada da oyun oynarim. Yeni programlari da denemekten korkmam ama ne bu yeni programlarin ne de eskilerinin yeni surumlerinin ihtiyaclari gecen yillarda oyle cok artmadi. Yani düsen fiyatlara gore geride kaldi. Eskiden benim icin de ideal pc 1000$ civarindayken artik 500$ bile degil. Dizustu icin dusunursek 1000$lik bir makine beni ucurur :)
Anlayacaginiz benim evdeki coplerde hala hayat var. Bu arada bu 5 bilgisayari 1000/5=200 ytl'den dusunmeyin. Hanimla benim dizustuler, 1000 liranin 750 sini alir. Dizustu olarlardan biri 200MHz oburu de 230 falan. Masaustu 1100 civarı; o zaten idare ediyor. Ustune ubuntu kurdum takiliyor.
Gelelim bizim copleri ne yapacagimiza. Tabii ustlerinde win98 falan kosabiliyorum ama o kadar agir hesap makinelerine ihtiyacim yok :) Bu bilgisayarlar USBPC olacak. Olacak derken cok kesin konuşmayayım; zaman bulursam diyelim.
Simdi USBPC'nin ne oldugunu aciklayayim, google'dan buldugunuz ıvır zıvırla karıştırmayın. USBPC, usb disk gibi usb'den bir pc'ye takilan pc. Simdi pc'ye pc neden takacagiz? Cunku diger pc'nin etinden sutunden, ekranindan, klavyesinden faydalanmak icin.
Soyle dusunun bir dizusutunu, ekrani klavyesi olmayan bir masaustune usb kablo ile bagliyorsunuz ve o disustu bir anda digerinin ekrani, klavyesi, faresi, ses karti, hoperloru, harici diski, gerekirse ag baglantisi oluyor. Usb hafiza cubugu takar gibi sade ve basit. Boylece eski dizustu bir pc olarak degilde bir cevre elemanlar kumesi olarak hayat buluyor.
Simdi gelelim bunu nasil yapacagimiza. Oncelikle ara baglantidan bahsedelim. USB baglantisinda bir taraf kole digeri efendidir. Efendi genelde bilgisayar, kole de cevresel aygitlardir. İki efendi bir usb'de olmaz. İkisini bir kablo ile baglamak icin araya ikisinine kul kole olacak bir araciya ihtiyac vardir. Piyasada veri iletisimi icin kullanilan bu tip kablolar mevcut. Tabii bu kablo ile ozel bir surucu yazilimi kullanmak zorundayız. Bizim durumumuzda bu surucu usbpc ile baglantiya gececek ve o tarafı kendi bilgisayarina usb hub olarak tanıtacak. Boylece normal bilgisayar diger tarafı bir suru usb aygıt takilmis bir usb hub olarak gorecek. Ileride bir tarafa kendini hub olarak tanitan ozel bir kablo ile bu ozel surucuden kurtulabiliriz. Bu da projemizin donanim tarafi :)
Daha sonrasi normal usb kullanimi ile gerceklesecek. Usb aygitlar icin isletim sistemi tarafindan gerekli suruculer yuklenecek ve hepsi kullanima girecek. Usb aygitlarin her birinin ait oldugu bir sinif var: veri deposu, kullanici girdi birimi gibi. Onemli olan standart siniflari kullanmak. Boylece ayri bir surucu saglamadan isletim sisteminin bu aygitlari kullanmasini saglayabiliriz. Usb ekran icin bir standart var mi bilmiyorum ama fare, klavye, disk surucu icin bunlar mevcut.
Simdi daha teknik olarak uygulamaya egilelim. Dizustu makinada hafif bir linux olacak. Boylece farkli farkli aygit suruculeri ile ugrasmak zorunda kalmayacagiz. Biz sadece standart linux surucu arayuzu ile istedigimiz aygitlari surecegiz. Grafik arabirimi icin de X11 olmali. Aslinda ilk basta ubuntu gibi tam takim bir linux'le baslamakta fayda var. Daha sonra proje DSL gibi kucuk bir surume tasinabilir.
Isimize yarayacak acik kaynakli guzel bir proje var: usb/ip. Bu proje usb aygitlari ağ uzerinden paylasmak icin gelistirilmis. Bu proje sayesinde usb kablo ile ugrasmaya baslamadan once usbpc'deki kaynaklari birer sanal usb aygitlara donusturmekle ugrasabiliriz. usb/ip'nin kodu ile ugrasarak oncelikle usbpc'nin klavyesini, usb klavye gibi networkten diger bilgisayara baglariz. Sirasi ile diger aygitlara gecilir.
Onemli sorunlardan bir ekran icin gerekli veri trafigi. Usb 1.1'in bu trafigi zoe kaldirmayacaktir. Dikkat etmemiz gerek standart bir usb ekran surucusu varsa bunun kullandigi protokol. Yani ekran ile haberlesirken veri sıkıştırarak mi gonderiyor. Eger buradaki haberlesme cok agir olacaksa kendi surucumuzu yazmak zorundayiz. Bu surucu vlc gibi bir protokol kullanacaktir. Hatta vlc kodunu kullanabiliriz.
Aygitlarin sanal usb kodlari hazir olunca sira daha once bahsettigim gibi bir kablo almaya geliyor. http://www.linux-usb.org/usbnet/ sayfasinda linux usbnet surucusu icin uygun kablolar siralaniyor. Bu kablolarin linux icin surucusunu bulmak kolay olacaktir. 20ytl'ye kablo satiyorlar. Bunlardan alip ugrasmak gerekiyor. Eger masaustu bilgisayarda da linux varsa ayni surucu ile o taraftaki isleri de halledebiliriz. Daha sonra windows icin de bir surucu hazirlanabilir.
usb/ip projenin isimize yarayacak baska bir yani da istemci makinada sanal bir usb hub yaratmasi. Bu kodu usb kablo surucusu ile bagladigimizda isimizi gorecektir.
Kisaca proje boyle. Benim suan pek ugrasacak zamanim yok. Projeyi hayata gecirmek isteyen olursa destek olmaktan mutluluk duyarim :)

11 Mayıs 2008 Pazar

Yeni bir blog

Baktim ki bu blog cizimlerimle dolacak. Yeni bir blog olusturdum: ciziktirik.blogspot.com. Bundan boyle cizimlerimi orada bulabilirsiniz. Ha hangi blog daha aktif olur (Bir kac ayda bir yazi alma sansi olur) bilemem :).

21 Aralık 2007 Cuma

Youtube'a altyazı

Youtube'a altyazı fikri çoktan uygulanmış aslında. Birileri fikrimi benden önce buldu diye yazmayım mı yani? Subtitle.in ve benzeri birçok site adresini verdiğiniz bir youtube videosu üzerine altyazı yazmanıza izin veriyor. 'srt' yada herhangi bir altyazı dosyası yüklemeye izin veren var mı bilmiyorum. Yoksa bu da benim fikir katkım olsun :P Cesur Ayılar çizgi filmi için amatör bir altyazı yazmaya da başladım, ilgilenenlere duyurulur. Filmleri youtube üzerinden izlemek için gerekli bir özellik de 10 dakikalık videoları ardışık olarak gösterecek bir site. Böylece izlemesi ve altyazı yüklemesi daha kolay olacaktır.

24 Kasım 2007 Cumartesi

Zilli Yastık

Her fikrimle dunyayi kurtarmami beklemiyordunuz degil mi? :) Her gunumuzun 3'te 1'rini gecirdigimiz yastiklara da onem vermek lazim. Yine basit bir fikirle karsinizdayim. Fikrin asil adi alarmli yastik. Yastigin icinde bir alarmli saat var. Alarm vakti geldiginde calarak sizi uyandiriyor ve siz basinizi yastiktan kaldirincaya kadar susmuyor. Biraz da akilli davranip, 5 dakika icinde ağırlık algilayicilari bir baski hissederse tekrar calmaya calisiyor. Tekrar yatmak isterseniz kalkip biraz dolasmaniz lazim :) Alarm devresi, kontrol birimi ve agirlik algilayicilari yumusak su gecirmez bir plastikle kaplanmali. Disarida olacak kontrol birimi kumaş bir kesenin icine konulabilir. Piller bu birimde bulunur. Ayni fikri yataklara da uygulayabiliriz. Yastigi bir kenara atabilirsiniz ama yataktan kacmaniz pek kolay olmayacaktir. Iyi uykular :)

14/01/2011 Bak yine fikrimi calmislar :) http://www.zamazing.org/yazi/alarmli-yastik

8 Kasım 2007 Perşembe

Masa Ağacı


Masa agacı, meyve olarak masa veren yada masa yapımı için uygun olan bir ağaç değil. Gerçi lisede oyle bir hikayem vardı. Çok fazla biyolojik gösteriye sahip hikayede, biraz genetik biraz da kalıplar yardımıyla eşya şeklinde ağaçlar vardı. Dune'daki koltuk köpekler gibi. Neyse daha uygun bir ad 'Masa üstü ağacı' olacak, bir de bunun bir yazılim projesi olduğunu söyleyince zannederim daha iyi anlayacaksiniz.
Proje 'masa üstü' kavramının dizin yapısı ve pencere yönetiminin bir birleşimi.
İlk ikisinin birleşimi şöyle oluyor: masa üstünüzde bulunan dizinlerin bir kismini masa dizini olarak ayarlıyorsunuz. Bu dizinlerin üstüne tıkladığınızda masa üstünüz bu dizin oluyor ve o dizinin altındaki dosyalar ve dizinler masa üstüne diziliyor. Bu dizinler için ayrı arka plan resimleri ve diğer ayarlar tutuluyor.
Pencere yönetimine gelirsek. Uygulama pencereleri her masa üstünde görünür olabileceği gibi açıldığı masa üstünden çıkıldığı zaman gizlenebilir. Bu uygulamayı zaten çoklu masa üstü ortamlarından tanıyoruz.
Bunları bir araya getirelim; masa üstlerine de temalar atayalim. Resim, muzik, film, belge masa üstleri olsun. İkonların resimleri, arka fon resmi temaya uygun olarak değişsin. Resim dizininde kullanıcının resimleri, muzik'te mp3'ler, belge de belgeler şeklinde. Bu masa üstlerine bir de tema ile ilgili programların ikonlarını da koyalım. Müzik masasında winamp, ses kaydedici program vs; belge masasında openoffice, acrobat gibi. Böylece uygulamalarla ilgili dosyalara kolaylıkla erişilebilinen bir ortam elde ediyoruz.
Bu masaları evinizin birer odası olarak hayal edin. Müzik odanıza giriyorsunuz kasetleriniz, cdlariniz, muzik calariniz, gitariniz. Sinema odanizda dvdleriniz, projectorunuz. Belge odanizda kutuphanenizda bir kitap okurken, muzik odanizda actiginiz radyonun sesini duyorsunuz. Sonra caniniz sıkılıyor ve resim odaniza geciyorsunuz; hemen ortada en son calistiginiz eserler :) cift tiklayip resmi photoshop'ta acin. Diger uygulamalarin pencereleri kendi masa üstlerinde sizi rahatsiz etmeden calisin.
Ürünü iyice pazarladiktan sonra gelelim gerçeklemeye. Windows'ta böyle bir uygulama nasil gerceklestirilir pek bir fikrim yok. Bir linux adami oldugum icin ve her turlu ayarlamaya acik oldugu icin linux'e eğilecegim. Linux'te farkli masa ustleri (hepsinde ayni dosyalar ve dizinlerle) zaten yaygin bir uygulama. Eldeki hazir pencere yoneticilerini fazla degistirmeyen ve yeniden derleme gerektirmeyen bir cozum cok guzel olacaktir. Uygulamamiz kendini dizinlerin acilmasi sirasinda uyandirilacak sekilde ayarlar. Dizin acilmak istendiginde uygulama dizinin ayarlarina bakar. Eger dizin bir masa ustu diziniyse pencere yoneticisine masa ustu dizinini degistirmesini soyler, gerekirse arka plan resmi ve diger görsel ayarlar da degisir. Masa ustunun guncellenmesini pencere yoneticisi bizim icin yapar. Uygulama ilk kuruldugunda istege gore resim, muzik, belge gibi populer dizinleri yaratip bu konularla ilgili promlarin kisa yollarini bu dizinlere koyabilir.
Epey uzun bir yazi oldu. Yazimi, uygun bir zaman bulunca bu uygulamayi gelistirmeye calisacagim sozuyle noktaliyorum. Tabii acik kaynak kodlu olcak :)

4 Kasım 2007 Pazar

Şişen Mont

Hayıııır! Hayıııır! Bu blog 3-4 yazı sonra ölmeyecek! :D Artık ne desem boş. Her şey emek istiyor kardeşim. Bir şey de çıkıp kendi kendine olsun be. Mesela blogger.com gelip beynimden fikirleri emsin yazsın siteye :) Neyse demek ki bu iş böyle olacak; hiç olmamasından iyidir.

Bu kadar yazdım, okuyan da duruma çok üzüldüm, bunu düzeltmek için hırslandım şimdi ardı ardına fikirleri sıralıyacağım zannedecek. Yok öyle bir şey. Basit küçük bir fikir sadece. Zaten küçük olduğu için üşenmeyip geçtim klavyenin başına. Neyse fikre geçelim.

Fikir şişme mont. Bu kadar. Şişen can yelekleri gibi günlük hayatta kullanmak için mont. Tabii astarı, cepleri falan olacak. Sönükken normal ince bir mont gibi kullanıyorsunuz. Şişirdiğinizde içine dolan hava sayesinde ısı yalıtımı artıyor ve kışlık mont oluyor. Taşimasi kolay. Duruma göre ısı yalıtım seviyesi ayarlanabiliyor. Can yeleği işlevi de var :) Maliyeti düşük. Tek sıkıntısı patlayabilir yada sızıntı yapabilir. İçine ısı iletimi daha düşük bir gaz doldurup satılabilir. Tabii, bu durumda müşterinin montu söndürmemesi gerekir.