30.07.2010

Sanoodi.com

Cep telefonumda GPS özelliği var. Beni Ovi Maps veya Google Maps aracılığıyla yönlendirebiliyor. Gittiğim yerleri harita üzerinde işaretleyebiliyorum. Ama bir yolculuk sırasında nerelerden geçtiğimi kaydedemiyorum.

Eğer yürüyüş, koşu veya bisiklet gibi zevkleriniz varsa Sanoodi.com ilginizi çekebilir. Site tek başına da yeterince işlevsel. Coğrafi olarak sizinle benzer hobilere sahip kişileri bulabilir, yeni rotalar oluşturabilirsiniz. Ama Sanoodi'nin asıl güzelliği GPS özellikli telefonlara yüklenebilen SMap yazılımında. SMap, Symbian, iPhone, Windows Mobile ve Blackberry üzerine yüklenebilen sürümlere sahip. Yani üzerinde GPS olan telefonların neredeyse hepsine yüklenebilecek birşey.

Önce siteye girerek sağ üst köşeden "join" bağlantısını tıklayarak bu nadide topluluğa katıldım. Bir kullanıcı adı ve şifrem oldu. Burada hangi kullanıcı adı ve şifreyi seçtiğiniz önemli, çünkü bunu telefonunuzda da kullanacaksınız. Benim gibi karışık bir şifre seçip sonra o şifreyi 9 tuşun kombinasyonlarıyla yazmak zorunda kalabilirsiniz. Çok basit bir şifre de seçmeyin, çünkü kolay tahmin edilebilir şifreler sanal dünyada başınıza tahmin edilemeyecek dertler açabilir (hatta açar).


Neyse, bir sonraki adımda yine sayfanın sağ üst köşesindeki "Go Mobile" menüsünün altından telefon platformunuzu seçin. Benimki S60 olduğundan ben onu seçtim. Açılan sayfanın sol alt köşesinde "Download SMap" bağlantısı vardı. İsterseniz bu bağlantıyı bilgisayarınızdan tıklayıp sis dosyasını bilgisayarınıza indirip, daha sonra onu hafıza kartınıza atabilirsiniz. Ya da Nokia PC Suite ile bu yazılımı USB üzerinden telefonunuza kurabilirsiniz. Ama ben doğrudan cep telefonumdan www.sanoodi.com/gomobile/nokia-s60/ sitesine giderek sis dosyasını telefonumdan indirdim. Bu yöntemi diğer platformlarda da sorunsuz olarak uygulayabileceğinizi düşünüyorum.


sis dosyasının telefona kurulumunu tamamladıktan sonra "Create new user" ile kullanıcı yaratıp (ki bu kullanıcı adı ve şifre web sitesinde yaratılanla aynı olmak zorunda) kullanmaya başlayabilirsiniz.

Programa her girişte kullanıcı adı ve şifre istiyor. Birden fazla kullanıcı ile giriş yapmak mümkün (Elbette hepsinin web sitesinde yaratılmış hesapları olması gerek. Rotalarınızı sanoodi.com'a upload etmek yerine başka bir yerde kullanmak istiyorsanız buna gerek yok tabi). Giriş sonrasında 3 komutlu bir menü karşılayacak. Record Route ile yeni bir rota yaratıp kaydetmeye başlayabilirsiniz. Challenge'ı şimdilik atlıyorum, çünkü S60 platformu henüz desteklenmiyor. Show Routes ile de daha önce kaydettiğiniz rotaları görüntüleyebilirsiniz. Rotanızı kaydettikten sonra Sanoodi'nin web sunucusuna upload etmeniz gerek. İlk upload sırasında, daha önce yapmadıysanız hesabınızı doğrulamanız istenecek. Kullanıcı adı ve şifrenizin web sitesinde yaratılanla eşit olması gerekliliği burada önem kazanıyor. Upload edilen rotalar Sanoodi sitesinden görüntülenebilir.



Dikkat edilmesi gereken bir nokta da yeni yaratılan rotaya verilecek isim. Türkçe karakter kullanmaktan kaçının. Kullandığım 1.1.1 sürümde yaşadığım bazı sorunların Türkçe karakterlerle ilgili olduğunu düşünüyorum. SMap'in "Show Routes" kısmı hiç açılmıyordu, hata mesajı falan da vermiyordu. Böyle bir durumda hafıza kartıma kurduğum SMap'in /Sanoodi adlı klasöründeki SMap.db.e32dbm dosyasını silip, SMap'in bir sonraki açılısında bu dosyanın yeniden yaratılmasını sağlyarak tüm ayarları sıfırladım. Ancak bu, upload veya export edilmemiş rotaların da kaybolması demek. Bunun yerine ben bu dosyayı bir şekilde (!) açıp, içinden GPS verilerini elle çıkartıp daha sonra da tüm ayarları sıfırlamayı seçtim. Kesinlikle kolay bir yol değildi :)

Bundan sonraki adımda sizin rotanız da Google Maps veya benzer bir altyapı üzerinde işaretlenecek. Sizinle aynı hobiye sahip kişiler sizin rotalarınızı görerek iletişime geçmek isteyebilir, ya da siz böyle bir girişimde bulunabilirsiniz.

Eğer rotalarınızı Sanoodi.com'un üzerinde yayınlamayı değil de sadece kaydettiğiniz GPS verilerini kullanmayı düşünüyorsanız cep telefonunuz üzerinde yarattığınız kullanıcının web sitesinde yarattığınız kullanıcı adı ve şifre ile eşleşmesine gerek yok. Kaydettiğiniz verileri upload etme niyetiniz olmadığı sürece offline çalışarak, rotanızı popüler formatlara (GPX ve KML) export edip daha sonra bilgisayarınıza aktarabilirsiniz. Sonrası size kalmış.

Bütün bunların ücretsiz olduğunu söylersek bu iş daha da çekici olur herhalde.

NOT: Benzer bir işi Google Maps ile de yapabilirsiniz. Eğer elinizde GPS veriniz varsa (ki bunu da SMap ile kaydedebilirsiniz) veya rotanızı elle çizmek istiyorsanız Google Maps'te oturum açıp Haritalarım'a tıklamanız yeterli.
Tur öncesi bir planlama yapmak içinse www.mapmyfitness.com sitesi çok faydalı bir site.

Symbian telefonda müzik kütüphanesinin bozulması sorunu

Nokia N79 telefonumun tüm özelliklerini çok seviyorum. En kısa ifadeyle "yok" yok. Ama bir süredir müzik kütüphanesinde (library) var olmayan bir albüm adına rastlıyordum. Silmeye çalıştığımda da hata verip çıkıyordu. Çözümü nasıl bulacağımı bilemeden yaptığım bir Google aramasında şu sayfayı buldum. ID3 tagları vs. ile çok uğraşınca böyle hataların olabileceğinden bahsetmiş ve çözüm olarak kütüphane veritabanı dosyasının silinmesini önermiş; bir sonraki açılışta müzikçalar nasıl olsa kütüphane veritabanını tekrar yaratacak düşüncesiyle.

Bunu yapmak için uyguladığım adımlar şöyle:
  1. Telefonu USB ile bilgisayara "depolama" kipinde bağladım. Bunun yerine kartı telefondan çıkartıp bir kart okuyucu ile de verilere erişebilirdim.
  2. Ardından bilgisayarımda bellek kartına atanan sürücüya giderek (örneğin benim bilgisayarımda bu F: sürücüsüydü) F:\Private klasörünün altında şu dosyaları aratarak bulduklarımı sildim.

    • [101ffc31]mpxv2_5.db
    • [101ffc31]pcv6_1.db
    • [102830AB]thumbnail_v2.db
    • harvesterdbv9_5.dat

    Ama bende [101ffc31]mpxv2_5.db yerine [101ffc31]mpxv2_2.db gibi ufak bir farklılık vardı ve [102830AB]thumbnail_v2.db yoktu. Zaten thumbnail'lerle bir işim yok.
  3. Bu işlemden sonra USB bağlantısını arkadaşça sonlandırdım ve kabloyu söktükten sonra tekrar müzikçaları başlattım. İlk seferde sordu ama sormazsa da müzik kütüphanesini güncellemeyi seçecektim. Bu işlem bittikten sonra o başıboş albüm isimleri falan kaybolmuştu.
Buna alternatif olarak hafıza kartını formatlamayı (eğer kütüphanedeki referans hafıza kartınaysa tabi) da seçebilirsiniz. Ama bu elbette daha fazla iş demek (içindeki verilerin yedeklenmesi gibi).

Temalar da benzer bir sorunla karşılaşanlar ise http://www.megaleecher.net/Fix_Corrupted_Nokia_Themes sayfasında yazdığı gibi  \private\10207114\import  klasörü altındaki temaları silmeyi deneyebilir

15.07.2010

Google Maps ve Google Earth'e girmenin arka kapısı

Çok sansürlü az internetimiz Google'ın yaptığı ayak oyunu ile iyice arap saçına döndü. TİB niye benim Google Maps'e girmemi yasaklıyor? Ya da Google Analytics'e? Ya da Picasaweb'e?

Şükür ki bu işlerin bir arka kapısı var. Başbakan bile "Ben giriyorum, siz de girin" diyorsa ülkenin referandumlar arasına sıkışmış hukuk sisteminin saygınlığı ayrı bir yazının konusu olabilir.

Şimdi gelelim Google Maps'a girmenin yollarına. Önce DNS ayarlarınızı değiştirin. Örneğin şu yazımda anlattığım gibi OpenDNS veya Google'ın DNS sunucularını kullanın. Sonra da C:\Windows\system32\drivers\etc klasörünün altında bulunan hosts dosyasına şu satırları ekleyin (linux'ta /etc/hosts dosyasına):

74.125.77.190  mt0.google.com
74.125.77.190  mt1.google.com
74.125.43.100  id.google.com
209.85.135.91  khm.google.com
209.85.135.93  khm0.google.com
209.85.135.136 khm1.google.com
209.85.129.91  picasaweb.google.com
67.215.65.132  lh3.ggpht.com
67.215.65.132  lh4.ggpht.com
67.215.65.132  lh5.ggpht.com
67.215.65.132  lh6.ggpht.com
209.85.229.99  auth.keyhole.com
74.125.157.99  kh.google.com
74.125.157.99  geo.keyhole.com



(listeyi 21 Ağustos'ta güncelledim!)

Elbette Vista ve üzeri işletim sistemi kullananlar UAC'nin açık olması durumunda Yönetici Haklarıyla işlem yapmalı.


Google Earth için de şu satırların eklenmesi gerek:

209.85.229.99 auth.keyhole.com
74.125.157.99 kh.google.com
74.125.157.99 geo.keyhole.com

Hepsini eklemekte şimdilik bir sakınca yok. Ancak gelecekte benzer bir değişiklik olması durumunda bunları silmek veya değiştirmek gerekebilir.

Bunların dışında Google Earth, Windows'da Internet Explorer'ın proxy ayarlarını kullanıyor. Eğer Internet Explorer'ınızda bir proxy ayarı varsa ve bu proxy bu sunuculara erişimi engelliyorsa (bir ISA Server olması durumunda muhtemelen böyle olacaktır) proxy'nin devre dışı bırakılması gerekecektir. Çoğu programda olduğu gibi Google Earth'ün kendi proxy ayarlarını bulamadım.

2.07.2010

Ubuntu Server üzerine Apache web sunucu kurulumu

Ubuntu Server'ın kurulumunu tamamladıktan Apache'yi çalıştırabilmek için önce TCP/IP ayarlarının yapılması gerek. Dinamik IP ile DNS kaydı linux'ta nasıl yapılır, bilmiyorum. Bu sebeple statik bir IP adresi verdim. Ardından alan adlarına göre çalışan bir web sunucu için DNS sunucu ayarlarının yapılması gerek (aynı sunucuda veya başka sunucuda). Daha önceki şu yazımda DNS sunucu yapılandırmasını anlatmıştım. Bunlar bittikten sonra şu komutla Apache'nin kurulumu yaptım:
sudo apt-get install apache2
Apache kurulumunun başarıyla sonuçlandığından emin olmak için makinenin IP adresi ile web tarayıcıdan erişimi denedim, sorun yok. Aşağıdaki Apache'nin varsayılan web sitesi.


Bundan sonraki adım, DNS sunucuda ayarları yapılan example.com alan adına ait web sunucusunu yaratmak. Önce bu sunucun verilerinin tutulacağı yeri belirlememiz gerek. Ben /var/www/example.com'u seçtim (/home/username/www de olabilirdi). Bu klasörü yaratıyorum.
sudo mkdir /var/www/example.com
İçine de çok basit bir index.html dosyası yarattım.

<html>
  <head>
    <title>Title of example.com</title>
  </head>
   <body>
    <h1>Welcome</h1>
     <p>Here is the data of example.com</p>
  </body>
</html>

Apache'de çalışan web sunucuları /etc/apache2/sites-available klasörünün altındaki yapılandırma dosyalarıyla belirleniyor. İlk kurulumda burada sadece default var. Her web sunucu için burada bir yapılandırma dosyası yaratmak gerek. Önerilen yöntemlerden biri default'un bir kopyasını çıkararak üzerinde bizim alan adımız için değişiklikler yapmak. Bu yöntemi uygulayacaksak önce default'un bir kopyasını yaratalım.

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/example.com
Aşağıda kırmızı ile gösterdiğim satırları bu dosyaya ben ekledim. Mavi satırlar vardı, ben onları example.com alan adına göre değiştirdim.

<VirtualHost *:80>
  ServerAdmin webmaster@example.com
  DocumentRoot /var/www/example.com
  ServerName www.example.com
  ServerAlias example.com
  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>
  <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
  </Directory>
 
  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  <Directory /usr/lib/cgi-bin">
    AllowOverride None
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
  </Directory>
 
  ErrorLog /var/log/apache2/error.log
  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn
  CustomLog /var/log/apache2/access.log combined
 
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc">
  Options Indexes MultiViews FollowSymLinks
  AllowOverride None
  Order deny,allow Deny from all
  Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</virtualHost>

Ya da debian-administration.org sitesinde anlatıldığı gibi dosyayı yeniden oluşturabilirsiniz. Bu sitedeki örnek dosyanın içeriği

<VirtualHost *> # Burada *:80 olması gerekecek!!!
        ServerAdmin webmaster@example.com
        ServerName  www.example.com
        ServerAlias example.com

        # Indexes + Directory Root.
        DirectoryIndex index.html
        DocumentRoot /home/www/www.example.com/

        # CGI Directory
        ScriptAlias /cgi-bin/ /home/www/www.example.com/cgi-bin/
        <Location /cgi-bin>
                Options +ExecCGI
        </Location>


        # Logfiles
        ErrorLog  /home/www/www.example.com/logs/error.log
        CustomLog /home/www/www.example.com/logs/access.log combined
</VirtualHost>

ErrorLog ve CustomLog ile hata dosyalarının yerlerini belirlemek de iyi bir fikir.

Bir makine üzerinde birden fazla web sunucu çalıştırabilmek için şu 3 koşuldan birinin sağlanması gerek:
  1. IP adresleri farklı olmalı
  2. Dinledikleri port farklı olmalı (default 80)
  3. Host header'ları farklı olmalı
Bu şartların arasında en pratik olanı 3.sü. Bu konuyu öğrenirken en çok bu noktada kafam karıştı. Dökümantasyona göre ya virtual.conf dosyasına, ya da diğer yapılandırma dosyalarının birine NameVirtualHost direktifini eklemem gerekiyordu. Ne yaptıysam hatalardan kurtulamadım. Sonunda farkettim ki, ports.conf dosyasında zaten bir tane NameVirtualHost *:80 direktifi varmış. İkinciyi eklemeye gerek yok. Peki *:80 ne demek? Makinenin sahip olduğu bütün IP adreslerinde 80 numaralı portu dinle demek. Web sitemizin yapılandırma dosyasındaki <VirtualHost *:80> direktifine de dikkat! ports.conf dosyasında *:80 olduğu için burada da *:80 kullanmalıyız. debian-administration.org örneğindeki gibi <VirtualHost *> kullandığımda hata mesajıyla karşılaştım. Onun için yukarıda kırmızı ile bunu ayrıca vurguladım.

Bu noktadan sonra default web sitemi kapatıp (namevirtualhost kullandığımızı varsayarsak bu da seçimlik; isterseniz kapatmayabilirsiniz) yeni yarattığım example.com'u etkinleştirmem gerek. Bunu aşağıdaki script'lerle yapıyorum. Ardından da apache'yi reload etmem gerek.

sudo a2dissite /etc/apache2/sites-available/default
sudo a2ensite /etc/apache2/sites-available/example.com
sudo /etc/init.d/apache reload

Bundan sonra sitemizi denemek için web tarayıcımızın adres satırına www.example.com yazmak kaldı. Eğer şu ekranla karşılaşırsanız


DNS ayarlarınızı kontrol etmeniz gerekecek. Çünkü bu sayfa, sizin kurduğunuz Ubuntu Server'dan değil, internetteki bir sunucudan geliyor. Bu tarayıcının çalıştığı bilgisayarın DNS sunucusunu Ubuntu'nun adresi olarak vermeniz gerek. Bunu yapınca yarattığım index.html dosyası karşıma geldi:


1.07.2010

Ubuntu Server kurulumunda Virtual Machine Host seçimi

Ubuntu Server'ın kurulumu sırasında sunucu görevlerinin seçildiği aşağıdaki ekranda


"Virtual Machine Host"un varlığının sebebini bir süredir merak ediyordum. Buradaki seçeneklerin bir çoğunun durumu açık: "DNS Server" bind9'u kurar, "LAMP" apache2+MySql+Php'yi kurar vs. Ama "Virtual Machine Host" ne kurar, bilemiyordum. Google aramalarına göre kimisi bu seçeneği işaretleyerek VMware Server kurulumu yapılmasını önermiş, kimisi bu seçeneğin KVM'yi kurmasından dolayı VMware Server kuracaksanız bunu işaretlemeyin demiş falan, filan... En iyisi "Virtual Machine Host" işaretli ve işaretsiz iki kurulum yapıp arasında bir karşılaştırma yapmak.

Virtualbox'a iki kurulum yaptım; birincisinde bu ekranda hiçbir seçeneği işaretlemedim. Sonra aşağıdaki komutla kurulan paketlerin listesini çıkarttım:

sudo dpkg -l > ubusrv1.txt

İkinci kurulumda ise bu ekranda sadece "Virtual Machine Host"u seçtim. Yine yukarıdaki aynı komutla kurulmuş paketlerin listesini çıkarttım:

sudo dpkg -l > ubusrv2.txt

Ardından bu iki dosyayı WinMerge'ü kullanarak karşılaştırdım. Buna göre "Virtual Machine Host" seçeneği işaretlenerek yapılan kurulumda fazladan şu paketler var:


bridge-utils Utilities for configuring the Linux Ethernet
consolekit framework for defining and tracking users, s
dbus simple interprocess messaging system
dnsmasq-base A small caching DNS proxy and DHCP/TFTP serv
hal Hardware Abstraction Layer
hal-info Hardware Abstraction Layer - fdi files
kvm dummy transitional pacakge from kvm to qemu-
libaio1 Linux kernel AIO access library - shared lib
libasound2 shared library for ALSA applications
libavahi-client3 Avahi client library
libavahi-common-data Avahi common data files
libavahi-common3 Avahi common library
libck-connector0 ConsoleKit libraries
libdevmapper-event1.02.1 The Linux Kernel Device Mapper userspace lib
libdirectfb-1.2-0 direct frame buffer graphics - shared librar
libeggdbus-1-0 D-Bus bindings for GObject
libflac8 Free Lossless Audio Codec - runtime C librar
libhal-storage1 Hardware Abstraction Layer - shared library
libhal1 Hardware Abstraction Layer - shared library
libice6 X11 Inter-Client Exchange library
libogg0 Ogg bitstream library
libpam-ck-connector ConsoleKit PAM module
libpciaccess0 Generic PCI access library for X
libpolkit-gobject-1-0 PolicyKit Authorization API
libpulse0 PulseAudio client libraries
libsdl1.2debian Simple DirectMedia Layer
libsdl1.2debian-alsa Simple DirectMedia Layer (with X11 and ALSA
libsm6 X11 Session Management library
libsndfile1 Library for reading/writing audio files
libsysfs2 interface library to sysfs
libts-0.0-0 touch screen library
libvirt-bin the programs for the libvirt library
libvirt0 library for interfacing with different virtu
libvorbis0a The Vorbis General Audio Compression Codec (
libvorbisenc2 The Vorbis General Audio Compression Codec (
libwrap0 Wietse Venema's TCP wrappers library
libx86-1 x86 real-mode library
libxen3 library interface for Xen, a Virtual Machine
libxi6 X11 Input extension library
libxtst6 X11 Testing -- Resource extension library
lvm2 The Linux Logical Volume Manager
openssh-server secure shell (SSH) server, for secure access
pm-utils utilities and scripts for power management
qemu-common qemu common functionality (bios, documentati
qemu-kvm Full virtualization on i386 and amd64 hardwa
radeontool utility to control ATI Radeon backlight func
seabios legacy BIOS implementation which can be used
smartdimmer Change LCD brightness on Geforce cards
tcpd Wietse Venema's TCP wrapper utilities
tsconf touch screen library common files
ubuntu-virt-server Common packages necessary for hosting virtua
vbetool run real-mode video BIOS code to alter hardw
vgabios VGA BIOS software for the Bochs and Qemu emu
watershed reduce superfluous executions of idempotent
x11-common X Window System (X.Org) infrastructure

Görüleceği gibi bu seçenekle kvm, qemu-kvm ve qemu-common gibi paketler geliyor. qemu da bir sanallaştırma yazılımı ama VMware ile bir ilgisi yok.

Buradan şu sonuç çıkıyor: "Virtual Machine Host" seçeneği ile yapılan kurulum hiçbir şekilde VMware Server bileşeni kurmadığı gibi, VMware Server kurulumu için de pek uygun bir seçenek değil. Amaç Ubuntu üzerinde VMware Server çalıştırmaksa "Virtual Machine Host" seçeneğini hiç işaretlememek daha iyi bir fikir.