<?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; tech</title>
	<atom:link href="http://blog.ivanatora.info/category/tech/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>Скрол</title>
		<link>http://blog.ivanatora.info/2011/05/31/%d1%81%d0%ba%d1%80%d0%be%d0%bb/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d1%2581%25d0%25ba%25d1%2580%25d0%25be%25d0%25bb</link>
		<comments>http://blog.ivanatora.info/2011/05/31/%d1%81%d0%ba%d1%80%d0%be%d0%bb/#comments</comments>
		<pubDate>Tue, 31 May 2011 11:39:19 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[линукс]]></category>

		<guid isPermaLink="false">http://blog.ivanatora.info/?p=410</guid>
		<description><![CDATA[Повечето съвременни мишки имат два допълнителни бутона на колелцето на скрола, които се активират респективно при натискане колелото наляво и надясно. Не се виждат и в повечето случаи дори не знаете че са там, освен ако не си четете упътването на мишката Много лесно можем да вкараме тези екстри в употреба. xev ги разпознава като [...]]]></description>
			<content:encoded><![CDATA[<p>Повечето съвременни мишки имат два допълнителни бутона на колелцето на скрола, които се активират респективно при натискане колелото наляво и надясно. Не се виждат и в повечето случаи дори не знаете че са там, освен ако не си четете упътването на мишката <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<img class="aligncenter" src="http://dev.ivanatora.info/tests/logitech_mouse_b110.png" alt="Logitech B110" width="455" height="500" /><br />
Много лесно можем да вкараме тези екстри в употреба. xev ги разпознава като Mouse6 и Mouse7, така че веднага можем да ги сложим в .fluxbox/keys:</p>
<blockquote><p>None Mouse6 : PrevWorkspace<br />
None Mouse7 : NextWorkspace</p></blockquote>
<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/2011/05/31/%d1%81%d0%ba%d1%80%d0%be%d0%bb/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>HDR timelapse</title>
		<link>http://blog.ivanatora.info/2011/04/09/hdr-timelapse/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hdr-timelapse</link>
		<comments>http://blog.ivanatora.info/2011/04/09/hdr-timelapse/#comments</comments>
		<pubDate>Sat, 09 Apr 2011 14:59:47 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[картинки]]></category>
		<category><![CDATA[линукс]]></category>

		<guid isPermaLink="false">http://blog.ivanatora.info/?p=377</guid>
		<description><![CDATA[Става много бързо и лесно. Използван хардуер: - Canon SX120IS (става всеки CHDK-съвместим фотоапарат) Използван софтуер: - CHDK - intervalometer script - без значение точно кой - enfuse - за сливане на различните експозиции и получаване на HDR - PHP - долу ще намерите бърз скрипт за сливане на много на брой кадри - mencoder [...]]]></description>
			<content:encoded><![CDATA[<p>Става много бързо и лесно.<br />
Използван хардуер:<br />
- Canon SX120IS (става всеки CHDK-съвместим фотоапарат)<br />
Използван софтуер:<br />
- <a href="http://chdk.wikia.com/wiki/CHDK">CHDK</a><br />
- intervalometer script - без значение точно кой<br />
- enfuse - за сливане на различните експозиции и получаване на HDR<br />
- PHP - долу ще намерите бърз скрипт за сливане на много на брой кадри<br />
- mencoder - за сливане на HDR-ите във финално клипче</p>
<p><strong>Какво е timelapse?</strong><br />
Това е кинематографска техника при която честотата на заснемане на кадрите е по-малка от честотата на възпроизвеждането им. Примерно ако една сцена се снима всяка секунда и после клипа се пусне на 30 fps резултатът ще бъде увеличаване на скоростта 30 пъти.</p>
<p><strong>Какво е HDR?</strong><br />
Ако се абстрахираме от математиката и засуканите термини, можем разговорно да кажем че това е техника за получаване на равномерно осветен кадър (с изчистени преекспонирани и недоекспонирани области). Технологията стандартно използва три кадъра с различна експозиция (-2, 0, +2), които слива в един - изчистен.</p>
<p><strong>Какво става като комбинираме HDR с timelapse?</strong><br />
Красиви клипчета <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Как се прави HDR timelapse с CHDK?</strong><br />
CHDK не прави HDR - това се прави после от софтуера, който слива трите снимки на сцената. CHDK прави "bracketing" - автоматичното заснемане на трите кадъра с различна експозиция. Следвайте следните стъпки:<br />
1. В менюто на CHDK изберете "Extra Photo Operations" -&gt; "Bracketing in Continuous Mode". Там изберете "Tv bracketing" = 2EV, "Av bracketing" = OFF, "Bracketing type" = "+/-"<br />
2. В менюто на фотоапарата изберете режим "Continuous Mode".<br />
3. В менюто за самоснимачка изберете "Custom mode" със следните параметри: "Delay" = 0s, "Shots" = 3<br />
От тук нататък пуснете кой да е intervalometer скрипт с параметри по избор. Какво ще се случи когато скриптът даде команда за снимане? Ще се задейства самоснимачката, която ще направи 3 последователни снимки с различна експозиция.</p>
<p>В края на сесията след няколко минути/часа ще имате X броя сцени с Х*3 броя изображения. Прехвърляте ги на компютъра и със следния скрипт получавате HDR-ите:</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="kw2">&lt;?php</span></div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$rDir</span> = <a href="http://www.php.net/opendir"><span class="kw3">opendir</span></a><span class="br0">&#40;</span><span class="st0">&quot;.&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="re0">$aFileList</span> = <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="kw1">while</span><span class="br0">&#40;</span> <span class="br0">&#40;</span><span class="re0">$sFileName</span> = <a href="http://www.php.net/readdir"><span class="kw3">readdir</span></a><span class="br0">&#40;</span><span class="re0">$rDir</span><span class="br0">&#41;</span><span class="br0">&#41;</span> !== <span class="kw2">false</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span>!<a href="http://www.php.net/strstr"><span class="kw3">strstr</span></a><span class="br0">&#40;</span><span class="re0">$sFileName</span>, <span class="st0">&quot;IMG&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw1">continue</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">$aFileList</span><span class="br0">&#91;</span><span class="br0">&#93;</span> = <span class="re0">$sFileName</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://www.php.net/sort"><span class="kw3">sort</span></a><span class="br0">&#40;</span><span class="re0">$aFileList</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="re0">$aFileList</span> = <a href="http://www.php.net/array_chunk"><span class="kw3">array_chunk</span></a><span class="br0">&#40;</span><span class="re0">$aFileList</span>, <span class="nu0">3</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$aFileList</span> <span class="kw1">as</span> <span class="re0">$iShotKey</span> =&gt; <span class="re0">$aFileGroup</span><span class="br0">&#41;</span><span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">$sGroupList</span> = <a href="http://www.php.net/join"><span class="kw3">join</span></a><span class="br0">&#40;</span><span class="st0">&quot; &quot;</span>, <span class="re0">$aFileGroup</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">$iShotKey</span> = <a href="http://www.php.net/sprintf"><span class="kw3">sprintf</span></a><span class="br0">&#40;</span><span class="st0">&quot;%03d&quot;</span>, <span class="re0">$iShotKey</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <a href="http://www.php.net/print"><span class="kw3">print</span></a> <span class="st0">&quot;Enfuse shot #$iShotKey...&quot;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; `enfuse <span class="re0">$sGroupList</span> -o hdr_shot_<span class="re0">$iShotKey</span>.jpg`;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <a href="http://www.php.net/print"><span class="kw3">print</span></a> <span class="st0">&quot; done!<span class="es0">\n</span>&quot;</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://www.php.net/print_r"><span class="kw3">print_r</span></a><span class="br0">&#40;</span><span class="re0">$aFileList</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">?&gt;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
</ol>
</div>
<p>От тук нататък имате всяка сцена на HDR с име от типа hdr_shot_001.jpg. От тези трябва да се получи клипче.<br />
Това става с mencoder:<br />
mencoder mf://*.jpg -mf w=640:h=480:fps=15:type=jpg -ovc lavc -lavcopts vcodec=mpeg4:mbd=2:trell -oac copy -o output.avi<br />
Тук 640 и 480 са размерите на снимките ви. Може да си поиграете с параметъра fps за да получите по-бързи или по-бавни клипчета.</p>
<p>Настоящата статия не претендира за изчерпаемост на темата, нито за професионализъм. Но пък претендира за най-лесния и бърз начин за създаване на HDR timelapse <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>И накрая резултата от едно пробно снимане:</p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/8EV4AxmPyBw" frameborder="0" allowfullscreen></iframe></p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/khFJrEUx5V4" frameborder="0" allowfullscreen></iframe></p>
<p><iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/ZMcCFtIykGk" frameborder="0" allowfullscreen></iframe></p>
<p><iframe width="480" height="390" src="http://www.youtube.com/embed/Leq-nLTaDAg" frameborder="0" allowfullscreen></iframe></p>
<p><iframe width="480" height="390" src="http://www.youtube.com/embed/vmejUw71f0s" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2011/04/09/hdr-timelapse/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Бюджетно GPS решение</title>
		<link>http://blog.ivanatora.info/2010/05/31/%d0%b1%d1%8e%d0%b4%d0%b6%d0%b5%d1%82%d0%bd%d0%be-gps-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d0%b5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25b1%25d1%258e%25d0%25b4%25d0%25b6%25d0%25b5%25d1%2582%25d0%25bd%25d0%25be-gps-%25d1%2580%25d0%25b5%25d1%2588%25d0%25b5%25d0%25bd%25d0%25b8%25d0%25b5</link>
		<comments>http://blog.ivanatora.info/2010/05/31/%d0%b1%d1%8e%d0%b4%d0%b6%d0%b5%d1%82%d0%bd%d0%be-gps-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d0%b5/#comments</comments>
		<pubDate>Mon, 31 May 2010 18:02:00 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[k800i]]></category>

		<guid isPermaLink="false">http://blog.ivanatora.info/?p=364</guid>
		<description><![CDATA[0. Какво очакваме от такова решение. Не очаквам рутиране. Трябва да може да ми показва къде съм, гледка от птичи поглед. Да може да пази маршрути и тракове. Да ме насочва към контролни точки (waypoints). Трябва цялата система да е компактна и да се събира в джоб. Трябва да работи с телефона, който в момента [...]]]></description>
			<content:encoded><![CDATA[<p><strong>0. Какво очакваме от такова решение.</strong><br />
Не очаквам рутиране. Трябва да може да ми показва къде съм, гледка от птичи поглед. Да може да пази маршрути и тракове. Да ме насочва към контролни точки (waypoints). Трябва цялата система да е компактна и да се събира в джоб. Трябва да работи с телефона, който в момента имам (Sony Ericsson K800i), т.е. софтуера да е Java. Естествено, трябва да има карти (включително импорт от картинка) и възможност сам да си ги правя лесно.</p>
<p><strong>1. Телефон (Java/Symbian)</strong><br />
Трябва ви какъвто и да е телефон с поддръжка на MIDP-2.0 и CLDC-1.1. Телефона ви трябва да има поне 500KB оперативана памет и доста повече за карти. В момента карта на регион с размери 3 на 3 км (Пловдив) с приближение от 11 до 18 заема 16МВ на телефона ми. Карта на цяла България с приближение от 8 до 13 заема 55МВ.</p>
<p><strong>2. GPS приемник</strong><br />
Всякакъв приемник, който се свързва по Bluetooth е подходящ. Доста разпространен и евтин модел е Holux M-1000. Нов струва около 80лв, а моя го взех от Ebay за 20. Малък е (като кибритена кутия), събира се във всякакви джобове. Батерията му държи към 10+ часа (из нета пишат за 20+ часа) и приемането му е добро, дори когато сте в кола, влак и т.н. MTK чипсет. В комплекта има зарядно за кола и USB кабел, който може да се използва пак само за зареждане на батерията. Батерията е Nokia-съвместима, така че за под 10 лв може да си вземете втора от руския пазар. Скоростта не се дава много коректно - разлика от до 5 km/h е допустима във кола. Във влак, където няма неравномерни ускорения като че ли е малко по-точно. За пешеходци текущата скорост варира между 0-10 km/h и не може да се гледа. Но ако правите трак накрая може да видите средна аритметична скорост.<br />
<strong>3. Софтуер</strong><br />
- MapNav - http://mapnav.spb.ru/site/download.php?list.3 - изисква регистрация (става бързо и безплатно) - това се инсталира на телефона ви.<br />
- mobile map creator - http://mapnav.spb.ru/site/download.php?list.4 - също - това се инсталира на компютъра ви (дори работи с Wine)<br />
- Ozi Explorer - http://www.oziexplorer.com/ - програмата струва $95, но който държи да си пиратства - има я из торентите. Програмата служи за калибриране на растерни карти и не е необходима, ако не мислите да правите това. Също се инсталира на компютъра (и пак работи с Wine)</p>
<p><strong>MapNav</strong><br />
1. Features<br />
- език на интерфейса - руски, английски, български и др.<br />
- 18 нива на приближение, като на най-високото разделителната способност е около метър на пиксел.<br />
- правене на трак, като слага точките по изминато разстояние, минало време или при промяна на посоката. Без проблеми прави трекове с 3000+ точки, като има опция за олекотяване да показва само последните 100 точки. Дава профили на на пътя по височина и по скорост. Траковете могат да се експортват/импортват в GPX, KML или Ozi формат.<br />
- компас, който показва посоките релативно на посоката на движение.<br />
- водене по маршрут или контролни точки - waypoints.<br />
- заключване на клавиатурата<br />
- затъмняване на екрана - върши добра работа за пестене на батерия<br />
- смяна на картите по време на работа.<br />
- използване на ваши карти (в MNO формат - правят се с mobile map creator, виж по-долу) или онлайн такива (ако имате мобилен интернет).<br />
- спортен режим на засичане на обиколки - не съм го пробвал.<br />
- в основния екран се показват картата, текущата позиция на нея, координати, скорост, надморска височина и др.<br />
- слагане на измерителна скала върху картата<br />
- ръчно задаване на път<br />
- слагане на белязки, които после може да ползвате за waypoints или Points Of Interest<br />
- импорт и експорт на трaкове, waypoints, маршрути и др. Поддържа GPX формат и няколко други.<br />
- настройки за всичко, което можете да се сетите.<br />
- правене на скрийншот<br />
- описание на mapnav на английски - http://mapnav.spb.ru/site/page.php?15 и на руски - http://mapnav.spb.ru/site/page.php?10</p>
<p><strong>Карти</strong><br />
<em>1. Калибриране с Ozi</em><br />
1.1. В Ozi Explorer (бих пуснал снимки, ако притежавах програмата)<br />
File -> Load and Calibrate Map Image<br />
Избиране на растерната карта.<br />
Избиране Point 1 -> клик в единия ъгъл на картата; в дясно на Degrees &#038; mins се попълват координатите на точката<br />
Избиране Point 2 -> клик в друг ъгъл на картата; попълват се новите координати<br />
Point 3 - по същия начин<br />
Save -> избирате къде да бъде запазен .MAP файла - това е информацията за калибровката на картата и ще се използва в следващата стъпка.<br />
1.2. В Mobile Map Creator<br />
Горе трябва да е избран таба Convertor.<br />
Кликате на първата иконка (текста на нея е нещо като Select map to convert).<br />
<a href='http://blog.ivanatora.info/wp-content/uploads/2010/05/mobilemapcreator-1.jpg'><img src="http://blog.ivanatora.info/wp-content/uploads/2010/05/mobilemapcreator-1.jpg" alt="mobilemapcreator-1" title="mobilemapcreator-1" class="alignnone size-full wp-image-366" /></a><br />
В нея зареждате .MAP файла, който имате от Ozi-то. Внимание: ако сте свалили МАР файл от нета, отворете го и оправете пътя до растерното изображение да сочи правилно към изображението което имате (C:\Ozi\superdupermap.map при един ще е D:\Documents And Settings\usr\My Documents\plovdiv.map при друг). Пътя до изображението е на третия ред във МАР файла, който се отваря като текстов с Notepad. Ако сам сте си направил МАР файла, няма нужда от подобна манипулация.<br />
Зареждате МАР файла и избирате къде да запазите крайните карти. Ще получите два файла с разширения MNM и MNO. Този с разширението MNМ се използва като вътрешна карта, която може да вградите в самата програма MapNav, но авторите й препоръчват да не се прави така. Използвайте MNO файла и си работете с външна карта.<br />
<em>2. Сваляне на уеб карти (Virtual Earth)</em><br />
Горе трябва да е избран таба Map.<br />
<a href="http://blog.ivanatora.info/wp-content/uploads/2010/05/mobilemapcreator-2.jpg"><img src="http://blog.ivanatora.info/wp-content/uploads/2010/05/mobilemapcreator-2.jpg" alt="mobilemapcreator-2" title="mobilemapcreator-2" class="alignnone size-full wp-image-367" /></a><br />
Първия плъзгач е за zoom level-a на избраната карта. Картата източник се избира от падащото меню. В момента са налични VirtualEarth, Google, OSM и др. Могат да се добавят още с директно редактиране на maps.ini. В прозореца с картата можете да влачите докато намерите областта, която ви интересува. Кликате на Set to map и избирате с мишката района. Трябва да се появи с инвертиран цвят. Под този бутон се намира Map Zoom - стойността вътре показва какво приближение ще имате в получената карта накрая. С бутона "+" добавяте селекцията в компилацията. Внимание: изберете всичките приближения, които искате да имате после в MapNav-a! Примерно ако искате да имате от ниво 11 до ниво 13, задавате ниво 11, кликате "+", задавате ниво 12, кликате "+", задавате ниво 13, кликате "+".<br />
<a href="http://blog.ivanatora.info/wp-content/uploads/2010/05/mobilemapcreator-3.jpg"><img src="http://blog.ivanatora.info/wp-content/uploads/2010/05/mobilemapcreator-3.jpg" alt="mobilemapcreator-3" title="mobilemapcreator-3" class="alignnone size-medium wp-image-368" /></a><br />
Цифрите ви показват колко плочки (tiles) ще се свалят от нета. Това е и горе долу показател за размера на картата накрая. Когато сте доволни от селекцията, кликате Compile Map и избирате къде да се запазят двете карти MNO и MNM. </p>
<p><em>Инструменти за визуализиране на трекове</em><br />
1. Онлайн</p>
<p>http://www.everytrail.com/</p>
<p>- може да ъплоудвате тракове в GPX формат - public (всеки може да гледа трака) и private (само вие можете да го гледате) режими<br />
- дава профил на терена по скорост и по височина<br />
- ъплоудване на снимки и геотагване<br />
- пътепис<br />
- търсене и браузване на тракове<br />
2. Десктоп<br />
- Google Earth - да се провери какво става там. Вероятно трябва да работи с KML.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2010/05/31/%d0%b1%d1%8e%d0%b4%d0%b6%d0%b5%d1%82%d0%bd%d0%be-gps-%d1%80%d0%b5%d1%88%d0%b5%d0%bd%d0%b8%d0%b5/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Geekbench &#8211; интересен бенчмарк</title>
		<link>http://blog.ivanatora.info/2009/09/06/geekbench-%d0%b8%d0%bd%d1%82%d0%b5%d1%80%d0%b5%d1%81%d0%b5%d0%bd-%d0%b1%d0%b5%d0%bd%d1%87%d0%bc%d0%b0%d1%80%d0%ba/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=geekbench-%25d0%25b8%25d0%25bd%25d1%2582%25d0%25b5%25d1%2580%25d0%25b5%25d1%2581%25d0%25b5%25d0%25bd-%25d0%25b1%25d0%25b5%25d0%25bd%25d1%2587%25d0%25bc%25d0%25b0%25d1%2580%25d0%25ba</link>
		<comments>http://blog.ivanatora.info/2009/09/06/geekbench-%d0%b8%d0%bd%d1%82%d0%b5%d1%80%d0%b5%d1%81%d0%b5%d0%bd-%d0%b1%d0%b5%d0%bd%d1%87%d0%bc%d0%b0%d1%80%d0%ba/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 17:00:39 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://ivanatora.info/?p=321</guid>
		<description><![CDATA[Попаднах на един интересен бенчмарк - Geekbench. Това което тества е производителност на процесор и памет. Детайлно описание можете да намерите на страницата им. Интересните моменти в него са: върви на Windows, Linux и Mac OS пуска се с 1 клик и дава бърз резултат резултатите са разделени на няколко секции: целочислени операции, операции с [...]]]></description>
			<content:encoded><![CDATA[<p>Попаднах на един интересен бенчмарк - <a href='http://www.primatelabs.ca/geekbench/'>Geekbench</a>. Това което тества е производителност на процесор и памет. Детайлно описание можете да намерите на страницата им. Интересните моменти в него са:</p>
<ul>
<li>върви на Windows, Linux и Mac OS</li>
<li>пуска се с 1 клик и дава бърз резултат</li>
<li>резултатите са разделени на няколко секции: целочислени операции, операции с плаваща запетая, памет и цялостен резултат. Точките са линейно пропорционални - ако компютър А има 500 точки, компютър Б има 1000 точки, а компютър В има 2000 точки, то Б е два пъти по-бърз от А, В е два пъти по-бърз от Б и четири пъти по-бърз от А.</li>
<li>бенчмаркът е написан така че да се възползва от произволен брой ядра на процесора, с или без Hyperthreading</li>
<li>може да изпратите резултата си до <a href='http://browse.geekbench.ca/'>онлайн базата с данни</a>, която и без това е доста богата</li>
</ul>
<p>Естествено не трябва да се забравя че това е обикновен тъп синтетичен бенчмарк и поведението на тестваните машини в реални условия може да е друго.<br />
Тествах четири машини тук и ето резултатите:</p>
<p>1) Celeron 500MHz (66MHz FSB), i440zx, 128+64MB PC100 SDRAM - <strong>overall performance 230</strong><br />
2) Pentium Dual Core T2390 (1.8Ghz, 533Mhz FSB), GS965, 2*1GB DDR2 667MHz - <strong>overall performance 2030</strong><br />
3) Pentium 4 Prescott (3GHz, 800MHz FSB), i945, 512+512+1 DDR2 667MHz - <strong>overall performance 1740</strong><br />
4) C2D T2400 (1.8Ghz, 667Mhz FSB), GM945, 2GB DDR2 667Mhz - <strong>overall performance 2135 (governor - ondemand)</strong></p>
<p>Като се прибера в Пловдив ще го пусна и на виртуалната машина <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  (Ъпдейт: излезе много близко до реалния пеформанс - около 1500)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2009/09/06/geekbench-%d0%b8%d0%bd%d1%82%d0%b5%d1%80%d0%b5%d1%81%d0%b5%d0%bd-%d0%b1%d0%b5%d0%bd%d1%87%d0%bc%d0%b0%d1%80%d0%ba/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Компютрите на космическите совалки</title>
		<link>http://blog.ivanatora.info/2009/05/06/%d0%ba%d0%be%d0%bc%d0%bf%d1%8e%d1%82%d1%80%d0%b8%d1%82%d0%b5-%d0%bd%d0%b0-%d0%ba%d0%be%d1%81%d0%bc%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b8%d1%82%d0%b5-%d1%81%d0%be%d0%b2%d0%b0%d0%bb%d0%ba%d0%b8/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25ba%25d0%25be%25d0%25bc%25d0%25bf%25d1%258e%25d1%2582%25d1%2580%25d0%25b8%25d1%2582%25d0%25b5-%25d0%25bd%25d0%25b0-%25d0%25ba%25d0%25be%25d1%2581%25d0%25bc%25d0%25b8%25d1%2587%25d0%25b5%25d1%2581%25d0%25ba%25d0%25b8%25d1%2582%25d0%25b5-%25d1%2581%25d0%25be%25d0%25b2%25d0%25b0%25d0%25bb%25d0%25ba%25d0%25b8</link>
		<comments>http://blog.ivanatora.info/2009/05/06/%d0%ba%d0%be%d0%bc%d0%bf%d1%8e%d1%82%d1%80%d0%b8%d1%82%d0%b5-%d0%bd%d0%b0-%d0%ba%d0%be%d1%81%d0%bc%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b8%d1%82%d0%b5-%d1%81%d0%be%d0%b2%d0%b0%d0%bb%d0%ba%d0%b8/#comments</comments>
		<pubDate>Wed, 06 May 2009 20:25:12 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[любопитно]]></category>

		<guid isPermaLink="false">http://ivanatora.info/?p=299</guid>
		<description><![CDATA[Ако някой си мисли че горе хвърчи нещо от рода на двуядрени процесори и терабайтови хардове - жестоко се лъже Совалките на НАСА са технология от преди 30 години (и по последни данни ще бъдат бракувани за скрап до 2010та година) и авиониката им е на съответното равнище. The IBM AP-101 computers originally had about [...]]]></description>
			<content:encoded><![CDATA[<p>Ако някой си мисли че горе хвърчи нещо от рода на двуядрени процесори и терабайтови хардове - жестоко се лъже <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Совалките на НАСА са технология от преди 30 години (и по последни данни ще бъдат бракувани за скрап до 2010та година) и авиониката им е на съответното равнище.</p>
<blockquote><p>The IBM AP-101 computers originally had about 424 kilobytes of magnetic core memory each. The CPU could process about 400,000 instructions per second. They have no hard disk drive, and load software from magnetic tape cartridges.</p></blockquote>
<p>Процесора има 16 броя 32-битови регистри, а наборът му от инструкции се състои от 154 инструкции, които могат да се променят чрез смяна на микрокода. Интересното е че целия процесор е в TTL изпълнение (!!!) и има скромните размери от 15/25/45 см. Тежи 25 кг.<br />
През 1990 г. компютърът е бил ъпгрейднат с новата версия - AP-101S. Този звяр е имал около 1МВ памет и три пъти по-бърз процесор (изпълнявал е около 1.2 млн инструкции в секунда). Паметта вече не използва магнитно ядро, а CMOS технология с батерийно захранване. Това са данните за ъпгрейднатите части:</p>
<blockquote><p>The main memory of each GPC (General Purpose Computer) is non-volatile (the software is retained when power is interrupted). The memory capacity of each CPU is 81,920 words, and the memory capacity of each IOP is 24,576 words; thus, the CPU and IOP constitute a total of 106,496 words.</p></blockquote>
<p>Сто хиляди думи програма. Софтуера на совалката може да се събере в паметта на микроконтролера, който ползвам за дипломната си работа.<br />
В совалката е имало шест компютъра с общо предназначение (GPC-та). Пет от тях са правили едни и същи изчисления. Резултатите се сравняват и ако някой от компютрите даде различен резултат, останалите го приемат за грешка и го изключват от системата. На шестият компютър върви същата програма, но написана от съвсем независим източник. Той е последната възможност на астронавтите ако всички други компютри откажат.<br />
Всеки от AP-101 компютрите използва по 600 вата мощност.</p>
<p>Интересни са прогнозите през годините за това колко памет ще иде за програмата на совалката.</p>
<blockquote><p>Most estimates in the 1969 to 1971 period ranged around 28K words. Rockwell International settled on 32K in its bid and won the contract partially because of that estimate. NASA, trying to save itself from later difficulties, bought 64K of memory for each computer, hoping that doubling the estimate would be enough (despite memory increases in previous programs of several hundred percent). Unfortunately, the<br />
software grew to over 700K, requiring not only more computer memory, but the addition of mass memory units to hold programs that would not fit into the extended core. Parten said after this, "I don't know how<br />
you ensure proper memory size ahead of time, unless you're incredibly lucky".</p></blockquote>
<p>Програмите за излитане, за поддържане на орбита и за обратно навлизане в атмосферата са се съхранявали на отделни ленти, които астронавтите са зареждали в съответните случаи. След ъпгрейда с AP-101S, вече всички програми е можело да бъдат съхранявани в главната памет.<br />
Интересен е бил бъгът в софтуера, който е рестартирал компютрите при всяка смяна на годината от 31 декември към 1 януари. За това совалките не са правели полети, които включват тези дати. Този бъг е бил оправен чак през 2003 г.<br />
Компютрите са можели да бъдат препрограмирани в полет, ако се появи критична ситуация:</p>
<blockquote><p>The memory can be altered in flight. The ground can uplink bursts of 64 16-bit halfwords at a time, which can replace data already in the specified addresses. The crew can also change up to six 32-bit words simultaneously by using their displays and keyboards. However, those changes must be hand keyed in hexadecimal.</p></blockquote>
<p>Представяте ли си как астронавта за три секунди набира сто инструкции по машинни думи <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Понеже видео обработката по онова време е била трудоемка работа, цял отделен компютър е бил посветен на обслужването на дисплеите, където се извеждала информацията от останалите компютри.</p>
<blockquote><p>Displays placed on the CRTs are controlled by a special-purpose computer with a 16-bit word size and 8K of memory. This computer provides display control and can create circles, lines, intensity<br />
changes (highlighting), and flashing messages.</p></blockquote>
<p>Интересни неща могат да се намерят за компютрите в космоса <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
По материали от <a href='http://en.wikipedia.org/wiki/Space_shuttle#Flight_systems'>Wikipedia</a> и изходящите й връзки.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2009/05/06/%d0%ba%d0%be%d0%bc%d0%bf%d1%8e%d1%82%d1%80%d0%b8%d1%82%d0%b5-%d0%bd%d0%b0-%d0%ba%d0%be%d1%81%d0%bc%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%b8%d1%82%d0%b5-%d1%81%d0%be%d0%b2%d0%b0%d0%bb%d0%ba%d0%b8/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Apacer AU231 0MB, inside</title>
		<link>http://blog.ivanatora.info/2009/02/17/apacer-au231-0mb-inside/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=apacer-au231-0mb-inside</link>
		<comments>http://blog.ivanatora.info/2009/02/17/apacer-au231-0mb-inside/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 17:23:42 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://ivanatora.info/?p=227</guid>
		<description><![CDATA[Имам такъв mp3 плеър от доста време. Типичната евтинийка е - 7-сегментна индикация вместо шарен дисплай, без вградена памет, чете песните от SD карта, която се споделя с фотоапарата, черпи ток от една ААА батерия. Доволно свири музиката. В един момент обаче след година и кусур терор, спря да свири и въобще да чете картата. [...]]]></description>
			<content:encoded><![CDATA[<p>Имам такъв mp3 плеър от доста време. Типичната евтинийка е - 7-сегментна индикация вместо шарен дисплай, без вградена памет, чете песните от SD карта, която се споделя с фотоапарата, черпи ток от една ААА батерия. Доволно свири музиката. В един момент обаче след година и кусур терор, спря да свири и въобще да чете картата. Без карта се стартира със съобщение "No-Sd", а когато бъде пуснат с карта се опитва да прочете броя песни и забива. Проблема беше че в слота имаше някакъв боклук и трябваше да бъде издухан, но това ми беше готин повод да отворя плеъра. И да споделя снимки с вас <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Първо плеъра в търговски вид:<br />
<a href="http://ivanatora.info/wp-content/uploads/2009/02/au231_big.jpg"><img src="http://ivanatora.info/wp-content/uploads/2009/02/au231_big-248x300.jpg" alt="" title="au231_big" width="248" height="300" class="aligncenter size-medium wp-image-231" /></a><br />
Махнат преден капак. Вижда се че вътрешността се състои от две платки, свързани с лентов кабел. Слота за SD картата е просто огромен в сравнение с останалото. Виждат се и микро-USB и стерео жак.<br />
<a href="http://ivanatora.info/wp-content/uploads/2009/02/dsc01120.jpg"><img src="http://ivanatora.info/wp-content/uploads/2009/02/dsc01120-300x225.jpg" alt="" title="dsc01120" width="300" height="225" class="aligncenter size-medium wp-image-228" /></a><br />
Google е чувал за големия чип, но не можа да ми каже нищо повече от "Made in Taiwan". Не намерих datasheet - маймуните дето сглобяват плеърите на плажа си крият продукцията. Белия правоъгълник над mp3 кодека е светодиодната подсветка на дисплея. Малката платка като че ли се занимава само с управлението на дисплея.<br />
<a href="http://ivanatora.info/wp-content/uploads/2009/02/dsc01118.jpg"><img src="http://ivanatora.info/wp-content/uploads/2009/02/dsc01118-300x225.jpg" alt="" title="dsc01118" width="300" height="225" class="aligncenter size-medium wp-image-229" /></a><br />
Подсветката в действие.<br />
<a href="http://ivanatora.info/wp-content/uploads/2009/02/dsc01119.jpg"><img src="http://ivanatora.info/wp-content/uploads/2009/02/dsc01119-300x225.jpg" alt="" title="dsc01119" width="300" height="225" class="aligncenter size-medium wp-image-230" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2009/02/17/apacer-au231-0mb-inside/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Какво е HFSC и има ли почва у нас</title>
		<link>http://blog.ivanatora.info/2009/01/29/%d0%ba%d0%b0%d0%ba%d0%b2%d0%be-%d0%b5-hfsc-%d0%b8-%d0%b8%d0%bc%d0%b0-%d0%bb%d0%b8-%d0%bf%d0%be%d1%87%d0%b2%d0%b0-%d1%83-%d0%bd%d0%b0%d1%81/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25ba%25d0%25b0%25d0%25ba%25d0%25b2%25d0%25be-%25d0%25b5-hfsc-%25d0%25b8-%25d0%25b8%25d0%25bc%25d0%25b0-%25d0%25bb%25d0%25b8-%25d0%25bf%25d0%25be%25d1%2587%25d0%25b2%25d0%25b0-%25d1%2583-%25d0%25bd%25d0%25b0%25d1%2581</link>
		<comments>http://blog.ivanatora.info/2009/01/29/%d0%ba%d0%b0%d0%ba%d0%b2%d0%be-%d0%b5-hfsc-%d0%b8-%d0%b8%d0%bc%d0%b0-%d0%bb%d0%b8-%d0%bf%d0%be%d1%87%d0%b2%d0%b0-%d1%83-%d0%bd%d0%b0%d1%81/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 12:59:23 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[линукс]]></category>
		<category><![CDATA[нет]]></category>

		<guid isPermaLink="false">http://ivanatora.info/?p=214</guid>
		<description><![CDATA[Снощи нямах какво да правя, та взех и преведох текст от разни места и го събрах в едно материалче което разглежда принципа на действие на HFSC. Има примери как се прави това в Linux и *BSD. Статията може да е скучна за доста хора, така че който го интересува да чете навътре Има различни реализации [...]]]></description>
			<content:encoded><![CDATA[<p>Снощи нямах какво да правя, та взех и преведох текст от разни места и го събрах в едно материалче което разглежда принципа на действие на HFSC. Има примери как се прави това в Linux и *BSD.</p>
<p>Статията може да е скучна за доста хора, така че който го интересува да чете навътре <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-214"></span></p>
<p>Има различни реализации на алгоритми за подобряване Качеството на услугата (QoS), които са известни още под името "планировчици". Повечето от тях използват клас-базирани опашки (CBQ) - трафика се разделя по класове. Всеки клас има лимит (част от общия лимит на връзката), който не може да се надвиши от сесиите, които попадат в класа. Различни планировчици са: RED, ECN, CBQ, HTB, WFQ, WRR, HFSC... "HFSC" означава "честна йерархична крива на услугата". Целта на алгоритъма е да гарантира адаптивно и гъвкаво изменение на трафика в реално време; плавно споделяне между йерархчно разположените класове. Какви са ползите от подобен тип алгоритъм:</p>
<ul>
<li>може да се направи филтър, който вкарва ACK пакетите в клас с по-висок приоритет. Така трансферите ще преминават с нормална скорост, дори и при натоварена връзка.</li>
<li>може да се контролира забавянето на пакетите (latency) както и скоростта им на преминаване (bandwidth)</li>
<li>може да се задават точни параметри на пиковите трансфери (burst), които са с малка продължителност, но използват връзката на максимум. Тези параметри включват големина на пика и плавното му намаляване след максимално определената продължителност. По този начин кратки трансфери ще преминават по-бързо (каквито са HTTP заявки и отговорите), докато големите трансфери ще се ограничават и няма да заемат целия капацитет на връзката.</li>
<li>гарантиране поведение на услугата във всички крайни класове</li>
<li>честно разпределение на свободния трафик към крайните класове</li>
</ul>
<p>Планирането чрез HFSC се основава на два принципа: предаване на трафик в реално време, което гарантира сервизната крива на крайните класове и споделяне между класовете, което се стреми да разпредели свободните ресурси. Политиката на планировчика е да активира първия принцип, когато има опастност крайните класове да не могат да получат минималния им гарантиран ресурс. През останалото време е активиран втория критерий. За да се разбере принципа на действие на HFSC трябва да се вникне в няколко модела на управление на качеството на услугата.</p>
<h3 id="section-HFSC-_D0_9C_D0_BE_D0_B4_D0_B5_D0_BB_D0_9D_D0_B0_D0_A3_D0_BF_D1_80_D0_B0_D0_B2_D0_BB_D0_B5_D0_BD_D0_B8_D0_B5_D0_9A_D0_B0_D1_87_D0_B5_D1_81_D1_82_D0_B2_D0_BE_D1_82_D0_BE_D0_9D_D0_B0_D0_A3_D1_81_D0_BB_D1_83_D0_B3_D0_B0_D1_82_D0_B0_D0_A7_D1_80_D0_B5_D0_B7_D0_A1_D0_B5_D1_80_D0_B2_D0_B8_D0_B7_D0_BD_D0_B0_D0_9A_D1_80_D0_B8_D0_B2_D0_B0">Модел на управление качеството на услугата чрез сервизна крива</h3>
<p>Сервизна крива - Service curve - това е графика на преминалите данни за единица време.</p>
<table class=".." style="margin-left: auto; margin-right: auto;" border="0">
<tbody>
<tr>
<td><img src="http://ivanatora.info/test/service_curve.jpg" alt="" width=".." height=".." /></td>
</tr>
</tbody>
</table>
<p>Кривата има три параметъра:</p>
<ul>
<li><em>m1</em> - наклон на първия сегмент</li>
<li><em>m2</em> - наклон на втория сегмент</li>
<li><em>d</em>- пресечна точка на двата сегмента по оста Х</li>
</ul>
<p>Според подобра на параметрите могат да се направят криви с различен наклон, вдлъбнати или изпъкнали. Вдлъбнатата крива работи добре с кратки пикове, които не стигат до максимално разрешеното време - точката d. Тази крива пропуска началото на трансфера и го ограничава ако се окаже че той не е пик, а изисква голям ресурс по цялата си дължина. Изпъкналата крива потиска първоначалния трафик и дава приоритет на връзки, които преминат точката d. Естествено може да се постигне и линейна сервизна крива, когато двата наклона са еднакви: m1 = m2.<br />
Настройването на сервизна крива дава основен инструмент за управление качеството на услугата. Все пак това не стига за честно разпределяне на свободните ресурси между крайните класове.</p>
<h3 id="section-HFSC-_D0_9C_D0_BE_D0_B4_D0_B5_D0_BB_D0_9D_D0_B0_D0_92_D0_B8_D1_80_D1_82_D1_83_D0_B0_D0_BB_D0_BD_D0_BE_D1_82_D0_BE_D0_92_D1_80_D0_B5_D0_BC_D0_B5">Модел на виртуалното време</h3>
<p>Всеки от класовете в йерархията има параметър vt - виртуално време, който представлява броя обслужени байтове за единица време. ВТ е въведено за първи път в PFQ (Packet Fair Queueing) алгоритъма и целта на параметъра е да синхронизира дъщерните класове в йерархията в принципа за споделяне на връзката. Когато стане възможно да се изпрати пакет се претърсва всеки от класовете в йерархията за най-малка стойност на виртуалното време. Крайният клас, който съвпадне с това изискване изпраща пакет и виртуалното време на този и на всеки друг клас нагоре по йерархията (до коренния клас) се увеличава. Винаги когато един клас изпраща пакет виртуалното му време се увеличава.</p>
<h3 id="section-HFSC-_D0_9C_D0_BE_D0_B4_D0_B5_D0_BB_D0_9D_D0_B0_D0_A3_D0_BF_D1_80_D0_B0_D0_B2_D0_BB_D0_B5_D0_BD_D0_B8_D0_B5_D0_9A_D0_B0_D1_87_D0_B5_D1_81_D1_82_D0_B2_D0_BE_D1_82_D0_BE_D0_9D_D0_B0_D0_A3_D1_81_D0_BB_D1_83_D0_B3_D0_B0_D1_82_D0_B0_D0_A7_D1_80_D0_B5_D0_B7_D0_A0_D0_B0_D0_B7_D0_BF_D1_80_D0_B5_D0_B4_D0_B5_D0_BB_D1_8F_D0_BD_D0_B5_D0_98_D0_A7_D0_B5_D1_81_D1_82_D0_BD_D0_B0_D0_A1_D0_B5_D1_80_D0_B2_D0_B8_D0_B7_D0_BD_D0_B0_D0_9A_D1_80_D0_B8_D0_B2_D0_B0">Модел на управление качеството на услугата чрез разпределяне и честна сервизна крива</h3>
<p>Не само крайните класове, а всеки клас в йерархията има собствена сервизна крива. Целта е едновременно да се задоволят сервизните криви на крайните класове и излишъка от ресурс да бъде честно разпределен. HFSC използва този модел.<br />
Всеки краен клас има следните три параметъра:</p>
<ul>
<li><em>d</em> - максимално допустимото време на престой за пакет на края на опашката на класа</li>
<li><em>e</em> - желателното време за престой</li>
<li><em>v</em> - виртуалното време, свързано с класа</li>
</ul>
<p>Класовете, които не са крайни имат само v параметър. Максималните времена на престой се изчисляват така че, сервизната крива е гарантирана когато всички пакети от дадена сесия имат време по-малко от d. Времето e се използва за избор на кой от двата планиращи принципа ще се активира за следващия пакет. Ако текущия пакет е престоял по-малко от времето e - продължил е нататък по връзката за кракто време, алгоритъма преценява има излишък от ресурс и се стреми да го разпредели. Ако текущия пакет е престоял повече от желателното време e, това е сигнал за потенциално претоварване и алгоритъма активира критерия за минимален гарантиран ресурс.</p>
<h3 id="section-HFSC-_D0_98_D0_BC_D0_BF_D0_BB_D0_B5_D0_BC_D0_B5_D0_BD_D1_82_D0_B0_D1_86_D0_B8_D1_8F_D0_92Linux">Имплементация в Linux</h3>
<p>За контролиране качеството на услугата в Linux може да се използва инструмента tc, който е част от комплекта iproute2. Този документ няма да описва действието на tc и се предполага че читателите са запознати с него. Първата стъпка е да се инсталира обслужваща дисциплина (qdisc) към мрежовия интерфейс. Може да се добави и опция за използване на клас по подразбиране, в който ще попадне некласифицирания трафик. Общ синтаксис:<br />
<tt>tc qdisc add dev $dev root handle $ID: hfsc [default $classID]</tt><br />
Пример:<br />
<tt>tc qdisc add dev eth0 root handle 1: hfsc default 10</tt><br />
Добавяне на класове и изграждане на йерархия, чрез връзката parrent &lt;-&gt; classid.<br />
Общ синтаксис:<br />
<tt>tc add class dev $dev parent parentID classid $ID hfsc [ [ rt SC ] [ ls SC ] | [ sc SC ] ] [ ul SC ]</tt><br />
<tt>SC := [ umax bytes dmax ms ] rate BPS </tt><br />
Крайните класове могат да имат параметър за гарантиран ресурс в реално време (rt) както и параметър за сервизната крива, когато е активиран принципа за споделяне (ls). Вътрешните класове имат само параметъра ls, който е свързан с виртуалното време. Параметъра ul показва максимално заделения трафик, който може да попадне в класа. Параметрите rt и ls могат да бъдат изпуснати и вместо тях да се ползва описание на сервизната крива (sc). Тя се описва чрез:</p>
<ul>
<li><em>rate</em> - скорост на предаване - височина на втория сегмент на кривата</li>
<li><em>dmax</em> - максимално закъснение - времето където се съединяват двата сегмента</li>
<li><em>umax</em> - скорост на предаване - височина на първия сегмент на кривата</li>
</ul>
<h4 id="section-HFSC-_D0_9F_D1_80_D0_B8_D0_BC_D0_B5_D1_80_D0_BD_D0_B0_D0_99_D0_B5_D1_80_D0_B0_D1_80_D1_85_D0_B8_D1_8F_D0_9E_D1_82_D0_9A_D0_BB_D0_B0_D1_81_D0_BE_D0_B2_D0_B5">Примерна йерархия от класове</h4>
<p><tt>tc class add dev eth0 parent 1: classid 1:1 hfsc sc rate 1000kbit ul rate 1000kbit<br />
tc class add dev eth0 parent 1:1 classid 1:10 hfsc sc rate 500kbit ul rate 1000kbit<br />
tc class add dev eth0 parent 1:1 classid 1:20 hfsc sc rate 500kbit ul rate 1000kbit<br />
tc class add dev eth0 parent 1:10 classid 1:11 hfsc sc umax 1500b dmax 53ms rate 400kbit ul rate 1000kbit<br />
tc class add dev eth0 parent 1:10 classid 1:12 hfsc sc umax 1500b dmax 30ms rate 100kbit ul rate 1000kbit </tt><br />
Другата част, която не засяга HFSC планировчика и няма да бъде разглеждана е създаване на филтър, който да класифицира трафика.<br />
Пример:<br />
<tt>tc filter add dev eth0 protocol ip parent 1: u32 match ip sport 80 0xffff classid 1:10</tt></p>
<h3 id="section-HFSC-_D0_98_D0_BC_D0_BF_D0_BB_D0_B5_D0_BC_D0_B5_D0_BD_D1_82_D0_B0_D1_86_D0_B8_D1_8F_D0_92BSD">Имплементация в *BSD</h3>
<p>HFSC за първи път бива вградено в open source решение за контрол качеството на услугата - това е ALTQ. ALTQ се използва в комбинация с пакетния филтър pf. Този документ няма за цел да описва пакетния филтър, така че ще се концентрираме върху HFSC. Използват се следните параметри:</p>
<ul>
<li><em>bandwidth</em> - капацитета на връзката за даден клас. Стойността за bandwidth на дъщерните класове винаги трябва да е по-малка от bandwidth на родителския клас. Стойността за подразбиране на bandwidth е 100% от възможното за родителския клас. Стойността може да се задава в проценти, mbit, kbit...</li>
<li><em>priority</em> - приоритет на обслужване на класовете. Тази директива е прост начин за определяне на кои класове ще могат да изпратят пакет. Допустимите стойности за priority в HFSC и CBQ са от 0 до 7, като колкото по-високо е числото, толкова по-голям е приоритета. Също така priority влиза в сила когато връзката е натоварена и има опастност да не може да се изпълни принципа за гарантиране на минимална скорост.</li>
<li><em>qlimit</em> - брой "клетки" във FIFO опашка, използвана за запазване на изходящите пакети. Това се налага когато капацитетът на връзката не е достатъчен. В случай на насищане може да се случи някой от класовете да не може да предава. Тогава класовете запазват пакетите в определен брой клетки от паметта по реда им на пристигане. Когато се освободи ресурс, опашката ще бъде изпразнена навън. Използването на qlimit трябва да е само в крайни случаи, тъй като FIFO опашка противоречи на идеята за адаптивност и проспособимост на HFSC алгоритъма. Все пак запазване в паметта е по-добрата алтернатива от изпускане на пакети. Стойността на qlimit по подразбиране е 50.</li>
<li><em>realtime</em> - минимална гарантирана скорост, с която краен клас може да предава, независимо какво става с другите класове. Стойността на realtime може да бъде от 0% до 80% от общия капацитет на връзката.</li>
<li><em>upperlimit</em> - капацитет, който краен клас никога не може да надвиши.</li>
<li><em>linkshare</em> - същото като bandwidth, но важи само за вътрешните класове по йерархията. Ако за клас е сложена стойност на bandwidth, може да не се задава стойност за linkshare</li>
</ul>
<p>Общ синтаксис за опашките в pf.conf:<br />
<tt>altq on $interface $scheduler bandwidth $bw [priority $pri] [qlimit $qlim] queue { $q1, $q2, $q3...}}}<br />
</tt></p>
<ul>
<li><em>interface</em> - мрежовия интерфейс, където се инсталира дисциплината за обслужване</li>
<li><em>scheduler</em> - алгоритъм на планировчика</li>
<li><em>bandwidth</em> - капацитет на връзката. Задава се в b, Kb, Mb за bits, kilobits, megabits за една секунда. Стойността за подразбиране е 100% от капацитета на родителския клас.</li>
<li><em>q1, q2, q3 ...</em> - списък с имена на класове, които се описват по-долу</li>
</ul>
<p>Общ синтаксис за описване на опашка (клас):<br />
<tt>queue $name [on $interface] bandwidth $bw [priority $pri] [qlimit $qlim] $scheduler ( $sched_options ) { $queue_list } </tt></p>
<ul>
<li><em>name</em> - име на опашката. Трябва да съвпада с някое от имената на класовете, описани в списъка { $q1, $q2, $q3...} на родителския клас. Максималната дължина на името е 15 символа</li>
<li>sched_options - допълнителни настройки и опции, които контролират поведението на планировчика
<ul>
<li><em>default</em> - дефинира класа като клас в който попада всичкия некласифициран трафик. Трябва да има само една default дефиниция за всички класове, които са към един мрежов интерфейс.</li>
<li><em>red</em> - активира алгоритъма Random Early Detection (RED) за опашката</li>
<li><em>ecn</em> - активира алгоритъма Explicit Congestion Notification (ECN) за опашката</li>
<li><em>realtime</em> $bw - задава параметъра realtime в HFSC</li>
<li><em>upperlimit</em> $bw - задава параметъра upperlimit в HFSC</li>
<li><em>linkshare</em> $bw - задава параметъра linkshare в HFSC</li>
</ul>
</li>
</ul>
<h4 id="section-HFSC-_D0_9F_D1_80_D0_B8_D0_BC_D0_B5_D1_80_D0_BD_D0_B0_D0_99_D0_B5_D1_80_D0_B0_D1_80_D1_85_D0_B8_D1_8F_D0_9E_D1_82_D0_9A_D0_BB_D0_B0_D1_81_D0_BE_D0_B2_D0_B5">Примерна йерархия от класове</h4>
<p><tt>altq on rl0 bandwidth 744Kb hfsc queue { ack, dns, ssh, bulk, bittor, spamd }<br />
queue ack bandwidth 80% priority 7 qlimit 500 hfsc (realtime 50%)<br />
queue dns bandwidth  7% priority 6 qlimit 500 hfsc (realtime  5%)<br />
queue ssh bandwidth 10% priority 5 qlimit 500 hfsc (realtime 10%) {ssh_bulk, ssh_login}<br />
queue 	ssh_login bandwidth 90% priority 5 qlimit 500 hfsc<br />
queue 	ssh_bulk bandwidth 10% priority 4 qlimit 500 hfsc<br />
queue bulk bandwidth  1% priority 4 qlimit 500 hfsc (realtime 5% default)<br />
queue bittor bandwidth  1% priority 3 qlimit 500 hfsc (upperlimit 99%)<br />
queue spamd bandwidth  1% priority 2 qlimit 500 hfsc (upperlimit 1%)</tt></p>
<h3 id="section-HFSC-_D0_98_D0_B7_D0_BF_D0_BE_D0_BB_D0_B7_D0_B2_D0_B0_D0_BD_D0_B0_D0_9B_D0_B8_D1_82_D0_B5_D1_80_D0_B0_D1_82_D1_83_D1_80_D0_B0">Използвана литература</h3>
<p><a class="external" href="http://www.cs.cmu.edu/%7Ehzhang/papers/SIGCOM97.pdf">http://www.cs.cmu.edu/~hzhang/papers/SIGCOM97.pdf</a><img class="outlink" src="http://dsnet.tu-plovdiv.bg/wiki/images/out.png" alt="" /> - A Hierarchical Fair Service Curve Algorithm for LinkSharing, RealTime and Priority Services<br />
<a class="external" href="http://linux-ip.net/articles/hfsc.en/">http://linux-ip.net/articles/hfsc.en/</a><img class="outlink" src="http://dsnet.tu-plovdiv.bg/wiki/images/out.png" alt="" /> - HFSC Scheduling with Linux<br />
<a class="external" href="https://calomel.org/pf_hfsc.html">https://calomel.org/pf_hfsc.html</a><img class="outlink" src="http://dsnet.tu-plovdiv.bg/wiki/images/out.png" alt="" /> - Hierarchical Fair Service Curve (HFSC) of OpenBSD<br />
<a class="external" href="http://www.openbsd.org/faq/pf/queueing.html">http://www.openbsd.org/faq/pf/queueing.html</a><img class="outlink" src="http://dsnet.tu-plovdiv.bg/wiki/images/out.png" alt="" /> - PF: Packet Queueing and Prioritization</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2009/01/29/%d0%ba%d0%b0%d0%ba%d0%b2%d0%be-%d0%b5-hfsc-%d0%b8-%d0%b8%d0%bc%d0%b0-%d0%bb%d0%b8-%d0%bf%d0%be%d1%87%d0%b2%d0%b0-%d1%83-%d0%bd%d0%b0%d1%81/feed/</wfw:commentRss>
		<slash:comments>0</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>Енкодване на клипове за k800 с mencoder и ffmpeg</title>
		<link>http://blog.ivanatora.info/2008/09/01/%d0%b5%d0%bd%d0%ba%d0%be%d0%b4%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%ba%d0%bb%d0%b8%d0%bf%d0%be%d0%b2%d0%b5-%d0%b7%d0%b0-%d1%82%d0%b5%d0%bb%d0%b5%d1%84%d0%be%d0%bd%d0%b0/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25b5%25d0%25bd%25d0%25ba%25d0%25be%25d0%25b4%25d0%25b2%25d0%25b0%25d0%25bd%25d0%25b5-%25d0%25bd%25d0%25b0-%25d0%25ba%25d0%25bb%25d0%25b8%25d0%25bf%25d0%25be%25d0%25b2%25d0%25b5-%25d0%25b7%25d0%25b0-%25d1%2582%25d0%25b5%25d0%25bb%25d0%25b5%25d1%2584%25d0%25be%25d0%25bd%25d0%25b0</link>
		<comments>http://blog.ivanatora.info/2008/09/01/%d0%b5%d0%bd%d0%ba%d0%be%d0%b4%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%ba%d0%bb%d0%b8%d0%bf%d0%be%d0%b2%d0%b5-%d0%b7%d0%b0-%d1%82%d0%b5%d0%bb%d0%b5%d1%84%d0%be%d0%bd%d0%b0/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 17:37:18 +0000</pubDate>
		<dc:creator>ivanatora</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[k800i]]></category>
		<category><![CDATA[mplayer]]></category>

		<guid isPermaLink="false">http://ivanatora.info/?p=131</guid>
		<description><![CDATA[От месеци се мъчех да си смачкам някое друго видео, което да мога да си го гледам на телефона. GSM е Sony Ericsson k800. По спецификации поддържа: - видео 3GPP (H263, H264), MP4, Real8 - аудио MP4 (AAC, AAC+, E-AAC+), MP3, M4A, WMA, 3GP, AMR, WAV, G-MIDI 1, Real 8 - максимална разделителна способност 320х240 [...]]]></description>
			<content:encoded><![CDATA[<p>От месеци се мъчех да си смачкам някое друго видео, което да мога да си го гледам на телефона. GSM е Sony Ericsson k800. По спецификации поддържа:<br />
- видео 3GPP (H263, H264), MP4, Real8<br />
- аудио MP4 (AAC, AAC+, E-AAC+), MP3, M4A, WMA, 3GP, AMR, WAV, G-MIDI 1, Real 8<br />
- максимална разделителна способност 320х240<br />
- максимален битрейт - 400 kb/s - като това е общо видео битрейт + аудио битрейт<br />
До сега имам поне към 500 неуспешни опита да енкодна видео с mencoder и то да тръгне на телефона. Във файловия мениджър се появява една иконка с пакетче и контекстен бутон Send (като на всички непознати файлове) и толкоз. Никакъв опит за по-съществен дебъг. Какво не му харесва? Тук вече става въпрос за много сложна комбинация от видео енкодер, аудио енкодер, видео формат, видео контейнер, аудио кодек, битрейти...<br />
Ето някой от неуспешните опити с mencoder:</p>
<blockquote><p>mencoder input.avi -ovc lavc -lavcopts acodec=ac3:abitrate=64:vcodec=mpeg4:vbitrate=300 -oac mp3lame -lameopts br=64 -vf scale=320:240 -of lavf -lavfopts format=mp4 -o output.mp4</p></blockquote>
<p>Сега като го гледам този, не ми е чудно че не тръгва. Опитвам се да ползвам за аудио кодек АС3, а телефона май не го поддържа</p>
<blockquote><p>mencoder input.avi -ovc x264 -x264encopts bitrate=350 -oac mp3lame -lameopts br=64 -vf scale=320:240 -o output.mp4</p></blockquote>
<p>Едно време си мислех че x264 == MPEG-4, сега си мисля че не е точно така. Вече почнах да се обърквам кое е енкодер, кое е кодек и кое е контейнер...<br />
Та това са само последните два от няколкостотин опита и килограми изхабени нерви по mencoder. Не искам да кажа че mencoder си върши работата зле - виновно е задклавиатурното устройство <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  В други случаи mencoder върши чудесна работа, примерно това рипване на DVD:</p>
<blockquote><p>mencoder dvd://3 -dvd-device /mnt/cdrom/ -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate="800" -oac mp3lame -lameopts br=128 -o dvd.avi</p></blockquote>
<p>По едно време ми писна и се залових за алтернативния софтуер - ffmpeg. Не ми хареса man страницата му, където са описани по-малко от половината опции. Въпреки това, работата горе долу стана.<br />
Първо пробвах да преобразувам клипчето в 3GP, но се оказа че формата има комплект валидни разделителни способности, най-високата от които да ми върши работа беше 176х144. Не мерси.<br />
Съсредоточих се върху MP4:</p>
<blockquote><p>ffmpeg -i input.avi -ar 8000 -ac 1 -acodec libfaac -vcodec mpeg4 -s 320x240 -r 24 -b 300000 -ab 48000 -t 30 output.mp4</p></blockquote>
<p>Видеото излезе с подходящия thumbnail в мениджъра на телефона, даже и тръгна. Единствения кусур беше звука, който беше с отвратително качество.<br />
Ето подобрение:</p>
<blockquote><p>ffmpeg -i input.avi -ar 44100 -ac 1 -acodec libfaac -vcodec mpeg4 -s 320x240 -r 24 -b 250000 -ab 64000 output.mp4</p></blockquote>
<p>Аудио енкодера не ми даде да вдигна аудио битрейта докато не вдигнах и sampling rate-а. Намалих и видео битрейта, понеже на някои места видеото забавяше и се получаваше framedrop ефект. Накрая всичко тръгна на сто процента <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/09/01/%d0%b5%d0%bd%d0%ba%d0%be%d0%b4%d0%b2%d0%b0%d0%bd%d0%b5-%d0%bd%d0%b0-%d0%ba%d0%bb%d0%b8%d0%bf%d0%be%d0%b2%d0%b5-%d0%b7%d0%b0-%d1%82%d0%b5%d0%bb%d0%b5%d1%84%d0%be%d0%bd%d0%b0/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Здравей, Opera!</title>
		<link>http://blog.ivanatora.info/2008/07/24/%d0%b7%d0%b4%d1%80%d0%b0%d0%b2%d0%b5%d0%b9-opera/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25b7%25d0%25b4%25d1%2580%25d0%25b0%25d0%25b2%25d0%25b5%25d0%25b9-opera</link>
		<comments>http://blog.ivanatora.info/2008/07/24/%d0%b7%d0%b4%d1%80%d0%b0%d0%b2%d0%b5%d0%b9-opera/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 10:02:14 +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=109</guid>
		<description><![CDATA[На скоро Firefox си изтегли последния ъпдейт от 2.х.х.х серията и се почнаха едни забивания, увивания... За няколко дена бях вбесен. А за версия 3 още дума не може да става да ми дойде вкъщи. Преди това бях забелязъл че в complete install-a на FreeBSD-то се включва и Opera, та реших да й дам шанс. [...]]]></description>
			<content:encoded><![CDATA[<p>На скоро Firefox си изтегли последния ъпдейт от 2.х.х.х серията и се почнаха едни забивания, увивания... За няколко дена бях вбесен. А за версия 3 още дума не може да става да ми дойде вкъщи.<br />
Преди това бях забелязъл че в complete install-a на FreeBSD-то се включва и Opera, та реших да й дам шанс. Поразцъках я малко... и се влюбих <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Това няма нищо общо с онова отроче на софтуерната индустрия, което помня от преди години. Дръпнали са светлинни години напред. Няма 'дай пари за лиценз', няма 'иди да хапнеш докато ти заредя страницата'...<br />
<b>Скорост</b> - браузъра зарежда за 1/3 от времето за което зареждаше FF. Отваря нови табове още преди да си кликнал два пъти и сменя от таб на таб за същото време. Това елементарно упражнение в FF си беше мъка. Всъщност сменянето от таб на таб беше единственото нещо, което правеше лампичката за HDD activity да свети непрекъснато.<br />
<b>Speed dial</b> - може да задавате няколко страници, на които да се прехвърлите. Нещо като bookmarks @ home page, но тук виждате в реално време съдържанието на страниците още преди да сте ги посетили в малки thumbnails.<br />
<b>Преотваряне на затворени табове</b> - до колкото помня във FF тази функционалност се добавяше от Tab Mix Plus и подобните му добавки.<br />
<b>Zoom</b> - реален zoom на страниците, а не само увеличаване на шрифта както беше във 2.х версиите на FF. Разликата между двете е че, когато се увеличава само шрифта, другите елементи остават несъразмерни и страницата започва да се размества (я пъхнете голям шрифт в малък div елемент)<br />
<b>Skins</b> - само си тегли скиновете, като имате прозорче за preview. Можете да четете коментари, да гледате ревюта и рейтинг на същото място.<br />
<b>Mail, Chat, RSS</b> - Opera има вградени клиенти. Обаче съм свикнал като цъкна на RSS линк да ми се отваря страницата за добавяне към Google Reader и малко ми е мъчно за FF <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />
<b>Още thumbnails</b> - има опция за добавяне на thumbnails към Ctrl+Tab превключването и към самите табове. Като задържите мишката върху затворен таб, пада един thumbnail със съдържанието на страницата. Не ми допада много, ама си е екстра гъзария.<br />
<b>Image control</b> - може да се изключи показването на картинки, или да се направи да се показват от локалния кеш.<br />
<b>User stylesheets</b> - ако не ви харесва как изглежда някоя страница, можете да й зададете ваш stylesheet, който да ползва. Във FF това ставаше с добавка.<br />
<b>Mouse gestures</b> - никога няма да привикна към каквито и да е жестове с мишката, така че това влиза в категория 'гъзария' <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <br />
<b>Notes</b> - има си прозорче за добавяне на кратки бележки. Аз отдавна съм си свикнал да си пазя бележките в браузъро-независима среда като тесктови файлове, така че това ми изглежда още една ненужна 'гъзария'.<br />
<b>AdBlock</b> - забрана за зареждане на определени елементи от страниците - които вие посочите. Много голям плюс - мразя да гледам банери. Това ставаше с добавка във FF.</p>
<p>Липсва ми Web Developer добавката от FF. Тук има нещо подобно - Tools -> Advanced -> Developer Tools, но е далече от версията на FF.<br />
В заключение на сравнението Opera <> Firefox (без да усетя съм почнал да ги сбивам <img src='http://blog.ivanatora.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ) ще кажа че Opera ми изглежда като всичко добро от FF събрано на куп и на стероиди. Бързината на зареждане - ако някога FF стигне до там, ще стане революция.<br />
И все пак навика си е навик, и ако в някой скорошен ъпдейт на FF оправят забиванията и memory usage-то - пак ще почна да си го ползвам.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ivanatora.info/2008/07/24/%d0%b7%d0%b4%d1%80%d0%b0%d0%b2%d0%b5%d0%b9-opera/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

