<?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>Void and Null &#187; пинизи</title>
	<atom:link href="http://blog.ivanatora.info/tag/%d0%bf%d0%b8%d0%bd%d0%b8%d0%b7%d0%b8/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.ivanatora.info</link>
	<description>Code, Linux and Shits</description>
	<lastBuildDate>Wed, 01 Feb 2012 17:48:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Готин Bash хак за изтриване на път</title>
		<link>http://blog.ivanatora.info/2009/11/24/%d0%b3%d0%be%d1%82%d0%b8%d0%bd-bash-%d1%85%d0%b0%d0%ba-%d0%b7%d0%b0-%d0%b8%d0%b7%d1%82%d1%80%d0%b8%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%8a%d1%82/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25b3%25d0%25be%25d1%2582%25d0%25b8%25d0%25bd-bash-%25d1%2585%25d0%25b0%25d0%25ba-%25d0%25b7%25d0%25b0-%25d0%25b8%25d0%25b7%25d1%2582%25d1%2580%25d0%25b8%25d0%25b2%25d0%25b0%25d0%25bd%25d0%25b5-%25d0%25bd%25d0%25b0-%25d0%25bf%25d1%258a%25d1%2582</link>
		<comments>http://blog.ivanatora.info/2009/11/24/%d0%b3%d0%be%d1%82%d0%b8%d0%bd-bash-%d1%85%d0%b0%d0%ba-%d0%b7%d0%b0-%d0%b8%d0%b7%d1%82%d1%80%d0%b8%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%8a%d1%82/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 08:58:55 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[линукс]]></category>
		<category><![CDATA[пинизи]]></category>

		<guid isPermaLink="false">http://blog.ivanatora.info/?p=352</guid>
		<description><![CDATA[Забелязъл съм нещо интересно, което може да се прави в csh, но работи по друг начин в bash. Да речем че съм написал някакъв дълъг път: /mnt/storage/mp3/Manowar ... и се сетя че всъщност не съм имал предвид "Manowar" като последна директория, а "rammstein". Единия начин да оправя това е като набия 7 backspace-а и да [...]]]></description>
			<content:encoded><![CDATA[<p>Забелязъл съм нещо интересно, което може да се прави в csh, но работи по друг начин в bash.<br />
Да речем че съм написал някакъв дълъг път:</p>
<blockquote><p>/mnt/storage/mp3/Manowar</p></blockquote>
<p>... и се сетя че всъщност не съм имал предвид "Manowar" като последна директория, а "rammstein". Единия начин да оправя това е като набия 7 backspace-а и да изтрия всяка буква поотделно, докато стигна до наклонената черта. Ами ако се сетя че "rammstein" не е в "mp3", а в "/mnt/storage/Music"? Тогава чаткането по backspace става още повече.<br />
В csh това става елементарно с CTRL-W - комбинацията изтрива всичко от командния ред до предната наклонена черта.<br />
Така </p>
<blockquote><p>/mnt/storage/mp3/Manowar</p></blockquote>
<p>става </p>
<blockquote><p>/mnt/storage/mp3/</p></blockquote>
<p>с един CTRL-W. Следващия CTRL-W ще махне "mp3/", следващия ще махне "storage/" и т.н.<br />
Гугъл върна един резултат на това търсене - тук в <a href='http://www.shallowsky.com/blog/linux/bash-word-erase.html'>Shallow Thoughts</a>.<br />
На кракто решението е следното:<br />
Това отива в ~/.inputrc:</p>
<pre>
set bind-tty-special-chars Off
</pre>
<p>А това отива в ~/.bash_profile:</p>
<pre>
bind '\C-w:backward-kill-word'
</pre>
<p>Шела се рестартира (logout -> login) и трябва да работи.<br />
Обяснение на дълго защо се случва това - в горния линк.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2009/11/24/%d0%b3%d0%be%d1%82%d0%b8%d0%bd-bash-%d1%85%d0%b0%d0%ba-%d0%b7%d0%b0-%d0%b8%d0%b7%d1%82%d1%80%d0%b8%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bf%d1%8a%d1%82/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Закоментиране на цял блок код с един знак</title>
		<link>http://blog.ivanatora.info/2009/11/01/%d0%b7%d0%b0%d0%ba%d0%be%d0%bc%d0%b5%d0%bd%d1%82%d0%b8%d1%80%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%86%d1%8f%d0%bb-%d0%b1%d0%bb%d0%be%d0%ba-%d0%ba%d0%be%d0%b4-%d1%81-%d0%b5%d0%b4%d0%b8%d0%bd-%d0%b7%d0%bd/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25b7%25d0%25b0%25d0%25ba%25d0%25be%25d0%25bc%25d0%25b5%25d0%25bd%25d1%2582%25d0%25b8%25d1%2580%25d0%25b0%25d0%25bd%25d0%25b5-%25d0%25bd%25d0%25b0-%25d1%2586%25d1%258f%25d0%25bb-%25d0%25b1%25d0%25bb%25d0%25be%25d0%25ba-%25d0%25ba%25d0%25be%25d0%25b4-%25d1%2581-%25d0%25b5%25d0%25b4%25d0%25b8%25d0%25bd-%25d0%25b7%25d0%25bd</link>
		<comments>http://blog.ivanatora.info/2009/11/01/%d0%b7%d0%b0%d0%ba%d0%be%d0%bc%d0%b5%d0%bd%d1%82%d0%b8%d1%80%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%86%d1%8f%d0%bb-%d0%b1%d0%bb%d0%be%d0%ba-%d0%ba%d0%be%d0%b4-%d1%81-%d0%b5%d0%b4%d0%b8%d0%bd-%d0%b7%d0%bd/#comments</comments>
		<pubDate>Sun, 01 Nov 2009 13:51:42 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[пинизи]]></category>
		<category><![CDATA[сорс]]></category>

		<guid isPermaLink="false">http://ivanatora.info/?p=326</guid>
		<description><![CDATA[Този бърз хак работи само в езици, които поддържат коментари от вида "//" за коментиране на ред и такива от вида "/* ... */" за коментиране на блок. Да вземем този блок: &#160; blqk&#40;&#41;; puf&#40;&#41;; paf&#40;&#41;; &#160; Да го закоментираме целия: &#160; /* blqk(); puf(); paf(); */ &#160; И да закоментираме затварящия коментар &#160; /* [...]]]></description>
			<content:encoded><![CDATA[<p>Този бърз хак работи само в езици, които поддържат коментари от вида "//" за коментиране на ред и такива от вида "/* ... */" за коментиране на блок.<br />
Да вземем този блок:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">blqk<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">puf<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">paf<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>Да го закоментираме целия:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">blqk();</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">puf();</span></div>
</li>
<li class="li2">
<div class="de2"><span class="coMULTI">paf();</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">*/</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>И да закоментираме затварящия коментар <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">blqk();</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">puf();</span></div>
</li>
<li class="li2">
<div class="de2"><span class="coMULTI">paf();</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">//*/</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>В този момент целия блок е закоментиран. Ако сега добавим единична "/" пред отварящия коментар, коментарите ще отпаднат и блокът ще се разкоментира:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//*</span></div>
</li>
<li class="li1">
<div class="de1">blqk<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">puf<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">paf<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">//*/</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>Изпробвано е и работи в С и РНР. Ако имате пуснато оцветяване на кода в редактора, който ползвате (и оцветяването работи добре в реално време), ще видите интерсна гледка при добавяне и премахване на магическата "/" <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2009/11/01/%d0%b7%d0%b0%d0%ba%d0%be%d0%bc%d0%b5%d0%bd%d1%82%d0%b8%d1%80%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d1%86%d1%8f%d0%bb-%d0%b1%d0%bb%d0%be%d0%ba-%d0%ba%d0%be%d0%b4-%d1%81-%d0%b5%d0%b4%d0%b8%d0%bd-%d0%b7%d0%bd/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Интегриране на GCC във Vim</title>
		<link>http://blog.ivanatora.info/2009/03/25/%d0%b8%d0%bd%d1%82%d0%b5%d0%b3%d1%80%d0%b8%d1%80%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-gcc-%d0%b2%d1%8a%d0%b2-vim/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25b8%25d0%25bd%25d1%2582%25d0%25b5%25d0%25b3%25d1%2580%25d0%25b8%25d1%2580%25d0%25b0%25d0%25bd%25d0%25b5-%25d0%25bd%25d0%25b0-gcc-%25d0%25b2%25d1%258a%25d0%25b2-vim</link>
		<comments>http://blog.ivanatora.info/2009/03/25/%d0%b8%d0%bd%d1%82%d0%b5%d0%b3%d1%80%d0%b8%d1%80%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-gcc-%d0%b2%d1%8a%d0%b2-vim/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 07:24:31 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[пинизи]]></category>
		<category><![CDATA[сорс]]></category>

		<guid isPermaLink="false">http://ivanatora.info/?p=277</guid>
		<description><![CDATA[Вдъхновен от поста на един приятел, реших че може малко да си улесня живота като добавя бързи бутони за Compile и CompileRun във vim Пиниза наистина е лесен и си струва. Следните редове се добавят във .vimrc: &#160; map &#60;F9&#62; :call CompileRun&#40;&#41;&#60;CR&#62; map &#60;F5&#62; :call Compile&#40;&#41;&#60;CR&#62; func! CompileRun&#40;&#41; &#160; &#160; &#160; &#160; exec &#34;w&#34; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Вдъхновен от <a href='http://gotha88.blogspot.com/2009/03/gedit-ide-c.html'>поста</a> на един приятел, реших че може малко да си улесня живота като добавя бързи бутони за Compile и CompileRun във vim <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Пиниза наистина е лесен и си струва. Следните редове се добавят във .vimrc:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">map &lt;F9&gt; :call CompileRun<span class="br0">&#40;</span><span class="br0">&#41;</span>&lt;CR&gt;</div>
</li>
<li class="li1">
<div class="de1">map &lt;F5&gt; :call Compile<span class="br0">&#40;</span><span class="br0">&#41;</span>&lt;CR&gt;</div>
</li>
<li class="li1">
<div class="de1">func! CompileRun<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; exec <span class="st0">&quot;w&quot;</span> &nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; exec <span class="st0">&quot;!gcc % -o %&lt; &amp;&amp; ./%&lt;&quot;</span></div>
</li>
<li class="li1">
<div class="de1">endfunc</div>
</li>
<li class="li1">
<div class="de1">func! Compile<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; exec <span class="st0">&quot;w&quot;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; exec <span class="st0">&quot;!gcc % -o %&lt;&quot;</span></div>
</li>
<li class="li1">
<div class="de1">endfunc</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>След това докато редактирате .с файл цъкате F5 и файла се компилира, F9 и се компилира и изпълнява. Евентуално може да бъде добавена и функцийка за make с Makefile.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2009/03/25/%d0%b8%d0%bd%d1%82%d0%b5%d0%b3%d1%80%d0%b8%d1%80%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-gcc-%d0%b2%d1%8a%d0%b2-vim/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Мониторинг качеството на нета</title>
		<link>http://blog.ivanatora.info/2009/03/11/%d0%bc%d0%be%d0%bd%d0%b8%d1%82%d0%be%d1%80%d0%b8%d0%bd%d0%b3-%d0%ba%d0%b0%d1%87%d0%b5%d1%81%d1%82%d0%b2%d0%be%d1%82%d0%be-%d0%bd%d0%b0-%d0%bd%d0%b5%d1%82%d0%b0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25bc%25d0%25be%25d0%25bd%25d0%25b8%25d1%2582%25d0%25be%25d1%2580%25d0%25b8%25d0%25bd%25d0%25b3-%25d0%25ba%25d0%25b0%25d1%2587%25d0%25b5%25d1%2581%25d1%2582%25d0%25b2%25d0%25be%25d1%2582%25d0%25be-%25d0%25bd%25d0%25b0-%25d0%25bd%25d0%25b5%25d1%2582%25d0%25b0</link>
		<comments>http://blog.ivanatora.info/2009/03/11/%d0%bc%d0%be%d0%bd%d0%b8%d1%82%d0%be%d1%80%d0%b8%d0%bd%d0%b3-%d0%ba%d0%b0%d1%87%d0%b5%d1%81%d1%82%d0%b2%d0%be%d1%82%d0%be-%d0%bd%d0%b0-%d0%bd%d0%b5%d1%82%d0%b0/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 23:03:24 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[линукс]]></category>
		<category><![CDATA[пинизи]]></category>

		<guid isPermaLink="false">http://ivanatora.info/?p=267</guid>
		<description><![CDATA[Терминът "качество на нета" по-скоро е взет от някой тинейджърски журнал, но уцелва точно нуждите на крайния клиент. Аз като клиент на моя ISP се нуждая от две неща - ниска (по възможност - никаква) загуба на пакети и ниско (по възможност - никакво) забавяне на пакетите. Това трябва да ми се поднесе разбираемо, с [...]]]></description>
			<content:encoded><![CDATA[<p>Терминът "качество на нета" по-скоро е взет от някой тинейджърски журнал, но уцелва точно нуждите на крайния клиент. Аз като клиент на моя ISP се нуждая от две неща - ниска (по възможност - никаква) загуба на пакети и ниско (по възможност - никакво) забавяне на пакетите. Това трябва да ми се поднесе разбираемо, с картинка.<br />
Нужен софтуер:</p>
<ul>
<li><a href='http://oss.oetiker.ch/rrdtool/'>RRDtool</a> - има страхотни възможности за представяне на числова информация. За примерни графики вижте <a href='http://oss.oetiker.ch/rrdtool/gallery/index.en.html'>галерията</a> им.</li>
<li>ping - резултата от изпълнението на ping съдържа всичко необходимо за изграждане на статистиката ни - Round trip time и Packet loss</li>
<li>Perl - или друг удобен ви език. Трябва ви за парсване на изхода от ping</li>
<li>crontab - искаме статистиката да се събира през определен интервал от време</li>
</ul>
<p>Системата може да бъде разделена на две части: част за събиране на статистика и част за графично представяне на данните.<br />
<strong>Събиране на статистика</strong><br />
На всеки 5 минути ще се пуска ping до няколко избрани хоста в различни зони на пиъринга. Естествено върнатите резултати ще са субективни, защото зависят от параметрите на отсрещната точка. Все пак цялото задание "качество на нета" е субективно, така че да продължаваме <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Избрал съм единия хост да бъде шлюза на доставчика ми, втория хост да бъде dir.bg (тест на bg пиъринга) и третия хост да бъде ivanatora.info (за тест на международната свързаност).<br />
Логът се изгражда от следния скрипт:<br />
/home/ivanatora/perl_razni/ping_stats.pl</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">#!/usr/bin/perl</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$target</span> = <span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span>; <span class="co1"># тук ще идва адреса на целта</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$db</span> = <span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span>; <span class="co1"># тук ще идва в коя база ще се записва</span></div>
</li>
<li class="li2">
<div class="de2"><span class="re0">$dump</span> = <span class="st0">&quot;/home/ivanatora/stats_ping/$target.log&quot;</span>; <span class="co1"># лога с крайните резултати</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$rrd_path</span> = <span class="st0">&quot;/home/ivanatora/rrd/temps/pings&quot;</span>; <span class="co1"># директорията с RRD базите</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://perldoc.perl.org/functions/open.html"><span class="kw3">open</span></a> <span class="br0">&#40;</span>FH, <span class="st0">&quot;&gt;&gt;&quot;</span>, <span class="re0">$dump</span><span class="br0">&#41;</span> <span class="kw1">or</span> <a href="http://perldoc.perl.org/functions/die.html"><span class="kw3">die</span></a> <span class="st0">&quot;$!&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#40;</span><span class="re0">$sec</span>,<span class="re0">$min</span>,<span class="re0">$hour</span>,<span class="re0">$mday</span>,<span class="re0">$mon</span>,<span class="re0">$year</span>,<span class="re0">$wday</span>,<span class="re0">$yday</span>,<span class="re0">$isdst</span><span class="br0">&#41;</span> = <a href="http://perldoc.perl.org/functions/localtime.html"><span class="kw3">localtime</span></a><span class="br0">&#40;</span><a href="http://perldoc.perl.org/functions/time.html"><span class="kw3">time</span></a><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$mon</span>++;</div>
</li>
<li class="li2">
<div class="de2"><span class="re0">$year</span> += <span class="nu0">1900</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$time</span> = <a href="http://perldoc.perl.org/functions/sprintf.html"><span class="kw3">sprintf</span></a><span class="br0">&#40;</span><span class="st0">&quot;%02d/%02d/%4d %02d:%02d:%02d&quot;</span>, <span class="re0">$mday</span>, <span class="re0">$mon</span>, <span class="re0">$year</span>, <span class="re0">$hour</span>, <span class="re0">$min</span>, <span class="re0">$sec</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$output</span> = `/bin/ping -<a href="http://perldoc.perl.org/functions/q.html"><span class="kw3">q</span></a> -c100 -w100 <span class="re0">$target</span>`; <span class="co1"># пуска ping със 100 пакета и чака максимално 100 секунди за изпълнението на командата</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$output</span> =~ /<span class="br0">&#40;</span>\d+?<span class="br0">&#41;</span>% packet loss/<span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$loss</span> = $<span class="nu0">1</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$percent</span> = <a href="http://perldoc.perl.org/functions/sprintf.html"><span class="kw3">sprintf</span></a><span class="br0">&#40;</span><span class="st0">&quot;%3d&quot;</span>, $<span class="nu0">1</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$output</span> =~ /rtt min\/avg\/max\/mdev = .+?\/<span class="br0">&#40;</span>.+?<span class="br0">&#41;</span>\//<span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$avg</span> = $<span class="nu0">1</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://perldoc.perl.org/functions/print.html"><span class="kw3">print</span></a> FH <span class="st0">&quot;$time : $percent% loss to $target Average: $1 ms<span class="es0">\n</span>&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># update RRD</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$ts</span> = <a href="http://perldoc.perl.org/functions/time.html"><span class="kw3">time</span></a>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$mod</span> = <span class="re0">$ts</span> % <span class="nu0">300</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$ts</span> -= <span class="re0">$mod</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$avg</span> =~ /^<span class="br0">&#40;</span>.+?<span class="br0">&#41;</span>\./;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$rtt</span> = $<span class="nu0">1</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; `/home/ivanatora/rrd/bin/rrdtool update <span class="re0">$rrd_path</span>/<span class="re0">$db</span>.rrd <span class="re0">$ts</span>:<span class="re0">$loss</span>:<span class="re0">$rtt</span>`; <span class="co1"># командата за ъпдейт на базата; TODO: да направя пътя до изпълнимия файл на rrdtool в променлива</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://perldoc.perl.org/functions/close.html"><span class="kw3">close</span></a> <span class="br0">&#40;</span>FH<span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>Малко изпреварвам времето, защото още не сме създали RRD базите. Каква е идеята на RRD? Round Robin Database е способ за запазване на постоянно изменяща се информация във времето, като всяка промяна се регистрира в цикличен буфер. Ако имаме един буфер със 12 слота и ъпдейтваме базата през 5 минути, във всеки момент ще имаме данните от предния час. Какво става с по-старите данни - губят ли се? Да. Ако ни трябват ще направим още един буфер, който ще се ъпдейтва на всяко цялостно извъртане на часовия буфер - ще взима средната стойност на всички измервания и ще го записва в един негов слот. Така ако този буфер има 24 слота ще имаме статистика на средната часова стойност на измерванията. Може да имате колкото си искате вторични буфери и всички се съхраняват в една и съща база и се ъпдейтват автоматично. Освен това в един буфер може да пазите стойностите на няколко променливи. Предимствата на RRD е че всяка промяна се регистрира, като размера на базата не нараства линейно във времето.<br />
До тук вероятно имаме лог с нещо такова:<br />
/home/ivanatora/stats_ping/dir.bg.log<br />
<code><br />
11/03/2009 00:05:01 :   0% loss to dir.bg Average: 7.271 ms<br />
11/03/2009 00:10:01 :   0% loss to dir.bg Average: 9.091 ms<br />
11/03/2009 00:15:01 :   0% loss to dir.bg Average: 7.466 ms<br />
11/03/2009 00:20:01 :   1% loss to dir.bg Average: 7.152 ms<br />
11/03/2009 00:25:01 :   0% loss to dir.bg Average: 8.273 ms<br />
11/03/2009 00:30:01 :   0% loss to dir.bg Average: 6.863 ms<br />
11/03/2009 00:35:01 :   0% loss to dir.bg Average: 11.690 ms<br />
</code><br />
Този лог може да използваме за каквото си искаме, а може и въобще да не го правим. Горния скрипт работи ъпдейтва директно rrdtool, така че ако не искате излишни логове да се пазят на машината ви насочете $dump = "/dev/null"; <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<br />
<strong>Създаване на RRD бази.</strong><br />
За всеки изследван хост ще направим по една база. В тази база ще се съхраняват стойностите за Round Trip Time и Packet Loss.<br />
Правим си следното bash скриптче (освен ако не ви мързи да го пишете на ръка за всяка база - може да имате и повече от три бази):</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re3">#!/bin/bash</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">NOW=</span>`<span class="kw2">date</span> +%s`</div>
</li>
<li class="li1">
<div class="de1">rrdtool create $<span class="nu0">1</span>.rrd --start <span class="re1">$NOW</span> --step <span class="nu0">300</span> \</div>
</li>
<li class="li2">
<div class="de2">DS:PacketLoss:GAUGE:<span class="nu0">300</span>:<span class="nu0">0</span>:<span class="nu0">100</span> \</div>
</li>
<li class="li1">
<div class="de1">DS:RTT:GAUGE:<span class="nu0">300</span>:<span class="nu0">0</span>:<span class="nu0">10000</span> \</div>
</li>
<li class="li1">
<div class="de1">RRA:LAST:<span class="nu0">0.5</span>:<span class="nu0">1</span>:<span class="nu0">288</span> \</div>
</li>
<li class="li1">
<div class="de1">RRA:AVERAGE:<span class="nu0">0.5</span>:<span class="nu0">6</span>:<span class="nu0">336</span> \</div>
</li>
<li class="li1">
<div class="de1">RRA:AVERAGE:<span class="nu0">0.5</span>:<span class="nu0">24</span>:<span class="nu0">360</span> \</div>
</li>
<li class="li2">
<div class="de2">RRA:AVERAGE:<span class="nu0">0.5</span>:<span class="nu0">288</span>:<span class="nu0">365</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>Подробностите за синтаксиса можете да намерите в документацията на RRDtool. На кратко - създаваме база с 2 източника на данни (променливи, които ще следим): PacketLoss и RTT. Задават се интервалите на ъпдейт на всеки източник,минимални и максимални допустими стойности. След това се правят 4 Round Robin Archives (буферите, за които говорихме по-рано).<br />
Създаваме трите бази:<br />
<code><br />
[ivanatora@~/rrd/temps/pings]$ sh create_script.sh bg<br />
[ivanatora@~/rrd/temps/pings]$ sh create_script.sh gw<br />
[ivanatora@~/rrd/temps/pings]$ sh create_script.sh int<br />
</code><br />
Слагаме cronjob за изпълнение на ъпдейтващия скрипт на 5 минути:<br />
<code><br />
*/5 * * * * perl /home/ivanatora/perl_razni/ping_stats.pl 87.120.194.1 gw<br />
*/5 * * * * perl /home/ivanatora/perl_razni/ping_stats.pl dir.bg bg<br />
*/5 * * * * perl /home/ivanatora/perl_razni/ping_stats.pl ivanatora.info int<br />
</code><br />
Както видяхме скрипта приема два аргумента: адрес за ping и име на базата, която ъпдейтва.<br />
<strong>Рисуване на графиките</strong><br />
Ще имаме отделна графика за всяка следена величина. Може да комбинираме няколко от графиките на една, но само ако очаквате там приблизително еднакви резултати. Големите отклонения на величините карат rrdtool да измества разделителната способност на графиката и една от графиките в общата картинка не се вижда добре. Ще имаме два скрипта за чертане на графики - един за Round Trip Time и един за Packet Loss.<br />
/home/ivanatora/rrd/temps/pings/loss_graph.sh</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re3">#!/bin/bash</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">PATH=</span><span class="re1">$PATH</span>:/home/ivanatora/rrd/bin</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">DIR=</span>/home/ivanatora/rrd/temps/pings/</div>
</li>
<li class="li2">
<div class="de2">rrdtool graph <span class="re1">$DIR</span>/img/loss-$<span class="nu0">1</span>.png \</div>
</li>
<li class="li1">
<div class="de1">--<span class="re2">title=</span><span class="st0">&quot;&lt;$1&gt; Packet loss&quot;</span> \</div>
</li>
<li class="li1">
<div class="de1">--color CANVAS<span class="re3">#<span class="nu0">000000</span> \</span></div>
</li>
<li class="li1">
<div class="de1">--color BACK<span class="re3">#<span class="nu0">000000</span> \</span></div>
</li>
<li class="li1">
<div class="de1">--color GRID<span class="re3">#<span class="nu0">006600</span> \</span></div>
</li>
<li class="li2">
<div class="de2">--color MGRID<span class="re3">#<span class="nu0">003300</span> \</span></div>
</li>
<li class="li1">
<div class="de1">--color AXIS<span class="re3">#00ff00 \</span></div>
</li>
<li class="li1">
<div class="de1">--color FONT<span class="re3">#00ff00 \</span></div>
</li>
<li class="li1">
<div class="de1">--color SHADEA<span class="re3">#<span class="nu0">000000</span> \</span></div>
</li>
<li class="li1">
<div class="de1">--color SHADEB<span class="re3">#<span class="nu0">000000</span> \</span></div>
</li>
<li class="li2">
<div class="de2">--slope-mode \</div>
</li>
<li class="li1">
<div class="de1">--upper-limit <span class="nu0">100</span> \</div>
</li>
<li class="li1">
<div class="de1">--rigid \</div>
</li>
<li class="li1">
<div class="de1">--width <span class="nu0">480</span> \</div>
</li>
<li class="li1">
<div class="de1">--height <span class="nu0">300</span> \</div>
</li>
<li class="li2">
<div class="de2">--font DEFAULT:<span class="nu0">10</span>:Arial \</div>
</li>
<li class="li1">
<div class="de1">DEF:<span class="re2">loss=</span><span class="re1">$DIR</span>/$<span class="nu0">1</span>.rrd:PacketLoss:LAST \</div>
</li>
<li class="li1">
<div class="de1">DEF:<span class="re2">rtt=</span><span class="re1">$DIR</span>/$<span class="nu0">1</span>.rrd:RTT:LAST \</div>
</li>
<li class="li1">
<div class="de1">AREA:loss<span class="re3">#00FF00:</span><span class="st0">&quot;Packet loss (%)&quot;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>/home/ivanatora/rrd/temps/pings/rtt_graph.sh</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re3">#!/bin/bash</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">PATH=</span><span class="re1">$PATH</span>:/home/ivanatora/rrd/bin</div>
</li>
<li class="li1">
<div class="de1"><span class="re2">DIR=</span>/home/ivanatora/rrd/temps/pings/</div>
</li>
<li class="li2">
<div class="de2">rrdtool graph <span class="re1">$DIR</span>/img/rtt-$<span class="nu0">1</span>.png \</div>
</li>
<li class="li1">
<div class="de1">--<span class="re2">title=</span><span class="st0">&quot;&lt;$1&gt; Round trip time&quot;</span> \</div>
</li>
<li class="li1">
<div class="de1">--color CANVAS<span class="re3">#<span class="nu0">000000</span> \</span></div>
</li>
<li class="li1">
<div class="de1">--color BACK<span class="re3">#<span class="nu0">000000</span> \</span></div>
</li>
<li class="li1">
<div class="de1">--color GRID<span class="re3">#<span class="nu0">006600</span> \</span></div>
</li>
<li class="li2">
<div class="de2">--color MGRID<span class="re3">#<span class="nu0">003300</span> \</span></div>
</li>
<li class="li1">
<div class="de1">--color AXIS<span class="re3">#00ff00 \</span></div>
</li>
<li class="li1">
<div class="de1">--color FONT<span class="re3">#00ff00 \</span></div>
</li>
<li class="li1">
<div class="de1">--color SHADEA<span class="re3">#<span class="nu0">000000</span> \</span></div>
</li>
<li class="li1">
<div class="de1">--color SHADEB<span class="re3">#<span class="nu0">000000</span> \</span></div>
</li>
<li class="li2">
<div class="de2">--slope-mode \</div>
</li>
<li class="li1">
<div class="de1">--width <span class="nu0">480</span> \</div>
</li>
<li class="li1">
<div class="de1">--height <span class="nu0">300</span> \</div>
</li>
<li class="li1">
<div class="de1">--font DEFAULT:<span class="nu0">10</span>:Arial \</div>
</li>
<li class="li1">
<div class="de1">DEF:<span class="re2">loss=</span><span class="re1">$DIR</span>/$<span class="nu0">1</span>.rrd:PacketLoss:LAST \</div>
</li>
<li class="li2">
<div class="de2">DEF:<span class="re2">rtt=</span><span class="re1">$DIR</span>/$<span class="nu0">1</span>.rrd:RTT:LAST \</div>
</li>
<li class="li1">
<div class="de1">AREA:rtt<span class="re3">#00FF00:</span><span class="st0">&quot;Round trip time (ms)&quot;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
<p>Тук можем да си поиграем с цветовете и крайния резултат да е доста eye-candy. Важните редове са DEF - където се извличат стойностите на променливите от базата и AREA - самото изчертаване. За повече подробности - документацията на RRDtool.<br />
След това правим един скрипт, който да задейства изчертаване на всички графики:<br />
/home/ivanatora/rrd/temps/pings/graph_all.sh</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="re3">#!/bin/bash</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re2">DIR=</span>/home/ivanatora/rrd/temps/pings/</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$DIR</span>/loss_graph.<span class="kw2">sh</span> int</div>
</li>
<li class="li2">
<div class="de2"><span class="re1">$DIR</span>/loss_graph.<span class="kw2">sh</span> <span class="kw3">bg</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$DIR</span>/loss_graph.<span class="kw2">sh</span> gw</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$DIR</span>/rtt_graph.<span class="kw2">sh</span> int</div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$DIR</span>/rtt_graph.<span class="kw2">sh</span> <span class="kw3">bg</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re1">$DIR</span>/rtt_graph.<span class="kw2">sh</span> gw</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>И поставяме съответната задача в crontab:<br />
<code><br />
*/5 * * * * sh /home/ivanatora/rrd/temps/pings/graph_all.sh<br />
</code><br />
В резултат всичките изображения се намират в директорията pings/img/. Остава да направим красива HTML страничка, която да събира всичко в едно.<br />
Резултата можете да го видите <a href='http://87.120.194.120/tests/netstat/'>тук</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2009/03/11/%d0%bc%d0%be%d0%bd%d0%b8%d1%82%d0%be%d1%80%d0%b8%d0%bd%d0%b3-%d0%ba%d0%b0%d1%87%d0%b5%d1%81%d1%82%d0%b2%d0%be%d1%82%d0%be-%d0%bd%d0%b0-%d0%bd%d0%b5%d1%82%d0%b0/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Изгасяне на монитора след вечерния филм</title>
		<link>http://blog.ivanatora.info/2009/01/20/%d0%b8%d0%b7%d0%b3%d0%b0%d1%81%d1%8f%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bc%d0%be%d0%bd%d0%b8%d1%82%d0%be%d1%80%d0%b0-%d1%81%d0%bb%d0%b5%d0%b4-%d0%b2%d0%b5%d1%87%d0%b5%d1%80%d0%bd%d0%b8%d1%8f-%d1%84%d0%b8/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25b8%25d0%25b7%25d0%25b3%25d0%25b0%25d1%2581%25d1%258f%25d0%25bd%25d0%25b5-%25d0%25bd%25d0%25b0-%25d0%25bc%25d0%25be%25d0%25bd%25d0%25b8%25d1%2582%25d0%25be%25d1%2580%25d0%25b0-%25d1%2581%25d0%25bb%25d0%25b5%25d0%25b4-%25d0%25b2%25d0%25b5%25d1%2587%25d0%25b5%25d1%2580%25d0%25bd%25d0%25b8%25d1%258f-%25d1%2584%25d0%25b8</link>
		<comments>http://blog.ivanatora.info/2009/01/20/%d0%b8%d0%b7%d0%b3%d0%b0%d1%81%d1%8f%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bc%d0%be%d0%bd%d0%b8%d1%82%d0%be%d1%80%d0%b0-%d1%81%d0%bb%d0%b5%d0%b4-%d0%b2%d0%b5%d1%87%d0%b5%d1%80%d0%bd%d0%b8%d1%8f-%d1%84%d0%b8/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 11:13:47 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[линукс]]></category>
		<category><![CDATA[пинизи]]></category>

		<guid isPermaLink="false">http://ivanatora.info/?p=204</guid>
		<description><![CDATA[Пускате си да гледате филмче, завивате се на топло, гасите си лампите... идилия Само че филма свършва, mplayer приключва и десктопа ви с всичките си милион и триста хиляди светещи пиксела се забива под клепачите ви. Сега трябва да ставате от топлото легло, да се разхождате до PC-то и да гасите монитора. За мързеливите има [...]]]></description>
			<content:encoded><![CDATA[<p>Пускате си да гледате филмче, завивате се на топло, гасите си лампите... идилия <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Само че филма свършва, mplayer приключва и десктопа ви с всичките си милион и триста хиляди светещи пиксела се забива под клепачите ви. Сега трябва да ставате от топлото легло, да се разхождате до PC-то и да гасите монитора. За мързеливите има следния трик:</p>
<blockquote><p>
mplayer <опции>; xset dmps force off
</p></blockquote>
<p>След приключване на процеса на mplayer се изпълнява и втората команда, която управлява <a href='http://en.wikipedia.org/wiki/VESA_Display_Power_Management_Signaling'>Power managment</a> на монитора ви (standby, suspend, on, off) го изключва.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2009/01/20/%d0%b8%d0%b7%d0%b3%d0%b0%d1%81%d1%8f%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%bc%d0%be%d0%bd%d0%b8%d1%82%d0%be%d1%80%d0%b0-%d1%81%d0%bb%d0%b5%d0%b4-%d0%b2%d0%b5%d1%87%d0%b5%d1%80%d0%bd%d0%b8%d1%8f-%d1%84%d0%b8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>За сателитните снимки в Google Earth</title>
		<link>http://blog.ivanatora.info/2008/11/23/%d0%b7%d0%b0-%d1%81%d0%b0%d1%82%d0%b5%d0%bb%d0%b8%d1%82%d0%bd%d0%b8%d1%82%d0%b5-%d1%81%d0%bd%d0%b8%d0%bc%d0%ba%d0%b8-%d0%b2-google-earth/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25b7%25d0%25b0-%25d1%2581%25d0%25b0%25d1%2582%25d0%25b5%25d0%25bb%25d0%25b8%25d1%2582%25d0%25bd%25d0%25b8%25d1%2582%25d0%25b5-%25d1%2581%25d0%25bd%25d0%25b8%25d0%25bc%25d0%25ba%25d0%25b8-%25d0%25b2-google-earth</link>
		<comments>http://blog.ivanatora.info/2008/11/23/%d0%b7%d0%b0-%d1%81%d0%b0%d1%82%d0%b5%d0%bb%d0%b8%d1%82%d0%bd%d0%b8%d1%82%d0%b5-%d1%81%d0%bd%d0%b8%d0%bc%d0%ba%d0%b8-%d0%b2-google-earth/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 07:57:19 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[любопитно]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[картинки]]></category>
		<category><![CDATA[пинизи]]></category>

		<guid isPermaLink="false">http://ivanatora.info/?p=185</guid>
		<description><![CDATA[Винаги съм се възмущавал, че Стара Загора вече кусур години няма детайлна снимка в запаса на Гугъл, а разни забутани места като Симитли - имат. Редовно следя блога на Google Earth и гледам как чуждите страни биват детайлно мапвани до ниво колиба, а половината България стои накъсана. И се чудя - как така все спътника [...]]]></description>
			<content:encoded><![CDATA[<p>Винаги съм се възмущавал, че Стара Загора вече кусур години няма детайлна снимка в запаса на Гугъл, а разни забутани места като <a href='http://maps.google.com/maps?f=q&#038;hl=en&#038;geocode=&#038;q=bulgaria&#038;sll=37.0625,-95.677068&#038;sspn=34.396866,79.101563&#038;ie=UTF8&#038;ll=41.888669,23.113389&#038;spn=0.015782,0.054932&#038;t=h&#038;z=15'>Симитли</a> - имат. Редовно следя <a href='http://www.gearthblog.com/'>блога на Google Earth</a> и гледам как чуждите страни биват детайлно мапвани до ниво колиба, а половината България стои накъсана. И се чудя - как така все спътника не застава над Стара Загора, та да отпере две-три снимки.<br />
Ами оказа се че Google нямат собствен спътник (а очаквах да имат!), а използват снимките от няколко от сателитите на НАСА. Които снимки изненадващо са публично достъпни в интернет. И то не само са достъпни, ами и са Up To Date! Снимката на Пловдив в Гугъла е от преди 5 години, а снимките от сайта на НАСА са само от преди месеци (и се ъпдейтват непрекъснато). Единствения недостатък, който пречи на масовата публика да им се порадва е че тези снимки не са нарязани и събрани.<br />
За всичко това ми отвори очите <a href='http://www.panoramio.com/user/598821'>REAKTOR</a> и публикувам следните инструкции с неговото съгласие.</p>
<blockquote><p>
 ivanatora 12 days ago<br />
Как намери датата на сателитната снимка за Стара Загора? <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>REAKTOR 11 days ago<br />
това е от сайта на наса.реално ниската резолюцич в GE представлява множество от съединени сателитни снимки от сателита Landsat.та от там си имат готови снимки за дошнлоад които са съединени и обработени, а по късно keyhole закупиха целия датасет (говори се че бил към 60-70 тб)и нбаправиха тази карта която виждаш.снмките са от 2000 +- 1г.ако искаш мога да ти пратя една сцена (снимка), да видиш как реално изглежда от сателит.</p>
<p>REAKTOR 11 days ago<br />
аз от време те гледам, че работиш на сляпо върху Стара Загора и щях да ти пращам по ясна снимка, но като гледам скоро сложиха midresolution на гърция румъния и сърбия та го отложих, а другото е ,че има нова снимка над стара загора я гледах в каталога на фирмата, която дава от най- детаилните снимки за гугъл така че може скоро да я качат.в тази папка <a href='http://store4.data.bg/reacting/imagery/'>store4.data.bg/reacting/imagery/</a> съм сложил снимката за която говоря.тя е само за preview и не е детаилно но се вижда какво може да качат гугъл, а другата е една сцена над пловдив от 21 Юни 2000.тя е тази която се вижда в GE.</p>
<p>ivanatora 11 days ago<br />
Ами може да ми пратиш малко снимки на Стара Загора, само да видя с какво качество си ги намерил. Интересно ми е <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Не работя на сляпо - гугъл са направили детайлни карти на България. Не снимки от сателит, а съвместими карти на улици, сгради и т.н. Така че като се зуумне до високо ниво се виждат улиците с номерата и могат финно да се добавят обекти, които скоро няма да се появят в сателитните снимки.<br />
Сега ще видя какво си качил в дата.бг<br />
Еййй, какви гадни облаци са минали по време на снимката...<br />
Поздрави,<br />
Иван.</p>
<p>REAKTOR 10 days ago<br />
За улиците си прав.Този слой е най прецизния, докато на сателитите им дават някакво разминаване и заради това обектите плувват след ъпдейт на снимка (както и улиците).Що се отнася до актуалността на сателитната снимка, можеш да си ги сваляш през половин един месец и чрез тях маркирах един участък на пътя до Дюни, който по карта минава о самия плаж.Интересна ми е виртуалната магистрала на marketolog.Аз си мисля, че трябва да се мапират актуални обекти, а не съм чул да се работи по "Тракия".Чакам да излезе актуална снимка и ще му пратя едно писмо.<br />
Ти да не би да имаш нещо общо с Черна Гора, гледам си маркирал гьола на Таню горския?Току виж може да те знам.<br />
Аз съм Димо.</p>
<p>ivanatora 10 days ago<br />
Хахаха, нямам общо с Черна Гора <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Пътувам често с влака от там и тоя гьол ми се е набил на око, та реших да го маркирам.<br />
Ще ми дадеш ли линк към мястото от където мога да си сваля тези детайлни снимки?<br />
А за магистрала Тракия - мисля че е завършена в участъка си към Бургас и остава само някакво малко парче между Стара Загора и Нова Загора да се асфалтира. Не съм сигурен в това де - не пътувам от там и не съм го виждал всичко това. Просто така съм чувал от няколко човека - може да са само махленски истории...<br />
Аз съм Иван, приятно ми е.</p>
<p>REAKTOR 10 days ago<br />
Та Иване влизаш в този сайт <a href='http://landsat.usgs.gov/'>landsat.usgs.gov/</a> .Там те имат java инструмент за разглеждане на каталозите, казва се Glovis.От него има различни колекции на платени и неплатени снимки. Безплатни са вече L7 SLC-off (2003-->)и L7 SLC-on (1999-2003). Това е един сателит, но след 2003 той се е повредил и изкарва снимките нарязани.Ще видиш, че на едни пише Downloadable а на други не. Първите можеш на момента да си свалиш докато за другите трябва да направиш поръчка за обаботка със Submit.Трябва да си регистриран, за което можеш да попълниш и неверни данни.Аз съм поръчал всички които са на крадрата над пловдив от 1999 до 2008 и ще забележиш че са Downloadable, така че можеш да си свалиш от тях. В горния десен ръб е и Стара Загора. На мен всичките ми заемат 27 ГБ.Има особености при сглобяването на цветна снимка.</p>
<p>REAKTOR 10 days ago<br />
Ти ще свалиш един архив в който има 8 тифа. Та на тебе ти трчбват тези дето завършват на 10, 20 и 30 , а 80 е най детаилния, но той не е обвързан с другите и не можеш веднага да го направиш цветен. та 30 е червения, 20 зеления, 10 синия.Аз използвам фотошоп да ги наложи и се получава цветната снимка(примерно тази която ти пратих).Скоро снимките от по-стария сателит ще бъдат също безплатни.Засега от него искат по 400 долара за сцена.С него има снимки до 84 мисля, а от най-старите са през 72.Това ще е януари догодина.Наскоро четох, че за Тракия избират кой да строи та е възможно поне да са разкопали, но тук се строи бавно и мисля, че няма да има нищо.Само чакам скорошна снимка да се убедя.Погледни онзи обект при разделението на Марица от Тракия:Съм качил 3 снимки от различни дати.Особено 2002 имаше голям застои и то за няколко километра. Питай ако имаш разни въпроси, готов съм да помогна. <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>ivanatora 3 days ago<br />
Такаааа - въпросче: тифовете които завършват на 10, 20 и 30 при мен са черно-бели. Да разбирам ли че всяка от тях изразява нивото на съответния цвят в RGB? Как точно ги събираш във Фотошоп?<br />
Другите тифове играят ли някаква роля в цялостната картинка?<br />
За черните ивици ли казваше че снимките били нарязани?<br />
А по-детайлни снимки има ли? <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Поздрави!</p>
<p>REAKTOR 3 days ago<br />
Така е, черно бели са но правилно разбираш за фотошоп.От channels после merge channels, RGB и подбираш за червен-30, зелен-20, син-10. Другите бандове са с друга дължина на вълната.Примерно в GE , за повече кнтраст са в комбинация 742 + допълнителна обработка, но аз мисля, че това не е светлината, която човешкото око би видяло.Другото е, най-детаилния е осмия - 15м/пиксел, докато всички други са 30м. Има процес наречен pansharpen. При него сеналага получената мултиспектрална(цветна) снимка върху панхроматичния осми банд и така се получава 15м цветна снимка. 8ми банд при ландсат е много обхватен и затова не се получават допри pansharpen, но при spot image това работи отлично. Инженерите са измислили това с цел да се спести обема на информация, вместо да правят всичките бандове по 15м.По- детайлни няма да намериш по интернет за без пари. Най-детаилните (0.6м, примерно тази над Чирпан) от които гоогле взимат снимки са на Digital globe.В техния сайт има каталог.Разполагат с 3 снимки над Стара Загора, като 2те са облачни а третата си я виждал. Друга фирма от която си купуват снимки и има удобен каталог е SPOT image (2.5м).Скоро България ще е покрита с тях, а наскоро покриха Гърция, Турция и Румъния.Има и по-детаилни (0.3м) над Германия САЩ и други западни, но те са локални фирми и снимките представляват самолетни фотографии.</p>
<p>REAKTOR 3 days ago<br />
И всички тези фирми предлагат pansharpen. SPOT налагат 5м цветна върху 2.5м пан, а Digitalglobe 2.5м col върху 0.6м pan.Интересното е че SPOT примерно ти искат с 1000 долара отгоре за този процес, но по принцип на домашния компютър отнема половин час.<br />
За Ландсат след 2003 година всичко е с черни ивици.<br />
Има начин с фотошоп да запълниш тези ивици със снимка от друга близка дата.Така направих тази <a href='http://wikimapia.org/#lat=42.1244556&#038;lon=25.0402451&#038;z=12&#038;l=0&#038;m=b&#038;show=/10588432/bg/%D0%A0%D0%B5%D0%BC%D0%BE%D0%BD%D1%82-%D0%BF%D0%BE-%D0%BB%D0%B8%D0%BD%D0%B8%D1%8F%D1%82%D0%B0-%D0%9F%D0%BB%D0%BE%D0%B2%D0%B4%D0%B8%D0%B2%E2%80%93%D0%A1%D0%B2%D0%B8%D0%BB%D0%B5%D0%BD%D0%B3%D1%80%D0%B0%D0%B4-04-%D0%9D%D0%BE%D0%B5%D0%BC%D0%B2%D1%80%D0%B8-2008'>wikimapia.org/#lat=42.1244556&#038;lon=25.0402451&#038;z=12&#038;l=0&#038;m...</a> .Наложих тази снимка върху wikimapia и с малко transparency мисля, че се получи точен полигон. Честно казано сателита си изпълни горе долу мисията само че като погледнеш ландсат5 работи от 84.СЛед януари ще пускат и неговите снимки безплатно, а наскоро забелязах, че имат и сника от рожднния ми ден.В USGS нямат много над България от ландсат5 понеже, за да снима, той трябва да е свързан с наземна станция и затова що е било над България е в архива на ESA, а оттам регистрацията се одобрява от хора, а и не знам доколко ще е безплатно. В USGS има и по стари сателити и там като си сглобиш мултиспектралната ще видиш, че това което трябва да е зелено излиза червено.Това е заради особеноста на синия банд в неговия диапазон и именно затова се нарича не blue а near-infrared.Съществува начин това да се коригира.Има и сателити които предават актуално.Примерно ето ти от днес <a href='http://rapidfire.sci.gsfc.nasa.gov/realtime/single.php?2008324/crefl1_143.A2008324100001-2008324100500.250m.jpg'>rapidfire.sci.gsfc.nasa.gov/realtime/single.php?2008324...</a> . Тук имат доста дати след 2000 и е много удобен.Максималната резолюция е 250м.<br />
Та Иване горе долу бях изчерпателен, но ти питай ако имаш въпроси. Това нещо трудно се намира по принцип, но е доста интересно.<br />
Поздрави</p>
<p>ivanatora 22 hours ago<br />
Между другото бая приятели се заинтересуваха от тези снимки. Може ли да копирам предишните ни няколко съобщения и да ги сложа в блога си? <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Дай си някакъв линк, ако искаш да ти направя реклама.</p>
<p> REAKTOR 13 hours ago<br />
kakto kazvash javno moe da e ot datata na komputara, niama znachenie.A za priatelite ti ako iskash kachvai texta niama problem.Moga daje da napravia ilustracia kak da se izrabotvat s photoshop no tova shte stane sled kato si doida na Sofia.Sega sum na selo i zatova pisha na latinica.Az niamam niakakav po specialen sait osven panoramioto i ako iskash go sloji a mislia da ti razgledam bloga.<br />
Pozdrav
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2008/11/23/%d0%b7%d0%b0-%d1%81%d0%b0%d1%82%d0%b5%d0%bb%d0%b8%d1%82%d0%bd%d0%b8%d1%82%d0%b5-%d1%81%d0%bd%d0%b8%d0%bc%d0%ba%d0%b8-%d0%b2-google-earth/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Бутона DEL и стоте му превъплъщения</title>
		<link>http://blog.ivanatora.info/2008/11/03/%d0%b1%d1%83%d1%82%d0%be%d0%bd%d0%b0-del-%d0%b8-%d1%81%d1%82%d0%be%d1%82%d0%b5-%d0%bc%d1%83-%d0%bf%d1%80%d0%b5%d0%b2%d1%8a%d0%bf%d0%bb%d1%8a%d1%89%d0%b5%d0%bd%d0%b8%d1%8f/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25b1%25d1%2583%25d1%2582%25d0%25be%25d0%25bd%25d0%25b0-del-%25d0%25b8-%25d1%2581%25d1%2582%25d0%25be%25d1%2582%25d0%25b5-%25d0%25bc%25d1%2583-%25d0%25bf%25d1%2580%25d0%25b5%25d0%25b2%25d1%258a%25d0%25bf%25d0%25bb%25d1%258a%25d1%2589%25d0%25b5%25d0%25bd%25d0%25b8%25d1%258f</link>
		<comments>http://blog.ivanatora.info/2008/11/03/%d0%b1%d1%83%d1%82%d0%be%d0%bd%d0%b0-del-%d0%b8-%d1%81%d1%82%d0%be%d1%82%d0%b5-%d0%bc%d1%83-%d0%bf%d1%80%d0%b5%d0%b2%d1%8a%d0%bf%d0%bb%d1%8a%d1%89%d0%b5%d0%bd%d0%b8%d1%8f/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 15:30:23 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[пинизи]]></category>

		<guid isPermaLink="false">http://ivanatora.info/?p=175</guid>
		<description><![CDATA[Във FreeBSD-то имах един проблем, който ми тровеше нервите - бутона DEL или не работеше или имаше собствено мнение какво трябва да прави. Това му поведение се държеше както в шела (csh), така и във Vim. Какво точно ставаше: DEL се държи като BACKSPACE - трие знака от ляво на курсора при натискане на DEL [...]]]></description>
			<content:encoded><![CDATA[<p>Във FreeBSD-то имах един проблем, който ми тровеше нервите - бутона DEL или не работеше или имаше собствено мнение какво трябва да прави. Това му поведение се държеше както в шела (csh), така и във Vim.<br />
Какво точно ставаше:</p>
<ul>
<li>DEL се държи като BACKSPACE - трие знака от ляво на курсора</li>
<li>при натискане на DEL се изписва ?^ или ?H или нещо подобно</li>
<li>при натискане на DEL просто не се случва нищо</li>
</ul>
<p>Изметох Гугъл за отговори какво става с мен и накрая се оказа че имам полтъргайст в контролера на клавиатурата.<br />
Майтап <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ама се оказа че проблема с клавишите DEL и BACKSPACE е толкова заплетен, че чак ми стана чудно как в Windows и Linux до сега не съм имал проблеми. Ето ви един <a href='http://www.ibb.net/~anne/keyboard/keyboard.html'>примерен документ</a> да прочетете за какво става въпрос.<br />
Е, оказа се че тъпия проблем има тъпо решение. Във Vim командата</p>
<blockquote><p>:fixdel</p></blockquote>
<p>оправя всичко и съответно може да бъде добавена в ~/.vimrc<br />
За csh има подобна магия и това е:</p>
<blockquote>
<p>if ($term == "xterm" || $term == "vt100" || $term == "rxvt" \<br />
                || $term == "vt102" || $term !~ "con*") then<br />
# bind keypad keys for console, vt100, vt102, xterm<br />
bindkey "\e[1~" beginning-of-line  # Home<br />
bindkey "\e[7~" beginning-of-line  # Home rxvt<br />
bindkey "\e[2~" overwrite-mode     # Ins<br />
bindkey "\e[3~" delete-char        # Delete<br />
bindkey "\e[4~" end-of-line        # End<br />
bindkey "\e[8~" end-of-line        # End rxvt<br />
endif<br />
bindkey ^? delete-char # for console<br />
bindkey ^[[3~ delete-char # for xterm
</p></blockquote>
<p>Идеята на последните два реда обезмисля целия if-endif блок преди това. При мен работи само така - и с двете неща накуп <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2008/11/03/%d0%b1%d1%83%d1%82%d0%be%d0%bd%d0%b0-del-%d0%b8-%d1%81%d1%82%d0%be%d1%82%d0%b5-%d0%bc%d1%83-%d0%bf%d1%80%d0%b5%d0%b2%d1%8a%d0%bf%d0%bb%d1%8a%d1%89%d0%b5%d0%bd%d0%b8%d1%8f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Имената на функциите всъщност били указатели</title>
		<link>http://blog.ivanatora.info/2008/03/26/%d0%b8%d0%bc%d0%b5%d0%bd%d0%b0%d1%82%d0%b0-%d0%bd%d0%b0-%d1%84%d1%83%d0%bd%d0%ba%d1%86%d0%b8%d0%b8%d1%82%d0%b5-%d0%b2%d1%81%d1%8a%d1%89%d0%bd%d0%be%d1%81%d1%82-%d0%b1%d0%b8%d0%bb%d0%b8-%d1%83%d0%ba/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25b8%25d0%25bc%25d0%25b5%25d0%25bd%25d0%25b0%25d1%2582%25d0%25b0-%25d0%25bd%25d0%25b0-%25d1%2584%25d1%2583%25d0%25bd%25d0%25ba%25d1%2586%25d0%25b8%25d0%25b8%25d1%2582%25d0%25b5-%25d0%25b2%25d1%2581%25d1%258a%25d1%2589%25d0%25bd%25d0%25be%25d1%2581%25d1%2582-%25d0%25b1%25d0%25b8%25d0%25bb%25d0%25b8-%25d1%2583%25d0%25ba</link>
		<comments>http://blog.ivanatora.info/2008/03/26/%d0%b8%d0%bc%d0%b5%d0%bd%d0%b0%d1%82%d0%b0-%d0%bd%d0%b0-%d1%84%d1%83%d0%bd%d0%ba%d1%86%d0%b8%d0%b8%d1%82%d0%b5-%d0%b2%d1%81%d1%8a%d1%89%d0%bd%d0%be%d1%81%d1%82-%d0%b1%d0%b8%d0%bb%d0%b8-%d1%83%d0%ba/#comments</comments>
		<pubDate>Wed, 26 Mar 2008 08:37:41 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[пинизи]]></category>
		<category><![CDATA[сорс]]></category>

		<guid isPermaLink="false">http://ivan.tu-plovdiv.info/blog/?p=57</guid>
		<description><![CDATA[Днес ни показаха един пиниз, според който имената на функциите в С са всъщност указатели към началния адрес на функцията като алгоритмична структура в кодовия сегмент на програмата. Т.е. като имаш адреса можеш да стартираш функцията. Ето една програма, която показва файдата от цялата работа: &#160; #include &#60;stdio.h&#62; int test &#40;int a&#41;&#123; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Днес ни показаха един пиниз, според който имената на функциите в С са всъщност указатели към началния адрес на функцията като алгоритмична структура в кодовия сегмент на програмата. Т.е. като имаш адреса можеш да стартираш функцията.<br />
Ето една програма, която показва файдата от цялата работа:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">#include &lt;stdio.h&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> test <span class="br0">&#40;</span><span class="kw4">int</span> a<span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;A: %d<span class="es0">\n</span>&quot;</span>,a<span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> a;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> druga <span class="br0">&#40;</span><span class="kw4">int</span> a<span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;B: %d<span class="es0">\n</span>&quot;</span>,a<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> a<span class="nu0">-1</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> plqk <span class="br0">&#40;</span><span class="kw4">int</span> <span class="br0">&#40;</span>*test<span class="br0">&#41;</span> <span class="br0">&#40;</span><span class="kw4">int</span> a<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;Rez ot test(%d)<span class="es0">\n</span>&quot;</span>,<span class="br0">&#40;</span>*test<span class="br0">&#41;</span> <span class="br0">&#40;</span><span class="nu0">3</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="nu0">0</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="kw4">int</span> main<span class="br0">&#40;</span><span class="kw4">void</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; plqk<span class="br0">&#40;</span>test<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; plqk<span class="br0">&#40;</span>druga<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; plqk<span class="br0">&#40;</span>main<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw4">int</span> * p = <span class="br0">&#40;</span><span class="kw4">int</span> *<span class="br0">&#41;</span> test;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;test: %p<span class="es0">\n</span>&quot;</span>,test<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;druga: %p<span class="es0">\n</span>&quot;</span>,druga<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span class="kw3">printf</span></a><span class="br0">&#40;</span><span class="st0">&quot;p: %p<span class="es0">\n</span>&quot;</span>,p<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="nu0">0</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>За неразбралите - функцията plqk() извиква някоя от другите функции, като точно коя се записва във <strong>формалния параметър</strong> на бляк() <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2008/03/26/%d0%b8%d0%bc%d0%b5%d0%bd%d0%b0%d1%82%d0%b0-%d0%bd%d0%b0-%d1%84%d1%83%d0%bd%d0%ba%d1%86%d0%b8%d0%b8%d1%82%d0%b5-%d0%b2%d1%81%d1%8a%d1%89%d0%bd%d0%be%d1%81%d1%82-%d0%b1%d0%b8%d0%bb%d0%b8-%d1%83%d0%ba/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разликата между shutdown и reboot</title>
		<link>http://blog.ivanatora.info/2008/01/27/%d1%80%d0%b0%d0%b7%d0%bb%d0%b8%d0%ba%d0%b0%d1%82%d0%b0-%d0%bc%d0%b5%d0%b6%d0%b4%d1%83-shutdown-%d0%b8-reboot/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d1%2580%25d0%25b0%25d0%25b7%25d0%25bb%25d0%25b8%25d0%25ba%25d0%25b0%25d1%2582%25d0%25b0-%25d0%25bc%25d0%25b5%25d0%25b6%25d0%25b4%25d1%2583-shutdown-%25d0%25b8-reboot</link>
		<comments>http://blog.ivanatora.info/2008/01/27/%d1%80%d0%b0%d0%b7%d0%bb%d0%b8%d0%ba%d0%b0%d1%82%d0%b0-%d0%bc%d0%b5%d0%b6%d0%b4%d1%83-shutdown-%d0%b8-reboot/#comments</comments>
		<pubDate>Sun, 27 Jan 2008 21:04:40 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[линукс]]></category>
		<category><![CDATA[пинизи]]></category>

		<guid isPermaLink="false">http://ivan.tu-plovdiv.info/blog/?p=33</guid>
		<description><![CDATA[Оказа че любимия ми ISP филтрира нета по MAC. И познайте кой няма нет след като прехвърли кабела от компа на съквартиранта си. Освен това е и неделя - никакъв шанс да се намери някой да ми опише новия адрес до ден-два. Е, тая работа така няма да стане - аз съм дошъл малко нет [...]]]></description>
			<content:encoded><![CDATA[<p>Оказа че любимия ми ISP филтрира нета по MAC. И познайте кой няма нет след като прехвърли кабела от компа на съквартиранта си. Освен това е и неделя - никакъв шанс да се намери някой да ми опише новия адрес до ден-два. Е, тая работа така няма да стане - аз съм дошъл малко нет да помириша.<br />
<span id="more-33"></span></p>
<blockquote><p># ifconfig eth1 hw ether ........</p></blockquote>
<p>... и всичко точно - всичко се пингва, нет има.</p>
<p>Х часа по-късно се наложи да рестартирам.<br />
Седях като гръмнат като видях че dhcp демона не намира устройството, нито gkrellm ми дава информация за втората карта. В ifconfig въобще няма eth0, а вместо това е изникнало eth2.<br />
Оказа се че правилата за именуването на картите от udev (/etc/udev/rules.d/network-devices.rules) не вършат работа - те са описани за стария MAC. След рестарт новия МАС-а е останал в паметта на картата, а след пълно спиране на машината се възстановява оригиналния адрес.<br />
За сега следва изключване на опцията рестарт - ако трябва компа да се рестартира ще се минава през състояние 'напълно изключен'.<br />
За в бъдеще или ще си напиша скриптче да актуализира името на картата в iptables скриптовете или ще докладвам новия МАС на любимия си доставчик. Заивиси за кое ще ме домързи повече.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2008/01/27/%d1%80%d0%b0%d0%b7%d0%bb%d0%b8%d0%ba%d0%b0%d1%82%d0%b0-%d0%bc%d0%b5%d0%b6%d0%b4%d1%83-shutdown-%d0%b8-reboot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Разкостих дъртото PC</title>
		<link>http://blog.ivanatora.info/2008/01/08/%d1%80%d0%b0%d0%b7%d0%ba%d0%be%d1%81%d1%82%d0%b8%d1%85-%d0%b4%d1%8a%d1%80%d1%82%d0%be%d1%82%d0%be-pc/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d1%2580%25d0%25b0%25d0%25b7%25d0%25ba%25d0%25be%25d1%2581%25d1%2582%25d0%25b8%25d1%2585-%25d0%25b4%25d1%258a%25d1%2580%25d1%2582%25d0%25be%25d1%2582%25d0%25be-pc</link>
		<comments>http://blog.ivanatora.info/2008/01/08/%d1%80%d0%b0%d0%b7%d0%ba%d0%be%d1%81%d1%82%d0%b8%d1%85-%d0%b4%d1%8a%d1%80%d1%82%d0%be%d1%82%d0%be-pc/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 15:13:45 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[ежедневие]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[пинизи]]></category>

		<guid isPermaLink="false">http://ivan.tu-plovdiv.info/blog/?p=25</guid>
		<description><![CDATA[Подариха ми нови колонки за именния ден и съответно старите отидоха на PCто на сестрата, замествайки едни микроговорителчета. Местя старите на дъртия кош и забравям че той има свойството да работи само в изключително мирна обстановка - никакво ръчкане по кабелите отзад. Клавиатурата се вързва през един PS2 -&#62; AT преходник, а самия AT порт [...]]]></description>
			<content:encoded><![CDATA[<p>Подариха ми нови колонки за именния ден и съответно старите отидоха на PCто на сестрата, замествайки едни микроговорителчета. Местя старите на дъртия кош и забравям че той има свойството да работи само в изключително мирна обстановка - никакво ръчкане по кабелите отзад. Клавиатурата се вързва през един PS2 -&gt; AT преходник, а самия AT порт е доста изкривен от продължително (години, ехеее) ръчкане и натискане на дебелия конектор. Резултата е че преходника прави връзка по желание според фазите на Венера. И веднъж като го нагласиш по-добре да не ръчкаш кабелите. А мен ме е страх да натисна преходника да влезе напълно, да не откъсне хептен порта.<br />
Да допълня картинката конструктивно - в тази част на кутията се мотаят изведените от лентови кабели COM 25 пинов, COM 9 пинов, LPT, PS2 порт (за мишката), АТА кабелите от 2 харда и CD и шарениите от захранването. Общо - топка кабели с диаметър 15-20 см. Отдолу видео картата подпира да не се изсипе цялата тая ужас.</p>
<p>Ама ето че преместих колонките, очаквания бъг се появи - нямам клавиатура. То добре, ама нямам и мишка. Което не се беше случвало до сега. Последва половин час псуване и мърдане на преходника на клавиатурата с никакъв резултат. Накрая отпънах PC-то на масата и му извадих COM и LPT портовете. АТ конектора наистина се беше изкривил под около 60 градуса ъгъл, ама ме достраша да го натисна обратно. Поне успях да вкарам преходника до края.</p>
<p>И така завършиха тези премеждия. Сега клавиатурата си работи супер стабилно, колкото и да ръчкаш кабелите зад компютъра. Вътре стана по-просторно.</p>
<p align="center"><a href="http://ivan.tu-plovdiv.info/blog/wp-content/uploads/2008/01/charkove.jpg" title="Чаркове"><img src="http://ivan.tu-plovdiv.info/blog/wp-content/uploads/2008/01/charkove.thumbnail.jpg" alt="Чаркове" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2008/01/08/%d1%80%d0%b0%d0%b7%d0%ba%d0%be%d1%81%d1%82%d0%b8%d1%85-%d0%b4%d1%8a%d1%80%d1%82%d0%be%d1%82%d0%be-pc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

