2008
06.25

Yeah, that’s what I’m talking about! This is gonna be awesome…

2008
06.06

Anayasak

Ben hukuktan anlamam, ama zaten anayasayı anlamak için de hukukçu olmaya gerek olmaması gerekir.

Nasıl oluyor da anayasanın onuncu maddesi varken, sözüm ona “Anayasa Mahkemesi”, türban ile ilgili birtakım kanun(lar) çıkartıyor bir düşünelim…

MADDE 10. – Herkes, dil, ırk, renk, cinsiyet, siyasî düşünce, felsefî inanç, din, mezhep ve benzeri sebeplerle ayırım gözetilmeksizin kanun önünde eşittir.
(Ek: 7.5.2004-5170/1 md.) Kadınlar ve erkekler eşit haklara sahiptir. Devlet, bu eşitliğin yaşama geçmesini sağlamakla yükümlüdür.
Hiçbir kişiye, aileye, zümreye veya sınıfa imtiyaz tanınamaz.
(Değişik: 9.2.2008-5735/1 md.) Devlet organları ve idare makamları bütün işlemlerinde ve her türlü kamu hizmetlerinden yararlanılmasında kanun önünde eşitlik ilkesine uygun olarak hareket etmek zorundadırlar.

2008
05.04

Last.fm with Banshee

It’s quite sometime now that I’m looking for a good way to listening music via Last.fm without going to their web site or using Last.fm software and I think finally I’ve found what I was looking for.

Since now I’ve tried Last.fm’s own software, Last Exit and Awn Last.fm applet, but none of’em was good enough to me.

Tonight I’ve found out this Banshee plugin called “Last.fm Radio” which integrates in an incomparable way to Banshee as nothing else out there does (credits go to Gabriel Burt).

If you’re not aware of this thing, I urge you to give it a try right now, you won’t be disappointed…

Congratulations guys!

2008
05.04

Today was one of those “first time” moments in my life and what I am about to share with you is something that anyone out there must give a shot right away.

There are very few of things left that keep me attached to a non-free software operating system. One of those, which particularly interests me, is backing up my DVD movies. Now, some may ask “what’s the big deal?”, but if you tend to repeat this process at least a couple of times in a week you’ll agree with me how this may get complicated more than you were expecting to be.

There are tons of non-free softwares around to accomplish the job with (almost) a single click, but none (not even a single one, at least not to my knowledge) reliable free software which painlessly would do the job (well… this is relative I know, but we are talking about (end-)user experience here and command line stuff is definitely out of league).

Now, let me introduce you Thoggen, a DVD backup utility, based on GStreamer and Gtk+, as they defined on their site. This utility will read from DVD and save your movie in Theora format, which is free.

Once you insert your DVD media to your DVD drive, you have to open Thoggen:

Thoggen will show up and read the DVD media (If Thoggen complains that libdvdcss2 is not present in your system, so that it cannot proceed, you just have to download and install one single Medibuntu package and restart Thoggen after that):

Usually Thoggen is clever enough to detect the correct title that contains actual movie (hint: “1:30 hours”). Either this isn’t the case for you or you want to something different, just pick the title(s) you’re interesting in backing up and click “OK”:

At this step, if you’re not interested in nothing else, but backing up your movie you can just click “OK” and you’re done.

Just in case, if you’d like to make some decisions about your final product (picture size, quality, file size, where to save your output file, etc.) the window showing up here is pretty clear (you may or not do all or any of these):

  • Pick a picture size from drop down list
  • Crop your movie here and there (for instance if you want to cutout upper and lower strips present in the movie)
  • Decide if you’re interested in quality or in a certain file size (this is useful if you’re thinking to burn a CD or a DVD with it and size matters to you)
  • Pick where to save output file (your home folder may not be the best place for that)
  • Click on “Stream Information” and fill or change some information about this movie
  • Click “OK” to proceed with backing up:

That’s it! Tasty isn’t it? After a couple of hours (I hope you have a better computer than mine, and you’ll save sometime there) you’ll have your movie backed up, just like that.

I shoudn’t complain much, but just for the records, one thing that I’m a little disappointed about Thoggen is the fact that you cannot disable the preview while converting movie. I think this should save a lot of processing resources, thus finishing the job earlier; but I’m sure this will be added sooner or later.

Dear reader, if you have any idea about how to rip subtitles from a DVD, please let me know either by dropping me an e-mail or commenting below.

2008
04.09

That’s it

This was years ago, you understand. Back when things weren’t set in concrete. Back when you had a way of changing the course of things. If you knew how. She was perfect. She had always been perfect. I wanted to keep her that way and like this. To be young and older somehow. Of course that’s not what it looked like to her. When I came home from school at Christmas we saw each other, of course. We talked about things, but never that. We talked about love in general. Like it was the subject of an essay instead of real. She said it was like jumping off the high dive, love was. Or like almost getting drowned. Which, honestly, I didn’t understand. For a long time. You wanna know the reason I stopped that night? It wasn’t nobility. That’s only what I told myself. We have all the time in the world, right? It was that I knew something was about to be taken from us leaving its place something we didn’t know. Which didn’t make her sad but it did me. You only get a couple of moments that determine your life. Sometimes only one. And then it’s gone. Forever.

All the King’s Men

2008
04.05

I will tunnel your ass!

Lately my network policies have been changed to very very strict ones, thus I can’t even download my emails anymore! Here’s my favorite quote for you:

The moral is: a firewall cannot protect a network against its own internal users, and should not even try to.

When an internal user asks you system administrator to open an outbound port to an external machine, or an inbound port to an internal machine, then you should do it for him. Of course you should help the user to make sure that his transactions are secure, and that his software is robust. But a flat out denial of service is plain incompetence. For unless he is so firewalled as to be completely cut from the outside world, with no ssh, no telnet, no web browsing, no email, no dns, no ping, no phone line, no radio, no nothing, then the user can and will use firewall piercing techniques to access the machines he wants nonetheless, and the net result for security will be an unaudited connection with the outside world. So either you trust your users, after proper training and selection, or you shouldn’t grant them access to the network at all. You can and you shall protect them from the outside world, but you can’t protect them from themselves.

Because there exists such things as system administrators who are either unresponsive, absent, overworked, plain incompetent, or more generally managed by incompetent people, it so happens that a user may find himself behind a firewall that he may cross, but only in awkward ways.

Just wait, you’ll see…

2008
03.19

New favourite video

I’ve added a new video in my favourites section!

2008
03.02

Bu metin Mike Malone tarafından yazılmış olan özgün metnin tarafımdan yapılmış olan çevirisidir. Eğer çeviride hata olduğunu düşünüyorsanız bana, özgün metinde hata olduğunu düşünüyorsanız ona yazabilirsiniz.

Düzenli deyim de neyin nesidir?

Düzenli deyimler[0] özel bir yazım tarzı kullanarak bir metni tanımlamaya ve ayrıştırmaya yarayan karakter dizgileridirler. Birçok programcı (hatta bazı iyi olanlar bile) düzenli deyimleri hiçe saymaktadır ki bu büyük bir ayıptır, çünkü çok sık işe yaramaktadırlar. Bir kez işin yolunu yordamını kaptınız mı, düzenli deyimler sayısız sorunların üstesinden gelmekte kullanılabilirler.

Düzenli deyimler çoğunlukla Windows ya da *NIX’deki joker karakterleri gibi çalışırlar; özel * ve ? karakterlerini kullanarak birden çok sayıdaki dosyayı belirtebilirler (joker karakteri anlatırken bir joker karakter mi kullandım ne?). Fakat düzenli deyimlerdeki özel ya da yardımcı karakterler[1] çok daha anlamlıdırlar.

Tıpkı joker karakterler gibi, düzenli deyimler de karakterlerin çoğuna özel bir anlam yüklemeden, onları oldukları gibi işlemden geçirirler. Örneğin, ali düzenli deyimi, yalnızca "a – l – i" harflerini, aynen bulundukları sırada bulacaktır. Fakat düzenli deyimler kullandıkları bir sürü yardımcı karakter sayesinde daha önce bahsettiğimiz joker karakterleri çok ilkel bırakılar.

Yardımcı karakterlerle tanışın: ^[](){}.*?\|+$ ve bazen -

Biliyorum korkutucu görünüyorlar, ama onları bir kez tanıdınız mı aslında ne kadar da hoş olduklarını göreceksiniz.

Satır çapaları: ^ ve $

^ (şapka) ve $ (dolar) yardımcı karakterleri sırasıyla satır başı ve satır sonunu temsil etmektedirler. Daha önce bahsettiğim gibi, ali düzenli deyimi "a – l – i" harflerini bulacaktır, ancak bu satırın herhangi bir yerinde olabilir (örneğin, "benim adım ali" ya da "ali veliali"). ^ karakteri satırın başına çapa atmak için kullanılır, böylece ^ali düzenli deyimi yalnızca ali ile başlayan satırları bulacaktır. Benzer şekilde, ali$ düzenli deyimi "a – l – i" harflerini, bu sırada, yalnızca satır sonlarında bulacaktır (ancak yine de "ali veliali"yi bulacaktır).

Eğer bu iki çapa karakterlerini birlikte kullanırsak belirli bir sıralamadaki karakterleri içeren satırları arayabiliriz. ^ali$ deyimi bir satırda yalnızca kendi başına olan ali sözcüğünü bulacaktır – ne daha fazlası, ne de daha azı. Benzer şekilde ^$ deyimi, başı sonu bir olan, boş satırları bulmakta kullanışlıdır.

Karakter kümesi: []

Karakter kümesi diye bilinen, köşeli parantezler, birtakım karakterlerden herhangi herhangi birini bulmanıza yararlar. Farz edelim ki "sevgi" sözcüğünü bulmak istiyorsunuz, fakat aynı zamanda "sezgi" de bulunsun istiyorsunuz. Bir karakter kümesi ikisini de bulmanıza izin verir. se[vz]gi düzenli deyimi "s, peşinden e, peşinden bir v ya da z, peşinden g, peşinden i" şeklinde okunur.

Eğer [ ... ] yerine [^ ... ] kullanırsanız, bu küme içinde bulunan karakterler haricindeki tüm karakterleri bulur. Kümenin başındaki ^ diziyi olumsuzlar. Kümede bulunmasını istediğiniz karakterleri sıralamak yerine, kümede bulunmasını istemediğiniz karakterleri sıralarsınız. Dikkat edin, buradaki ^ (şapka) karakterinin anlamı karakter kümesinin dışında kullanılana göre farklıdır, dışarıda kullanılırsa bunun anlamı bir satırın başını bulmaktır.

Karakter kümesi yardımcı karakteri: -

Bir karakter kümesinin içinde, karakter kümesi yardımcı karakteri - (kısa çizgi) bir karakter aralığını işaret eder. [0123456789abcdefABCDEF] yerine [0-9a-fA-F] yazabiliriz. Ne kadar da elverişli. Kısa çizgi yalnızca karakter kümesinin içinde bir yardımcı karakterdir, başka herhangi biryerde yalnızca normal kısa çizgi karakterini bulacaktır.

Eğer bir kısa çizgi bir karakter kümesinde birinci karakter ise yardımcı bir karakter olarak sayılmaz (bir aralık belirtmesinin imkanı yoktur, kaldı ki bir aralığın bir başı bir de sonu olması gereklidir), ve normal kısa karakter yerine geçer. Benzer şekilde, soru işareti ve nokta genelde ancak bir kümenin içinde olmadıklarında birer düzenli deyim karakteridirler ([-0-9.?] kümesindeki tek özel karakter sıfır ve dokuz arasındaki kısa çizgidir).

Nokta ile herhangi bir karakteri bulmak: .

. (nokta) yardımcı karakteri herhangi bir karakteri bulan bir karakter kümesi için bir kısaltmadır. Bir karakter dizisinin belirli bir yerindeki herhangi bir karakteri bulmak istediğinizde çok elverişlidir. Bir kez daha, nokta yardımcı karakteri bir karakter kümesinin içindeyken bir yardımcı karakter değildir. Yardımcı karakterler dizisi bir karakter kümesinin içinde ve dışında farklıdırlar.

Değişim yardımcı karakteri: |

| (dik çizgi ya da boru) yardımcı karakteri "veya" anlamına gelir. Birden çok deyimi tek bir deyimde bir araya getirerek içlerinden bir tanesini bulmanızı sağlar. Büyük (üst) deyimi oluşturan küçük (alt) deyimlerin herbirine seçenek adı verilir.

Örneğin, Ali ve Veli ayrık deyimlerdir, ancak Ali|Veli ikisinden birini bulan tek bir deyimdir.

Seçeneklerin kapsamlarını sınırlamak için parantezler kullanılabilir. Ali’yi veya Veli’yi bulan önceki deyimimizi parantezlerin yaratıcı kullanımı sayesinde daha kısa yazabilirdim. (A|Ve)li deyimi aynı şeyi bulacaktır. Gerçekte muhtemelen, daha okunaklı ve bakımı kolay yapılabilir olduğundan, ben yine de birinci deyimi kullanırdım.

Zorunlu olmayan (seçime bağlı) nesneleri bulmak: ?

? (soru işareti) yardımcı karakteri seçime bağlı (zorunlu değil) demektir. Deyimin herhangi bir yerinde olmasına izin verilen, ancak olmasa da olur, bir karakterden sonra konur. Soru işareti yalnızca hemen öncesindeki karakteri etkiler.

Eğer yanlış yazılmış olabileceğini bildiğimden ötürü hem tren hem de tiren sözcüklerini bulmak isteseydim, "t arkasından, belki i, arkasından r, arkasından e, arkasından n" diye okunan, ti?ren düzenli deyimini kullanabilirdim.

Diğer nicelik belirleyiciler: + ve *

Soru işareti gibi, + (artı) ve * (yıldız) yardımcı karakterleri de deyim içinde kendilerinden hemen önce bulunan karakterin bulunabilme sayısını etkilerler (? ile önceki karakter sıfır ya da bir kez bulunabilir). + yardımcı karakteri kendisinden hemen önce gelen karakteri bir ya da daha fazla kez bulurken, * önceki karakteri, sıfır dahil, herhangi bir sayıda bulur.

Eğer ses kaydının yazılı bir kopyasından bir futbol maçının sonucunu konuşmacının kaç kere gol dediğinden bulmaya çalışıyor olsaydım, "gol"ü bulacağı gibi "goooool"ü de bulabilecek olan (ancak "gl"yi değil), go+l düzenli deyimini kullanabilirdim.

Üç yardımcı karakter: soru işareti, artı ve yıldız, nicelik belirleyiciler diye bilinirler çünkü ilişikte oldukları nesnenin miktarını etkilerler.

Nicelik aralığı belirleyici: {}

{enaz,ençok} yardımcı düzeni, kendi en az ve en çok değerlerinizi sağlayarak, belirli bir nesnenin kaç kere bulunabileceğini belirtmenize izin verir. go{1,5}l düzenli deyimi bir önceki örneği yalnızca birden beşe kadar olan sayıdaki o’ları bulacak şekilde kısıtlar.

Çıkış karakteri: \

\ (ters kesme işareti, ters eğik çizgi) yardımcı karakteri özel anlamı olan yardımcı karakterleri özel anlamlarından çıkarmakta kullanılır. Örneğin, ? ya da \ karakterlerini bulmak isteseydiniz, önlerine ters kesme işareti koyarak: \? ya da \\, özel anlamlarını kaldırmış olursunuz.

Ters kesme işareti yardımcı karakter olmayan bir karakterden önce kullanıldığında, kullandığınız düzenli deyim tipine bağlı olarak, farkları anlamlara gelebilir. Perl uyumlu düzenli deyimler (PCRE’ler) için perldoc sayfasında perl düzenli deyimlerine bakabilirsiniz. PCRE’ler aşırı derecede yaygındırlar, bu tip düzenli deyimler PHP, Ruby, ECMAScript/JavaScript ve diğer birçok dildede kullanılabilirler.

Bulmak için parantezleri kullanmak: ()

Birçok düzenli deyim aracı parantezler ile bir deyimin belirli bir alt kümesini yakalamanıza izin verir. Bir alan adının[2] etki alanı[3] bölümünü http://([^/]+) gibi bir deyim ile bulabilirdim. Haydi gelin bu deyimi parçalarına ayırıp nasıl çalıştığına bakalım.

Deyimin başlangıcı oldukça açık: "h – t – t – p – : – / – /" dizisini bulacaktır. Bu başlangıç dizisini, alt deyimi bulan karakterleri yakalamak için kullanılan, parantez izlemektedir. Bu durumda alt deyim, / dışındaki herhangi bir karakteri bir ya da birden fazla kez bulan, [^/]+dir. http://www.pittle.org/weblog gibi bir alan adı için "www.pittle.org" parantezler tarafından bulunacaktır.


0: Düzenli deyim: İng. Regular expression (kısaca regex ya da regexp)
1: Yardımcı karakter: İng. Metacharacter
2: Alan adı, birörnek kaynak konumlayıcı: İng. Uniform Resource Locator (kısaca URL)
3: Etki alanı: İng. Domain name

2008
02.16

The problem

I think the problem is that, the people ask “how much can I cover today?” and if they cover a lot: “Wow, I was good today. I really covered a lot!” You really have to ask “how much people can absorb?” and “what’s the best way in?” People don’t typically ask that question.

– Robert Frank

2008
02.04

Thoughts & Beliefs

Düşünce ve inanışlarımı yazdığım yeni bir sayfa yarattım, belki ilginizi çeker…