<?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>Richard Daněk :: BLOG</title>
	<atom:link href="http://www.pudge.cz/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pudge.cz</link>
	<description>Vítejte přátelé na mém blogu</description>
	<lastBuildDate>Sun, 09 Oct 2011 13:59:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Mad Catz fight stick SE/TE z PS3 na PC</title>
		<link>http://www.pudge.cz/street-fighter-iv/mad-catz-fight-stick-sete-z-ps3-na-pc/</link>
		<comments>http://www.pudge.cz/street-fighter-iv/mad-catz-fight-stick-sete-z-ps3-na-pc/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 16:50:47 +0000</pubDate>
		<dc:creator>Richard Daněk</dc:creator>
				<category><![CDATA[Street Fighter IV]]></category>

		<guid isPermaLink="false">http://www.pudge.cz/?p=108</guid>
		<description><![CDATA[Pokud plánujete koupi tohoto herního zařízení pro použití na PC, nebo PS3? Pak měli by jste vědět který vybrat, nač si dát pozor, co je k tomu potřeba a jak to celé vlastně funguje. <a href="http://www.pudge.cz/street-fighter-iv/mad-catz-fight-stick-sete-z-ps3-na-pc/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Pokud plánujete koupi tohoto herního zařízení pro použití na PC, nebo PS3? Pak měli by jste vědět který vybrat, nač si dát pozor, co je k tomu potřeba a jak to celé vlastně funguje.</p>
<p><span id="more-108"></span></p>
<h3>Mad Catz fight stick SE</h3>
<div id="attachment_109" class="wp-caption alignleft" style="width: 160px"><a href="http://www.pudge.cz/wp-content/uploads/madcatz-streetfighter-499x438.jpg" rel="lightbox[108]" title="madcatz-streetfighter-499x438"><img class="size-thumbnail wp-image-109" title="madcatz-streetfighter-499x438" src="http://www.pudge.cz/wp-content/uploads/madcatz-streetfighter-499x438-150x150.jpg" alt="Mad Catz fight stick SE" width="150" height="150" /></a><p class="wp-caption-text">Mad Catz fight stick SE</p></div>
<p><br class="spacer_" /></p>
<p>První co z vlastní zkušenosti mohu poradit je <strong>nekupujte </strong>SE (standard edition) verzi tohoto fightsticku. Na internetu naleznete mnoho stejných doporučení a vede k tomu jeden velmi dobrý důvod. Výrobce Mad Catz ač všem z nepochopitelných důvodů dává do této verze velice nekvalitní součástky. Konkrétně se jedná o tlačítka a také samotnou páčku. Tlačítka se i při velmi jemném zacházení během několika dnů stanou nefunkční nebo ne-vždy funkční a nenaděláte nic. Páčka zase obsahuje (uvnitř fightsticku) plastové díly které se lehce ulomí a páčka je pak nepoužitelná. Mě osobně odešlo jedno tlačítko hned první den po 3 hodinách hraní. Jinde jsem četl mnohem horší případy když těch tlačítek odešlo hned několik během prvních pár dní. Tato SE verze stojí cca <strong>1700 Kč</strong> a jsou to vyhozené peníze. Pojďme se tedy podívat na verzi TE (tournament edition).</p>
<p><br class="spacer_" /></p>
<h3>Mad Catz fight stick TE</h3>
<div id="attachment_110" class="wp-caption alignleft" style="width: 160px"><a href="http://www.pudge.cz/wp-content/uploads/mad-catz-sfiv-peripherals-415.jpg" rel="lightbox[108]" title="mad-catz-sfiv-peripherals-415"><img class="size-thumbnail wp-image-110" title="mad-catz-sfiv-peripherals-415" src="http://www.pudge.cz/wp-content/uploads/mad-catz-sfiv-peripherals-415-150x150.jpg" alt="Mad Catz figh stick TE" width="150" height="150" /></a><p class="wp-caption-text">Mad Catz figh stick TE</p></div>
<p><br class="spacer_" /></p>
<p>Tato verze fightsticku je značně dražší, rozměrově o dost větší a hlavně kvalitou tam kde by měla být. Její součástky jsou dodávány japonskou firmou Sanwa. Cena je cca <strong>3000 Kč</strong>. Pokud tedy plánujete koupi fightsticku, chcete hezkou krabici, máte dost peněz a jste blázni do hry Street Fighter IV tak je tohle zřejmě jediná volba <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p>Ještě zde ovšem existuje jiná varianta která stojí za zmínku. Lze si totiž (pokud jste již nešťastní majitelé SE verze tento šmejd zakoupili) dokoupit pouze problematické součástky a vyměnit je za ty nekvalitní v SE verzi. Návody jak na to naleznete na youtube:</p>
<ul>
<li><a href="http://www.youtube.com/watch?v=dIgCEpBEhng&amp;feature=related"><strong>výměna páčky za značkovou Sanwa</strong></a></li>
<li><strong><a href="http://www.youtube.com/watch?v=vXUrTS22fmw&amp;feature=related">výměna tlačítek za značkové Sanwa</a></strong></li>
</ul>
<p>Bohužel toho krásné řešení má drobné vady na kráse. Nelze totiž sehnat Sanwa součástky v EU (alespoň mě se to nepovedlo). Zbývá tedy je objednat z USA například <a href="http://www.lizardlick.com/index.shtml">odtud</a>. Cena poštovného není zrovna příznivá a i samotná cena téměř 3 USD za 1 tlačítko není nic laciného :/. Další nevýhodou o které se ani nemusím moc zmiňovat je ztráta záruky ve chvíli kdy game stick rozděláte.</p>
<p><br class="spacer_" /></p>
<h3>Použití na PC </h3>
<p>Přestože se jedná o zařízení určení pro platformu Playstation 3, lze jej používat bez problémů i na PC přestože toto není výrobcem přímo podporováno. Můžete ovšem narazit na problém s nefunkčností a tak před koupí je zde něco co by jste měli vědět. Připojení je realizováno skrze USB koncovku a tak s tím PC nemá problém, ovšem ne tak docela! Zařízení pracuje na proprietární normě USB os Intelu UHCI. Dejte si tedy pozor zda máte základní desku s čipsetem Intel, protože na nVidia čipsetu vám zařízení nebude fungovat. Existuje ovšem řešení. Licenci os Intelu vlastní naštěstí také VIA a tak není nic jednoduššího, než si v případě nVidia čipsetu přikoupit USB řadič s VIA čipsetem. Cena je kolem 250 Kč a vše pak funguje perfektně (toto řešení používám já).</p>
<p><br class="spacer_" /></p>
<p><!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pudge.cz/street-fighter-iv/mad-catz-fight-stick-sete-z-ps3-na-pc/feed/</wfw:commentRss>
		<slash:comments>67</slash:comments>
		</item>
		<item>
		<title>Funkce substr() v jazyce C</title>
		<link>http://www.pudge.cz/programovani/funkce-substr-v-jazyce-c/</link>
		<comments>http://www.pudge.cz/programovani/funkce-substr-v-jazyce-c/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 13:53:19 +0000</pubDate>
		<dc:creator>Richard Daněk</dc:creator>
				<category><![CDATA[Programování]]></category>

		<guid isPermaLink="false">http://www.pudge.cz/?p=99</guid>
		<description><![CDATA[Napíšeme si vlastní funkci substr() v jazyku C. <a href="http://www.pudge.cz/programovani/funkce-substr-v-jazyce-c/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Funkce substr() která je běžná v kdejakém skriptovacím jazyce (nebo modernějších jazycích jako C#, C++, ..) v jazyce C chybí. Napíšeme si tedy vlastní.</p>
<p><span id="more-99"></span></p>
<p><br class="spacer_" /></p>
<p>Prototyp funkce vypadá následovně:</p>
<p><strong><em>char *substr(const char *str, int start, int length = -1)</em></strong><br />
<strong><em><br />
const char *str &#8211; </em></strong>vstupní řetězec</p>
<p><strong><em>int start -</em></strong> počáteční pozice požadovaného podřetězce<strong><em><br />
</em></strong></p>
<p><strong><em>int length &#8211; </em></strong>délka podřetězce (nepovinné). Pokud není zadáno vrátí se zbytek řetězce od pozice <strong><em>start</em></strong></p>
<pre name="code" class="cpp:nogutter:nocontrols">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt; 

char *substr(const char *str, int start, int length = -1)
{
	unsigned int slen = strlen(str);
	if (((unsigned int)start + length) &gt; slen) return NULL;

	unsigned int size = (length == -1) ? (slen - start) : length;
	char *buf = (char *)malloc((size+1) * sizeof(char));

	strncpy(buf, str+start, size);
	buf[size] = '\0';
	return buf;
}

int main()
{
	char *substring;
	char str[] = "Hello my big world";

	if ((substring = substr(str, 9, 3)) != NULL)
	{
		printf("%s", substring); // vypise: "big"
		free(substring);
	}

	return 0;
}</pre>
<p>Jelikož funkce substr() alokuje pamět neměli bychom zapomínat ji také ručně uvolnit.</p>
<p><!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pudge.cz/programovani/funkce-substr-v-jazyce-c/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>Funkce strReplace() v jazyce C</title>
		<link>http://www.pudge.cz/programovani/funkce-strreplace-v-jazyce-c/</link>
		<comments>http://www.pudge.cz/programovani/funkce-strreplace-v-jazyce-c/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 13:44:01 +0000</pubDate>
		<dc:creator>Richard Daněk</dc:creator>
				<category><![CDATA[Programování]]></category>

		<guid isPermaLink="false">http://www.pudge.cz/?p=96</guid>
		<description><![CDATA[Je libo funkci pro nahrazení řetězce v řetězci?
Zkusme si takovouto funkci napsat. <a href="http://www.pudge.cz/programovani/funkce-strreplace-v-jazyce-c/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Funkce strReplace() je funkce, která nahrazuje řetězec v řetězci.</p>
<p>Princip funkčnosti spočívá ve spočítání velikosti nového (výsledného) řetězce, alokace potřebné paměti a samotné nahrazovaní.</p>
<p><br class="spacer_" /></p>
<p><span id="more-96"></span></p>
<p>Pro své účely si ještě napíšeme jednoduchou funkci strpos(), která vrací pozici podřetězce v řetězci.</p>
<pre name="code" class="cpp:nogutter:nocontrols">#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;string.h&gt; 

int strpos(const char *find, const char *string, int start = 0)
{
	int slen = strlen(string),
		flen = strlen(find);

	if (start &gt;= slen)
		return -1;
	for(int i = start, j = 0; i &lt; slen; i++)
	{
		for(j = 0; j &lt; flen; j++)
			if (string[i+j] != find[j])
				break;
		if (j == flen)
			return i;
	}
	return -1;
}

char *strReplace(const char *find, const char *replace, const char *str)
{
	int f_len = strlen(find),
		r_len = strlen(replace),
		s_len = strlen(str);

	int fcount = 0, fpos = 0;

	// zjistime kolikrat je hledany retezec find v retezci str
	while((fpos = strpos(find, str, fpos+1)) != -1)
		fcount++;

	if (fcount == 0)
		return (char *)str;
	// spocitame pocet potrebnych znaku pro vysledny retezec
	int str_size = (s_len - (fcount*f_len)) + (fcount*r_len);

	// alokuje pamet pro novy retezec
	char *str2 = (char *)malloc(sizeof(char)*str_size+1);

	int lastpos = 0, j = 0;
	for(int i = 0; i &lt; s_len; i++)
	{
		if (lastpos &lt;= i &amp;&amp; lastpos != -1)
			lastpos = strpos(find, str, i);

		if (i == lastpos)
		{
			for(int k = 0; k &lt; r_len; k++)
				str2[j++] = replace[k];
			i += f_len-1;
		}
		else
			str2[j++] = str[i];
	}
	str2[j] = '\0';
	return str2;
}

int main()
{
	char str[] = "Hello my big world";
	char *str2 = strReplace("big", "small", str);
	printf("%sn", str2); // vypise: "Hello my small world"
	free(str2);
	return 0;
}</pre>
<p><!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pudge.cz/programovani/funkce-strreplace-v-jazyce-c/feed/</wfw:commentRss>
		<slash:comments>79</slash:comments>
		</item>
		<item>
		<title>Normalizace pole v PHP</title>
		<link>http://www.pudge.cz/programovani/normalizace-pole-v-php/</link>
		<comments>http://www.pudge.cz/programovani/normalizace-pole-v-php/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 13:41:18 +0000</pubDate>
		<dc:creator>Richard Daněk</dc:creator>
				<category><![CDATA[Programování]]></category>

		<guid isPermaLink="false">http://www.pudge.cz/?p=92</guid>
		<description><![CDATA[phpČasto v PHP pracujeme s výsledkem z databáze. Tento výsledek (data) se vetšinou vyplatí mít v poli kvůli snadné manipulaci. Nejednou však nastane situace, kdy potřebujeme pole v jiném tvaru než dostáváme výsledek. <a href="http://www.pudge.cz/programovani/normalizace-pole-v-php/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://www.pudge.cz/wp-content/uploads/php.jpg" rel="lightbox[92]" title="php"><img class="size-full wp-image-68 alignleft" title="php" src="http://www.pudge.cz/wp-content/uploads/php.jpg" alt="php" width="60" height="60" /></a>Často v PHP pracujeme s výsledkem z databáze. Tento výsledek (data) se vetšinou vyplatí mít v poli kvůli snadné manipulaci. Nejednou však nastane situace, kdy potřebujeme pole v jiném tvaru než dostáváme výsledek. <span id="more-92"></span></p>
<p style="text-align: justify;">Běžně vypadá pole dat následovně:</p>
<pre name="code" class="php:nogutter:nocontrols">Array
(
    [0] =&gt; Array
        (
            [id] =&gt; 1
            [jmeno] =&gt; Richard
        )

    [1] =&gt; Array
        (
            [id] =&gt; 3
            [jmeno] =&gt; Michal
        )

    [2] =&gt; Array
        (
            [id] =&gt; 5
            [jmeno] =&gt; Petra
        )

)</pre>
<p style="text-align: justify;">Tedy nějaký ten primary auto increment (id) a další vybrané sloupce. My ale chceme, aby klíčem pole byla hodnota např. primárního klíče. Vytvoříme si na to tedy normalizační funkci, která bude umožňovat mimo jiné také použití zástupného znaku &#8216;*&#8217; v hodnotě pro přiřazení všech sloupců:</p>
<pre name="code" class="php:nogutter:nocontrols">&lt;?php
/**
 * Normalizace dvou rozmerneho pole dle zadanych kriterii
 * @param array $def - definice vysledku
 * @param array $data - dvou rozmerne pole dat
 * @return array
 */
function normalizeArray(Array $def, Array $data)
{
	$dkey = key($def);
	$dvalue = current($def);

	$result = array();

	if ($dkey &amp;&amp; $dvalue) {
		if ($dvalue == '*') {
			foreach($data as $value) {
				if (array_key_exists($dkey, $value)) {
					$result[$value[$dkey]] = $value;
				}
			}
		} else {
			foreach($data as $value) {
				if (array_key_exists($dkey, $value) &amp;&amp; array_key_exists($dvalue, $value)) {
					$result[$value[$dkey]] = $value[$dvalue];
				}
			}
		}
		return $result;
	} else if ($dvalue) {
		foreach($data as $value) {
			if (array_key_exists($dvalue, $value)) {
				$result[] = $value[$dvalue];
			}
		}
		return $result;
	}
	return $data;
}
?&gt;</pre>
<p>Použití pak vypadá následovně:</p>
<pre name="code" class="php:nogutter:nocontrols">&lt;?php
$pole = array(
	array('id' =&gt; 1, 'jmeno' =&gt; 'Richard'),
	array('id' =&gt; 3, 'jmeno' =&gt; 'Michal'),
	array('id' =&gt; 5, 'jmeno' =&gt; 'Petra'),
);

print_r(normalizeArray(array('id' =&gt; 'jmeno'), $pole));
print_r(normalizeArray(array('jmeno'), $pole));
print_r(normalizeArray(array('id' =&gt; '*'), $pole));
?&gt;</pre>
<p>Výsledek prvního volání normalizeArray():</p>
<pre class="result">Array
(
    [1] =&gt; Richard
    [3] =&gt; Michal
    [5] =&gt; Petra
)</pre>
<p>Výsledek druhého volání normalizeArray():</p>
<pre class="result">Array
(
    [0] =&gt; Richard
    [1] =&gt; Michal
    [2] =&gt; Petra
)</pre>
<p>Výsledek třetího volání normalizeArray() s použitím zástupného znaku &#8216;*&#8217;:</p>
<pre class="result">Array
(
    [1] =&gt; Array
        (
            [id] =&gt; 1
            [jmeno] =&gt; Richard
        )

    [3] =&gt; Array
        (
            [id] =&gt; 3
            [jmeno] =&gt; Michal
        )

    [5] =&gt; Array
        (
            [id] =&gt; 5
            [jmeno] =&gt; Petra
        )

)</pre>
<p><!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pudge.cz/programovani/normalizace-pole-v-php/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>ID3v1 tagy formátu mp3</title>
		<link>http://www.pudge.cz/programovani/id3v1-tagy-formatu-mp3/</link>
		<comments>http://www.pudge.cz/programovani/id3v1-tagy-formatu-mp3/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 13:38:13 +0000</pubDate>
		<dc:creator>Richard Daněk</dc:creator>
				<category><![CDATA[Programování]]></category>

		<guid isPermaLink="false">http://www.pudge.cz/?p=86</guid>
		<description><![CDATA[ID3 verze 1 je v binárním souboru mp3 uloženo jako 128 bytů na konci souboru (kvůli zpětné kompatibilitě s audio přehrávači, které neznaly ID3). Má pevně stanovenou strukturu. <a href="http://www.pudge.cz/programovani/id3v1-tagy-formatu-mp3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pudge.cz/wp-content/uploads/cpp2.jpg" rel="lightbox[86]" title="cpp"><img class="alignleft size-full wp-image-74" title="cpp" src="http://www.pudge.cz/wp-content/uploads/cpp2.jpg" alt="cpp" width="60" height="60" /></a>ID3 verze 1 je v binárním souboru mp3 uloženo jako 128 bytů na konci souboru (kvůli zpětné kompatibilitě s audio přehrávači, které neznaly ID3). Má pevně stanovenou strukturu.<span id="more-86"></span></p>
<p>Struktura vypadá následovně:</p>
<pre>struct ID3 {
	char field[3];
	char track[30];
	char artist[30];
	char album[30];
	char year[4];
	char comment[30];
	unsigned char genre;
};</pre>
<p>Kde jednotlivé položky znamenají:</p>
<table border="0">
<tbody>
<tr>
<td class="wp-caption">Název</td>
<td class="wp-caption">Popis</td>
</tr>
<tr>
<td><strong>field</strong></td>
<td>Obsahuje tří znakové slovo TAG určující že zde začíná definice tagu.</td>
</tr>
<tr>
<td style="width: 50px;"><strong>track</strong></td>
<td>Název tracku</td>
</tr>
<tr>
<td style="width: 60px;"><strong>artist</strong></td>
<td>Název skupiny/kapely/umělce</td>
</tr>
<tr>
<td style="width: 70px;"><strong>album</strong></td>
<td>Název hudebního alba</td>
</tr>
<tr>
<td><strong>year</strong></td>
<td>Rok vydání</td>
</tr>
<tr>
<td><strong>comment</strong></td>
<td>Komentář (obvykle nese jmého autora jenž formát konvertoval do mp3)</td>
</tr>
<tr>
<td><strong>genre</strong></td>
<td>Hudební styl definovaný 1 bytem</td>
</tr>
</tbody>
</table>
<p>Hodnoty bytu <strong>genre</strong> mohou obsahují následující význam:</p>
<table style="height: 269px; width: 575px;" border="0" cellpadding="6">
<tbody>
<tr>
<td valign="top"><span style="font-family: verdana,geneva;">0.Blues</p>
<p>1.Classic Rock</p>
<p>2.Country</p>
<p>3.Dance</p>
<p>4.Disco</p>
<p>5.Funk</p>
<p>6.Grunge</p>
<p>7.Hip-Hop</p>
<p>8.Jazz</p>
<p>9.Metal</p>
<p>10.New Age</p>
<p>11.Oldies</p>
<p>12.Other</p>
<p>13.Pop</p>
<p>14.R&amp;B</p>
<p>15.Rap</p>
<p>16.Reggae</p>
<p>17.Rock</p>
<p>18.Techno</p>
<p>19.Industrial</p>
<p></span></td>
<td valign="top"><span style="font-family: verdana,geneva;">20.Alternative</p>
<p>21.Ska</p>
<p>22.Death Metal</p>
<p>23.Pranks</p>
<p>24.Soundtrack</p>
<p>25.Euro-Techno</p>
<p>26.Ambient</p>
<p>27.Trip-Hop</p>
<p>28.Vocal</p>
<p>29.Jazz+Funk</p>
<p>30.Fusion</p>
<p>31.Trance</p>
<p>32.Classical</p>
<p>33.Instrumental</p>
<p>34.Acid</p>
<p>35.House</p>
<p>36.Game</p>
<p>37.Sound Clip</p>
<p>38.Gospel</p>
<p>39.Noise</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p></span></td>
<td valign="top"><span style="font-family: verdana,geneva;">40.AlternRock</p>
<p>41.Bass</p>
<p>42.Soul</p>
<p>43.Punk</p>
<p>44.Space</p>
<p>45.Meditative</p>
<p>46.Instrumental Pop</p>
<p>47.Instrumental Rock</p>
<p>48.Ethnic</p>
<p>49.Gothic</p>
<p>50.Darkwave</p>
<p>51.Techno-Industrial</p>
<p>52.Electronic</p>
<p>53.Pop-Folk</p>
<p>54.Eurodance</p>
<p>55.Dream</p>
<p>56.Southern Rock</p>
<p>57.Comedy</p>
<p>58.Cult</p>
<p>59.Gangsta</p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p><br class="spacer_" /></p>
<p></span></td>
<td valign="top"><span style="font-family: verdana,geneva;">60.Top 40</p>
<p>61.Christian Rap</p>
<p>62.Pop/Funk</p>
<p>63.Jungle</p>
<p>64.Native American</p>
<p>65.Cabaret</p>
<p>66.New Wave</p>
<p>67.Psychadelic</p>
<p>68.Rave</p>
<p>69.Showtunes</p>
<p>70.Trailer</p>
<p>71.Lo-Fi</p>
<p>72.Tribal</p>
<p>73.Acid Punk</p>
<p>74.Acid Jazz</p>
<p>75.Polka</p>
<p>76.Retro</p>
<p>77.Musical</p>
<p>78.Rock &amp; Roll</p>
<p>79.Hard Rock</span></td>
</tr>
</tbody>
</table>
<p>Kód který přečte data ze souboru a uloží je do struktury vypadá následovně:</p>
<pre name="code" class="cpp:nogutter:nocontrols">#include &lt;stdio.h&gt;

struct ID3 {
	char field[3];
	char track[30];
	char artist[30];
	char album[30];
	char year[4];
	char comment[30];
	unsigned char genre;
};

int main()
{
	ID3 id3;
	FILE *f = fopen("dido.mp3", "rb"); // otevření souboru pro binární čtení
	fseek(f, -128, SEEK_END); // přesunutí kuzoru na konec souboru a 128bytů zpět
	fread(&amp;id3, sizeof(ID3), 1, f); // načtení dat do struktury
	fclose(f);

	return 0;
}</pre>
<p>Při následné práci s daty struktury (např. při vypisování) nesmíme zapomínat na fakt, že struktura ID3v1 je pevně definovaná a znakové řetězce nemusí být (a zpravidla ani nejsou) zakončeny nulovým znakem &#8222;\0&#8243;.<!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pudge.cz/programovani/id3v1-tagy-formatu-mp3/feed/</wfw:commentRss>
		<slash:comments>59</slash:comments>
		</item>
		<item>
		<title>Čtení XML formátu v jazyce C#</title>
		<link>http://www.pudge.cz/programovani/cteni-xml-formatu-v-jazyce-c/</link>
		<comments>http://www.pudge.cz/programovani/cteni-xml-formatu-v-jazyce-c/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 13:35:29 +0000</pubDate>
		<dc:creator>Richard Daněk</dc:creator>
				<category><![CDATA[Programování]]></category>

		<guid isPermaLink="false">http://www.pudge.cz/?p=82</guid>
		<description><![CDATA[V tomto článku si ukážeme, jak snadné je v jazyce C# za pomocí .NETu číst XML formát. <a href="http://www.pudge.cz/programovani/cteni-xml-formatu-v-jazyce-c/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>V tomto příspěvku si ukážeme, jak snadné je v jazyce C# za pomocí .NETu číst XML formát.</p>
<p><span id="more-82"></span></p>
<p>Pro čtení XML formátu použím 2 možnosti. Buďto pomocí XmlTextReader třídy, která dostačuje pro čtení jednoduchých XML struktur, nebo pomocí čtení uzlů, které umožňuje mnohem více operací než samotný XmlTextReader. Pro vyzkoušení použiji ukázkový XML soubor k nalezení na wikipedii <a href="http://cs.wikipedia.org/wiki/Xml">zde</a>.</p>
<p>Xml soubor vypadá následovně:</p>
<pre><!-- Poznamka je nutné přidat více receptů. -->
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!-- Poznamka je nutné přidat více receptů. --&gt;
&lt;recept jméno="chleba" čas_přípravy="5 minut" čas_vaření="3 hodiny"&gt;
  &lt;titulek&gt;Jednoduchý chleba&lt;/titulek&gt;
&lt;přísada množství="3" jednotka="šálky"&gt;Mouka&lt;/přísada&gt;
&lt;přísada množství="0,25" jednotka="unce"&gt;Kvasnice&lt;/přísada&gt;
&lt;přísada množství="1,5" jednotka="šálku"&gt;Horká voda&lt;/přísada&gt;
&lt;přísada množství="1" jednotka="kávová lžička"&gt;Sůl&lt;/přísada&gt;
  &lt;instrukce&gt;
    &lt;krok&gt;Smíchejte všechny přísady dohromady a dobře prohněťte.&lt;/krok&gt;
    &lt;krok&gt;Zakryjte tkaninou a nechejte hodinu v teplé místnosti.&lt;/krok&gt;
    &lt;krok&gt;Znovu prohněťte, umístěte na plech a pečte v troubě.&lt;/krok&gt;
  &lt;/instrukce&gt;
&lt;/recept&gt;</pre>
<p>Pro používání XML knihoven musí být v projektu přidána reference: <strong>System.Xml</strong></p>
<p>Samotný kód je velmi jednoduchý a funguje tak, že nejprve vytvoříme a inicializujeme XmlDocument. Poté načteme pomocí metody Load() zdrojový XML soubor. Zavináč před řetězcem znamená, že obsah řetězce bude automaticky escapován (nemusíme tedy dvojit zpětná lomítka).</p>
<p>Dále pak inicializujeme element (tedy dáme impuls k parsování dokumentu na jednotlivé elementy). Nyní již zbývá jen definovat počáteční uzel (formou Xpath) a tyto uzly již může dále procházet, číst a zanořovat se do případných potomků.</p>
<p>Celý kód vypadá následovně:</p>
<p><br class="spacer_" /></p>
<pre name="code" class="csharp:nogutter">using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;

namespace xmltest
{
	class Program
	{
		static void Main(string[] args)
		{
			XmlDocument xml = new XmlDocument();
			xml.Load(@"C:test.xml");

			XmlElement root = xml.DocumentElement;
			XmlNodeList recepts = root.SelectNodes("/recept");

			foreach (XmlNode recept in recepts)
			{
				foreach (XmlNode tags in recept)
				{
					switch (tags.Name)
					{
						case "titulek":
							Console.WriteLine("Titulek: " + tags.InnerText);
							break;
						case "přísada":
							Console.WriteLine("tPřísada: "+ tags.InnerText);

							if (tags.Attributes.Count &gt; 0) // obsahuje přísada atributy?
							{
								foreach (XmlAttribute attr in tags.Attributes)
								{
									Console.WriteLine("tt" + attr.Name + ": " + attr.Value);
								}
							}
							break;
						case "instrukce":
							Console.WriteLine("Instrukce přípravy: ");
							if (tags.HasChildNodes) // obsahuje uzel instrukce děti?
							{
								int i = 1;
								foreach (XmlNode krok in tags)
								{
									Console.WriteLine("t" + (i++) + ". " + krok.InnerText);
								}
							}
							break;
					}
				}
			}
		}
	}
}</pre>
<p>Výstup pak vypadá následovně:</p>
<p><div id="attachment_161" class="wp-caption alignnone" style="width: 310px"><a href="http://www.pudge.cz/wp-content/uploads/xmlres.jpg" rel="lightbox[82]" title="xmlres"><img class="size-medium wp-image-161" title="xmlres" src="http://www.pudge.cz/wp-content/uploads/xmlres-300x149.jpg" alt="Výstup XML readeru" width="300" height="149" /></a><p class="wp-caption-text">Výstup XML readeru</p></div><!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pudge.cz/programovani/cteni-xml-formatu-v-jazyce-c/feed/</wfw:commentRss>
		<slash:comments>80</slash:comments>
		</item>
		<item>
		<title>Kompilace PHP na windows</title>
		<link>http://www.pudge.cz/programovani/kompilace-php-na-windows/</link>
		<comments>http://www.pudge.cz/programovani/kompilace-php-na-windows/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 13:25:58 +0000</pubDate>
		<dc:creator>Richard Daněk</dc:creator>
				<category><![CDATA[Programování]]></category>

		<guid isPermaLink="false">http://www.pudge.cz/?p=70</guid>
		<description><![CDATA[Kompilace na linuxu by něměla být žádný problém, horší to ale je na windows. Dokumentace je k tomu nulová a potřebné soubory ke kompilaci na stažení sice jsou, ale odkazy již nějaký rok nefungují. Aktuální kompilovaná verze PHP bude 5.2.8 a potřebovat budete Visual Studio 2005/2008 stačí Express Edition. Postupovat budeme krok za krokem, ať &#8230; <a href="http://www.pudge.cz/programovani/kompilace-php-na-windows/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Kompilace na linuxu by něměla být žádný problém, horší to ale je na windows. Dokumentace je k tomu nulová a potřebné soubory ke kompilaci na stažení sice jsou, ale odkazy již nějaký rok nefungují. Aktuální kompilovaná verze PHP bude 5.2.8 a potřebovat budete Visual Studio 2005/2008 stačí Express Edition. Postupovat budeme krok za krokem, ať se na nic nezapomene.<br />
<span id="more-70"></span></p>
<p><em><strong><br />
</strong></em></p>
<p><em><strong>1) stažení PHP zdroje z webu php.net</strong></em></p>
<p><em><strong> </strong></em><a href="http://www.php.net/downloads.php">http://www.php.net/downloads.php</a> &#8211; stáhněte některý z balíků zdrojových kódů (Complete Source Code), jsou stejné.</p>
<p><br class="spacer_" /></p>
<p><em><strong>2) rozbalení zdrojů</strong></em></p>
<p>Vytvoříme na disku C adresář: &#8222;php_compiled&#8220; a PHP zdroje si rozbalím sem. Zdroje tedy budou uložené v umístění: C:\php_compiled\php-5.2.8</p>
<p><br class="spacer_" /></p>
<p><em><strong>3) stažení potřebného balíku knihoven pro kompilaci na win32 platformě</strong></em></p>
<p>Ke kompilaci potřebujete balík, který z php.net nestáhnete, protože odkaz již nějaký ten rok nefunguje a ani neustálé reportování této absence nikomu nevadí. Můžete si ho tedy stáhnout odtud: <a href="/wp-content/uploads/win32build.zip">win32build</a>. Dále bude potřeba balík utilit: <a href="/wp-content/uploads/binary-tools.zip">binary-tools</a>. Rozbalte obsah souboru win32build.zip do adresáře C:php_compiled. Vznikne tak struktura: C:\php_compiled\win32build. Obsahem binary-tools.zip jsou 2 adresáře. Nás zajímá jen adresář &#8222;bin&#8220;. Jeho obsah přihrajeme do stávajícího &#8222;bin&#8220; adresáře v C:\php_compiled\win32build.</p>
<p><br class="spacer_" /></p>
<p><em><strong>4) Nastavení prostření před kompilací</strong></em></p>
<p>Nyní je na řadě nastavení proměnných prostředí před kompilací, aby bylo linkeru jasné, kde má hledat potřebné knihovny.</p>
<p>Spusťte příkazový řádek windows (např. klávesou win+R a napište: cmd). Do něj zapište příkaz: &#8222;set PATH=C:\php_compiled\php-5.2.8;%PATH%&#8220;. To nastaví proměnné prostředí na cestu k nám do adresáře s PHP zdroji. Konzoli můžete vypnout.</p>
<p><br class="spacer_" /></p>
<p><em><strong>5) spuštění finální fáze</strong></em></p>
<p>Jděte do nabídky start a pak:<em> Programy-&gt;Microsoft Visual C++ 2008 Express Edition-&gt;Visual Studio Tools </em>a spusťte: <em>Visual Studio 2008 Command Prompt.</em></p>
<p>Nyní se nacházíme opět v příkazovém řádku, jak jste si všimli <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Musíme přejít do adresáře s PHP zdroji<em>. </em>Jdeme tedy do: &#8222;C:\php_compiled\php-5.2.8&#8243;<em>.</em></p>
<p><em> </em>Spustíme v tomto umístění: &#8222;buildconf.bat&#8220; a jsme připravení na poslední fázi.</p>
<p>Nyní již je vše připraveno na kompilaci, pojďme na to&#8230;</p>
<p>Musíme určit knihovny které se mají kompilovat spolu s PHP, resp. musíme určit které se kompilovat nemají, protože vyžadují další specifika a ty tu rozebírat zatím nebudeme.</p>
<p>Spusťte příkaz: <code>cscript /nologo configure.js --without-xml --without-wddx --without-simplexml --without-dom --without-libxml --disable-zlib --without-sqlite --disable-odbc --disable-cgi --enable-cli --enable-debug --without-iconv --disable-ipv6</code></p>
<p>Pokud vše proběhne dobře, obdržíte výzvu k napsání příkazu: &#8222;nmake&#8220;.</p>
<p>Udělejte to <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Výsledek naší kompilace je v adresáři: C:\php_compiled\php-5.2.8Debug_TS</p>
<p>Pokud nechcete kompilovat jako debug ale release, stačí cscript spustit bez parametru: <code>--enable-debug</code></p>
<p>Případné problémy můžete hlásit v komentářích.</p>
<p><!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pudge.cz/programovani/kompilace-php-na-windows/feed/</wfw:commentRss>
		<slash:comments>39</slash:comments>
		</item>
		<item>
		<title>C++ STL kontejnery &#8211; kontejner bitset</title>
		<link>http://www.pudge.cz/programovani/stl-kontejnery-kontejner-bitset/</link>
		<comments>http://www.pudge.cz/programovani/stl-kontejnery-kontejner-bitset/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 13:10:53 +0000</pubDate>
		<dc:creator>Richard Daněk</dc:creator>
				<category><![CDATA[Programování]]></category>

		<guid isPermaLink="false">http://www.pudge.cz/?p=59</guid>
		<description><![CDATA[Popis STL kontejneru bitset v jazyce C++. Jak s ním pracovat, jaké jsou jeho metody a jak funguje + malý příklad se dočtete v tomto článku. <a href="http://www.pudge.cz/programovani/stl-kontejnery-kontejner-bitset/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Popis STL kontejneru bitset v jazyce C++. Jak s ním pracovat, jaké jsou jeho metody a jak funguje + malý příklad se dočtete v tomto článku.</p>
<p><span id="more-59"></span>Vypadá to možná trošku podivně, že první díl začíná tímto né moc používaným kontejnerem bitset, ale je to jeden mých oblíbených a je také velmi jednoduchý. Obecně víme, že práce s jednotlivými bity nějaké hodnoty, není nikterak programátorsky příjemná, nebo pro ty, kdo jsou sběhlí, stále poměrně nepřehledná.</p>
<p><strong>Konstruktory:</strong></p>
<pre class="cpp"><tt><tt><span style="color: #008000;">bitset ( );
</span></tt></tt>implicitní kontruktor

<tt><tt><span style="color: #008000;">bitset ( unsigned long val );
</span></tt></tt>kontruktor s inicializační hodnotou <strong>val</strong></pre>
<p><strong>Metody:</strong></p>
<pre class="cpp"><tt><tt><span style="color: #008000;"><em><strong>bitset&lt;N&gt;&amp; set ( ); </strong></em>
</span></tt></tt>nastaví všechny bity na 1<tt><tt><span style="color: #008000;">

<em><strong>bitset&lt;N&gt;&amp; set ( size_t pos, bool val = true ); </strong></em>
</span></tt></tt>nastaví bit na pozici <strong>pos </strong>na hodnotu <strong>val</strong><tt><tt><span style="color: #008000;">

</span></tt></tt><tt><tt><span style="color: #008000;"><strong><em>bitset&lt;N&gt;&amp; reset ( ); </em></strong>
</span></tt></tt>nastaví všechny bity na 0<tt><tt><span style="color: #008000;">

<strong><em>bitset&lt;N&gt;&amp; reset ( size_t pos ); </em></strong>
</span></tt></tt>nastaví bit na pozici <strong>pos</strong> na 0<tt><tt><span style="color: #008000;">

</span></tt></tt><tt><tt><span style="color: #008000;"><em><strong>bitset&lt;N&gt;&amp; flip ( );</strong></em>
</span></tt></tt>změní všechny 0 na 1 a 1 na 0 (negace všech bitů)<tt><tt><span style="color: #008000;">

<em><strong>bitset&lt;N&gt;&amp; flip ( size_t pos ); </strong></em>
</span></tt></tt>změní bit z 0 na 1 a z 1 na 0 na pozici <strong>pos</strong><tt><tt><span style="color: #008000;">

</span></tt></tt><em><strong><tt><span><tt><span style="color: #008000;">unsigned long to_ulong ( ) const;</span></tt></span></tt></strong></em>
vrací obsah kontejneru jako unsigned long int hodnotu

<em><strong><tt><span><tt><span style="color: #008000;">size_t count ( );</span></tt></span></tt></strong></em>
vrací počet bitů nastavených na 1

<em><strong><tt><span><tt><span style="color: #008000;">size_t size() const;</span></tt></span></tt></strong></em>
vrací velikost kontejnetu (celkový počet bitů v kontejneru)
<span style="text-decoration: underline;"><em><strong>
</strong></em></span><em><strong><tt><span><tt><span style="color: #008000;">bool test ( size_t pos ) const;</span></tt></span></tt></strong></em>
testuje bit na pozici <strong>pos</strong> a vrací jeho hodnotu

<em><strong><tt><span><tt><span style="color: #008000;">bool any ( ) const;</span></tt></span></tt></strong></em>
testuje zda je alespoň jeden bit nastaven na 1, vrátí true pokud ano, false pokud ne

<em><strong><tt><span><tt><span style="color: #008000;">bool none ( ) const;</span></tt></span></tt></strong></em>
testuje zda není žádný bit nastaven na 1 (opak any()), vrátí true pokud není, false pokud je</pre>
<p><strong>Operátory:</strong></p>
<pre class="cpp"><em><strong><tt><tt><span style="color: #008000;">bool operator[] ( size_t pos ) const;
reference operator[] ( size_t pos );</span></tt></tt></strong></em>
vrátí nebo nastaví hodnotu bitu na pozici<tt><tt><span style="color: #008000;"> </span></tt></tt><strong>pos

</strong></pre>
<p><strong><em>Vytvoření kontejneru:</em></strong></p>
<pre class="cpp">bitset&lt;16&gt; muj_kontejner;</pre>
<p>Toto vytvoří kontejner o velikosti 16 bitů.</p>
<p>Nyní si ho vyzkoušejme:</p>
<pre name="code" class="cpp">using namespace std;
bitset&lt;16&gt; muj_kontejner;
int cislo = 156;

muj_kontejner = cislo;
cout &lt;&lt; muj_kontejner &lt;&lt; " cislo: " &lt;&lt; cislo &lt;&lt; endl;</pre>
<p>vypíše:</p>
<pre class="cpp">0000000010011100 cislo: 156</pre>
<p><br class="spacer_" /></p>
<p>Je třeba zmínit dva důležité faktory jak bitset pracuje:</p>
<p>1) počet bitů, které bitset kontejner používá musí být znám v době překladu</p>
<p>2) počet bitů je vždy takový, jaký nadeklarujeme a implicitně jsou všechny bity nastaveny na 0</p>
<p>Při práci s kontejnerem stále platí pravidlo, že se bity čtou zprava doleva. Lze také používat standardní operátory bitové (&lt;&lt;,&gt;&gt;,&amp;,|,^,~,&lt;&lt;=,&gt;&gt;=,&amp;=,|=,^=) a standardní logické operátory (==,!=) a samozřejmostí je i přítomnost metody to_string() pro konverzi obsahu kontejneru do řetězce (která se volá např. práve při vypisování pomocí <strong>cout</strong> jak to dělám ve svém příkladu)<br class="spacer_" /><!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pudge.cz/programovani/stl-kontejnery-kontejner-bitset/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Škoda Octavia 2.0 TDI PD Elegance DSG</title>
		<link>http://www.pudge.cz/auta-a-vse-kolem-nich/skoda-octavia-2-0-tdi-pd-elegance-dsg/</link>
		<comments>http://www.pudge.cz/auta-a-vse-kolem-nich/skoda-octavia-2-0-tdi-pd-elegance-dsg/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 17:41:11 +0000</pubDate>
		<dc:creator>Richard Daněk</dc:creator>
				<category><![CDATA[Auta a vše kolem nich]]></category>

		<guid isPermaLink="false">http://www.pudge.cz/?p=17</guid>
		<description><![CDATA[Amatérská recenze tohoto automobilu z vlastní zkušenosti. Odborných recenzí je myslím poměrně dost a tak to vezmu jen velice stručně bez omáčky kolem Výbava/příslušenství Jelikož mám vůz ve výbavě elegance, což zkušeným už něco jistě napoví, vyjmenuji jen prvky, co považuji za důležité a přínosné. Dešťový senzor &#8211; lze nastavit citlivost, 2 režimy manuálního pevného &#8230; <a href="http://www.pudge.cz/auta-a-vse-kolem-nich/skoda-octavia-2-0-tdi-pd-elegance-dsg/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Amatérská recenze tohoto automobilu z vlastní zkušenosti.</p>
<p><span id="more-17"></span></p>
<p>Odborných recenzí je myslím poměrně dost a tak to vezmu jen velice stručně bez omáčky kolem <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.pudge.cz/wp-content/uploads/ja_auto.jpg" rel="lightbox[17]" title="Moje Octavia 2.0TDI Elegance DSG"><img class="alignnone size-full wp-image-11" title="Moje Octavia 2.0TDI Elegance DSG" src="http://www.pudge.cz/wp-content/uploads/ja_auto.jpg" alt="Moje Octavia 2.0TDI Elegance DSG" width="300" height="225" /></a></p>
<h3>Výbava/příslušenství</h3>
<p>Jelikož mám vůz ve výbavě elegance, což zkušeným už něco jistě napoví, vyjmenuji jen prvky, co považuji za důležité a přínosné.</p>
<ul>
<li><strong>Dešťový senzor</strong> &#8211; lze nastavit citlivost, 2 režimy manuálního pevného cyklu + rychlo setření na podržení</li>
<li><strong>Vyhřívaná sedadla</strong> &#8211; pro usednutí do automobilu v zimě nepostradatelné, pracuje velice rychle a prohřeje vás bez nutnosti zapínat topení přes klimatizaci</li>
<li><strong>Automatická 2 zónová klimatizace</strong> &#8211; režimy auto, econ, manuální nastavení</li>
<li><strong>Odmlžování skel</strong> &#8211; nepostradatelná funkce pro pohodlné <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Nemusíte hledat čím kde otočit a jak jsou natočeny fukary ke sklu. Prostě zmáčknete tlačítko a za 5 sekund máte skla na dlouho odmlžené.</li>
<li><strong>Elektrická zrcátka / vyhřívání zrcátek</strong> &#8211; dnes celkem běžné, přesto velmi pohodlné a užitečné. Ocenil bych ale nějaké uložení jako výchozí nastavení které bych pak jednoduše nastavil zpět, abych při dočasné změně polohy nemusel nastavovat zpět vše ručně.</li>
<li><strong>Automatické stmívání zpětného zrcátka</strong> &#8211; pokud rádi jezdíte po státní nebo dálnici v noci 30km/h a vadí vám nerváci za vámi, kteří blikají dálkovými světly, je tato funkce pro vás spasením <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Jinak samozřejmě dopřává řidiči klidnou jízdu aniž by vás někdo v zádech mohl oslnit.</li>
<li><strong>Xenonové světlomety</strong> &#8211; co dodat, snad žárovka nepraskne <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li><strong>Sportovní podvozek</strong> &#8211; velice tvrdý, velmi pěkně sedí. Na dálnici zatracovaný, v zatáčkách však nepostradatelný.</li>
<li><strong>DSG</strong> &#8211; automatická převodovka, které věnuji níže větší prostor.</li>
</ul>
<h3>Interiér</h3>
<p>Interiér působí myslím celkem dobře, což je velkou měrou zásluha povedeného panelu climatronicu. V kombinaci s 2DIN rádiem/navigací jako např. Columbus či Nexus vypadá palubovka skvěle. Plasty nevrzají, jsou slyšet jen když se zapne topení kde se projeví jejich roztahování teplem jako nějaké lupání než se vše po minutě ustálí (běžný jev). Osobně tedy provedení palubovky a celkového vzhledu interiéru považuji za velmi povedené.</p>
<h3>Motor/Výkon</h3>
<p>Motor 2.0 TDI se může pochlubit výkonem 103kW. Zrychlení z 0-100 je psáno za 9.5 sekund a tento čas mohu potvrdit (zkoušeno) <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Kroutící moment je velkou předností a také důvod proč jsem chtěl právě tento motor. Jedná se o 320Nm siláka který výborně táhne jak do kopce, tak při plně zatíženém automobilu. Občas si připadám že auto letí samo aniž bych stál vůbec na plynu a tak na rozdíl od slabších benzínových motorů které jsem měl možnost řídit, zde opravdu výkon ždímat nemusíte aby jste někoho předjeli. Oproti zkoušené 1.9 TDI (77kW) má 2.0 TDI (103kW) výrazně lepší tah při rychlosti nad 100km/h a pocit táhnutí mám i kolem 150km/h což na naše cesty postačuje. Psaná max. rychlost je 209km/h, tachometrově lze bez problémů dosáhnout údajně 215 až 230km/h.</p>
<h3>DSG (automatická převodovka)</h3>
<p>Pro ty kdo nad aut. převodovkou ohrnují nos mám vzkaz: <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Buďto ji totiž ani neviděli, nic o ni neví, nebo nepoznali DSG. Ale tyto lidi neřešme, jelikož jim ani jasná fakta nic neřeknou.</p>
<p>DSG je dvou-spojková automatická 6ti stupňová převodovka se 6ti režimy:</p>
<ol>
<li>P (parking) &#8211; tento režim je určený pro parkování, zablokuje všechny 4 kola, jen v tomto režimu lze vytáhnout klíč nebo zamknout řadící páku.</li>
<li>R (reverse) &#8211; režim zpátečky</li>
<li>N (neutral) &#8211; co dodat <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>D (drive) &#8211; běžně používaný režim pro běžnou jízdu, řazení se provádí s ohledem na spotřebu</li>
<li>S (sport) &#8211; sportovní režim, který řadí později na vyšších otáčkách. Ideální pro rallye jízdu v zatáčkách nebo honičku s policií <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>Manuální režim (tiptronic) &#8211; klasický tiptronic manuál, klikáte pákou nahoru/dolů a tím řadíte. Vše pořád probíhá přes 2 spojky a tak se jedná o velmi hladké přeřazování i o více stupňů naráz.</li>
</ol>
<p>Převodovka sama umí rozpoznat jízdu do kopce, z kopce a v zatáčkách a přizpůsobuje tomu velmi dobře své chování. Další samozřejmou funkcí je kick-down. Jedná se o režim určený k rychlé akceleraci. Aktivuje se sešlápnutím plynového pedálu na podlahu. Převodovka sama spočítá nejvhodnější stupeň pro nejvyšší výkon a přeřadí na něj. Pokud nejdete nad 130km/h tak vás to celkem hezky zatlačí do sedadla <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  DSG také disponuje funkcí pro rychlý start tzv. Launch Control. Tuto funkci mám bohužel z neznámého důvodu vypnutou. Funkce se používá tak, že vypnete ESP, nastavíte režim S nebo manuál, sešlápnete brzdový pedál a druhou nohou sešlápnete plynový pedál. Auto podrží ve spojce 3000 ot./min a jakmile pustíte brzdu auto se rozjede s těmito otáčkami.</p>
<p>Nevím co bych DSG vytknul, snad jen to, že režim D je až příliš úsporný a občas motor až téměř dusí. Naopak režim S je hodně divoký a auto je s ním občas jako neřízená raketa až je mi líto naftového motoru když vidím kde se drží otáčkoměr <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  Není to ale problém DSG. Řešením by mohl být právě 7. stupeň který se dává do nových silnějších octavií a superb.  (Abych upřesnil, tak když řeknu 7. stupeň tak tím nemyslím jedno větší kolečko navíc, ale především zase o něco jemnější odstupňování jednotlivých převodových stupňů).<!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pudge.cz/auta-a-vse-kolem-nich/skoda-octavia-2-0-tdi-pd-elegance-dsg/feed/</wfw:commentRss>
		<slash:comments>51</slash:comments>
		</item>
		<item>
		<title>Street Fighter IV: Jak získat skryté postavy</title>
		<link>http://www.pudge.cz/street-fighter-iv/jak-ziskat-skryte-postavy/</link>
		<comments>http://www.pudge.cz/street-fighter-iv/jak-ziskat-skryte-postavy/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 21:48:04 +0000</pubDate>
		<dc:creator>Richard Daněk</dc:creator>
				<category><![CDATA[Street Fighter IV]]></category>

		<guid isPermaLink="false">http://www.pudge.cz/?p=19</guid>
		<description><![CDATA[Návod jak získat skryté postavy v jedné z nejlepších bojovek současnosti. Konkrétně se jedná o postavy: Cammy White, Dan Hibiki, Fei Long, Gen, Rose, Sakura Kasugano, Akuma, Gouken a Seth. Sakura Kasugano Dokončete Arcate mód s Ryuem. Rose Dokončete Arcate mód s M. Bisonem. Fei Long Dokončete Arcate mód s Abelem. Cammy White Dokončete Arcate &#8230; <a href="http://www.pudge.cz/street-fighter-iv/jak-ziskat-skryte-postavy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.pudge.cz/wp-content/uploads/street-fighter-4-poster-2small.jpg" rel="lightbox[19]" title="street-fighter-4-poster-2small"><img class="size-full wp-image-31 alignleft" title="street-fighter-4-poster-2small" src="http://www.pudge.cz/wp-content/uploads/street-fighter-4-poster-2small.jpg" alt="street-fighter-4-poster-2small" width="150" height="94" /></a>Návod jak získat skryté postavy v jedné z nejlepších bojovek současnosti. Konkrétně se jedná o postavy: Cammy White, Dan Hibiki, Fei Long, Gen, Rose, Sakura Kasugano, Akuma, Gouken a Seth.</p>
<h3></h3>
<p><span id="more-19"></span></p>
<h3>
<p><div id="attachment_28" class="wp-caption alignnone" style="width: 570px"><a href="http://www.pudge.cz/wp-content/uploads/street-fighter-4-poster-21.jpg" rel="lightbox[19]" title="street-fighter-4"><img class="size-full wp-image-28" title="street-fighter-4" src="http://www.pudge.cz/wp-content/uploads/street-fighter-4-poster-21.jpg" alt="Street Fighter 4" width="560" height="350" /></a><p class="wp-caption-text">Street Fighter 4</p></div></h3>
<h3>Sakura Kasugano</h3>
<p>Dokončete Arcate mód s Ryuem.</p>
<h3>Rose</h3>
<p>Dokončete Arcate mód s M. Bisonem.</p>
<h3>Fei Long</h3>
<p>Dokončete Arcate mód s Abelem.</p>
<h3>Cammy White</h3>
<p>Dokončete Arcate mód s Crimson Viper.</p>
<h3>Gen</h3>
<p>Dokončete Arcate mód s Chun-Li.</p>
<h3>Dan Hibiki</h3>
<p>Dokončete Arcate mód se Sakura Kasugano.</p>
<h3>Akuma</h3>
<p>Nejprve musíte získat předchozí postavy: Cammy White, Dan Hibiki, Fei Long, Gen, Rose, Sakura Kasugano.<br />
Vezměte si někoho s kým jste již někdy dokončili Arcade Mód a dohrejte ho znovu s následujícími požadavky:</p>
<p>- Nesmíte prohrát ani jeden zápas a ani jedno kolo.<br />
- Musíte vyhrát určitý počet kol na Perfect v závislosti na nastaveném počtu kol:</p>
<ul>
<li>1 kolový match &#8211; 1 perfect</li>
<li>3 kolový match &#8211; 2 perfecty</li>
<li>5 kolový match &#8211; 3 perfecty</li>
<li>7 kolový match &#8211; 4 perfecty</li>
</ul>
<p>Nemusí být po sobě, může jich být i více a stačí je nasbírat v průběhu hry. Pokud se vám to podaří Akuma se připojí jakmile zabijete Setha. Když jej zabijete je váš.<br />
Doporučuji hrát 1 kolové nastavení na Easiest obtížnost <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<h3>Gouken</h3>
<p>- Dokončete Arcade mód s Akumou. <strong>Nestopujte </strong>závěrečné intro, je nutné ho shlédnout alespoň část, ideálně celé (je to nutné pro získání Goukena).<br />
- Nesmíte prohrát ani jeden zápas a ani jedno kolo.<br />
- Musíte vyhrát určitý počet kol na Perfect v závislosti na nastaveném počtu kol:</p>
<ul>
<li>1 kolový match &#8211; 1 perfect</li>
<li>3 kolový match &#8211; 2 perfecty</li>
<li>5 kolový match &#8211; 3 perfecty</li>
<li>7 kolový match &#8211; 4 perfecty</li>
</ul>
<p>Nemusí být po sobě, může jich být i více a stačí je nasbírat v průběhu hry.</p>
<p>- Musíte vyhrát určitý počet kol na Ultra nebo Super kombo v závislosti na nastaveném počtu kol:</p>
<ul>
<li>1 kolový match &#8211; 3x výhra na Ultra/Super kombo</li>
<li>3 kolový match &#8211; 5x výhra na Ultra/Super kombo</li>
<li>5 kolový match &#8211; 7x výhra na Ultra/Super kombo</li>
<li>7 kolový match &#8211; 9x výhra na Ultra/Super kombo</li>
</ul>
<p>Nemusí být po sobě, může jich být i více a stačí je nasbírat v průběhu hry.</p>
<p>- Musíte určitý počet kol udeřit soupeře jako první (aby se objevil nápis &#8222;First Attack&#8220;) v závislosti na nastaveném počtu kol:</p>
<ul>
<li>1 kolový match &#8211; 5x</li>
<li>3 kolový match &#8211; 10x</li>
<li>5 kolový match &#8211; 15x</li>
<li>7 kolový match &#8211; 20x</li>
</ul>
<p>Nemusí být po sobě, může jich být i více a stačí je nasbírat v průběhu hry. Pokud se vám to podaří Gouken se připojí jakmile zabijete Setha. Když jej zabijete je váš.<br />
Doporučuji hrát 1 kolové nastavení na Easiest obtížnost <img src='http://www.pudge.cz/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<h3>Seth</h3>
<p>Dokončete Arcade mód se všemi 24mi postavami (lze jej tedy získat až po získání předchozích skrytých postav).<!-- PHP 5.x --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pudge.cz/street-fighter-iv/jak-ziskat-skryte-postavy/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
	</channel>
</rss>

