<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>:: samkon.org &#187; özgür yazılım</title>
	<atom:link href="http://www.samkon.org/?feed=rss2&#038;cat=7" rel="self" type="application/rss+xml" />
	<link>http://www.samkon.org</link>
	<description>Imagination is more important than knowledge.. &#124; Albert Einstein</description>
	<lastBuildDate>Mon, 11 Jan 2010 21:05:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WP Plugin: Google Shared Contents 1.0</title>
		<link>http://www.samkon.org/?p=876</link>
		<comments>http://www.samkon.org/?p=876#comments</comments>
		<pubDate>Fri, 22 May 2009 11:10:46 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[araçlar]]></category>
		<category><![CDATA[yazılım]]></category>
		<category><![CDATA[özgür yazılım]]></category>
		<category><![CDATA[google ID]]></category>
		<category><![CDATA[google reader]]></category>
		<category><![CDATA[google shared contents]]></category>
		<category><![CDATA[google sharings]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=876</guid>
		<description><![CDATA[I usually use Google Reader to share contents those I read. I thought I need a more usefull way to display them on samkon, because I can&#8217;t write about every content that I read and contents those display on my site should be more wellrounded than Google&#8217;s API that is currently seen at my sidebar. [...]]]></description>
			<content:encoded><![CDATA[<p>I usually use <em>Google Reader</em> to share contents those I read. I thought I need a more usefull way to display them on <em>samkon</em>, because I can&#8217;t write about every content that I read and contents those display on my site should be more wellrounded than <em>Google&#8217;s API</em> that is currently seen at my sidebar. To make it usefull for everyone I wrote a plugin that&#8217;s called <strong>Google Shared Contents</strong>.</p>
<h3>What is it?</h3>
<p style="padding-left: 30px;">It is a <em>Wordpress</em>plugin that displays the contents of your <em>Google Reader</em> acount&#8217;s sharings those you noted before by utilizing your <em>Google ID</em>.<br />
<span id="more-876"></span></p>
<p style="padding-left: 30px;"><a href="http://img268.imageshack.us/img268/540/screenshoty.png" target="_blank"><img class="alignnone" src="http://img268.imageshack.us/img268/540/screenshoty.png" alt="" width="251" height="252" /></a></p>
<p><strong>If you don&#8217;t have a similar buton as seen in the screenshot above on your browser;</strong></p>
<p style="padding-left: 30px;">Login to your <em>Google Reader</em> acount and click &#8220;<em>Notes</em>&#8221; on left sidebar. Than you can drag and drop the sampled buton to any area you want on your browser. Or you can manually create a button has a location as below (pleace remove the line spaces):</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">javascript<span style="color: #339933;">:</span>var<span style="color: #339933;">%</span>20b<span style="color: #339933;">=</span>document.<span style="color: #660066;">body</span><span style="color: #339933;">;</span>var<span style="color: #339933;">%</span>20GR________
bookmarklet_domain<span style="color: #339933;">=</span><span style="color: #3366CC;">'http://www.google.com'</span><span style="color: #339933;">;</span>if<span style="color: #009900;">&#40;</span>b<span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span>
<span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;!</span>document.<span style="color: #660066;">xmlVersion</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000066; font-weight: bold;">void</span><span style="color: #009900;">&#40;</span>z<span style="color: #339933;">=</span>document.<span style="color: #660066;">createElement</span>
<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>void<span style="color: #009900;">&#40;</span>z.<span style="color: #660066;">src</span><span style="color: #339933;">=</span><span style="color: #3366CC;">'http://www.google.com/reader/
ui/link-bookmarklet.js'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>void<span style="color: #009900;">&#40;</span>b.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>z<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000066; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>If you don&#8217;t know your Google ID;</strong></p>
<p style="padding-left: 30px;">Login to your <em>Google Reader</em> acount and click &#8220;<em>shared items</em>&#8221; on left sidebar. Than you will see a link that has a path to contents you shared before as below:</p>
<p style="padding-left: 30px;">http://www.google.com/reader/shared/<strong>06800100454687167248</strong></p>
<p style="padding-left: 30px;">The equivalent data in path you get to bolded data above is your <em>Google ID</em>.</p>
<p style="padding-left: 30px;">
<h3>How to Install ?</h3>
<ul>
<li>download <a href="http://www.samkon.org/wp-content/files/google-sharings.zip">google-sharings.zip</a> file and unzip it. Than put the unziped folder into <em>&#8220;wp-content/plugins/&#8221;</em> folder.</li>
<li>activate the plugin from your WP control panel.</li>
<li>Type your <em>Google ID</em> and the content count number will be displayed on your site by clicking &#8220;<em>Options</em>&#8220;, than &#8220;<em>Google Sharings</em>&#8221; from your control panel.</li>
<li>than modify your theme&#8217;s any file (depending on your choose where to display it) you want by adding the lines below:</li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'load_google_sharings'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
load_google_sharings<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'defined'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<h3>Clues</h3>
<ul>
<li>You may want to use the plugin on more than one area on your site. So you may want to have different content count number for different areas on your site. You can use the count number you want instead of &#8220;<em>defined</em>&#8221; expression seen above. For example if you want to display last 5 shared contents you can use these lines seen below:</li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'load_google_sharings'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
load_google_sharings<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'5'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p style="padding-left: 30px;">In this way plugin will skip the default count number you typed in your control panel and use the expression you give in function.</p>
<h3>Warnings</h3>
<p style="padding-left: 30px;">The most important thing: You can get trouble with <strong>PHP 4</strong> versions. Plugin may not work. This site runs on a PHP 4 server and a reason that I couldn&#8217;t solve yet causes fail. I will give more information about that when I try it on different PHP 4 servers. Also If you try and tell me the result I will be glad. </p>
<p style="padding-left: 30px;">Plugin uses <strong>SimpleXML</strong> libraries that is supported by <strong>PHP 5</strong>. Nothing went wrong with it yet. So I will move <em>samkon</em> to a <strong>PHP 5</strong> server in a short time becouse of that. </p>
<h2>Download</h2>
<p><a href="http://www.samkon.org/wp-content/files/google-sharings.zip">google-sharings.zip</a> <strong>[3 KB]</strong></p>
<p>Your comments and ideas about will help to develope the plugin, and all of them are wellcome..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=876</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>WP Eklentisi: Google Shared Contents 1.0</title>
		<link>http://www.samkon.org/?p=849</link>
		<comments>http://www.samkon.org/?p=849#comments</comments>
		<pubDate>Fri, 22 May 2009 08:32:57 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[araçlar]]></category>
		<category><![CDATA[linux gezegeni]]></category>
		<category><![CDATA[yazılım]]></category>
		<category><![CDATA[özgür yazılım]]></category>
		<category><![CDATA[eklenti]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google reader]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[shared contents]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=849</guid>
		<description><![CDATA[Sıkça kullandığım Google Reader ile paylaştığım içerikleri sayfanın tavsiyeler alanında ilgili Google API &#8217;si yardımıyla görüntülemekteydiniz. Ancak bu içerikleri görüntülemek için bundan fazlasına ihtiyacım olduğunu hissettim. Çünkü okuduğum her içerik hakkında yazı yazmam mümkün olmuyor, bu nedenle ilgili içeriklerin daha göze çarpıcı olması gerekiyordu. Bu fikrimden herkesin yararlanabilmesini sağlamak istedim ve ortaya Google Sharing Contents [...]]]></description>
			<content:encoded><![CDATA[<p>Sıkça kullandığım <em>Google Reader</em> ile paylaştığım içerikleri sayfanın tavsiyeler alanında ilgili <em>Google API </em>&#8217;si yardımıyla görüntülemekteydiniz. Ancak bu içerikleri görüntülemek için bundan fazlasına ihtiyacım olduğunu hissettim. Çünkü okuduğum her içerik hakkında yazı yazmam mümkün olmuyor, bu nedenle ilgili içeriklerin daha göze çarpıcı olması gerekiyordu. Bu fikrimden herkesin yararlanabilmesini sağlamak istedim ve ortaya <strong>Google Sharing Contents</strong> çıktı..</p>
<h3>Nedir?</h3>
<p style="padding-left: 30px;">Bir <em>Wordpress</em> eklentisidir. <em>Google ID</em> verinizden yararlanarak gezindiğiniz sitelerden &#8216;<em>bunu reader&#8217;a not almalıyım</em>&#8216; deyip paylaştığınız içerikleri sayfanızda yayınlar.</p>
<p><span id="more-849"></span></p>
<p style="padding-left: 30px;"><a href="http://img268.imageshack.us/img268/540/screenshoty.png" target="_blank"><img class="alignnone" src="http://img268.imageshack.us/img268/540/screenshoty.png" alt="" width="251" height="252" /></a></p>
<p><strong>Tarayıcınızda şekilde gördüğünüz butona sahip değilseniz;</strong></p>
<p style="padding-left: 30px;">Google Reader hesabınıza giriş yaparak sol panelden &#8220;<em>Notes</em>&#8221; sayfasındaki kutucuğu sürükle-bırak tekniği ile tarayıcınızın istediğiniz alanına ekleyebilirsiniz. Veya aşağıdaki veriyi hedef göstererek tarayıcınızda yeni bir buton oluşturabilirsiniz (<em>satır boşluklarını kaldırınız</em>):</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">javascript<span style="color: #339933;">:</span>var<span style="color: #339933;">%</span>20b<span style="color: #339933;">=</span>document.<span style="color: #660066;">body</span><span style="color: #339933;">;</span>var<span style="color: #339933;">%</span>20GR________
bookmarklet_domain<span style="color: #339933;">=</span><span style="color: #3366CC;">'http://www.google.com'</span><span style="color: #339933;">;</span>if<span style="color: #009900;">&#40;</span>b<span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;</span>
<span style="color: #339933;">&amp;</span>amp<span style="color: #339933;">;!</span>document.<span style="color: #660066;">xmlVersion</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #000066; font-weight: bold;">void</span><span style="color: #009900;">&#40;</span>z<span style="color: #339933;">=</span>document.<span style="color: #660066;">createElement</span>
<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>void<span style="color: #009900;">&#40;</span>z.<span style="color: #660066;">src</span><span style="color: #339933;">=</span><span style="color: #3366CC;">'http://www.google.com/reader/
ui/link-bookmarklet.js'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>void<span style="color: #009900;">&#40;</span>b.<span style="color: #660066;">appendChild</span><span style="color: #009900;">&#40;</span>z<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #000066; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span><span style="color: #009900;">&#125;</span></pre></div></div>

<p><strong>Google ID verinizi bilmiyorsanız;</strong></p>
<p style="padding-left: 30px;">Google Reader üyeliğinize giriş yaptığınızda sol paneldeki &#8220;<em>shared items</em>&#8221; sayfasında paylaştığınız içeriklerin yayınlandığı sayfaya ait aşağıdakine benzer bir link bulacaksınız:</p>
<p style="padding-left: 30px;">http://www.google.com/reader/shared/<strong>06800100454687167248</strong></p>
<p style="padding-left: 30px;">Koyultarak belirttiğim son blok Google ID verinizdir.</p>
<p style="padding-left: 30px;">
<h3>Nasıl Kurulur?</h3>
<ul>
<li><a href="http://www.samkon.org/wp-content/files/google-sharings.zip">google-sharings.zip</a> dosyası içeriğini arşivden çıkartarak <em>&#8220;wp-content/plugins/&#8221; </em>dizinine yerleştiriniz.</li>
<li>yönetim panelinin eklentiler bölümünden eklentiyi aktifleştiriniz.</li>
<li>Yönetim panelinizin &#8220;<em>Ayarlar</em>&#8221; bloğunda açılan &#8220;<em>Google Sharings</em>&#8221; sekmesine tıklayarak, <em>Google ID</em> verinizi ve öntanımlı olarak kaç adet içerik görüntüleneceğini tanımlayınız.</li>
<li>temanızın istediğiniz alanına aşağıdaki betiği yerleştiriniz:</li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'load_google_sharings'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
load_google_sharings<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'defined'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<h3>İpuçları</h3>
<ul>
<li>Eklentiyi temanızda birden fazla alanda kullanmak isteyebilirsiniz. Farklı alanlarda farklı sayıda içerik görüntülemeye ihtiyaç duyabilirsiniz. Bunun için <em>load_google_sharings(&#8217;defined&#8217;) </em>fonksiyonunda &#8220;defined&#8221; yerine kaç adet içeriğin yayınlanacağı bilgisini girebilirsiniz. Örneğin 5 adet içerik görüntülemek için:<em> </em></li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #990000;">function_exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'load_google_sharings'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
load_google_sharings<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'5'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p style="padding-left: 30px;">şeklinde bir ifade kullanabilirsiniz. Eklenti öntanımlı içerik sayısı verisini atlayıp girdiğiniz değeri kullanacaktır.</p>
<h3>Uyarılar</h3>
<p style="padding-left: 30px;">Geldik en önemli noktaya: <strong>PHP 4</strong> versiyonlarında sorun yaşamanız muhtemeldir! Eklenti çalışmayabilir. samkon sunucusunda henüz kavrayamadığım bir nedenle <strong>domxml</strong> fonksiyonları işlevlerini yerine getirmiyor. Başka PHP 4 sunucularında test etme imkanı bulduğumda bu konu hakkında açıklama yapacağım.</p>
<p style="padding-left: 30px;">Eklenti <strong>PHP 5</strong> sunucularının desteklediği <strong>SimpleXML</strong> kütüphanesini kullanmaktadır. Herhangi bir sorun ile karşılaşılmamıştır. Yakın zamanda sırf bu nedenle samkon&#8217;u <strong>PHP 5</strong> destekli bir sunucuya taşıyacağım.</p>
<h2>Download</h2>
<p><a href="http://www.samkon.org/wp-content/files/google-sharings.zip">google-sharings.zip</a> <strong>[3 KB]</strong></p>
<p>Yorum ve görüşleriniz eklentinin geliştirilmesinde yardımcı olacaktır.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=849</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Şanslı Bilgisayar Programcısı Adaya Düşerse..</title>
		<link>http://www.samkon.org/?p=820</link>
		<comments>http://www.samkon.org/?p=820#comments</comments>
		<pubDate>Sat, 09 May 2009 07:38:46 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[linux gezegeni]]></category>
		<category><![CDATA[serbest]]></category>
		<category><![CDATA[yazdım işte]]></category>
		<category><![CDATA[ada]]></category>
		<category><![CDATA[fıkra]]></category>
		<category><![CDATA[hikaye]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[mühendis]]></category>
		<category><![CDATA[yalnızlık]]></category>
		<category><![CDATA[yazılım mühendisliği]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=820</guid>
		<description><![CDATA[Ne zaman edindiğimi hatırlamadığım, Can Uğur Ayfer ve Ömer Ayfer tarafından hazırlanan &#8220;Kim Güler Bilgisayara&#8221; adlı kitabın bir bölümünde güzel bir hikayeye rastladım, fazla söze gerek yok buyrun:
Bir bilgisayar mühendisi hayatının çılgınlığını yapmaya karar vermiş ve biriktirdiği tüm parayı harcamayı göze alıp lüks bir gemiyle Karayipler’de tura çıkmış.
Seyahatin sonuna doğru korkunç bir fırtına gemiyi alabora [...]]]></description>
			<content:encoded><![CDATA[<p>Ne zaman edindiğimi hatırlamadığım, <a href="http://cayfer.bilkent.edu.tr/~cayfer/" target="_blank">Can Uğur Ayfer</a> ve <a href="http://sozluk.sourtimes.org/show.asp?t=%C3%B6mer+ayfer" target="_blank">Ömer Ayfer </a>tarafından hazırlanan &#8220;<em>Kim Güler Bilgisayara</em>&#8221; adlı kitabın <a href="http://cayfer.bilkent.edu.tr/~cayfer/kguler/1-33.pdf" target="_blank">bir bölümünde</a> güzel bir hikayeye rastladım, fazla söze gerek yok buyrun:<span id="more-820"></span></p>
<blockquote><p>Bir bilgisayar mühendisi hayatının çılgınlığını yapmaya karar vermiş ve biriktirdiği tüm parayı harcamayı göze alıp lüks bir gemiyle Karayipler’de tura çıkmış.</p>
<p>Seyahatin sonuna doğru korkunç bir fırtına gemiyi alabora etmiş ama genç mühendis yüzerek ıssız bir adaya ulaşmayı başarmış. Adada bol miktarda meyve ağacı ve tatlı su olduğu için pek de rahatsız sayılmayacak bir hayat sürüyormuş. Aradan geçen aylar boyunca tek sorunu yalnızlık olmuş. Derken bir gün denizde sandalında kürek çeken bir bayan görmüş. Hemen koşup bayanın dikkatini çekmeyi başarmış. Genç kadın:</p>
<p>• “Ben adanın öbür tarafından geliyorum, siz de batan gemide miydiniz?” diye sormuş.<br />
• “Evet,” diye yanıtlamış mühendis. “Peki bu sandalı nereden buldunuz?”.<br />
• “Kendim yaptım” diye yanıtlamış genç kadın.<br />
• “Peki gereken aletleri nereden buldunuz?”<br />
• “Adanın güneyinde garip bir kaya oluşumu var” demiş kadın. “Biraz ısıtınca eriyor ve istediğin şekli verebiliyorsun. Soğuyunca da demir gibi sertleşiyor”.</p>
<p>Etrafına dikkatlice bir baktıktan sonra kadın sormuş:</p>
<p>• “Sığınmak için kendinize yaptığınız bir ev falan göremiyorum. Nerede yaşıyorsunuz?”<br />
• “Açıkçası,” demiş adam, “kumsalda yatıp kalkıyorum.”<br />
• “Benim yaşadığım yere gelmek ister misiniz?” diye sormuş kadın.<br />
• Biraz utanmakla birlikte, “Evet” diye yanıtlamış mühendis.</p>
<p>Genç kadın küreklerini ustaca çektiği sandalla mühendisi adanın öbür tarafına götürmüş. Mühendisin şaşkın bakışları arasında kadının elleriyle yaptığı iskeleye yanaşmışlar, sandalı el yapımı fakat son derece kaliteli bir halatla bağlamışlar ve son derece muntazam taş bir yoldan mavi ve beyaz boyalı, sazdan yapılmış iki katlı bir villaya gelmişler.</p>
<p>Genç kadın “İşte benim mütevazi yuvam burası“ demiş. Gözleri faltaşı gibi açılmış olan mühendise “bir şeyler içer misiniz?” diye sormuş.</p>
<p>• “İstemem” demiş mühendis&#8230; “Aylardır içim dışım hindistan cevizi sütü oldu.”<br />
• “Hindistan cevizi sütünden söz eden kim” demiş genç kadın, “Kendi yaptığım imbiklerde içki üretiyorum. İsterseniz hemen bir meyve kokteyli hazırlayabilirim.”</p>
<p>İçkilerini yudumlarken kadın sormuş “Hep böyle sakallı mısınız?”. “Hayır,” demiş mühendis, “bu adaya düşmezden önce her sabah traş olurdum.”</p>
<p>• &#8220;İsterseniz üst kattaki banyoda traş olabilirsiniz.&#8221;</p>
<p>Genç adam hayreti ve merakı daha da artmış olarak banyoya girmiş ve deniz kabuklarından ustaca yapılmış keskin bıçaklarla güzel ve rahat bir traş olmuş. Sonra güzel bir duş yapmış.</p>
<p>• “Çok hoş oldunuz,” demiş genç kadın içkisinden bir yudum daha alırken. “Ben de yukarı çıkıp üstüme daha rahat bir şeyler giysem iyi olur.”</p>
<p>Biraz sonra genç kadın üzerinde son derece çekici ve iç gıcıklayıcı bir kıyafetle ve nefis çiçek kokuları içinde aşağı inmiş.</p>
<p>Genç kadın utangaç bir sesle “Biliyorsunuz ikimiz de çok uzun zamandır bu adada yapayalnızız. Ne demek istediğimi her halde anlıyorsunuzdur. Yapmayı çok özlediğiniz bir şeyler varsa lütfen çekinmeyin&#8230; Hani o her erkek ve kadının yapmak isteyeceği şeylerden&#8230;&#8221; demiş.</p>
<p>Genç mühendis umutsuz bir ifadeyle “Olmaz mı, elbette var. Ama mümkün olacağını pek zannetmiyorum.”</p>
<p>Genç kadın yüzünde muzip bir ifadeyle “Hmmmm. Artık mümkün” cevabını vermiş.</p>
<p>Heyecandan nefesi kesilecek gibi olan mühendis haykırmış</p>
<p>• “Neeee&#8230; Gerçekten İnternet bağlantınız da mı var?”</p></blockquote>
<p>İlk okuduğumda ne kadar güldüm anlatamam :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=820</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>PHP: Kontrol Yapıları İçin Alternatif Noktalamalar</title>
		<link>http://www.samkon.org/?p=790</link>
		<comments>http://www.samkon.org/?p=790#comments</comments>
		<pubDate>Thu, 07 May 2009 08:20:37 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[bilişim]]></category>
		<category><![CDATA[linux gezegeni]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[yazılım]]></category>
		<category><![CDATA[özgür yazılım]]></category>
		<category><![CDATA[endfor;]]></category>
		<category><![CDATA[endif;]]></category>
		<category><![CDATA[endwhile;]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[kontrol yapıları]]></category>
		<category><![CDATA[koşul]]></category>
		<category><![CDATA[noktalama]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=790</guid>
		<description><![CDATA[Kontol Yapıları (control structures) programlama dillerinde koşullar oluşturmamızı sağlayan yapılardır. Objeye yönelik tüm programlama dillerinde olduğu gibi PHP dilinde de bu kontrol yapılarının en bilindikleri if, for, while gibi koşullardır.
PHP bir web programlama dili olmasıyla, PHP betiklerinin oluşturulacak sayfanın HTML betikleri ile ilişkilendirilmesi gerekmektedir.
Bu başlıkta sizlere PHP programlama diline ait koşul ifadelerinin HTML betikleri arasına [...]]]></description>
			<content:encoded><![CDATA[<p>Kontol Yapıları (<em>control structures</em>) programlama dillerinde koşullar oluşturmamızı sağlayan yapılardır. Objeye yönelik tüm programlama dillerinde olduğu gibi PHP dilinde de bu kontrol yapılarının en bilindikleri <em>if</em>, <em>for</em>, <em>while</em> gibi koşullardır.</p>
<p><em>PHP</em> bir web programlama dili olmasıyla, <em>PHP</em> betiklerinin oluşturulacak sayfanın <em>HTML</em> betikleri ile ilişkilendirilmesi gerekmektedir.</p>
<p>Bu başlıkta sizlere PHP programlama diline ait koşul ifadelerinin HTML betikleri arasına sıkıştırılması hakkında bilgi vereceğim. Ama önce PHP dilinde noktalama (syntax) hakkında bir hatırlatma yapmanın gerekli olduğunu düşünüyorum.</p>
<p>PHP Başlangıç Derslerinin <a href="http://www.samkon.org/?p=7" target="_blank">ilk serisinde</a> betik noktalaması (syntax) hakkında fikir edinmiştik. Kısaca hatırlamak gerekirse PHP ile HTML&#8217;i ilişkilendirmek için iki yöntemimiz vardı:<span id="more-790"></span></p>
<ul>
<li><strong>PHP betiklerinin HTML kodlarının arasına sıkıştırılması:</strong></li>
</ul>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$metin</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;PHP&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;PHP in HTML&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">echo</span><span style="color: #0000ff;">&quot;<span style="color: #006699; font-weight: bold;">$metin</span>&quot;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> mükemmeldir.
&lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

<ul>
<li><strong>HTML betiklerinin PHP kodlarının arasına sıkıştırılması:</strong></li>
</ul>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$metin</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;PHP&quot;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">echo</span><span style="color: #0000ff;">&quot;
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;HTML in PHP&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
<span style="color: #006699; font-weight: bold;">$metin</span> mükemmeldir.
&lt;/body&gt;
&lt;/html&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Peki bu betiklerimize kontrol yapıları olarak adlandırdığımız koşul ifadelerini de katmak istersek nasıl yapılar oluşturabiliriz? Yine iki seçeneğimiz var:</p>
<ul>
<li><strong>HTML betiklerini PHP koşulları arasına sıkıştırmak bilindik bir yöntemdir:</strong></li>
</ul>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$metin</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;PHP&quot;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">echo</span><span style="color: #0000ff;">&quot;&lt;html&gt;
&lt;head&gt;
&lt;title&gt;HTML in PHP&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$metin</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&quot;PHP&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">echo</span><span style="color: #0000ff;">&quot;metin adlı değişken: <span style="color: #006699; font-weight: bold;">$metin</span>&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #990000;">echo</span><span style="color: #0000ff;">&quot;metin adlı değişken <span style="color: #000099; font-weight: bold;">\&quot;</span>PHP<span style="color: #000099; font-weight: bold;">\&quot;</span> içeriğine sahip
    değil.&quot;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #990000;">echo</span><span style="color: #0000ff;">&quot;
&lt;/body&gt;
&lt;/html&gt;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>Bu yöntem genellikle hepimizin bildiği yöntemdir, bu başlığı asıl açmamın nedeni olan PHP betiklerinin <span style="text-decoration: underline;">koşul ifadelerini</span>, <em>HTML</em> kodları arasına sıkıştırma işlemi bazı durumlarda daha avantajlı olabilir:</p>
<ul>
<li><strong>PHP betiklerini HTML betikleri arasına sıkıştırmak:<br />
</strong></li>
</ul>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #000088;">$metin</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;PHP&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;html&gt;
&lt;head&gt;
&lt;title&gt;PHP in HTML&lt;/title&gt;
&lt;/head&gt;
&lt;body&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$metin</span><span style="color: #339933;">==</span><span style="color: #0000ff;">&quot;PHP&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
    metin adlı değişken: <span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">echo</span> <span style="color: #000088;">$metin</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">else</span><span style="color: #339933;">:</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
    metin adlı değişken &quot;PHP&quot; içeriğine sahip değil.
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endif</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;/body&gt;
&lt;/html&gt;</pre></td></tr></table></div>

<p>Görüldüğü üzere koşul ifadelerimizi HTML betiklerinin arasına yerleştirdik, ve boşluklarada ilgili kouşula göre yazdırılacak HTML betiklerini yazdık.</p>
<p><strong>Koşul ifadelerini HTML betikleri arasında kullanmak için;</strong></p>
<ul>
<li>HTML betikleri arasına bir php bloğu açılarak koşul girilir, sonuna &#8220;:&#8221; noktalama karakteri yerleştirilir ve blok kapatılır. Blok karakterleri &#8220;<em>{&#8230;}</em>&#8221; <u>kullanılmaz</u>. </li>
<li>Koşulun geçerli olduğu durumlarda yazdırılacak HTML betikleri yerleştirilir ve ardından koşulun bittiğini ifade eden PHP bloğu girilir. Bu bloğun içerdiği ifade &#8220;end&#8221; ile ilgili <u>koşul ifadesinin adından</u> oluşan bir dizilime sahiptir. <strong>Örneğin:</strong> <em>endif; endwhile; endfor;</em> gibi&#8230;</li>
</ul>
<p><strong>Koşul ifadelerini HTML betikleri arasına sıkıştırmanın faydaları:</strong></p>
<ul>
<li><em>echo()</em> fonksiyonunu kullanmadan direk HTML kodlarınızı sayfa içeriğine dökebilirsiniz.</li>
<li>böylece tırnak işareti noktalama problemlerini de aşmış olursunuz.</li>
</ul>
<p>Bu yapı günümüzde çok sayıda blog ve içerik sitelerinin alt yapısını oluşturan <em>Wordpress</em> içerik yönetim sisteminde etkin şekilde kullanılmaktadır. Bunu herhangi bir Wordpress temasının <em>index.php</em>, <em>page.php</em> ve <em>single.php</em> betiklerini incelediğinizde rahatlıkla kavrayabilirsiniz.</p>
<p>Daha fazla bilgi ve örnek için <a href="http://ca3.php.net/manual/en/control-structures.alternative-syntax.php" target="_blank">php.net içeriğine</a> göz atabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=790</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Manyetik ve Katı Bellekten Güvenli Veri Silinmesi &#8211; BÖLÜM #1</title>
		<link>http://www.samkon.org/?p=593</link>
		<comments>http://www.samkon.org/?p=593#comments</comments>
		<pubDate>Sat, 02 May 2009 13:08:22 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[bilim]]></category>
		<category><![CDATA[bilişim]]></category>
		<category><![CDATA[donanım]]></category>
		<category><![CDATA[linux gezegeni]]></category>
		<category><![CDATA[mühendislik]]></category>
		<category><![CDATA[çeviriler]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[güvenli veri silme]]></category>
		<category><![CDATA[manyetik]]></category>
		<category><![CDATA[MFM]]></category>
		<category><![CDATA[Peter Gutmann]]></category>
		<category><![CDATA[recovery]]></category>
		<category><![CDATA[SPM]]></category>
		<category><![CDATA[STM]]></category>
		<category><![CDATA[veri]]></category>
		<category><![CDATA[veri kurtarma]]></category>
		<category><![CDATA[veri silme]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=593</guid>
		<description><![CDATA[<b>Orjinal Metin:</b> <a href="http://wipe.sourceforge.net/secure_del.html" target="_blank">Secure Deletion of Data from Magnetic and Solid-State Memory &#124; wipe.sourceforge.net - Peter Gutmann</a>

Peter Gutmann'ın uzun soluklu 9 ana bölümden oluşan çalışmasının ilk 2 bölümünün çevirisidir.

<b>Özet</b>

Gittikçe karmaşıklaşan (pişen) şifreleme sistemlerinin kullanılmasıyla, hassas verilere ulaşmak isteyen saldırganlar bilgi edinmek adına başka arayışlar içine girmeye zorlandılar. Saldırının bir yolu manyetik veya gelişi-güzel yetkilendirilmiş hafızadan silindiği zannedilen verileri kurtarmaktır. Bu sayfa silinen verilerin geri kazanılması için mümkün olan bazı yöntemleri kapsamakta ve bu geri kazanım (veri kurtarma) işlemini kayda değer ölçüde zorlaştırmak için oluşturulan şemalar sunmaktadır.]]></description>
			<content:encoded><![CDATA[<p><strong>Orjinal Metin:</strong> <a href="http://wipe.sourceforge.net/secure_del.html" target="_blank">Secure Deletion of Data from Magnetic and Solid-State Memory | wipe.sourceforge.net &#8211; Peter Gutmann</a></p>
<p><strong>Önemli:</strong> Orjinal metin çok uzun bir içeriğe sahip olmasından ötürü içeriği 3-4 parçaya ayırarak çeviri yapılmıştır. Aşağıda görmüş olduğunuz toplam 9 ana başlığa sahip tüm metnin 1. ve 2. ana başlıklarını kapsayan ilk bölümünü kapsamaktadır.</p>
<h2>Manyetik ve Katı Şartlardaki Hafızadan Güvenli Veri Silme İşlemi</h2>
<p><em>Peter Gutmann<br />
Bilgisayar Bilimi Departmanı<br />
Auckland Üniversitesi<br />
pgut001@cs.auckland.ac.nz</em></p>
<p>Bu sayfa ilk USENIX güvenlik sempozyumu tutanaklarında yayınlanmıştır, San Jose, Kaliforniya, Temmuz 22-25, 1996</p>
<h3>Özet</h3>
<p>Gittikçe karmaşıklaşan (pişen) şifreleme sistemlerinin kullanılmasıyla, hassas verilere ulaşmak isteyen saldırganlar bilgi edinmek adına başka arayışlar içine girmeye zorlandılar. Saldırının bir yolu manyetik veya gelişi-güzel yetkilendirilmiş hafızadan silindiği zannedilen verileri kurtarmaktır. Bu sayfa silinen verilerin geri kazanılması için mümkün olan bazı yöntemleri kapsamakta ve bu geri kazanım (veri kurtarma) işlemini kayda değer ölçüde zorlaştırmak için oluşturulan şemalar sunmaktadır.<span id="more-593"></span></p>
<h3>1. Giriş</h3>
<p>Araştırmaların büyük bir kısmı hassas bilgileri korumak adına yüksek güvenlikli şifreleme dizaynı adına gerçekleştirilmiştir. Oysa yeni analiz tekniklerinin yanında şifreli metnin şifrelenmemiş orjinal formunu korumak (en azından güvenli silmek) adına yapılan çalışmalar çok zordur. 1980&#8242;lerde manyetik ortam üzerinden silinmiş veriyi kurtarmak adına bir takım çalışmalar yapıldı [1][2][3], ancak bilginin ana kaynağının zamanını belirlemek hükümet standartlarının verilerin imhasını kaplaması nedeniyle zor. Bu kurumsal makalelerden zarar verici beyanları çıkartmanın (sıhhi hale getirmenin) iki ana sebebi olabilir. Birincisi bunların bir şekilde eskimiş olmaları ve ortama veriyi kaydedip, kaydedilmiş veriyi geri elde etmek adına yeni tekniklerin tarihlerini öne aldırıyor olabilmeleridir. Örneğin 1990&#8242;ların başına ait olan şuanki manyetik ortamı hafifletmek (gereksiz verileri kaldırmak) adına yazılmış çoğu belge sıkılığı (yoğunluğu) kaydetmeyi, PRML gibi karmaşık kanal kodlamalarının adaptasyonunu, manyetik ortamların analizleri için manyetik güç mikroskop kullanma tekniklerini ve band silme davranışlarına benzer manyetik ortam kaydının mutlak özelliklerinin şuanki çalışmalarını ele almaktadır. Veri yıkım standartları ile ilgili ikinci sorun ise bunların günümüzdeki haberalma kurumları ile kısmen çelişmeye teşebbüs ederek hatalı olabilmelidir (muhtemelen çok sayıda mükemmel makalelerin sınıflandırılmasının nedenide budur). Kamuya açık makaleler arasında ortam hafifletmesi için gerekli ihtiyaçları kasıtlı olarak olduğundan az göstererek, haberalma kurumları bilgi toplama kabiliyetlerini muhafaza edebilmekte ve aynı zamanda sınıflandırma tekniklerini kullanarak kendi verilerini koruyabilmektedirler.</p>
<p>Bu sayfa manyetik disk ortamından veri silme ve özelleştirilmiş donanıma yetki edinilmeden gelişigüzel yetki edinme denemeleri sunmaktadır ve bu ortamlardan veri kurtarma işleminin bir saldırgan için olduğu kadar zor olabileceğini belirterek çeşitli metodlar önermektedir.</p>
<h3>2. Manyetik Ortama Kaydedilmiş Veriyi Kurtarma (Geri Kazanma) Yöntemleri</h3>
<p>Manyetik Güç Mikroskopi (Magnetic Force Microscopy, MFM), mıknatıslanma modellerini yüksek çözünürlükte resmetmek için günümüzde gerçerli olarak kullanılan ve hazırlık aşamalarını en alt seviyeye indiren bir tekniktir. Bu teknik sonda taraması mikroskopisi (Scanning Probe Microscopy, SPM) tekniğinden türetilmiştir ve numuneden doğan serbest alan ile etkileşime girdiği analiz edilecek yüzeye yakın yerleştirilen konsola bağlanmış, keskin manyetik uç kullanılmaktadır. Yüzeydeki alanın bir imajı yüzey boyunca manyetik uca etki ederek hareket edecek şekilde dizayn edilmiştir ve pozisyonun bir fonksiyonu olarak kuvveti (veya kuvvet eğimini) ölçer. Etkileşimin gücü bir optik çatışma ölçeği (optical interferometer) veya tünel sensörü kullanılarak konsolun pozisyonunun gözlenmesi ile ölçülür.</p>
<p>Manyetik Güç Tarama Tünellemesi Microskopisi (STM), saf nikeli önceden hazırlanmış bir yüzeye levhalayıp, korozyonu önlemek için yerleştirilen altın tabaka üzerinde oluşan ince film soyulup, meyilli gerilime (tipine özgü olarak bir kaç voltluk DC&#8217;de bir kaç onluk nanoamper) yerleştirilen numune ile bağlanarak test edilen yüzeydeki elektronların boşluktan ilerleyerek numune ucuna ulaşmaları sağlayan daha yeni bir teknik biçimidir. Geribesleme sistemi sabit bir akım elde etmek adına devamlı olarak dikey pozisyonu ayarlarken, numune analiz edilecek yüzey boyunca taranır. Daha sonra imaj aynı MFM metodunda kullanılan yöntemlerle elde edilir [4][5]. manyetik ortamı analiz etmek için geçmişte kullanılan diğer yöntemler ferrofluid&#8217;ün optik miktoskoplarla (gigabit/kare inç kayıt yoğunluğuna sahiptir ve manyetik özelliklerin ışığın dalga boyundan daha küçük yapılara ulaşmasıyla geçerliliğini yitirmiştir) ve birkaç önemli derecede örnek hazırlama ve pahalı ekipmana ihtiyaç duyan egzotik teknikle birlikte kullanılmasından ibarettir. Karşılaştırma yapmak gerekirse, MFM manyetik ortama kalın koruyucu örtü uygulandığı durumlarada kullanılabilir, ön hazırlık gerektirmez, gerektirsede çok küçük miktardadır ve sonuçları çok kısa sürede ortaya çıkarır.</p>
<p>Tecrübesiz bir kullanıcı için bile verilerin imajını almak için gerekli süre 5 dakika civarındadır. Disk biçimleri bilgisinden öte belirli iz ihtiyaçlarının kullanışlı imajlarını almaya başlamak ve tabakadaki konumu düzelterek basit bir imaj elde etmek operatörün yeteneğine ve gerekli çözünürlüğe bağlı olarak 2-10 dakika arasındadır. Daha maliyetli bir MFM ile toplama serisini otomatikleştirmek mümkündür ve teorik olarak MFM kontrol yazılımını değiştirerek tüm diskin bir imajını elde etmek mümkündür.</p>
<p>Üreticilerin satış bilgilerine göre, bugün ortamda bazıları disk sürücü plakasını analiz etmeye yönelik manyetik ortam analizleri için özel yöntemler ile birlikte standart disk sürücü plakaları için vakum tornaları gibi özel yöntemler içeren birkaç milyon kadar kullanılmakta olan SPM bulunmaktadır. Bu SPM&#8217;ler veri kurtarma sürecinin otomasyonunu sağlamak için bilinen programlanabilir kontrolörler ve analiz yazılımları ile birlikte kullanılabilirler. Ticari olarak satılan SPM&#8217;lerin fazla pahalı olduğu düşünülürse, bir PC&#8217;yi kontrolör olarak kullanarak 1400 Amerikan Doları ($) civarında bir maliyetle oldukça duyarlı ve daha makul bir SPM yapılandırılabilir [6].</p>
<p>MFM gibi teknolojiler ile manyetik ortamdan esaslı veri silmek oldukça zordur. Problem verinin aygıta yazılmasından sonra ortaya çıkmaktadır, yazma kısmı kutupluluğu (<em>polarite</em>) manyetik alanın büyük bir kısmına uygular ancak tümüne değil. Bu kısmi işlem, yazıcı aygıtın aynı konumu (lokasyon) her seferinde mükemmel şekilde yazma kabileyetinin bulunmamasından, kısmen ortamın hassasiyetindeki ve alan gücünde meydana gelen zaman ve aygıta bağlı değişiklerden (<em>varyasyon</em>) kaynaklanmaktadır.</p>
<p>Geleneksel olarak, plakaya bir adet 1 yazıldığında cihaz bir adet 1 kaydeder, ve bir adet 0 yazıldığında cihaz bir adet 0 kaydeder. Ancak bir adet 0 verisinin üzerine bir adet 1 yazıldığı zaman 0.95 elde etmeye daha yakındır, ve bir adet 1 versinin üzerine bir adet 0 yazıldığında ise 1.05. Normal disk devre sistemi yapılandırması sayesinde bu iki değerde 1 olarak okunur, ancak özelleştirilmiş devre sistemi ile bir önceki tabakaların ne içerdiği üzerine çalışmalar yapmak mümkündür. Yüksek kaliteli bir dijital örnekleme osiloskobu ile analog baştan sinyali okuyup, örneklenen dalga biçimini bilgisayara indirip, bu dalga biçimini bir önce kaydedilen sinyali kurtarmak için yazılımlarda kullanarak üzerine yazılmış en azından bir veya iki tabakayı kurtarmak zor bir işlem değildir. Yazılımın işlevi &#8220;ideal (<em>uygun</em>)&#8221; bir okuma sinyali üretmek ve okunan sinyalden çıkartarak bir önce kaydedilen sinyalin bakiyesini serbest bırakmaktır. Ticari bir hard disk&#8217;in üzerindeki analog devre sistemi sinyali örnekleme işleminde kullanılan osiloskoptaki devre sisteminin kalitesinde olmadığı sürece disk sürücü elektronikleri tarafından faydalanılmamış birçok ekstra verinin kurtarılmasına çalışılır. (kapsamlı miktarda sinyal süreci gerektiren PRML gibi asla kanal kodlaması yapmayan tekniklere rağmen, osiloskop gibi veriyi direk kurtarmaya yönelik basit araçların kullanımı artık mümkün değildir.)</p>
<p>MFM kullanmak, bunun da ilerisine gidebiliriz. Normal tekrarlamalar süresince, geleneksel kısım parça üzerinde sinyalin ortalamasını alır, ve parça kenarında kalan herhangi bir manyetik kalıntı (bakiye) toplam sinyale küçük miktarda bir gürültü ile katkıda bulunur. Örnekleme bölgesi parça kenarlarında kalan manyetik bakiyeyi açık bir şekilde tespit etmek için fazla geniştir, bu nedenle üzerine yazdırılan ve hala mevcut olan veri MFM veya STM gibi özelleştirilmiş uygulamalar kullanılmadan geri kazanılamaz (gerçekte MFM veya STM&#8217;nin kurumsal anlamda kullanıldığı bir alanda disk sürücüsünün otomatik konumlama (servo-positioning) mekanizmasının verimini değerlendirmektir) [7]. Çoğu cihaz dahili tehşis ve hata düzeltme işlemleri için gerçekleştirilen micro basamaklama (micro-stepping) işlemlerinde beceriklidir (küçük değişikliklere uğrayan veri basamaklarını tekrar okunması, pencere dengelenmesi ve baş kısmın konumunu parçanın iki yanından birine birkaç yüzdelik miktarda oynatılması işlemlerinden oluşan  bilinen hata düzeltme stratejileri), ancak bakiye sinyali silmek için baş kısmın olması gerektiği doğrultuda olmadığı zamanlarda ortama veri yazmak bitişik ortamların okunmasında büyük risk içermektedir (bu nedenle micro basamaklama işlevlerine harici müdehalede bulunmak zorlaştırıldı).</p>
<p>Bu özelleştirilmiş teknikler aynı zamanda verinin manyetik ortamdan sürücünün okuma/yazma başının hiçbir bilgi okuyamadığı zamanlardan çok daha sonra kurtarılabilmesine olanak tanımaktadır. Örneğin AC silintisindeki bir tecrübe yazma başının 40 MHZ kare dalga hızında, genel yazma akımının üstünde, yüksek mikroamperden düşük miliamper seviyelerine geçen, 2 mA&#8217;lik ardışık geçişlere dönüşen toplam 12 mA giriş akımına sahip olmasını gerektirdi. Bu silme işleminden kaynaklanan herhangi bir parça kalıntısı da uzundu, okuma başı tarafından tespit edilemiyordu, ancak MFM kullanılarak gözlemlenebildi. [8]</p>
<p>Bir DC silme sürecinde dahi bir önce kaydedilen sinyalin kalıntıları uygulanan DC alanı birkaç kere mıknatıslanma (gidergenlik) süreci geçirene kadar varlığını sürdürebilir. [9]</p>
<p>Sürücü başın konumunun orjinal parçadan sapmaları dokunulmamış parça kenarı boyunca bir önceki verinin önemli bir kısmının açığa çıkmasına neden olabilir. Yeni girilen veri, MFM ve STM imajlarının birbirini takip eden geniş ışık ve karanlık bantları, genellikle parça kenarlarında sürekliliğini sağlamakta olan bir önce kaydedilmiş veri üzerine eklenir. Eski ve yeni verinin çakıştığı bölgeler iki veri arasında sürekli bir mıknatıslanma oluştururlar. Ancak, yeni geçiş fazı eskisinden farklıysa, iki parçanın birleşme noktasında belirli olmayan mıknatıslanmalarla birlikte birkaç mikron silme bandı oluşturulur. Silme bandındaki yazma alanı ortamın mıknatıslanmasının (gidergenliğinin) üzerindedir ve bu alandaki mıknatıslanmayı değiştirebilir, fakat yeni ve güzel tanımlanmış geçişler oluşturabilecek kadar büyük değildir. Bir deneyim yeni ve eski parçalar arasında gerçekleşebilecek tüm mümkün faz farklarını oluşturabilmek için, bir parçanın 2.5 µm boşluğa sahip olduğu sabit bir model yazmayı, yazma başını parçanın yarısı genişliğinde bir oranla parça dışına kaydırmayı, ve sonrasında modeli bir önceki kaydedilen 2.45 µm boşluğa sahip olduğu parçadan az miktarda daha yüksek bir frakansa sahip olacak şekilde tekrar yazmayı gerektirdi. 4.2 µm genişlikte baş kullanmak eski ve yeni parçaların 180° farklı fazda olduğu durumda yaklaşık 1 µm genişliğe sahip bir silme bandı açığa çıkardı, aynı fazda oldukları durumda ise neredeyse hiçbir sonuç vermedi. 0.5 µm boşluğa sahip orjinal parçalarla 0.49 µm boşluğa sahip yeni parçaları kullanarak daha yükse frekansa sahip veri yazmak basit bir MFM imajının tüm mümkün olabilecek faz farklarını içermesini sağlıyor ve iki verinin 180° farklı faza sahip olduğu durumlarda silme bandının genişliğinde dramatik bir yükselme meydana geldiği gözleniyor. [10]</p>
<p>Eklemek gerekirse; yeni parçanın genişliği, eski veri parçaları kendi başlarına yeterince belirgin olmasa dahi bir önceki verinin kurtarılmasını sağlayarak eski ve yeni parçaların arasındaki faz ilişkisine bağlı olarak modülasyonu ortaya koyabilir. Üzerine yazma performansı aynı zamanda yazma başının orjinal parçaya ilişkin konumuna da bağlıdır. Baş parça ile direk hizalanmışsa, üzerine yazma performansı buna bağlı olarak iyidir; baş parçanın dışındaysa orjinal veriye ait bakiye elemanların yeni yazılan sinyal boyunca tekrar okunmasıyla performans düşer. [11]</p>
<p>Yukarıda sıralanan bütün faktörler bir araya toplandığında, her parça üzerine yazılan herşeyi barındıran bir imaja sahip olduğu, ancak her katmandan gelen destek derece derece artarak küçülüldüğü sonucu ortaya çıkmaktadır. Haberalma kurumları bu yeniden yazılabilir imajlar üzerine çok sayıda deneyim sahibidirler.</p>
<p><strong><em>Not:</em></strong> <em>Çeviri iyileştirmesi için özellikle kullanılan çeviri terimleri</em> <em>adına</em> <em>teknik konu hakkında tecrübeli kişilerden destek beklenmektedir.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=593</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OSS vs FS: &#8216;Açık Kaynak&#8217; ve &#8216;Özgür&#8217; Yazılım Ayrımı</title>
		<link>http://www.samkon.org/?p=747</link>
		<comments>http://www.samkon.org/?p=747#comments</comments>
		<pubDate>Wed, 29 Apr 2009 15:20:38 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[bilim]]></category>
		<category><![CDATA[bilişim]]></category>
		<category><![CDATA[linux gezegeni]]></category>
		<category><![CDATA[serbest]]></category>
		<category><![CDATA[yazdım işte]]></category>
		<category><![CDATA[özgür yazılım]]></category>
		<category><![CDATA[açık kaynak]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[FOSS]]></category>
		<category><![CDATA[free libre/open source]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[free/open source]]></category>
		<category><![CDATA[FS]]></category>
		<category><![CDATA[OSS]]></category>
		<category><![CDATA[özgür]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=747</guid>
		<description><![CDATA[Hepimizin kullandığı iki kelimeden oluşan iki kelime grubu: &#8220;Özgür Yazılım&#8221; ve &#8220;Açık Kaynak Yazılım&#8220;.
Yazımın ileriki bölümlerinde oluşabilecek karışıklığı önlemek amaçlı bu kelime gruplarının orjinal ingilizce karşılıklarını kullanmak yararlı olacaktır: &#8220;Free Software&#8221; ve &#8220;Open Source Software&#8220;.
Peki bu kelimelerin birbirinden ayrıldığı kesin bir tanımlama yapabilir miyiz? Bu konudaki araştırmalarım sonucunda elde ettiğim genel bilgi ışığında öğrendiklerimi sizlerle [...]]]></description>
			<content:encoded><![CDATA[<p>Hepimizin kullandığı iki kelimeden oluşan iki kelime grubu: &#8220;<em>Özgür Yazılım</em>&#8221; ve &#8220;<em>Açık Kaynak Yazılım</em>&#8220;.</p>
<p>Yazımın ileriki bölümlerinde oluşabilecek karışıklığı önlemek amaçlı bu kelime gruplarının orjinal ingilizce karşılıklarını kullanmak yararlı olacaktır: &#8220;<em>Free Software</em>&#8221; ve &#8220;<em>Open Source Software</em>&#8220;.</p>
<p>Peki bu kelimelerin birbirinden ayrıldığı kesin bir tanımlama yapabilir miyiz? Bu konudaki araştırmalarım sonucunda elde ettiğim <a href="http://www.everyjoe.com/newlinuxuser/explain-whats-the-difference-between-floss-foss-oss-and-fs/" target="_blank">genel bilgi</a> ışığında öğrendiklerimi sizlerle paylaşmak istedim.</p>
<h3>Free Software</h3>
<p>Öncelikle ingilizcenin azizliğine uğrayan bir durumdan söz ederek, &#8220;<em>Free</em>&#8221; kelimesinin <em>ingilizcede</em> hem <em>özgürlük</em> hem de <em>bedava</em> anlamında kullanılabildiğini ve bu nedenle yanlış anlaşılmaları önlemek amacıyla <em>Fransızcada</em> &#8220;<em>özgürlük</em>&#8221; anlamına gelen &#8220;<em>Libre</em>&#8221; kelimesiyle birlikte kullanılan &#8220;<em>Free/Libre Software</em>&#8221; şeklinde bir dizilişin de kullanılmakta olduğunu belirteyim.</p>
<ul>
<li><em>Free/Libre Software</em> ifadesinin temelinde sosyal bir ifade vardır.</li>
<li>Kullanıcıya nihai yazılımın <span style="text-decoration: underline;">kullanılması</span>, <span style="text-decoration: underline;">düzenlenmesi</span>, <span style="text-decoration: underline;">üzerinde çalışılması</span> ve <span style="text-decoration: underline;">dağıtılması</span> haklarını veren bir yapıya sahiptir. Kullanıcıya bu haklarını <em>GPL</em> lisansı ile sağlar.</li>
<li>Nihai yazılımın hangi metodoloji ile üretildiği ile ilgilenmez, son ürün üzerindeki kullanıcı haklarını belirtir.</li>
</ul>
<h3>Open Source Software</h3>
<ul>
<li><em>Open Source</em> ise sadece bir grup bireyin bir arada organize olarak yazılım geliştirmeleridir.</li>
<li>Bir yazılım geliştirme metodolojisidir.</li>
<li>Nihai yazılım için kullanıcıların hangi haklara sahip olacakları ile ilgilenmez, sadece geliştirme süreci ile ilgilidir.</li>
</ul>
<h3>Bu tabloya bakacak olursak bir yazılım;</h3>
<ul>
<li>hem <em>OSS</em> metodolojisi ile geliştirilip, kullanıcıya <em>FS</em> haklarını verebilir: <strong>FLOSS (Free Libre/Open Source Software) </strong>veya <strong>FOSS (Free Open Source Software)<br />
</strong></li>
<li><em>OSS</em> metodolojisi ile geliştirilip, kullanıcıya <em>FS</em> haklarını vermeyebilir (<em>GPL </em>lisansına sahip olmayabilir): <strong>OSS (Open Source Software)</strong></li>
<li><em>OSS</em><strong> </strong>metodolojisi ile geliştirilmeyip (kişisel çalışmalarınız sonucu ortaya çıkan bir ürün olabilir), kullanıcıya <em>FS</em> haklarını verebilir: <strong>FS (Free Software)</strong></li>
</ul>
<h3>Kendi dilimizde şöyle bir özetlersek;</h3>
<p><em>Açık Kaynak</em> <em>Yazılımlar </em>bir grup bireyin bir araya gelerek geliştirdikleri yazılımlardır. Aynı zamanda <em>özgür </em>olabilir veya olmayabilirler.</p>
<p><em>Özgür Yazılımlar</em> ise kullanıcıya nihai ürün üzerinde kullanma, düzenleme, üzerinde çalışma ve dağıtma haklarını veren, <em>genel kamu lisansı</em> (<em>GPL</em>) ile lisanslanmış yazılımlardır. <em>Açık Kaynak</em> metodolojisi ile bir grup halinde üretilmiş olabilecekleri gibi bireysel bir çalışmanın ürünü de olabilirler.</p>
<p>Diğer bir deyişle, bir kullanıcının açık kaynak bir yazılım tercih etmesindeki ana fikir <em>kalite</em>, özgür yazılım tercih etmesindeki ana fikir ise <em>kullanıcı hakları bakımından öyle olması gerektiğini düşünmesi</em> olarak açıklanabilir.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=747</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Ubucleaner ile rutin temizlik</title>
		<link>http://www.samkon.org/?p=739</link>
		<comments>http://www.samkon.org/?p=739#comments</comments>
		<pubDate>Tue, 28 Apr 2009 07:35:17 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[bilişim]]></category>
		<category><![CDATA[işletim sistemleri]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux gezegeni]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[yazılım]]></category>
		<category><![CDATA[özgür yazılım]]></category>
		<category><![CDATA[apt cache]]></category>
		<category><![CDATA[araç]]></category>
		<category><![CDATA[bakım]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[old config files]]></category>
		<category><![CDATA[önbellek]]></category>
		<category><![CDATA[performans]]></category>
		<category><![CDATA[removing old kernels]]></category>
		<category><![CDATA[tool]]></category>
		<category><![CDATA[ubucleaner]]></category>
		<category><![CDATA[ubuntu cleaner]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=739</guid>
		<description><![CDATA[Gnu/Linux işletim sistemleri sağladıkları kolaylıklar yanında ilgi isteyen bir yapıya sahiptirler. Eski kernel imajları, eski yapılandırma dosyaları ve çöp kutularındaki gereksiz dosyalar gibi içeriklerin temizlenmesi Gnu/Linux işletim sistemlerinin yöneticisinden beklediği temel rutin işlevlerdendir.
Özellikle çok kullanıcıya sahip sunucularda sistemdeki bu fazlalıklardan kurtulmak basit olduğu kadar önemsenmeyip ertelenebilecek işlemlerdendir. Bu girdimde sizlere bu işlemleri tek bir kabuk [...]]]></description>
			<content:encoded><![CDATA[<p><em>Gnu/Linux</em> işletim sistemleri sağladıkları kolaylıklar yanında ilgi isteyen bir yapıya sahiptirler. Eski kernel imajları, eski yapılandırma dosyaları ve çöp kutularındaki gereksiz dosyalar gibi içeriklerin temizlenmesi <em>Gnu/Linux</em> işletim sistemlerinin yöneticisinden beklediği temel rutin işlevlerdendir.</p>
<p>Özellikle çok kullanıcıya sahip sunucularda sistemdeki bu fazlalıklardan kurtulmak basit olduğu kadar önemsenmeyip ertelenebilecek işlemlerdendir. Bu girdimde sizlere bu işlemleri tek bir kabuk betiğinde birleştirerek daha da basit bir işlem haline getiren <a href="http://www.opendesktop.org/CONTENT/content-files/71529-ubucleaner.sh" target="_blank"><em>ubucleaner.sh</em></a> betiğini tanıtacağım.</p>
<p><em>Ubucleaner</em>; adından da anlaşılacağı üzere <em>ubuntu </em>işletim sistemi yapılandırmasına uygun tasarlanmış, yukarıda bahsettiğim sistem yöneticisinin yapması gereken rutin işlemleri tek bir kabuk betiğinde toplayan kullanışlı bir uygulamadır.</p>
<p>Betiği çalıştırdığımızda sırasıyla gerçekleştirilen işlemler şunlardır:</p>
<ul>
<li>apt önbelleği temizlenir</li>
<li>eski yapılandırma dosyaları temizlenir</li>
<li>eski kernel imajları kaldırılır</li>
<li>tüm kullanıcıların çöp kutuları temizlenir</li>
</ul>
<p><span id="more-739"></span><em>Ubuntu 9.04</em> yükseltme işlemleri sonrası sistemin genel bir temizliğe ihtiyacı olabileceğini düşündüm. İlgili uygulamanın benim sistemimdeki örnek çıktısı:</p>
<blockquote><p>guardian@samkon:~$ sudo ./71529-ubucleaner.sh<br />
[sudo] password for guardian:</p>
<h3>Cleaning apt cache&#8230;</h3>
<p>Reading package lists&#8230; Done<br />
Building dependency tree<br />
Reading state information&#8230; Done<br />
Reading extended state information<br />
Initializing package states&#8230; Done<br />
Writing extended state information&#8230; Done</p>
<h3>Removing old config files&#8230;</h3>
<p>Reading package lists&#8230; Done<br />
Building dependency tree<br />
Reading state information&#8230; Done<br />
Reading extended state information<br />
Initializing package states&#8230; Done<br />
The following packages will be REMOVED:<br />
belocs-locales-bin{p} bluez-audio{p} gnome-bin{p} gnome-libs-data{p} hwtest{p} iamerican{p}<br />
ibritish{p} kdebase-workspace-data{p} kdebase-workspace-libs4+5{p} kdenlive-data{p}<br />
libart2{p} libarts1c2a{p} libartsc0{p} libavcodec-unstripped-51{p} libavcodec1d{p}<br />
libavcodec51{p} libavformat1d{p} libavutil1d{p} libavutil49{p} libcamel1.2-11{p}<br />
libdc1394-13{p} libdiscover1{p} libdns43{p} libdvdread3{p} libgladeui-1-7{p} libglide2{p}<br />
libgnome-desktop-2-7{p} libgnome32{p} libgnomesupport0{p} libgnomeui32{p} libgnorba27{p}<br />
libgnorbagtk0{p} libgpod3{p} libgtkglext1{p} libimlib2{p} libisc44{p} libmagick10{p}<br />
libmiracle0.2.5{p} libmjpegtools0c2a{p} libmlt++0.2.5{p} libmlt0.2.5{p} libmtp7{p}<br />
libnm-util0{p} libntfs-3g23{p} libntfs-3g28{p} libopal-2.2{p} libopenexr2ldbl{p} liborbit0{p}<br />
libparted1.8-9{p} libplasma2{p} libpoppler-glib3{p} libpoppler3{p} libpostproc1d{p}<br />
libpt-1.10.10{u} libpt-1.10.10-plugins-alsa{u} libpt-1.10.10-plugins-v4l{u} libpulsecore5{p}<br />
librasqal0{p} libsmbios1{p} libsox0{p} libstrigiqtdbusclient0{p} libswscale1d{p}<br />
libtotem-plparser10{p} libvalerie0.2.5{p} libx11-xcb1{p} libx264-57{p} libx264-59{p}<br />
libxalan110{p} libxcb-xlib0{p} libxerces-c28{p} libxerces27{p} libzvt2{p}<br />
linux-image-2.6.27-9-generic{p} linux-restricted-modules-2.6.27-9-generic{p}<br />
nautilus-cd-burner{p} nvidia-glx-173{p} nvidia-glx-177{p} nvidia-kernel-common{p}<br />
powernowd{p} ttf-gentium{p} ttf-sil-gentium{p} ubuntu-wallpapers{p} xarchive{p}<br />
0 packages upgraded, 0 newly installed, 83 to remove and 0 not upgraded.<br />
Need to get 0B of archives. After unpacking 4067kB will be freed.<br />
Do you want to continue? [Y/n/?] y<br />
Writing extended state information&#8230; Done<br />
(Reading database &#8230; 168164 files and directories currently installed.)<br />
Removing belocs-locales-bin &#8230;<br />
Purging configuration files for belocs-locales-bin &#8230;<br />
Removing bluez-audio &#8230;<br />
Purging configuration files for bluez-audio &#8230;<br />
Removing gnome-bin &#8230;<br />
Purging configuration files for gnome-bin &#8230;<br />
Removing gnome-libs-data &#8230;<br />
Purging configuration files for gnome-libs-data &#8230;<br />
Removing hwtest &#8230;<br />
Purging configuration files for hwtest &#8230;<br />
Removing iamerican &#8230;<br />
Purging configuration files for iamerican &#8230;<br />
Removing ibritish &#8230;<br />
Purging configuration files for ibritish &#8230;<br />
Removing kdebase-workspace-data &#8230;<br />
Purging configuration files for kdebase-workspace-data &#8230;<br />
Removing kdebase-workspace-libs4+5 &#8230;<br />
Purging configuration files for kdebase-workspace-libs4+5 &#8230;<br />
Removing kdenlive-data &#8230;<br />
Purging configuration files for kdenlive-data &#8230;<br />
Removing libart2 &#8230;<br />
Purging configuration files for libart2 &#8230;<br />
Removing libarts1c2a &#8230;<br />
Purging configuration files for libarts1c2a &#8230;<br />
Removing libartsc0 &#8230;<br />
Purging configuration files for libartsc0 &#8230;<br />
Removing libavcodec-unstripped-51 &#8230;<br />
Purging configuration files for libavcodec-unstripped-51 &#8230;<br />
Removing libavcodec1d &#8230;<br />
Purging configuration files for libavcodec1d &#8230;<br />
Removing libavcodec51 &#8230;<br />
Purging configuration files for libavcodec51 &#8230;<br />
Removing libavformat1d &#8230;<br />
Purging configuration files for libavformat1d &#8230;<br />
Removing libavutil1d &#8230;<br />
Purging configuration files for libavutil1d &#8230;<br />
Removing libavutil49 &#8230;<br />
Purging configuration files for libavutil49 &#8230;<br />
Removing libcamel1.2-11 &#8230;<br />
Purging configuration files for libcamel1.2-11 &#8230;<br />
Removing libdc1394-13 &#8230;<br />
Purging configuration files for libdc1394-13 &#8230;<br />
Removing libdiscover1 &#8230;<br />
Purging configuration files for libdiscover1 &#8230;<br />
Removing libdns43 &#8230;<br />
Purging configuration files for libdns43 &#8230;<br />
Removing libdvdread3 &#8230;<br />
Purging configuration files for libdvdread3 &#8230;<br />
Removing libgladeui-1-7 &#8230;<br />
Purging configuration files for libgladeui-1-7 &#8230;<br />
Removing libglide2 &#8230;<br />
Purging configuration files for libglide2 &#8230;<br />
Removing libgnome-desktop-2-7 &#8230;<br />
Purging configuration files for libgnome-desktop-2-7 &#8230;<br />
Removing libgnome32 &#8230;<br />
Purging configuration files for libgnome32 &#8230;<br />
Removing libgnomesupport0 &#8230;<br />
Purging configuration files for libgnomesupport0 &#8230;<br />
Removing libgnomeui32 &#8230;<br />
Purging configuration files for libgnomeui32 &#8230;<br />
Removing libgnorba27 &#8230;<br />
Purging configuration files for libgnorba27 &#8230;<br />
Removing libgnorbagtk0 &#8230;<br />
Purging configuration files for libgnorbagtk0 &#8230;<br />
Removing libgpod3 &#8230;<br />
Purging configuration files for libgpod3 &#8230;<br />
Removing libgtkglext1 &#8230;<br />
Purging configuration files for libgtkglext1 &#8230;<br />
Removing libimlib2 &#8230;<br />
Purging configuration files for libimlib2 &#8230;<br />
Removing libisc44 &#8230;<br />
Purging configuration files for libisc44 &#8230;<br />
Removing libmagick10 &#8230;<br />
Purging configuration files for libmagick10 &#8230;<br />
Removing libmiracle0.2.5 &#8230;<br />
Purging configuration files for libmiracle0.2.5 &#8230;<br />
Removing libmjpegtools0c2a &#8230;<br />
Purging configuration files for libmjpegtools0c2a &#8230;<br />
Removing libmlt++0.2.5 &#8230;<br />
Purging configuration files for libmlt++0.2.5 &#8230;<br />
Removing libmlt0.2.5 &#8230;<br />
Purging configuration files for libmlt0.2.5 &#8230;<br />
Removing libmtp7 &#8230;<br />
Purging configuration files for libmtp7 &#8230;<br />
Removing libnm-util0 &#8230;<br />
Purging configuration files for libnm-util0 &#8230;<br />
Removing libntfs-3g23 &#8230;<br />
Purging configuration files for libntfs-3g23 &#8230;<br />
Removing libntfs-3g28 &#8230;<br />
Purging configuration files for libntfs-3g28 &#8230;<br />
Removing libopal-2.2 &#8230;<br />
Purging configuration files for libopal-2.2 &#8230;<br />
Removing libopenexr2ldbl &#8230;<br />
Purging configuration files for libopenexr2ldbl &#8230;<br />
Removing liborbit0 &#8230;<br />
Purging configuration files for liborbit0 &#8230;<br />
Removing libparted1.8-9 &#8230;<br />
Purging configuration files for libparted1.8-9 &#8230;<br />
Removing libplasma2 &#8230;<br />
Purging configuration files for libplasma2 &#8230;<br />
Removing libpoppler-glib3 &#8230;<br />
Purging configuration files for libpoppler-glib3 &#8230;<br />
Removing libpoppler3 &#8230;<br />
Purging configuration files for libpoppler3 &#8230;<br />
Removing libpostproc1d &#8230;<br />
Purging configuration files for libpostproc1d &#8230;<br />
(Reading database &#8230; 168154 files and directories currently installed.)<br />
Removing libpt-1.10.10 &#8230;<br />
Removing libpt-1.10.10-plugins-alsa &#8230;<br />
Removing libpt-1.10.10-plugins-v4l &#8230;<br />
Processing triggers for libc6 &#8230;<br />
ldconfig deferred processing now taking place<br />
(Reading database &#8230; 168138 files and directories currently installed.)<br />
Removing libpulsecore5 &#8230;<br />
Purging configuration files for libpulsecore5 &#8230;<br />
Removing librasqal0 &#8230;<br />
Purging configuration files for librasqal0 &#8230;<br />
Removing libsmbios1 &#8230;<br />
Purging configuration files for libsmbios1 &#8230;<br />
Removing libsox0 &#8230;<br />
Purging configuration files for libsox0 &#8230;<br />
Removing libstrigiqtdbusclient0 &#8230;<br />
Purging configuration files for libstrigiqtdbusclient0 &#8230;<br />
Removing libswscale1d &#8230;<br />
Purging configuration files for libswscale1d &#8230;<br />
Removing libtotem-plparser10 &#8230;<br />
Purging configuration files for libtotem-plparser10 &#8230;<br />
Removing libvalerie0.2.5 &#8230;<br />
Purging configuration files for libvalerie0.2.5 &#8230;<br />
Removing libx11-xcb1 &#8230;<br />
Purging configuration files for libx11-xcb1 &#8230;<br />
Removing libx264-57 &#8230;<br />
Purging configuration files for libx264-57 &#8230;<br />
Removing libx264-59 &#8230;<br />
Purging configuration files for libx264-59 &#8230;<br />
Removing libxalan110 &#8230;<br />
Purging configuration files for libxalan110 &#8230;<br />
Removing libxcb-xlib0 &#8230;<br />
Purging configuration files for libxcb-xlib0 &#8230;<br />
Removing libxerces-c28 &#8230;<br />
Purging configuration files for libxerces-c28 &#8230;<br />
Removing libxerces27 &#8230;<br />
Purging configuration files for libxerces27 &#8230;<br />
Removing libzvt2 &#8230;<br />
Purging configuration files for libzvt2 &#8230;<br />
Removing linux-image-2.6.27-9-generic &#8230;<br />
Purging configuration files for linux-image-2.6.27-9-generic &#8230;<br />
Running postrm hook script /sbin/update-grub.<br />
Searching for GRUB installation directory &#8230; found: /boot/grub<br />
Searching for default file &#8230; found: /boot/grub/default<br />
Testing for an existing GRUB menu.lst file &#8230; found: /boot/grub/menu.lst<br />
Searching for splash image &#8230; none found, skipping &#8230;<br />
Found kernel: /boot/vmlinuz-2.6.28-11-generic<br />
Found kernel: /boot/vmlinuz-2.6.27-11-generic<br />
Found kernel: /boot/memtest86+.bin<br />
Updating /boot/grub/menu.lst &#8230; done</p>
<p>rmdir: failed to remove `/lib/modules/2.6.27-9-generic&#8217;: Directory not empty<br />
dpkg &#8211; warning: while removing linux-image-2.6.27-9-generic, directory `/lib/modules/2.6.27-9-generic&#8217; not empty so not removed.<br />
Removing linux-restricted-modules-2.6.27-9-generic &#8230;<br />
Purging configuration files for linux-restricted-modules-2.6.27-9-generic &#8230;<br />
Removing nautilus-cd-burner &#8230;<br />
Purging configuration files for nautilus-cd-burner &#8230;<br />
Removing nvidia-glx-173 &#8230;<br />
Purging configuration files for nvidia-glx-173 &#8230;<br />
Removing nvidia-glx-177 &#8230;<br />
Purging configuration files for nvidia-glx-177 &#8230;<br />
Removing nvidia-kernel-common &#8230;<br />
Purging configuration files for nvidia-kernel-common &#8230;<br />
Removing powernowd &#8230;<br />
Purging configuration files for powernowd &#8230;<br />
Removing ttf-gentium &#8230;<br />
Purging configuration files for ttf-gentium &#8230;<br />
Removing ttf-sil-gentium &#8230;<br />
Purging configuration files for ttf-sil-gentium &#8230;<br />
Removing ubuntu-wallpapers &#8230;<br />
Purging configuration files for ubuntu-wallpapers &#8230;<br />
Removing xarchive &#8230;<br />
Purging configuration files for xarchive &#8230;<br />
Processing triggers for libc6 &#8230;<br />
ldconfig deferred processing now taking place<br />
Reading package lists&#8230; Done<br />
Building dependency tree<br />
Reading state information&#8230; Done<br />
Reading extended state information<br />
Initializing package states&#8230; Done<br />
Writing extended state information&#8230; Done</p>
<h3>Removing old kernels&#8230;</h3>
<p>Reading package lists&#8230; Done<br />
Building dependency tree<br />
Reading state information&#8230; Done<br />
Reading extended state information<br />
Initializing package states&#8230; Done<br />
The following packages will be REMOVED:<br />
linux-image-2.6.27-11-generic{p} linux-restricted-modules-2.6.27-11-generic{p}<br />
0 packages upgraded, 0 newly installed, 2 to remove and 0 not upgraded.<br />
Need to get 0B of archives. After unpacking 96.6MB will be freed.<br />
Do you want to continue? [Y/n/?] y<br />
Writing extended state information&#8230; Done<br />
(Reading database &#8230; 168129 files and directories currently installed.)<br />
Removing linux-restricted-modules-2.6.27-11-generic &#8230;<br />
update-initramfs: Generating /boot/initrd.img-2.6.27-11-generic<br />
Purging configuration files for linux-restricted-modules-2.6.27-11-generic &#8230;<br />
Removing linux-image-2.6.27-11-generic &#8230;<br />
Examining /etc/kernel/prerm.d.<br />
run-parts: executing /etc/kernel/prerm.d/dkms<br />
Uninstalling: nvidia 180.44 (2.6.27-11-generic) (i686)</p>
<p>&#8212;&#8212;&#8211; Uninstall Beginning &#8212;&#8212;&#8211;<br />
Module:  nvidia<br />
Version: 180.44<br />
Kernel:  2.6.27-11-generic (i686)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Status: Before uninstall, this module version was ACTIVE on this kernel.</p>
<p>nvidia.ko:<br />
- Uninstallation<br />
- Deleting from: /lib/modules/2.6.27-11-generic/updates/dkms/<br />
- Original module<br />
- No original module was found for this module on this kernel.<br />
- Use the dkms install command to reinstall any previous module version.<br />
depmod&#8230;.</p>
<p>DKMS: uninstall Completed.<br />
Uninstalling: vboxnetflt 2.1.4 (2.6.27-11-generic) (i686)</p>
<p>&#8212;&#8212;&#8211; Uninstall Beginning &#8212;&#8212;&#8211;<br />
Module:  vboxnetflt<br />
Version: 2.1.4<br />
Kernel:  2.6.27-11-generic (i686)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Status: Before uninstall, this module version was ACTIVE on this kernel.</p>
<p>vboxnetflt.ko:<br />
- Uninstallation<br />
- Deleting from: /lib/modules/2.6.27-11-generic/updates/dkms/<br />
- Original module<br />
- No original module was found for this module on this kernel.<br />
- Use the dkms install command to reinstall any previous module version.<br />
depmod&#8230;.</p>
<p>DKMS: uninstall Completed.<br />
Uninstalling: vboxdrv 2.1.4 (2.6.27-11-generic) (i686)</p>
<p>&#8212;&#8212;&#8211; Uninstall Beginning &#8212;&#8212;&#8211;<br />
Module:  vboxdrv<br />
Version: 2.1.4<br />
Kernel:  2.6.27-11-generic (i686)<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>Status: Before uninstall, this module version was ACTIVE on this kernel.</p>
<p>vboxdrv.ko:<br />
- Uninstallation<br />
- Deleting from: /lib/modules/2.6.27-11-generic/updates/dkms/<br />
- Original module<br />
- No original module was found for this module on this kernel.<br />
- Use the dkms install command to reinstall any previous module version.<br />
depmod&#8230;.</p>
<p>DKMS: uninstall Completed.<br />
run-parts: executing /etc/kernel/prerm.d/last-good-boot<br />
Running postrm hook script /sbin/update-grub.<br />
Searching for GRUB installation directory &#8230; found: /boot/grub<br />
Searching for default file &#8230; found: /boot/grub/default<br />
Testing for an existing GRUB menu.lst file &#8230; found: /boot/grub/menu.lst<br />
Searching for splash image &#8230; none found, skipping &#8230;<br />
Found kernel: /boot/vmlinuz-2.6.28-11-generic<br />
Found kernel: /boot/memtest86+.bin<br />
Replacing config file /var/run/grub/menu.lst with new version<br />
Updating /boot/grub/menu.lst &#8230; done</p>
<p>The link /vmlinuz.old is a damaged link<br />
Removing symbolic link vmlinuz.old<br />
you may need to re-run your boot loader[grub]<br />
The link /initrd.img.old is a damaged link<br />
Removing symbolic link initrd.img.old<br />
you may need to re-run your boot loader[grub]<br />
Purging configuration files for linux-image-2.6.27-11-generic &#8230;<br />
Running postrm hook script /sbin/update-grub.<br />
Searching for GRUB installation directory &#8230; found: /boot/grub<br />
Searching for default file &#8230; found: /boot/grub/default<br />
Testing for an existing GRUB menu.lst file &#8230; found: /boot/grub/menu.lst<br />
Searching for splash image &#8230; none found, skipping &#8230;<br />
Found kernel: /boot/vmlinuz-2.6.28-11-generic<br />
Found kernel: /boot/memtest86+.bin<br />
Updating /boot/grub/menu.lst &#8230; done</p>
<p>rmdir: failed to remove `/lib/modules/2.6.27-11-generic&#8217;: Directory not empty<br />
dpkg &#8211; warning: while removing linux-image-2.6.27-11-generic, directory `/lib/modules/2.6.27-11-generic&#8217; not empty so not removed.<br />
Reading package lists&#8230; Done<br />
Building dependency tree<br />
Reading state information&#8230; Done<br />
Reading extended state information<br />
Initializing package states&#8230; Done</p>
<p>Current status: 4848 new [-2].</p>
<h3>Emptying every trashes&#8230;</h3>
<h3>Script Finished!</h3>
<p>guardian@samkon:~$</p></blockquote>
<p>Hepsi bu kadar..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=739</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>&#8216;Mplayer&#8217; beklentinizden fazlasını verir</title>
		<link>http://www.samkon.org/?p=732</link>
		<comments>http://www.samkon.org/?p=732#comments</comments>
		<pubDate>Tue, 28 Apr 2009 06:39:57 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[bilişim]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux gezegeni]]></category>
		<category><![CDATA[yazılım]]></category>
		<category><![CDATA[özgür yazılım]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[format]]></category>
		<category><![CDATA[mplayer]]></category>
		<category><![CDATA[ses ayırma]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=732</guid>
		<description><![CDATA[Sizde şimdiye kadar benim gibi Mplayer ortam yürütücüsünü sadece bir yürütücü olarak gördüyseniz, fikrinizi değiştirin. Mplayer sizlere daha fazlasını verebilir.
Zamanı geldiğinde kendisini keşfetmenizi bekleyen bu kullanışlı uygulama aynı zamanda görüntülü veya sesli ortam dosyalarınızı düzenleme görevini de yerine getirebilmektedir.
Şöyle ki ben bu özelliğini izlediğim bir filmde rastladığım çok güzel bir parçayı nasıl kesebilirim diye araştırırken [...]]]></description>
			<content:encoded><![CDATA[<p>Sizde şimdiye kadar benim gibi <em>Mplayer</em> ortam yürütücüsünü sadece bir yürütücü olarak gördüyseniz, fikrinizi değiştirin. <em>Mplayer</em> sizlere daha fazlasını verebilir.</p>
<p>Zamanı geldiğinde kendisini keşfetmenizi bekleyen bu kullanışlı uygulama aynı zamanda görüntülü veya sesli ortam dosyalarınızı düzenleme görevini de yerine getirebilmektedir.</p>
<p>Şöyle ki ben bu özelliğini izlediğim bir filmde rastladığım çok güzel bir parçayı nasıl kesebilirim diye araştırırken farkettim ve <em>linux</em> üzerinde <em>ffmpeg</em> dışında ortam dosyalarımı düzenlemenin üzerine ilk defa eğildim.</p>
<h3>Ses Ayırma</h3>
<blockquote><p><span class="pageleft"><em>mplayer dosyaniz.VOB -ao pcm:file=dosyaniz.wav</em></span></p></blockquote>
<p>Ben bu betiği <em>.VOB</em> uzantılı <em>DVD</em> dosyasından tüm sesi ayırmak için kullandım. Tabi tek desteklenen format bundan ibaret değil, bilinen birçok formatın desteklendiğini söyleyebilirim, güncel desteklenen formatlar sayfasına <a href="http://www.mplayerhq.hu/DOCS/codecs-status.html" target="_blank">şuradan</a> ulaşabilirsiniz.</p>
<p>Tüm filmi kapsayan <em>dosyaniz.wav</em> dosyasından benim elde etmek istediğim <em>27.</em> saniyeden sonraki <em>2 dakikalık</em> <em>(120 saniye)</em> aralığı kesmek için ise <em>ffmpeg</em>&#8216;den yararlandığımı merak edenler için belirteyim.</p>
<blockquote><p><span class="pageleft"><em>ffmpeg -i dosyaniz.wav -sameq <strong>-ss 27 -t 120</strong> -ab 128k parca.ogg</em></span></p></blockquote>
<p><span class="pageleft">Sadece ses değil ilgili kısmı video parçası şeklinde ayırmak istersek;</span></p>
<blockquote><p><span class="pageleft"><em>ffmpeg -i dosyaniz.VOB -sameq <strong>-ss 27 -t 120</strong> -ab 128k parca.<strong>flv</strong></em></span></p></blockquote>
<p><span class="pageleft">şeklinde ilgili video dosyamızı örnekte <em>.flv</em> formatına çevirdiğimiz gibi<em><strong> </strong></em>desteklenen bir video formatına çevirmemiz yeterli.</span></p>
<p>Bu tür <span style="text-decoration: underline;">basit</span> dönüştürme işlemlerinin (<em>converting</em>) ticari yazılımlarda <em>lisans</em> veya <em>kalite</em> problemlerine yol açtığı düşünülürse özgürlüğün ne demek olduğu daha açık ortaya çıkacaktır.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=732</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gezegene indim..</title>
		<link>http://www.samkon.org/?p=711</link>
		<comments>http://www.samkon.org/?p=711#comments</comments>
		<pubDate>Fri, 24 Apr 2009 06:05:58 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[bilişim]]></category>
		<category><![CDATA[duyurular]]></category>
		<category><![CDATA[işletim sistemleri]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[linux gezegeni]]></category>
		<category><![CDATA[serbest]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[özgür yazılım]]></category>
		<category><![CDATA[jaunty]]></category>
		<category><![CDATA[jaunty jackalope]]></category>
		<category><![CDATA[LKD]]></category>
		<category><![CDATA[ubuntu 9.04]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=711</guid>
		<description><![CDATA[Bundan böyle benim de bir ayağım linux gezegeninde olacak..
Girdimi boş geçmemek adına duymayanlar varsa buradanda duyurayım:
Ubuntu 9.04 Jaunty Jackalope duyuruldu. Bu girdiden sonra yükseltme işlemlerini gerçekleştireceğim.
Böyle heyecanlı haberlerle gezegene ayak basmak güzel bir duygu.. Herkese merhaba..
]]></description>
			<content:encoded><![CDATA[<p>Bundan böyle benim de bir ayağım <a href="http://gezegen.linux.org.tr/" target="_blank">linux gezegeninde</a> olacak..</p>
<p>Girdimi boş geçmemek adına duymayanlar varsa buradanda duyurayım:</p>
<p><em>Ubuntu 9.04 Jaunty Jackalope</em> duyuruldu. Bu girdiden sonra yükseltme işlemlerini gerçekleştireceğim.</p>
<p>Böyle heyecanlı haberlerle gezegene ayak basmak güzel bir duygu.. Herkese merhaba..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=711</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Wp: query_posts() fonksiyonu</title>
		<link>http://www.samkon.org/?p=614</link>
		<comments>http://www.samkon.org/?p=614#comments</comments>
		<pubDate>Tue, 14 Apr 2009 06:34:39 +0000</pubDate>
		<dc:creator>Guardian</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programlama]]></category>
		<category><![CDATA[özgür yazılım]]></category>
		<category><![CDATA[cat]]></category>
		<category><![CDATA[döngü]]></category>
		<category><![CDATA[endif;]]></category>
		<category><![CDATA[endwhile;]]></category>
		<category><![CDATA[fonksiyon]]></category>
		<category><![CDATA[GET]]></category>
		<category><![CDATA[have_posts()]]></category>
		<category><![CDATA[Loop]]></category>
		<category><![CDATA[page_id]]></category>
		<category><![CDATA[query_posts()]]></category>
		<category><![CDATA[tag]]></category>
		<category><![CDATA[the_post]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp]]></category>
		<category><![CDATA[wp-config.php]]></category>

		<guid isPermaLink="false">http://www.samkon.org/?p=614</guid>
		<description><![CDATA[Wordpress içerikleri görüntülerken Loop adı verilen kendine has meşhur döngüyü oluşturur ve bu döngü sayfada işlenen kriterlere göre veritabanındaki içeriklerin girildiği tabloda bazı seçim (select) işlevini gerçekleştirir. Böylece o anki kriterlere göre veritabanından seçilen satırlar (post verileri) döngüde işlem görürler.
Bu kirterlerin en önemlileri GET metodu ile tanımlanan aşağıdaki verilerdir:

p=[post_id_verisi]
görüntülenecek post verisinin id bilgisini verir. Böylece [...]]]></description>
			<content:encoded><![CDATA[<p><em>Wordpress</em> içerikleri görüntülerken <em>Loop</em> adı verilen kendine has meşhur döngüyü oluşturur ve bu döngü sayfada işlenen kriterlere göre veritabanındaki içeriklerin girildiği tabloda bazı seçim (<em>select</em>) işlevini gerçekleştirir. Böylece o anki kriterlere göre veritabanından seçilen satırlar (post verileri) döngüde işlem görürler.</p>
<p>Bu kirterlerin en önemlileri GET metodu ile tanımlanan aşağıdaki verilerdir:</p>
<blockquote>
<h3>p=[post_id_verisi]</h3>
<p><em>görüntülenecek post verisinin id bilgisini verir. Böylece WP görüntülenecek sayfanın bir post içeriği olduğunu anlar ve ilgili verileri veritabanından alır ve yazdırır.</em></p>
<h3>page_id=[sayfa_id_bilgisi]</h3>
<p><em>görüntülenecek sabit sayfa verisinin id bilgisini verir. WP bu veri sayesinde görüntülenecek içeriğin bir sayfa olduğunu anlar ve veritabanındaki ilgili tablodan işlem yaparak verileri yazdırır.</em></p>
<h3>cat=[kategori_id_bilgisi]</h3>
<p><em>WP bu değişken sayesinde id bilgisi verilen kategoriye ait içeriklerin listelenmesi gerektiğini anlar ve ilgili tablodan verilen id bilgisine ait içerikleri listeler.</em></p>
<h3>tag=[etiket_id_bilgisi]</h3>
<p><em>WP bu değişken sayesinde id bilgisi verilen etikete ait içeriklerin listeleneceğini anlar ve ilgili veritabanı tablosundan verileri listeler.</em></p></blockquote>
<p>Wordpress&#8217;in sayfaları, içerikleri, kategori içeriklerini, etiket içeriklerini listeleme işleminde yukarıda belirtmiş olduğumuz veriler referans olarak kullanılırlar.<span id="more-614"></span></p>
<p>Bütün işlemlerde verilen referans id bilgilerine bağlı olarak veritabanının ilgili tablolarından seçim (<em>select</em>) işlemi gerçekleştirilir. Herhangi bir <em>WP</em> temasının <em>single.php, index.php, page.php</em> vebenzeri betiklerini incelediğinizde aşağıdaki satırları görebilirsiniz:</p>
<blockquote><p>&lt;?php if (have_posts()) : ?&gt;<br />
&lt;?php while (have_posts()) : the_post(); ?&gt;</p></blockquote>
<p>WP&#8217;ye özel bu satırlar yukarıda bahsettiğimiz kriterlere bağlı olarak seçim işlemi sonucunda veritabanından seçilen satırların işleme gireceği döngünün başlangıç satırlarıdır. Bu döngüler,</p>
<blockquote><p>&lt;?php endwhile; ?&gt;</p>
<p>&lt;?php endif; ?&gt;</p></blockquote>
<p>satırları ile sona ererler.</p>
<p>WP&#8217;nin temel işleyişi hakkında bu kadar önbilgi girdikten sonra asıl konumuza adım adım giriş yapalım.</p>
<h3>Peki ya Loop döngüsünün dışına çıkarsam?</h3>
<p>Özellikle <em>Ajax</em> uygulamalarında sunucuya sayfadan bağımsız yeni bir istek gönderdiğimiz zaman tek içeriğe (<em>tek select satırı sonucuna</em> <em>sahip. örn: &#8216;p=15&#8242;</em> gibi) sahip kriterlerde çeşitli <em>WP</em> fonksiyonlarını kullanarak içeriği <em>Loop</em> döngüsünden bağımsız oluşturmamız mümkün olmakla birlikte bu işlemin zahmetli bir süreç gerektirdiğini kabul etmeliyiz. Aynı zamanda birden fazla içeriğe sahip olabilecek kriterler (<em>örn: cat=3</em>) söz konusu ise bir şekilde kendi döngümüzü oluşturmamız gerekecektir.</p>
<p><em>WP</em> geliştiricileride bu durumu düşünerek bizlerin kendi döngülerinden istediğimiz anda yararlanabilmemizi sağlayan bir <em>WP</em> fonksiyonu geliştirmişler: <em>query_posts()</em>.</p>
<h3>query_posts() fonksiyonu işlevi</h3>
<p>Bu kullanışlı fonksiyon bizlere istediğimiz kriteri belirleyerek yeni bir Loop döngüsü oluşturma imkanı sağlamaktadır. Böylece yukarıda belirttiğimiz döngü başlangıcı satırlar belirttiğimiz kritere göre işlem yapabilmektedirler.</p>
<p>Örneğin bir betiğe id bilgisi 12 olan etiket bilgisine sahip içerikleri listeletmek istediğimizde:</p>
<blockquote><p>&lt;?php <strong>query_posts(tag=12);</strong>?&gt;</p>
<p>&lt;?php if (have_posts()) : ?&gt;<br />
&lt;?php while (have_posts()) : the_post(); ?&gt;</p>
<p style="padding-left: 30px;">[WP fonksiyonlarını içeren tasarıma ait HTML kodları]</p>
<p>&lt;?php endwhile; ?&gt;</p>
<p>&lt;?php endif; ?&gt;</p></blockquote>
<p>betiğe id bilgisi 9 olan kategori bilgisine sahip içerikleri listeletmek istediğimizde:</p>
<blockquote><p>&lt;?php <strong>query_posts(cat=9);</strong>?&gt;</p>
<p>&lt;?php if (have_posts()) : ?&gt;<br />
&lt;?php while (have_posts()) : the_post(); ?&gt;</p>
<p style="padding-left: 30px;">[WP fonksiyonlarını içeren tasarıma ait HTML kodları]</p>
<p>&lt;?php endwhile; ?&gt;</p>
<p>&lt;?php endif; ?&gt;</p></blockquote>
<p>betiğe id bilgisi 3 olan post içeriğini görüntületmek istediğimizde istediğimizde:</p>
<blockquote><p>&lt;?php <strong>query_posts(p=3);</strong>?&gt;</p>
<p>&lt;?php if (have_posts()) : ?&gt;<br />
&lt;?php while (have_posts()) : the_post(); ?&gt;</p>
<p style="padding-left: 30px;">[WP fonksiyonlarını içeren tasarıma ait HTML kodları]</p>
<p>&lt;?php endwhile; ?&gt;</p>
<p>&lt;?php endif; ?&gt;</p></blockquote>
<p>yöntemlerini kullanabilmekteyiz. <em>Wp</em>&#8216;in işleyişini daha iyi kavramak için çeşitli <em>Wp</em> temalarının betiklerini incelemenizi ve aynı dizinde bunlardan bağımsız benzer bir betik oluştururarak bu yöntemleri betiğinize uygulamanızı ve tarayıcınızdan ilgili betiğinizi çağırarak betiğinizi test etmenizi tavsiye ederim. Ancak bunun için ilk işlem olarak betiğinizin en üstünde <strong><em>wp-config.php</em></strong> betiğini çağırmanız gerektiğini unutmayın.</p>
<p>Anlaşılmayan noktalar üzerine sorulan sorular beni sevindirecektir. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.samkon.org/?feed=rss2&amp;p=614</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
