<?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>Tomas SrnaTomas Srna - Blog of Tomas Srna • Blog Tomáša Srnu</title>
	<atom:link href="http://srna.sk/feed/" rel="self" type="application/rss+xml" />
	<link>http://srna.sk</link>
	<description>Blog of Tomas Srna • Blog Tomáša Srnu</description>
	<lastBuildDate>Fri, 30 Dec 2011 18:30:17 +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>Keď rozhodne človek, ktorý tomu nerozumie</title>
		<link>http://srna.sk/2011/12/ked-rozhodne-clovek-ktory-tomu-nerozumie/</link>
		<comments>http://srna.sk/2011/12/ked-rozhodne-clovek-ktory-tomu-nerozumie/#comments</comments>
		<pubDate>Fri, 30 Dec 2011 14:37:33 +0000</pubDate>
		<dc:creator>Tomas Srna</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://srna.sk/?p=289</guid>
		<description><![CDATA[Update: Slovenská sporiteľňa od tohto opatrenia upustila krátko po poslaní tohto článku na info@slsp.sk, aj keď súvislosť je nepravdepodobná. Ďakujem. Doplnené 19:30: Doplnenie vyjadrenia SLSP. Prestalo mi včera fungovať nakupovanie hudby a aplikácií cez iTunes Store. Problém ale nebol na strane Applu, ani na mojej. Spôsobila ho Slovenská sporiteľňa, ktorá platenie znemožnila populistickým rozhodnutím problematiky [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="color: #ff0000;">Update:</span></strong> Slovenská sporiteľňa od tohto opatrenia upustila krátko po poslaní tohto článku na info@slsp.sk, aj keď súvislosť je nepravdepodobná. Ďakujem.</p>
<p><strong><span style="color: #ff0000;">Doplnené 19:30:</span></strong> Doplnenie vyjadrenia SLSP.</p>
<p>Prestalo mi včera fungovať nakupovanie hudby a aplikácií cez iTunes Store. Problém ale nebol na strane Applu, ani na mojej. Spôsobila ho Slovenská sporiteľňa, ktorá platenie znemožnila populistickým rozhodnutím problematiky neznalého človeka.</p>
<p>Ako sa môžete dočítať aj na stránke http://goo.gl/BMNFZ, SLSP vydala &#8220;bezpečnostné&#8221; opatrenie, ktoré vyžaduje autorizáciu každej transakcie CVV kódom. Rozhodol o tom zjavne <strong>amatér</strong>, ktorý o platobných bránach nevie <strong>vôbec nič</strong>.</p>
<p>Stalo sa totiž, že platobné karty vydané SLSP v súčasnosti nie sú kompatibilné so svetovými štandardami platobných brán, ktoré dodržujú spoločnosti, ako Amazon, Apple, či PayPal. V praxi to znamená, že v nimi prevádzkovaných obchodoch nezaplatíte, pokiaľ máte kartu od SLSP. Kvôli tak malému trhu, ktorý predstavujú klienti SLSP, tieto spoločnosti svoj protokol neupravia &#8211; neoplatí sa im to &#8211; pokiaľ sa vôbec táto informácia k nim dostane.</p>
<h2>Čo je vlastne problémom?</h2>
<p>Pri platbe kartou na internete sa väčšinou zadávajú 3 informácie: číslo karty, dátum platnosti a CVV kód. Nové opatrenie pritom ukladá povinnosť kód CVV zadávať pri každej transakcii. Je to ale v hrubom rozpore so štandardmi. Spomínané svetové spoločnosti majú v systéme zabudovanú komunikáciu s kartou bez explicitného zadávania jej kódov užívateľom (napr. 1-click buy od Amazonu). <strong>Dôležité je si uvedomiť, ze systém sa nemôže správať podľa nového opatrenia &#8211; tj. vyžadovať kód, pretože tak nie je naprogramovaný a kvôli SLSP sa preprogramovávať nebude.</strong></p>
<h2>Dôsledky</h2>
<p>Musíme si uvedomiť, že sa jedná o vážny problém, ktorý reálne zasiahne do života niektorých ľudí. V mojom prípade je ich niekoľko:</p>
<ul>
<li>Neschopnosť zaplatiť za Office365 &#8211; možno mi prestane fungovať e-mail</li>
<li>Apple iTunes &#8211; ostanem ich dlžníkom, čo môže viesť k zablokovaniu môjho Apple ID</li>
<li>Amazon Kindle &#8211; neschopnosť kupovať knihy z Kindlu</li>
</ul>
<p><del>Pokiaľ nenastane buďto zrušenie opatrenia, alebo sa nerozhodnem pre služby inej konkurenčnej banky. Pre druhú možnosť počas nasledujúceho mesiaca nemám možnosť, nakoľko som odcestovaný v Prahe.</del></p>
<h2>Doplnené: Oficiálna príčina</h2>
<p>SLSP mi odpovedala na e-mail, ktorý som jej poslal poobede. Príčinou zavedenia je upozornenie od spoločnosti MasterCard na ukradnuté čísla kreditných kariet, ktoré zistila podľa podozrivého správania v zahraničí. V e-maili uvádza, že sa jedná o dočasné opatrenie a že po minimalizácii potenciálneho rizika toto opatrenie zrušila.</p>
<h2>Záver</h2>
<p>Priznajme si, to čo sa stalo, je absolútny amatérizmus vedenia SLSP. Hovoríme si, &#8220;na Slovensku je to tak&#8221;. Pokiaľ budeme robiť takéto chyby a necháme rozhodovať problematiky neznalých ľudí, nemôžeme sa čudovať, že budeme neustále pozadu minimálne o desaťročie.</p>
<p><del>Ľudia (hlavne keď máte rozhodovať), ROZMÝŠĽAJTE, prosím! Nebolí to až tak, verte mi.</del></p>
<p>SLSP si svoju chybu uvedomila a opatrenie zrušila. Teraz už akciu prezentuje ako dočasnú. Ďakujem.</p>
]]></content:encoded>
			<wfw:commentRss>http://srna.sk/2011/12/ked-rozhodne-clovek-ktory-tomu-nerozumie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Website Remake</title>
		<link>http://srna.sk/2011/12/website-remake/</link>
		<comments>http://srna.sk/2011/12/website-remake/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 22:15:21 +0000</pubDate>
		<dc:creator>Tomas Srna</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[remake]]></category>

		<guid isPermaLink="false">http://beta.srna.sk/?p=259</guid>
		<description><![CDATA[After looking at my old website with a terrible photograph, I decided to do a remake of my website. The new idea was to &#8220;Keep it simple&#8221;. Not only the design has changed, but also the way I write. From now, I write in English if the scope of the topic is global (Programming, Lifestyle, [...]]]></description>
			<content:encoded><![CDATA[<p>After looking at my old website with a terrible photograph, I decided to do a remake of my website. The new idea was to &#8220;Keep it simple&#8221;. Not only the design has changed, but also the way I write. From now, I write in English if the scope of the topic is global (Programming, Lifestyle, etc.), and in Slovak, if the scope is local (School, Prague, etc.).</p>
<p>Po pohľade na moju starú stránku s otrasnou fotkou som sa rozhodol, že ju kompletne prerobím. Nový nápad bol &#8220;Keep it simple&#8221;. Nielen design som zmenil, ale aj spôsob písania. Odteraz píšem tému globálneho rozsahu (Programovanie, Životný štýl, &#8230;) anglicky a lokálneho (Škola, Praha, &#8230;) slovensky.</p>
]]></content:encoded>
			<wfw:commentRss>http://srna.sk/2011/12/website-remake/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clickjacking a Facebook: Dajte si pozor!</title>
		<link>http://srna.sk/2010/06/clickjacking-na-facebooku/</link>
		<comments>http://srna.sk/2010/06/clickjacking-na-facebooku/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 13:48:03 +0000</pubDate>
		<dc:creator>Tomas Srna</dc:creator>
				<category><![CDATA[Social Networks]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[social network]]></category>

		<guid isPermaLink="false">http://blog.srna.sk/?p=182</guid>
		<description><![CDATA[Facebook je kontroverzný svojimi bezpečnostnými dierami a stále a stále sa objavujú nové spôsoby, ktorými sa dajú zneužiť. Škodlivé stránky dokážu bežného používateľa donútiť k činnostiam, ktoré by sám nechcel, často bez jeho vedomia. Najnovším takým fenoménom je tzv. Clickjacking (wiki). Clickjacking Jedná sa o techniku, ktorá prekryje zobrazovanú stránku inou stránkou, čo má za [...]]]></description>
			<content:encoded><![CDATA[<p>Facebook je kontroverzný svojimi bezpečnostnými dierami a stále a stále sa objavujú nové spôsoby, ktorými sa dajú zneužiť. Škodlivé stránky dokážu bežného používateľa donútiť k činnostiam, ktoré by sám nechcel, často bez jeho vedomia. Najnovším takým fenoménom je tzv. Clickjacking (<a href="http://en.wikipedia.org/wiki/Clickjacking">wiki</a>).</p>
<h3>Clickjacking</h3>
<p>Jedná sa o techniku, ktorá prekryje zobrazovanú stránku inou stránkou, čo má za následok to, že klikáte na inú stránku, než akú pred sebou máte. Na facebooku sa stránky bežne prekrývajú veľkým Like tlačidlom. To má za následok šírenie odkazu po facebooku, čiže šírenie spamu. Šírenie spamu nás hnevá, hlavne ak ho šírime my sami bez nášho vedomia.</p>
<p><span id="more-182"></span></p>
<p>Čo je ale omnoho horšie, je fakt, že škodlivá stránka môže zobraziť napríklad úplne legitímny formulár vášho internetového bankovníctva a prekryje ho formulárom, ktorý odchytáva heslo. Následky snáď nemusím ani písať.</p>
<h3>Ako sa môžme brániť?</h3>
<p>Správnym spôsobom je analýza zdrojového kódu podozrivej stránky. Laický používateľ je ale v tomto ohľade bezmocný.</p>
<p>Niečo by sa ale našlo. Používajte ten správny prehliadač. Napríklad Google Chrome sa správa tak, že keď už kliknete na prekrytú stránku, stránka pod ňou už kliknutie nezachytí. To znamená, že ak vás stránka láka, že po kliknutí na obrázok sa zobrazí nejaké video alebo iný obsah, a po kliknutí sa tak nestane, je to takmer vždy takýto podvod.</p>
<p>Brániť proti Clickjackingu by sa ale mali hlavne webdesigneri stránok, ktoré by mohli byť takýmto štýlom podvrhnuté. Napríklad úspešnou technikou je zákaz reakcie na kliky, pokiaľ stránka detekuje, že je v <code>iframe</code>. Do podrobností implementácie by som nezachádzal v mojom krátkom článku.</p>
]]></content:encoded>
			<wfw:commentRss>http://srna.sk/2010/06/clickjacking-na-facebooku/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>C++: Elegantný výpis iterovateľného</title>
		<link>http://srna.sk/2010/04/c-elegantny-vypis-iterovatelneho/</link>
		<comments>http://srna.sk/2010/04/c-elegantny-vypis-iterovatelneho/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 07:41:55 +0000</pubDate>
		<dc:creator>Tomas Srna</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[delimiter]]></category>
		<category><![CDATA[iterator]]></category>
		<category><![CDATA[ostream_iterator]]></category>

		<guid isPermaLink="false">http://blog.srna.sk/?p=154</guid>
		<description><![CDATA[Po dlhšom čase opäť prichádzam s malým, ale užitočným kusom kódu, tentokrát v C++. Tí, čo programujú v C++ iste už použili dvojicu copy a ostream_iterator z STL, kombináciou ktorých jednoducho dokážeme vypísať všetko, čo sa dá prejsť iterátorom. Tento spôsob ale prináša jednu nevýhodu &#8211; oddeľovač sa vypíše aj po poslednom prvku, čo je [...]]]></description>
			<content:encoded><![CDATA[<p>Po dlhšom čase opäť prichádzam s malým, ale užitočným kusom kódu, tentokrát v C++.</p>
<p>Tí, čo programujú v C++ iste už použili dvojicu <a href="http://www.cplusplus.com/reference/algorithm/copy/">copy</a> a <a href="http://www.cplusplus.com/reference/std/iterator/ostream_iterator/">ostream_iterator</a> z STL, kombináciou ktorých jednoducho dokážeme vypísať všetko, čo sa dá prejsť iterátorom.</p>
<p>Tento spôsob ale prináša jednu nevýhodu &#8211; oddeľovač sa vypíše aj po poslednom prvku, čo je estetická chyba, ktorá nám môže vadiť. Čítajte ďalej.<br />
<span id="more-154"></span><br />
<strong>Napríklad:</strong></p>
<p><pre class="brush: cpp; title: ; notranslate">&lt;br /&gt;
int a[] = {1,2,3,4,5};&lt;br /&gt;
vector&amp;lt;int&amp;gt; b(a, a+5);&lt;br /&gt;
copy(b.begin(), b.end(), ostream_iterator&amp;lt;int&amp;gt;(cout, &amp;quot;,&amp;quot;));&lt;br /&gt;
cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
</pre></p>
<p>Vypíše:</p>
<pre>1,2,3,4,5,</pre>
<h2>Riešenie</h2>
<p>Pre tých, ktorým formát výstupu nie je ľahostajný, som pripravil jednoduchú funkciu.</p>
<p><pre class="brush: cpp; title: ; notranslate">&lt;br /&gt;
template&amp;lt;class T&amp;gt;&lt;br /&gt;
void print_range(T begin, T end, string delimiter = &amp;quot;,&amp;quot;, ostream&amp;amp; os = cout)&lt;br /&gt;
{&lt;br /&gt;
T it = begin;&lt;br /&gt;
while(it != end)&lt;br /&gt;
{&lt;br /&gt;
cout &amp;lt;&amp;lt; *it;&lt;br /&gt;
if(++it != end)&lt;br /&gt;
os &amp;lt;&amp;lt; delimiter;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
</pre></p>
<p>Funkcia nám jednoducho prejde iterátorom (parameter šablóny T) po nejakých dátach, vypíše ich a okrem posledného prvku za každým dá oddeľovač.</p>
<p><strong>Príklad použitia:</strong></p>
<p><pre class="brush: cpp; title: ; notranslate">&lt;br /&gt;
int a[] = {1,2,3,4,5};&lt;br /&gt;
vector&amp;lt;int&amp;gt; b(a, a+5);&lt;br /&gt;
print_range(b.begin(), b.end());&lt;br /&gt;
cout &amp;lt;&amp;lt; endl;&lt;br /&gt;
</pre></p>
<p>Vypíše:</p>
<pre>1,2,3,4,5</pre>
<p>Všimnime si, že kompilátor nám implicitne doplní parameter šablóny, a týmpádom sa nemusíme starať v podstate o nič <img src='http://srna.sk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://srna.sk/2010/04/c-elegantny-vypis-iterovatelneho/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Facebook a XMPP: Hrozba pre ICQ?</title>
		<link>http://srna.sk/2010/02/facebook-a-xmpp-hrozba-pre-icq/</link>
		<comments>http://srna.sk/2010/02/facebook-a-xmpp-hrozba-pre-icq/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 10:01:13 +0000</pubDate>
		<dc:creator>Tomas Srna</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[icq]]></category>
		<category><![CDATA[im]]></category>
		<category><![CDATA[xmpp]]></category>

		<guid isPermaLink="false">http://blog.srna.sk/?p=112</guid>
		<description><![CDATA[XMPP (alebo Jabber) je protokol, ktorý poznajú hlavne ľudia z IT, bežný užívatelia ho nepoužívajú, lebo sú zvyknutí na ICQ, MSN a ďalšie menej sofistikované protokoly. Na popularite síce pridal Google v roku 2005, keď uviedol Google Talk, ktorý tento protokol používa. Ľudia ale stále netušia, že niečo ako Jabber existuje. Princíp Jabberu Základným princípom [...]]]></description>
			<content:encoded><![CDATA[<p>XMPP (alebo Jabber) je protokol, ktorý poznajú hlavne ľudia z IT, bežný užívatelia ho nepoužívajú, lebo sú zvyknutí na ICQ, MSN a ďalšie menej sofistikované protokoly. Na popularite síce pridal Google v roku 2005, keď uviedol Google Talk, ktorý tento protokol používa. Ľudia ale stále netušia, že niečo ako Jabber existuje.</p>
<p><span id="more-112"></span></p>
<h2>Princíp Jabberu</h2>
<p>Základným princípom Jabberu je jeho <strong>decentralizovanosť</strong>. Protokol umožňuje každému si <strong>zvoliť svojho poskytovateľa</strong>, prípadne si nainštalovať vlastný server, na vlastnú doménu a pridávať si ľudí od ľubovoľného iného poskytovateľa. V podstate je to podobné e-mailu. A to aj v tom smere, že adresy Jabberu majú tvar e-mailovej adresy.</p>
<h2>Facebook</h2>
<p><a href="http://beta.srna.sk/wp-content/uploads/2010/02/facebook_logo.png"><img class="alignleft size-thumbnail wp-image-130" title="facebook_logo" src="http://beta.srna.sk/wp-content/uploads/2010/02/facebook_logo-150x150.png" alt="" width="70" height="70" /></a></p>
<p>Facebook sa tiež rozhodol pre XMPP protokol, teda Jabber. Využíva ho ale len na svoj Facebook Chat, teda neimplementoval tento protokol úplne. Nefunguje pridávanie priateľov. V Contact Liste sa objavujú len priatelia, s ktorými ste priateľmi na Facebooku. Takto služba stráca čaro pôvodného XMPP protokolu.</p>
<h2>Postavenie Jabberu vo svete IM komunikácie</h2>
<p>Zdá sa, že Jabber ľudia začínajú čoraz <strong>viac používať</strong>. Bohužiaľ, <strong>bez ich vedomia</strong>. Spoločnosti ako Google a Facebook ich pomenúvajú vlastnými názvami, prípadne ich okliešťujú, ako je to v prípade Facebooku. Takto sa k pravému potenciálu protokolu vôbec nedostanú.</p>
<p>Podľa môjho názoru, ideálne by bolo, keby dokázal Jabber nahradiť proprietárne protokoly, ako sú ICQ, MSN, atď. Najhoršie je, že ľuďom vôbec nevadí nízka kvalita a nepraktickosť ICQ a mnohí z nich používajú dokonca originálneho klienta kvôli hrám a podobným nezmyslom. <strong>Žiaľ, ICQ ohrozené</strong> podľa môjho názoru <strong>nie je</strong>. A nie je to jediný prípad, keď technológia s lepším marketingom prekoná <em>výrazne lepšiu</em>. (Mohli by sme hovoriť aj o Skype vs. SIP, ale to už je iná téma.)</p>
<p>Keď ste si článok prečítali, neváhajte ho <a href="#comments">komentovať</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://srna.sk/2010/02/facebook-a-xmpp-hrozba-pre-icq/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Apps Premier Edition: Riešenie</title>
		<link>http://srna.sk/2010/02/google-apps-premier-edition-riesenie/</link>
		<comments>http://srna.sk/2010/02/google-apps-premier-edition-riesenie/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 19:39:21 +0000</pubDate>
		<dc:creator>Tomas Srna</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[e-mail]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.srna.sk/?p=84</guid>
		<description><![CDATA[Už dlhší čas mi prestávalo stačiť, čo ponúkajú bežné free služby e-mailu. Pred asi 2 rokmi som z tradičného Gmailu prešiel na vlastnú doménu a službu Google Apps for Domains. So službou som bol spokojný, všetko fungovalo ako malo, e-mail mi bežal na vlastnej doméne (tomas@srna.sk), a hlavne bola zadarmo. Ani som sa nenazdal, a [...]]]></description>
			<content:encoded><![CDATA[<p>Už dlhší čas mi prestávalo stačiť, čo ponúkajú bežné free služby e-mailu. Pred asi 2 rokmi som z tradičného Gmailu prešiel na vlastnú doménu a službu Google Apps for Domains. So službou som bol spokojný, všetko fungovalo ako malo, e-mail mi bežal na vlastnej doméne (<a href="mailto:tomas@srna.sk">tomas@srna.sk</a>), a hlavne bola zadarmo.</p>
<p>Ani som sa nenazdal, a používal som v tú dobu 2 e-mailových klientov. Thunderbird pre e-mail, Outlook pre Kalendár, Kontakty a Úlohy (Gmail sa cez IMAP veľmi zle integruje do Outlooku). Kalendár a Kontakty sa synchronizovali cez iTunes na iPhone.</p>
<p><span id="more-84"></span></p>
<h2>Outlook 2010</h2>
<p>S príchodom v súčasnosti najlepšieho e-mailového klienta a <acronym title="Personal Information Manager">PIM<acronym>, ktorým je bezpochyby Outlook 2010 sa synchronizácia stala problémom, nakoľko iTunes prestal spolupracovať s betaverziou. </acronym></acronym></p>
<p><a href="http://beta.srna.sk/wp-content/uploads/2010/02/outlook10.png"><img class="alignnone size-full wp-image-105" title="outlook10" src="http://beta.srna.sk/wp-content/uploads/2010/02/outlook10.png" alt="" width="640" height="512" /></a></p>
<p>Hľadal som riešenie, ktoré by dokázalo môj telefón synchronizovať bez iTunes.<br />
Riešením by jednoznačne bol Exchange Server 2010, ktorý vďaka MS Active Sync dokáže synchronizovať takmer všetko, čo má kalendár. Postaviť si vlastný Exchange Server (ešte aj so študentskými licenciami zdarma) je veľmi neefektívne, pátral som ďalej. Narazil som na služby hostovaného Exchange. Natrafil som na verziu s 500MB a podporou ActiveSync (synchronizácia s mobilom). Za $14 mesačne. Samozrejme som sa na to vykašľal. Tu prichádza Google Apps Premier Edition.</p>
<h2>Google Apps Premier Edition</h2>
<p>Táto služba od Googlu poskytuje program <a href="http://www.google.com/apps/intl/en/business/outlook_sync.html">Google Apps Sync for Microsoft Outlook</a>.</p>
<p style="text-align: center;"><object width="425" height="344" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/KQcwW9hNRMk&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed width="425" height="344" type="application/x-shockwave-flash" src="http://www.youtube.com/v/KQcwW9hNRMk&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" allowfullscreen="true" allowscriptaccess="always" /></object></p>
<p>Je to takmer dokonalým nahradením Microsoft Exchange. E-maily, Kalendáre a Kontakty sa synchronizujú naozaj bez povšimnutia.</p>
<h2>Reálne skúsenosti</h2>
<p>Dáta sa updatujú zázračnou rýchlosťou. Mal som otvorený kontakt v mobile, stlačil som Send/Recieve v Outlooku a behom 3s sa mi aktualizovala obrazovka v mobile.</p>
<p>Čo sa ešte týka kontaktov, Gmail má vo svojom rozhraní užitočnú funkciu Find Duplicates. Pomocou nej sa mi podarilo zlúčiť kamarátku, ktorá má telefónne číslo, e-mail, jabber a fotku v google účte. Odteraz keď mi volá, zobrazuje sa jej fotka.</p>
<p>E-mail mi prichádza na telefón pomocou technológie PUSH, čo reálne badám na tom, že mi príchod e-mailu signalizuje pred Outlookom s nemalým predstihom.<br />
<em>Nastavenia telefónu na ActiveSync podporovaný Googlom nájdete <a href="http://www.google.com/mobile/sync/">TU</a>. Okrem iPhonu sú podporované BlackBerry, Windows Mobile a E-čkové (business) Nokie.</em></p>
<h2>Negatíva</h2>
<p>Myslím, že nič sa nezaobíde bez negatívnych stránok, nič nie je dokonalé a teda ani Google Apps. V prvom rade mi v ňom chýbajú Úlohy (Tasks), ktoré používam denno-denne snáď najviac. Ak sa Google nepochlapí do 1 roku, budúci rok si službu nezaplatím.</p>
<p>Ďalšou vecou je cena. Tá vychádza (po zdanení) na 48€ na rok. Pre jednotlivca sa môže zdať dosť, ale musíme brať do úvahy, že je to riešenie predovšetkým pre firmy.</p>
<h2>Záver</h2>
<p>V podstate sa jedná o veľmi zaujímavú službu. Ponúka fakt to, čo pre veľké firmy Exchange, ale za oveľa menší peniaz. Na druhej strane, k dokonalosti chýbajú spomínané Úlohy a ich synchronizácia.</p>
<p>Keď ich Google dokončí (a ja verím že ich plánuje dotiahnuť), Google Apps Premier Edition bude jasnou hviezdou e-mailových a Time Managementových služieb.</p>
]]></content:encoded>
			<wfw:commentRss>http://srna.sk/2010/02/google-apps-premier-edition-riesenie/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Predávam doménu fictipedia.net</title>
		<link>http://srna.sk/2010/01/predavam-domenu-fictipedia-net/</link>
		<comments>http://srna.sk/2010/01/predavam-domenu-fictipedia-net/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 21:09:28 +0000</pubDate>
		<dc:creator>Tomas Srna</dc:creator>
				<category><![CDATA[Nezaradené]]></category>

		<guid isPermaLink="false">http://blog.srna.sk/?p=74</guid>
		<description><![CDATA[Predávam tento môj zabudnutý projekt. Možno sa niekto nájde, kto by ho chcel http://aukro.cz/show_item.php?item=897579730]]></description>
			<content:encoded><![CDATA[<p>Predávam tento môj zabudnutý projekt. Možno sa niekto nájde, kto by ho chcel <img src='http://srna.sk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://aukro.cz/show_item.php?item=897579730">http://aukro.cz/show_item.php?item=897579730</a></p>
]]></content:encoded>
			<wfw:commentRss>http://srna.sk/2010/01/predavam-domenu-fictipedia-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Šifrovaný disk na Debiane za 5 minút</title>
		<link>http://srna.sk/2010/01/sifrovany-disk-na-debiane-za-5-minut/</link>
		<comments>http://srna.sk/2010/01/sifrovany-disk-na-debiane-za-5-minut/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 15:34:12 +0000</pubDate>
		<dc:creator>Tomas Srna</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[encrypt]]></category>
		<category><![CDATA[file system]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://blog.srna.sk/?p=54</guid>
		<description><![CDATA[Isto sa vám už stalo, že ste chceli nejaké informácie na disku utajiť a to tak, aby sa k nim nedostal ani root. Dnes si ukážeme, ako to urobiť vo veľmi krátkom čase. Mne sa to podarilo za 5 minút. Využijeme k tomu kernel modul loop-aes. Modul využíva loop zariadenia, ktoré sa šifrujú. Loop zariadenie [...]]]></description>
			<content:encoded><![CDATA[<p>Isto sa vám už stalo, že ste chceli nejaké informácie na disku utajiť a to tak, aby sa k nim nedostal ani root. Dnes si ukážeme, ako to urobiť vo veľmi krátkom čase. Mne sa to podarilo za 5 minút.</p>
<p>Využijeme k tomu kernel modul <a href="http://sourceforge.net/projects/loop-aes/">loop-aes</a>. Modul využíva loop zariadenia, ktoré sa šifrujú. Loop zariadenie (<a href="http://en.wikipedia.org/wiki/Loop_device">Loop device</a>) je pseudo-zariadenie, ktoré umožní použiť súbor na disku ako blokové zariadenie (teda niečo čo sa dá mountnúť).<br />
<span id="more-54"></span></p>
<h2>Implementácia</h2>
<p><em>Poznámka: Príkazy sú uvedené pre Debian. S malými zmenami sú použiteľné aj pre iné distribúcie.</em><br />
Najprv nainštalujeme hlavičky kernelu.</p>
<pre>apt-get install linux-libc-dev</pre>
<p>Potom nainštalujeme zdrojový kód aby sa mohol buildnúť s kernelom.</p>
<pre>apt-get install module-assistant loop-aes-source</pre>
<p>Buildneme modul a načítame ho do kernelu.</p>
<pre>module-assistant prepare
module-assistant build loop-aes
apt-get install loop-aes-utils
module-assistant install loop-aes
modprobe cryptoloop</pre>
<p>Všetko je nainštalované, stačí už len vytvoriť náš disk.</p>
<pre>dd if=/dev/zero of=secure bs=4k count=5242880
losetup -e AES128 /dev/loop0 secure
mkfs -t ext2 /dev/loop0
losetup -d /dev/loop0
mkdir /mnt/secure
mount secure -o loop=/dev/loop0,encryption=AES128 /mnt/secure/ -t ext2</pre>
<p>Prvý riadok vytvorí súbor <strong>secure</strong> veľký 20GiB (4096*5242880=21474836480). Druhý riadok vytvorí loop device <strong>/dev/loop0</strong>. Tretí ho naformátuje a štvrtý odstráni loop (aby sme ho potom mohli mountnúť). Posledné dva riadky slúžia pre mountnutie.<br />
Pri druhom a poslednom riadku posledného výpisu sa pýta na heslo. V prvom prípade ide o prvotné zadanie (musí mať aspoň 20 znakov!) a v druhom o zadanie pre mount.</p>
<h2>Umount a opätovné použitie</h2>
<p>Umount sa robí klasicky a opätovný mount takisto ako posledný riadok predošlého výpisu.</p>
<pre>umount /mnt/secure/
mount secure -o loop=/dev/loop0,encryption=AES128 /mnt/secure/ -t ext3</pre>
<p>Samozrejme, pýta heslo.</p>
<p><em>Článok vznikol po prečítaní článku: http://www.debian-administration.org/articles/81</em></p>
]]></content:encoded>
			<wfw:commentRss>http://srna.sk/2010/01/sifrovany-disk-na-debiane-za-5-minut/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Singleton pattern v PHP 5.3</title>
		<link>http://srna.sk/2010/01/singleton-pattern-v-php-5-3/</link>
		<comments>http://srna.sk/2010/01/singleton-pattern-v-php-5-3/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 12:57:45 +0000</pubDate>
		<dc:creator>Tomas Srna</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[navrhove vzory]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.srna.sk/?p=35</guid>
		<description><![CDATA[V mojom prvom riadnom príspevku do nového blogu prejdem rovno k veci, ktorej sa práve venujem. Začnem technickým článkom pre programátorov v PHP. Opíšem návrh, ktorý som použil v mojej práve programovanej práci. PHP od verzie 5.3 obsahuje zaujímavú funkciu, get_called_class(). Táto nenápadná funkcia nám tak otvára nové možnosti návrhu tried. Vracia totiž triedu neskorej [...]]]></description>
			<content:encoded><![CDATA[<p>V mojom prvom riadnom príspevku do nového blogu prejdem rovno k veci, ktorej sa práve venujem. Začnem technickým článkom pre programátorov v PHP. Opíšem návrh, ktorý som použil v mojej práve programovanej práci.</p>
<p>PHP od verzie 5.3 obsahuje zaujímavú funkciu, <a href="http://php.net/manual/en/function.get-called-class.php">get_called_class()</a>. Táto nenápadná funkcia nám tak otvára nové možnosti návrhu tried. Vracia totiž triedu <a href="http://php.net/manual/en/language.oop5.late-static-bindings.php">neskorej statickej väzby</a>.</p>
<p><span id="more-35"></span></p>
<h2>Odbočka: Čo je to neskorá statická väzba?</h2>
<p>Neskorá statická väzba umožňuje získať názov volanej triedy zo statickej funkcie triedy, z ktorej sa dedí.</p>
<p>Príklad prevzatý zo stránok manuálu PHP:</p>
<p><pre class="brush: php; title: ; notranslate">&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class foo {&lt;br /&gt;
	static public function test() {&lt;br /&gt;
		echo get_called_class();&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
class bar extends foo {}&lt;/p&gt;
&lt;p&gt;foo::test(); // Vypise foo&lt;br /&gt;
bar::test(); // Vypise bar&lt;br /&gt;
?&amp;gt;</pre></p>
<h2>Singleton pattern</h2>
<p><a href="http://en.wikipedia.org/wiki/Singleton_pattern">Singleton pattern</a> je návrhový vzor, keď z danej triedy chceme mať len 1 instanciu, ktorú chceme, aby sa vytvorila pri prvom volaní a neskôr sa uchovávala v pamäti.</p>
<p>A teraz si ukážeme, ako si pomocou tejto technológie vyrobiť Singleton pattern, ktorý by sme inak museli písať do každej triedy zvlášť.</p>
<p><pre class="brush: php; title: ; notranslate">&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
abstract class Singleton&lt;br /&gt;
{&lt;br /&gt;
	private static $instances = array();&lt;br /&gt;
	protected function __construct() {}&lt;br /&gt;
	protected function __clone() {}&lt;/p&gt;
&lt;p&gt;	final public static function getInstance()&lt;br /&gt;
	{&lt;br /&gt;
		$calledClass = get_called_class();&lt;br /&gt;
		if(!isset(self::$instances[$calledClass]))&lt;br /&gt;
			self::$instances[$calledClass] = new $calledClass();&lt;br /&gt;
		return self::$instances[$calledClass];&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
</pre></p>
<p>Premenná <em>$instances</em> uchováva instancie objektov podľa mena. V ďalších riadkoch <strong>zakážeme </strong>verejnú <strong>konštrukciu </strong>alebo <strong>klonovanie</strong> objektu. Metóda <em>getInstance()</em> už potom robí to, čo má robiť pri klasickom Singleton.</p>
<h2>Príklad použitia</h2>
<p><pre class="brush: php; title: ; notranslate">&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class DB extends Singleton&lt;br /&gt;
{&lt;br /&gt;
	//&amp;#8230; telo triedy &amp;#8230;&lt;br /&gt;
	protected __construct()&lt;br /&gt;
	{&lt;br /&gt;
		//&amp;#8230; skonstruujeme objekt ako by sme to bezne robili &amp;#8230;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;// V dalsom kode volame jednoducho&lt;br /&gt;
$db = DB::getInstance();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
</pre></p>
<p>Pre článok som povolil komentáre. Píšte svoje názory.</p>
]]></content:encoded>
			<wfw:commentRss>http://srna.sk/2010/01/singleton-pattern-v-php-5-3/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Začínam blogovať</title>
		<link>http://srna.sk/2010/01/zacinam-blogovat/</link>
		<comments>http://srna.sk/2010/01/zacinam-blogovat/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 13:40:51 +0000</pubDate>
		<dc:creator>Tomas Srna</dc:creator>
				<category><![CDATA[Blog]]></category>

		<guid isPermaLink="false">http://blog.srna.sk/?p=4</guid>
		<description><![CDATA[Je 1. januára 2010 a rozhodol som sa, že začnem blogovať. Budem tu písať rôzne príbehy zo života, zo školy ale taktiež technické články a hlavne články o programovaní. Dúfam, že ma niekto bude aj čítať]]></description>
			<content:encoded><![CDATA[<p>Je 1. januára 2010 a rozhodol som sa, že začnem blogovať.</p>
<p>Budem tu písať rôzne príbehy zo života, zo školy ale taktiež technické články a hlavne články o programovaní.</p>
<p>Dúfam, že ma niekto bude aj čítať <img src='http://srna.sk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://srna.sk/2010/01/zacinam-blogovat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

