Tokens — Page 36

YouTube'a erişme yolları

Şimdi Türkiye’deki bazı sivri zekalı insanlar (bkz. ntvmsnbc’deki Bakan Yıldırım haberi) interneti kısıtlayabileceklerini düşünüyorlar. Başbakan bile “ben yutub’a giriyorum siz de girin” diyebiliyor. Şimdi bu durumda başbakan’ın sözüne uyarak biz de yutub’a girme rehberi hazırladık. Windows ve Linux için ayrı ayrı yapılması gerekenler var. Her iki işletim sistemi için de hosts dosyasına yutub için IP girmeniz gerekiyor. Yalnız bu dosyaların yerleri farklı. Vindovz için:

C (veya D):\Windows\system32\drivers\etc\hosts dosyasının içine şu satırları ekleyin:

208.117.236.70 www.youtube.com

208.117.236.70 youtube.com


Benim dosyamın son hali şöyle:

127.0.0.1 localhost

208.117.236.70 www.youtube.com

208.117.236.70 youtube.com


Linux içinse bu dosyanın yeri /etc/hosts . Buna da aynı satırları ekledikten sonra yutub’a girebilirsiniz. Eğer bir iPhone veya PDA tarzı bir cihazınız varsa yine hosts dosyasını bulmanız gerekiyor. Bu dosyaların yerleri vikipedi makalesinde ayrıntılı olarak açıklanmış. Tek yapmanız gereken bu dosyaları değiştirmek.

Şimdi ne yaptığımızı da şöyle açıklayayım: YouTube Google’a bağlı bir firma ve yüzlerce sunucusu bulunmakta, ve her gün yeni sunucular ekliyorlar. Bizim eklediğimiz IP yeni sunuculardan birinin IP’si ve henüz sansürcü sansarlar tarafından bilinmiyorlar. Bu sayede biz sansürden etkilenmemiş oluyoruz.

İnternette özgürlüğün keyfini çıkarın.

PostgreSQL ts_headline not working?

I was trying some examples on PosgreSQL documentation about highlighting search terms in a text. I would like to do full-text search on documents and have them highlighted by PostgreSQL automatically so that I could show them right away on a web page. The trouble was, the examples were not working out correctly for me. Here’s the correct running:

SELECT ts_headline('english', 'The most common type of search
is to find all documents containing given query terms
and return them in order of their similarity to the
query.', to_tsquery('query & similarity'));
ts_headline
------------------------------------------------------------
given <b>query</b> terms
and return them in order of their <b>similarity</b> to the
<b>query</b>.


But here’s what I was getting:

SELECT ts_headline('english', 'The most common type of search is to find all documents containing given query terms and return them in order of their similarity to the query.', to_tsquery('query & similarity'));
ts_headline
--------------------------------------------------------------------------------------
The most common type of search is to find all documents containing given query terms
(1 row)


After googling it for some time I found the reason. It is because of the default search configuration I was using. Since it is not “english”, the to_tsquery function does not work as expected.

=> show default_text_search_config;
default_text_search_config
----------------------------
pg_catalog.turkish
(1 row)

=> select to_tsquery('query & similarity');
to_tsquery
------------------------
'query' & 'similarity'
(1 row)

=> select to_tsquery('english', 'query & similarity');
to_tsquery
---------------------
'queri' & 'similar'
(1 row)


Aha. Now we can retry:

SELECT ts_headline('english', 'The most common type of search is to find all documents containing given query terms and return them in order of their similarity to the query.', to_tsquery('english', 'query & similarity'));
ts_headline
----------------------------------------------------------------------------------------------------
given <b>query</b> terms
and return them in order of their <b>similarity</b> to the
<b>query</b>.
(1 row)


Now that’s better.

PostgreSQL ve locale hakkında

Şu aralar PostgreSQL veritabanında tam yazı arama (full-text search) uygulamalarını araştırıyorum. 8.3.5 Sürümü ile birlikte gelişmiş arama özelliklerinin geldiğini bilmiyordum, bu konuda fikir sahibi olmak için dökümantasyonu bir gözden geçirin derim. Şimdiki sorunum locale’ler ve özellikle de Türkçe arama konusundaki bir takım gereklilikler. Aradığım özelliklerden en önemlisi “kirmizi” gibi bir kelime arandığında dökümanda “kırmızı” olsa bile bunu geri dönmesi. Bir anlamda Türkçe’ye özgü karakterlerin latin karşılıklarının olduğunun varsayılması. Konuyla ilgili anahtar kelimelerden birisi “collation”.

PostgreSQL’de bir veritabanı kümesi yarattıktan sonra değiştiremeyeceğiniz bazı yerelleştirme özellikleri var. Ve kullanabildiğiniz yerelleştirme özellikleri de kullandığınız sisteme bağlı aynı zamanda. Bu durumda sisteminize gerekli dil özelliklerini yüklemelisiniz. Debian için yaptıklarım şunlar:

# vim /etc/locale.gen

bu dosyayı açtıktan sonra şu iki satırın başındaki yorum işaretlerini (#) silin.

<blockquote>tr_TR ISO-8859-9
tr_TR.UTF-8 UTF-8</blockquote>
Ve sonra dil özelliklerinin tekrar derlenmesi için:

# locale-gen

dedikten sonra

# locale -a
C
en_US.utf8
POSIX
tr_TR
tr_TR.iso88599
tr_TR.utf8
turkish


komutunun çıktısı yukarıdaki gibiyse dil özellikleriniz yüklenmiş demektir.

Şimdi tekrar veritabanını kurcalamaya devam edebiliriz.

PostgreSQL

Uzun bir aradan sonra tekrar veritabanı kullanmaya başladım. MySQL ve PostgreSQL’i biraz karıştırdıktan sonra aslında ikisinin de şimdilerde çok farklı olmadığını ve ortak bir paydaya doğru gittiklerini farkettim. MySQL daha popüler ve Google, Youtube, Wikipedia, Flickr, Facebook gibi sağlam kullanıcıları var. Diğer taraftan PostgreSQL de dünyanın en büyük veritabanlarından birine sahip olduğu söylenen Yahoo! tarafından kullanılıyor. Geçmişte PostgreSQL MySQL’e göre daha fazla gelişmiş özelliklere sahip ama performansı daha düşük kabul ediliyordu ama şimdi her ikisinin de performans ve özellikleri çok benziyor.

Yeniden veritabanları konusunda bildiklerimi hatırlamam gerekiyor. Bu sayfa hem benim için, hem de benzer sorunlarla karşılaşanlar için.

Debian’da PostgreSQL’i aptitude ile kurduğunuzda bir tane “postgres” kullanıcısı yaratılıyor ve veritabanına erişim bu kullanıcı üzerinden var. Yani ilk olarak veritabanına erişmek için root kullanıcısı iken “su postgres” ile postgres kullanıcısı olup sonra “psql” komutu ile veritabanına bağlanabilirsiniz. postgres kullanıcısı güvenlik amacı ile oluşturulmuş oyuncak (dummy) bir kullanıcı, şifresi yok. Veritabanına bağlanırken ident ile kimlik doğrulama kullanıldığı için (varsayılan olarak) bu kullanıcı olmanız gerekiyor. Kimlik doğrulama konusundaki ayarları değiştirmek için /etc/postgresql altında yer alan pg_hba.conf dosyasını kurcalamanız gerekiyor.

Dilekçe

Çeşitli devlet kurumlarina (başta AKP İletişim Merkezi‘ne ve Rekabet Kurumuna) yaptigim basvurum:

<blockquote>Bir Türkiye Cumhuriyeti vatandasi olarak, bir Bilgisayar Muhendisi olarak Turk Telekom’un tekel durumundan rahatsizim. Yasalarla belirli miktarda hukuki serbestlesme saglansa da fiili tekel durumu aynen devam ediyor. Turk Telekom altyapi olarak tekel durumunda, son kullaniciya internet veya telefon hizmeti satan diger sirketler ise bu hizmetlerini Turk Telekom’dan hizmet alip katma degerle son kullaniciya satmak zorunda kaliyorlar. Bu durum serbest rekabet acisindan ve sonuc olarak verimlilik, teknolojik gelisme ve en sonunda sade vatandas acisindan cok zararli. Milliyet gazatesinden Metin Munir de bir sure once kosesinde bu konuya degindi, ilgili makale http://www.milliyet.com.tr/Yazar.aspx?aType=YazarDetayArsiv&ArticleID=1018344&AuthorID=57 adresinde ve 20 Kasim 2008 tarihli Milliyet gazetesinde. Ozetle anlatilan su ki, tum dunyada en temel ekonomi kitaplarinda serbest rekabetten bahsedilir, bunun onemi bilinir. Turkiye’de ise kartellesmenin de otesinde bir tekel vardir ama buna karsi hicbir şey yapilmiyor. Turk Telekom telefon hizmetlerindeki hakim durumunu kullanarak internet hizmeti konusunda rekabeti engelliyor. Bu durumda gerekli onlemlerin alinmasi, ve belki Turk Telekom’un bolunerek ADSL ve sabit telefon bolumlerinin ayrilmasi onem kazaniyor.

Yine bu konuda baska bir kaynak ise The Economist ‘in hazirladigi 2008 Bilişim Sektoru Rekabetcilik Raporudur. Raporun tamamina http://global.bsa.org/2008eiu/study/2008-eiu-study.pdf adresinden erisebilirsiniz. Bu raporda, ozet bolumunde (Executive Summary) benzer ifadeler gecmektedir. Direk alintiliyorum:

“Competitive broadband markets help cultivate strong IT sectors. Without fast, reliable and secure Internet access, technology firms cannot interact effectively with partners and the research community, nor can they sell their services online. IT industries in the index top tier all derive substantial benefit from the high-quality networks developed through competition, but more telecoms liberalisation is needed in less developed regions to spur infrastructure development.”

Bu konuda gorevli ve sorumlu kurum Sanayi ve Ticaret Bakanligina bagli Rekabet Kurumu’dur. Rekabet Kurumunun gorevleri kendi ag sayfasinda anlatildigi uzere (http://www.rekabet.gov.tr/index.php?Sayfa=sayfahtml&Id=110):

“Özetle; Rekabet Kurumu, 4054 Sayılı Kanun’un 20’nci maddesine göre mal ve hizmet piyasalarının serbest ve sağlıklı bir rekabet ortamı içinde teşekkülünün ve gelişmesinin temini ile bu Kanunun uygulanmasını gözetmek ve Kanunun kendisine verdiği görevleri yerine getirmek üzere kurulmuştur. Bu çerçevede Rekabet Kurumu’nun esas görevi Kanun’da kendisine verilen yetkileri kullanarak mal ve hizmet piyasalarındaki rekabetçi sürecin tehdit edilmesini engellemektedir. Rekabetçi sürecin korunması yoluyla kaynakların etkin dağılımının sağlanması, toplumsal refahın arttırılması, Rekabet Kurumu’nun misyonunun temel dayanağını oluşturmaktadır.”

Sonuc olarak serbest rekabetin toplum yarari icin onemi kesindir ve direk olarak fiyat/kalite gibi ozelliklere yansimakta, bircok sektorun gelismesini etkilemektedir. Bu durumda halkin refah seviyesinin yukselmesi ve haksizliklarin kaldirilmasi icin gerekli hukuki duzenlemelerin yapilmasi yoneticilerin yetkisi ve sorumlulugundadir.

Gerekenin yapilmasini arz ederim.</blockquote>

Gerci kimi kime sikayet ediyorsam :) Bakalim nasil bir bahane ile oyalayacaklar.