Herşey 3-4 ay önce Arthur C. Clarke‘nin 2001: Bir Uzay Efsanesi adlı eserini okumamla başladı. Kitabı bitirdiğimde içimde birşeyler kıpırdandı ama o an için serinin devamı elimde olmadığı için başka kitaba yönelince bu heyecanım kaybolmuştu. Neyse bir süre sonra serideki eksik olan 2 kitabı ve başka bir seri olan 4 ciltlik Rama serisini edindim.

Okudukça, aslında çok beğendiğim hayalgücümün  ne kadar sığ olduğunu anladım. Normal zamanda hiç akla gelmeyecek kurgulamalar, bilimsel gelişmeler ve bilgisayar teknolojisi beni alıp başka diyarlara götürdü resmen. Uzay Efsanesi ve Rama’yı bir bütün olarak ele alırsak 7 ciltlik seriyi geçen hafta içerisinde bitirdim. Aslında çok da anlatıp serilerin kilit noktalarını ortaya koymak istemiyorum, ama eğer bilimkurgu, bilgisayar vb. konulara ilgi duyuyorsanız mutlaka okumalısınız.
Okuduktan sonra eminim sizlerin de hayal dünyası benimkinde olduğu gibi alt üst olacaktır.

Belki kullanmaya başlayanlar bile olmuştur, ama ben yine de yazacağım. Evet şaka yok, yalan yok resmi olarak Linux Kernel 3.2 duyruldu.

Yeni çekirdek sistemi ile gelen temel özelliklerden bazıları şunlar:

  • 4KB’tan 1MB’a kadar olan EXT4 block boyutu için destek.
  • Kayıp veri paketinin geri kazanımını hızlandıracak olan TCP güncellemesi.
  •  Yeni aygıtlatın Device Mapper üzerinde desteklenmesi.

Yazmaya üşendiğim diğer yeniliklere de buradan erişebilirsiniz.

Bir projeyle ilgilenirseniz takibi çok kolaydır. Proje ile ilgili en ufak bir ayrıntıya bile hakim olabilirsiniz. Ucundan kıyısından girdiğiniz proje sayısı arttıkça hem takip zorlaşır hem de yapacaklarınız birbirine girer. İşte benim de böyle bir sıkıntım var. Önceleri kağıtlara not almayı denedim, yetmedi post-it kullanarak sorunuma çare olmaya çalıştım. Bu sefer de not aldığım kağıdı ofiste ya da evde unutmaya başladım.

Ne yapacağımı düşünürken birden Windows’taki yapışkan not benzeri bir uygulama geliştirmek geldi aklıma. Tabi birebir aynısını yapsam kopyacı olacağım için konsol tabanlı ve benimle etkileşime giren bir yazılım geliştirmek istedim. Aslında becerebilsem yapay zekanın en alt seviyelerinde bir ugyulama ortaya koymak isterdim ama şimdilik böyle olması daha iyi diye düşünüyorum.

Ajanda.py adını verdiğim basit konsol uygulaması ile tarih ve bu tarihe bağlı girdilerimi veritabanında tutabiliyorum. Günü gelen ya da günü geçmiş olan girdilerim otomatik olarak listeleniyor. Şuan için kullanılabilen komutlat listele(), ekle(), sil() ve temizle() şeklindedir.

Yeni bir girdi için ekle(“tarih”,”girdi_icerigi”) seklinde kullanırsınız, tarihe bağlı girdi temizlemesi için de sil(“tarih”) komutunu kullanmanız yeterlidir. listele() fonksiyonu ile gelmiş, geçmiş, gelecek olan tüm girdiler listelenirken, temizle() komutu ile de gelmiş, geçmiş, gelecek olan tüm girdiler silinir.

Çalışmak için hiçbir ek modüle ihtiyaç duymaz, girdileri shelve modülü yardımı ile ajanda.db adlı dosyada saklar, eğer bu dosyayı silerseniz de tüm girdiler maalesef uçar.

İleride eklemeyi düşündüğüm fonksiyonlar arasında güncelleme, ve tarihe göre sorgulama işlemleri var. Bunları bitirdikten sonra da görsellik üzerinde çalışabilirim.

Şimdilik bu kadar, 2012′ye girerken biraz daha birşeyle eklemeyi planlıyorum, yayınladığım linki güncellersem yine bu başlık altından sizle paylaşırım.

 

Yıllarca sayısal loto oynadım, hatta bazı haftalar öyle durumlara geldim ki yazdığım 6 rakamın hiç biri tutmadı. Ben de artık strateji değiştirip rakam tercihlerimi makinenin yapmasına karar verdim. Tabi bu makine bayideki oynadığımız makineden değil, kendi bilgisayarımı kast ediyorum.

Uzun bir aradan sonra bu isteğimi yerine getirecek bir Python betiği yazdım, bu hafta deneyeceğim.Sizler de deneyim ama para kazanırsanız %20′si benimdir ona göre :D

Buyrun Python kodumuzu:

#!/usr/bin/env python
# -*- coding: cp1254 -*-
import random
def generate():
    kolon=[]
    while len(kolon)<6:
        sayi=random.randint(1,49)
        if sayi not in kolon:
            kolon.append(sayi)
    x=sorted(kolon)
    return x

def cikis():
    while 1:
        karar=raw_input("Devam etmek istiyor musunuz?[E/H]")
        if karar=="e" or karar=="E" or karar=="h" or karar=="H":
            break
        else:
            print "Yanlis secim yaptiniz,lutfen seciminizi duzetiniz"
    return karar

print "Merhaba ben sayisal loto tahmin ureteciyim."
karar="e"
while karar=="e" or karar=="E":
    try:
        kolon_sayisi=input("Kac kolon oynamak istiyorsunuz?")
        hedef=0
        while hedef<kolon_sayisi:
            print "Kolon %d=" %(hedef+1),generate()
            hedef=hedef+1
    except:
         print "Bir tam sayi secimi yapmalisiniz"
    karar=cikis()

print "Program sonlaniyor, umarım olusturulan sayilar isinize yarar"

Vim uzun süredir program geliştirmek amaçlı kullandığım güzel bir editördür. Rakibi GNU Emacs gibi çok farklı özellikleri bünyesinde barındırmasa da işimi görme bazında çok kullanışlı geliyor bana.

Vim’in tek kötü yanı ise ilk defa kullanan amatör kullanıcılar için oldukça zor olmasıdır. Bizler yıllaraca Nano kullandığımız için görsel editör yerine konsol editörlerinin kullanımına alışık olduğumuzdan Vim’e entegrasyonumuz oldukça kısa sürdü.

Vim’e yeni başlayan kullanıcılara belki bildikleri belki de bilmedikleri çok güzel bir manual tavsiye edebilirim. Vim Manual sayfasından erişebileceğiniz bu manual’i ister online olarak isterseniz de sisteminize indirerek kullanabilirsiniz.