Microsoft bunu hep yapıyor

İlk defa şans eseri gördüğüm bir yazıyla BlueJ adı altında bir Java eğitim IDE'si ile karşılaştım. Bir göz atmakta fayda var.
Okuduğum yazı bir gerçekten bahsediyordu. Patent denen meretin ne şekilde kullanılabileceğine güzel bir örnek.
Serbest dağıtılan bir yazılım üretiyorsunuz, bu yazılımda kullandığınız ve ilk olarak sizin bulduğunuz bazı yapılar, özellikler bir süre sonra ticari bir yazılımda ortaya çıkıyor. Ve bunu kendileri ilk defa yapıyormuş gibi gösteriyor (Her türlü ticari üründe var bu, sadece yazılımlarda değil). Siz bu ticari ürünün sizin fikirlerinizi almasına aldırmıyorsunuz, aldırdığınız tek şey bunu kendi buldukları bir şey olarak anlatmaları. Bu zorunuza gidiyor. Ah tabi o malum firma için bu da yetmiyor. Kardeşim bunu biz bulduk, patentini alıyoruz. Sen bunu kullanmaya devam edersen patent haklarımızı ödemek zorunda kalırsın diyor sana. Bunları kafamdan sıkmıyorum, Bu da lanet olası bir micro$oft davranışı. Bütün etik dışı, ahlaksız örneklerde olduğu gibi. Hala bana bazıları neden microsoft'u sevmiyorsun diye soruyor ya, şaşırıyorum :S. Şimdi nerede şu patenti savunan arkadaşlarımız? Patent haklarımızı koruyacaktı değil mi, ama nedense her zaman olduğu gibi zenginin haklarını koruyacak gibi gözüküyor. Bu yüzden, sırf bu yüzden serbest yazılıma devam.

BadVista.org

YENİ DUYURU: Microsoft patent başvurusunu çekecekmiş. Bu kadar tepki olmasaydı Microsoft doğruyu yapamayacaktı. (Kaynak)

GNU/Linux ve Bluetooth

Dizüstündeki ubuntu dağıtımında bir arkadaşımın ricasıyla bluetooth'u denemeye karar verdim. Hemen firefox'u açtım. Bir çok siteyi aratmaya başladım. Ancak daha kolay bir şeyi ilk olarak denemeye karar verdim.
Synaptic paket yöneticisini kullanarak bazı paketleri kurulması yetiyormuş. Bu şekilde rahatça Tecom USB dongle'ı bir başka bluetooth cihazıyla taratıp bulabildim.

Aşağıda uygulamanız gereken aşamalar var:
  1. İlk olarak ilgili paketleri kuralım (Dilerseniz paket yöneticisinden paketleri seçerek te kurabilirsiniz.): sudo apt-get install bluez-gnome bluez-pin bluez-utils
  2. Daha sonra Hizmetler (Services)'i System araçları altından çalıştırıp Bluetooth servisinin çalışıp çalışmadığını kontrol ediyoruz. Servisi açık değilse açıyoruz.
  3. Dongle'ı takıyoruz, ve dongle'ın kırmızı ışığı yanmıyor.
  4. Elimize bluetooth destekli telefonu alıp Cihazları taratınca Bluetooth Preferences appletinde tanımladığımız isimle dizüstünü buluyoruz.
  5. Ama bağlanamıyoruz. Çünkü servis desteklenmiyor :)
Bu bluetooth işleri bayağı kolaylaşmış. Bir de servis desteklenmiyor demesi yerine telefondan veri alabilseydim daha iyi olacaktı. O artık bir başka cihaz bulunca deneyeceğim bir durum.

Bağlantılar: Aslı Almanca olan bir bluetooth kurma sayfasının çevirisi (Yazıyı yazdıktan sonra inceledim bu sayfayı bayağı aydınlatıcı bilgi içeriyormuş)

GNU/Linux'te Flash bellek (MP3 çalar) biçimlendirme

GNU/Linux dağıtımları kullanırken yaşanan sıkıntılardan biri microsoft ürünlerinde mesela sağ tuşla açılan menüdeki gibi "Biçimlendir" şeklinde kolaylıklar olmamasıdır. Gerçi bu gnome kullanmam ile ilgili de olabilir. KDE kullanan kişiler KDE'de bunlar var diyecektir. Ama ne yapayım ben gnome'u seviyorum.

Gelelim probleme. Elimdeki flash bellek olarak kullandığım bozuk mp3 çalarım içermemesi gereken bazı dosyaları içermeye başlamıştı. Bazı dosyaları silemez olmuştum. Tahmin ettiğiniz gibi biçimlendirme vakti gelmiş aletin. Ben de hemen bunun kısa bir yolunu aradım bulamadım :) İnternette ufak bir araştırma ile aşağıdaki resimdeki aşamaları izleyerek görebilirsiniz (cihazı takın, otomatik tanıma olmuyorsa bağlamanız gerekir. sudo mount -t vfat /dev/sda /media/disk komutu ile bağlayabilirsiniz. /media/disk klasörü olmalı ve /dev/sda yerine uygun bağlantı noktasını bulmalısınız):
Çıkarıp tekrar taktığınızda veya tekrar bağladığınızda (mount) belleğiniz bomboş olarak işinizi görecektir. (Ben denedim oldu :D )
ÖNEMLİ NOT: Bu komutları uyguladığınız zaman flash belleğin içerisindeki verileri kaybedeceğinizi unutmayın. Yaşanacak bir yanlış veri kaybının tamamen sizin hatanız olacağını unutmayın ;) Böyle bir veri kaybı yaşamak istemiyorsanız öncelikle verilerinizi yedekleyin.

Kaynak : How do i format a USB flash drive?

Java notları

Java notları
------------

Java Mustang (j2se 6.0) çıktı ama Tiger(j2se 5.0) ile gelen yenilikler kadar kullanışlı özellikler getiremedi. Java 5.0 ile gelen yeniliklere göz atarken daha önce dikkat etmediğim birkaç eski bilgiyi de not ettim. Şöyleki:
--------------

float değişkeni: "float" veri tipi, tek-duyarlı, 32 bit, IEEE 754 kayan noktalıdır. "Byte" ve "short" veri tiplerinde önerildiği gibi "float" veri tipini("double yerine"), geniş veri dizilerine ihtiyaç duyulan yerlerde, bellekten kazanmak için kullanın.
Float veri tipi, para kuru gibi duyarlılık gerektiren değerler için kesinlikle kullanılmamalıdır. Bu değerlerde, java platformunun sağladığı java.math.BigDecimal sınıfını kullanmak daha uygundur.
--------------

double değişken: "double" veri tipi, çift-duyarlı, 64 bit, IEEE 754 kayan noktalıdır. Bu veri tipi de para kuru gibi duyarlılık gerektiren değerler için kesinlikle kullanılmamalıdır.
--------------

özel karakterler: \b (backspace), \t (tab), \n (line feed), \f (form feed), \r (carriage return), \" (double quote), \' (single quote), and \\ (backslash).
--------------

mantıksal ve bit tabanlı karşılaştırmalar:
Operators Precedence
bitwise AND &
bitwise exclusive OR ^
bitwise inclusive OR |
logical AND &&
logical OR ||
--------------

Parametreler, bir metodun tanımındaki değişkenler listesidir. Argumanlar ise, metod çağrıldığında geçişi yapılan değerlerdir.
--------------

İçiçe sınıfların kullanım amacı:
-Tek bir yerde kullanılan sınıfları mantıksal olarak gruplama yöntemidir.
-Kapsülleme/sarma (encapsulation) nın artmasını sağlar.
-Okunabilirlik ve bakımı kolaylaştırır.
--------------

Açıklayıcı not(Annotation): Aslında programın bir parçası olmayan, program hakkında veri sağlarlar. Açıkladıkları kodun işleyişi üzerinde doğrudan etkileri yoktur.

Birkaç farklı kullanım alanları vardır:

* Derleyici için bilgi - Açıklayıcı notlar, derleyici tarafından hataları bulmak ve uyarıları önlemek için kullanılabilir.
* Derleme ve kurulum zamanı işlemi - Yazılım araçları, kod, XML dosyası v.b. oluşturmak için açıklayıcı notları işleyebilirler.
* Çalışma zamanı işlemi - Bazı açıklamalar çalışma zamanında sınanabilirler.

Açıklama notları program içerisinde; sınıf, değişken, metod ve diğer programlama elemanlarına uygulanabilirler.

Açıklama notları önce yazılır; adlandırılmış veya adlandırılmamış değerler içerebilir:

@Author(
name = "Benjamin Franklin",
date = "3/27/2003"
)
class MyClass() { }

veya

@SuppressWarnings(value = "unchecked")
void myMethod() { }

Dökümantasyon
Bir yazılım takımının geliştirdiği her sınıfın başına, yorum satırları şeklinde önemli bilgileri eklediğini düşünün:


public class Generation3List extends Generation2List {

// Author: John Doe
// Date: 3/17/2002
// Current revision: 6
// Last modified: 4/12/2004
// By: Jane Doe
// Reviewers: Alice, Bill, Cindy

// class code goes here

}

Aynı üstbilgiyi açıklayıcı not olarak ekleyebilmek için öncelikle açıklamanın türünün belirtilmesi gerekir:


@interface ClassPreamble {
String author();
String date();
int currentRevision() default 1;
String lastModified() default "N/A";
String lastModifiedBy() default "N/A";
String[] reviewers(); // Note use of array
}

@ = "AT" Açıklama türüne işaret eder.


Açıklama türü tanımlandıktan sonra, değerleri de dolu olarak, o türün açıklamalarını şu şekilde kullanabilirsiniz:

@ClassPreamble (
author = "John Doe",
date = "3/17/2002",
currentRevision = 6,
lastModified = "4/12/2004",
lastModifiedBy = "Jane Doe"
reviewers = {"Alice", "Bob", "Cindy"} // Note array notation
)
public class Generation3List extends Generation2List {

// class code goes here

}

Not: @ClassPreamble içindeki bilginin Javadoc ile oluşturulan dökümantasyon içerinde de olması için, @ClassPreamble tanımının @Documented açıklama notu ile belirtilmesi gerekir:

import java.lang.annotation.*; // import this to use @Documented

@Documented
@interface ClassPreamble {

// Annotation element definitions

}



Kaynak: The Java Tutorial

bisiklet = uygarlık = yaşama saygı

Bisikletle ilgili haberler okudum. Ben bisikletimi kullanmayalı aylar oldu; insanlar ise bu buluştan en iyi şekilde yararlanmaya devam ediyorlar.

Radikal gazatesindeki haber şöyle diyor:
"16 milyon nüfuslu Hollanda'da insandan çok bisiklet var. 18 milyon bisiklet bulunan ülkede, bir Hollandalı iki tekerlek üstünde yılda 917 km.'den fazla yol yapıyor. Amsterdam merkez istasyonunda çok katlı bisiklet otoparkı, her köşede bisiklet parkı alanı var. Birçok politikacı ve kraliyet üyeleri bile bisiklete biniyor."

Ntv'nin sitesinde ise, 1800'lü yılların başında icat edilen bisikletin halen gelişmekte olduğunu gösterir bir haber ile karşılaştım.

"Ayakla sürülen bisiklete NASA talip

ABD’de Curtis DeForest adlı bir mucit tarafından icat edilen, normal bisikletten daha hızlı ve güvenli olan tuhaf görünümlü araç NASA’nın ilgisini çekti.

Buluşuna HyperBike adını veren ve normal bisikletin kusurlarını ortadan kaldırmak için bu aracı tasarladığını söyleyen DeForest, HyperBike’ı kullanmayı kuru mekanda yüzmeye benzetiyor.

Koltuğu bulunmayan, sürücünün ayakta durduğu araç, kolaylıkla saatte 80 km hıza ulaşabiliyor. Yaklaşık 2,5 metre çapındaki 2 tekerleğin birbirinden alttan 160 cm, üstten ise 65 cm uzaklıkta durması araca garip bir görünüm veriyor. Araçta kollar yardımıyla ilave güç de yaratılabiliyor."

Uygarlığın ve yaşama saygının göstergelerinden biri olarak kabul ettiğim bisiklet ve kullanımının yaygınlaşması ile ilgili bu tür gelişmeleri
ülkemizde de görmek isterdim.

Kitaplar

dbadioxide'in ilgili yazısını okuduktan sonra bugün boş boş migrostaki kitap rafında incelediğim bir kitap geldi aklıma. Kitap rafından bir kaç kitabın adını almıştım, anlık hafıza kaybı yaşayabildiğim için incelediğim Modern Zaman Hastalıkları adlı kitabı notlarımın arasına diğer kitaplarla birlikte kaydetmeyi unutmuştum. Peki bağlantı nereden diye sorarsanız sleeper in metropolis şarkısının videosunu dinlerken (o arada ben başka bir şeyler inceliyordum görüntüyü takip edemedim :D ) bazı sözler bana metropol insanının hastalıklarını hatırlattı ve dank diye kitap geldi aklıma. Rafın başında kitap isimlerini not alırken alık gibi düşünmüştüm ben bir kitaba diye bakmıştım diye, böyle birden aklıma gelince şaşırdım. Not aldığım diğer kitapları da merak ederseniz :
Sadece aptallar 8 saat uyur (eksisozluk)
Öğretmenin 55 altın kuralı

Finaller bitince alacağım ve okuyacağım bu kitapları.

Kendime uyarı: Yarın finalin var, büyük ihtimalle sabahlayacaksın ama sen vaktini günlüğe yazmakla harcıyorsun, seni bu kaytarma alışkanlığından dolayı tebrik ediyorum.

Düzeltme: Kitaplar ilgili ayrıntılı bilgi için eksisozluk'ten yararlanabilirsiniz.

Online Programlama IDE'si

Basic, Pascal, C++, Perl, Javascript, HTML, Lisp ve MATH dillerinde kod yazıp deneyebileceğiniz internet üzerinden erişilebilir bir IDE ile karşılaştım. İlgilisine duyurulur.

Python mu Ruby mi?

Kafamı meşgul eden önemli bir soru bu aslında, ama nedense Python'u daha çok seviyorum :S Şurada bu konuda yorumlar yazılmış. Bakalım sanırım ben Python'u daha fazla öğrenmeye karar vereceğim. Ama nedenini sormayın, tamamen duygusal. Ruby'i hiç kullanmadığımı da belirtmeliyim :)

Önemli Not: Açıkçası bazı yorumlara güldüm :)

Bir başka not: Sanırım ubuntu kullanmam ve Blender'ın Python ile yazılmış olması nedeniyle ve daha buna benzer GNU/Linux ile alakalı nedenlerden Python'u tercih ediyor olabilirim. Dediğim gibi tamamen duygusal nedenlerden.

Bir site hakkında

Bilgisayar bilimlerinin önemli konularından birisi veri yapılarıdır. Onlarsız çoğu işi yapamazsınız. Her zamanki gibi dzone'da takılırken peşpeşe aynı siteden gelen yazılarla karşılaştım. Sitenin anasayfasına gidip veri yapıları ve algoritmalarla ilgili önemli ipuçları verdiğini gördüm. O zaman bari bende Türkçe konuşanlarla siteyi paylaşayım dedim. Bu postanın tüm amacı budur.

OpenOffice ODT Microsoft DOC ile karşılaştırılmış

Ciddi anlamda biçim bağımsızlığını savunmaya başladığım için genellikle gönderimleri PDF olarak yapmaktayım. Elbette tercihim ODT olurdu ama malum platformlarda açabilecek uygun bir araç bulmak zorlaşabilir. Herkesi de Microsoftun yaptığı gibi OpenOffice kurmaya zorlayamayız değil mi? :)

Gezinirken (dzone'da tabiki) ODT ve DOC'u karşılaştıran ingilizce bir yazıyla karşılaştım. Ve ilginç sonuçlar olduğunu farkettim. Paylaşmam gerektiğini düşünüyorum. Ama telif hakkı meselesi nedeniyle özür dileyerek ingilizcesini veriyorum. Tabloları bile inceleyip anlamanız yeterli (Sırasıyla Dosya Tipleri ve boyutlarını, Birbirine çevrilmeleri sonucu oluşan boyutları, Sıkıştırma sonrası boyutları tablolarda görebilirsiniz).

Size tavsiyem eğer ODT kullanmakta sıkıntı yaşıyorsanız (benim gibi) dosyaları paylaşmak için PDF kullanın. Nedenleri için bu siteyi okuyabilirsiniz. Elbette en önemli neden açık bir biçim olmasıdır.

Online Çevirme Aracı

2 Günde 4 Film

Bayram tatilini çok verimli değerlendirerek 48 saat içerisinde izlemeye bir türlü fırsat bulamadığım en az 4 filmi izlemeye karar verdim. Üçünü izlemeyi başardım.
İlk olarak Filler ve Çimen'i izledim. Derviş Zaim'in daha önce Tabutta Rövaşata'sını izlemiştim. Bu iki film de güzel filmler. Henüz izlemediyseniz izlemenizi tavsiye ederim. Derviş Zaim'in Çamur'unu da en kısa zamanda izleyeceğim. Büyük ihtimalle o da hoşuma gidecektir. Ha bir de Cenneti Beklerken var. Aslında Cenneti beklerken filmine sinemaya gitsem iyi olabilir. Uzun zamandır gidemiyorum.
Filler ve Çimen'in üzerine yine bir Türk filmi olan Fasulye'yi izledim. Açıkçası bu film de ilginç bir filmdi. Daha sonra Samaritan Girl filmini izledim. Her ne kadar uzak doğu sineması çok fazla hoşuma gitmese de (özellikle korku ve gerilim türleri - mesela one missed call) bu filmde gözüme sokulan ilişkiler ve sahneler etkiledi beni açıkçası. Ve son olarak Lilja 4 Ever'i izleyeceğim. Sanırım en çok etkileneceğim filmi en sona bırakmışım farkında olmadan. Bayram tatili sonrası filmler dolayısıyla daha depresif bir hale bürünmezsem iyidir. Sınavlar da yaklaşıyor aslında :)

Kutlu Olsun

Yeni yıl geldi. Herkese sağlık, mutluluk ve huzur getirmesini dilerim. Geçen yıl içerisinde (Mart ayından beri) faydalı faydasız 164 yazı yazmışız. Yeni yılda bu sayının kat kat fazla olması için elimizden geleni yapacağız :D Ayrıca sanırım faydalı yazıları da arttırmaya gayret edeceğiz. Ben de sanki bu siteyi sürekli takip eden insanlar varmış gibi yazıyorum ya, helal olsun bana...

Yeni yılınız kutlu olsun. Kurban bayramınız da tabi.