<?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>Ondra[sej] Blog &#187; Nezařazeno</title>
	<atom:link href="http://www.ondrejsykora.com/blog/category/nezarazeno/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ondrejsykora.com/blog</link>
	<description></description>
	<lastBuildDate>Sun, 21 Mar 2010 13:17:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Zkušenosti po měsíci s Mackem</title>
		<link>http://www.ondrejsykora.com/blog/2009/05/15/zkusenosti-po-mesici-s-mackem/</link>
		<comments>http://www.ondrejsykora.com/blog/2009/05/15/zkusenosti-po-mesici-s-mackem/#comments</comments>
		<pubDate>Fri, 15 May 2009 19:35:10 +0000</pubDate>
		<dc:creator>ondrasej</dc:creator>
				<category><![CDATA[Nezařazeno]]></category>

		<guid isPermaLink="false">http://ondra.sykorky.cz/blog/2009/05/15/zkusenosti-po-mesici-s-mackem/</guid>
		<description><![CDATA[Zhruba před měsícem se mi naskytla příležitost k výměně notebooku za nový, kterou jsem rád využil. Po zkušenostech s HP se mi moc nechtělo řešit instalaci Linuxu a hardwarové perverze. Stejně tak se mi nechtělo dělat si &#34;Unix&#34; z Windows, aby na nich šlo aspoń trochu pracovat. Po zvážení všech alternativ a uvážení, že OS X [...]]]></description>
			<content:encoded><![CDATA[<p>Zhruba před měsícem se mi naskytla příležitost k výměně notebooku za nový, kterou jsem rád využil. Po zkušenostech s HP se mi moc nechtělo řešit instalaci Linuxu a hardwarové perverze. Stejně tak se mi nechtělo dělat si &quot;Unix&quot; z Windows, aby na nich šlo aspoń trochu pracovat. Po zvážení všech alternativ a uvážení, že OS X je vlastně zčásti maskované FreeBSD&#8230; jsem se vydal vstříc novým zážitkům s novým OS.</p>
<p><span id="more-165"></span></p>
<h3>Jak jsem vybíral</h3>
<p>Notebook používám hlavně na cestách, na balkóně, na zahradě a když zrovna desktop vytěžuju výpočtama. Notebook používám jen na práci a na komunikaci. Aby nedošlo k nedorozumění, práce pro mě znamená jednak programování (v kdečem, hlavně Java, Perl, Haskell, C# a C++) a psaní (LaTeX). Při práci zhusta využívám standardní unixové nástroje (bash, sed, grep, &#8230;) pro skriptování a pro transformaci dat. Hry na notebooku nehraju, na filmy se na něm dívám jen zřídka. Naopak si cením lehkých notebooků s pevnější konstrukci (k NTB se chovám slušně, ale často ho přenáším) a delší výdrž na baterie, abych s sebou nemusel nosit adaptér úplně všude.</p>
<p>Když to shrnu, tak od notebooku chci, aby</p>
<ul>
<li>na něm šlo bez problémů provozovat Linux nebo jiný Unix-like systém.</li>
<li>byl snadno přenosný &#8211; tedy aby se mi vešel do batohu (v pouzdře) a nepřipadal jsem si s ním na zádech jako šnek s ulitou.</li>
<li>vydržel běžet z baterie ostře víc než tři hodiny.</li>
<li>měl rozumný výpočetní výkon (stačí libovolně Core2 Duo + dostatek paměti)</li>
<li>nevětral, pokud zrovna nedělá něco fakt náročného.</li>
<li>byl od &quot;rozumného výrobce&quot; a byla na něj dostupná záruka typu Next Business Day.</li>
<li>nepoužíval dotykové senzory a nevypadal jako vánoční stromeček.</li>
</ul>
<p>Naopak nepotřebuju</p>
<ul>
<li>výkonnou grafickou kartu.</li>
<li>velké LCD nebo nadstandardní rozlišení.</li>
<li>&quot;bezpečnostní&quot; mechanismy jako je čtečka otisků prstů nebo systémové heslo.</li>
<li>závratně velký disk, nedejbože dva v RAIDu.</li>
<li>moc USB portů nebo dokovací stanici.</li>
</ul>
<p>Nakonec jsem na vybíral mezi ThinkPadem X200 a 13,3&quot; unibody MacBookem. X200 je sice menší a o dost lehčí, po dlouhém rozhodování ale vyhrál MacBook (větší, ale stále přijatelné rozměry a váha, o něco nižší cena, Unix bez shánění ovladačů a jako bonus možnost vyvíjet pro iPhone).</p>
<h3>Co mi vyhovuje</h3>
<p>Začnu tím, co se mi na MacBooku proti mým předchozím notebookům líbí. Jako první věc &#8211; ano, OS X skutečně má pod grafickým rozhraním Unixový systém. Všechny standardní nástroje včetně pěkné terminálové aplikace jsou hned v základní instalaci. Překvapilo mě, že byl k dispozici i Perl, Subversion klient a X-Window server. Navíc díky <a href="http://www.macports.org">MacPorts</a> lze instalovat další (Unixové) aplikace stejným způsobem jako na FreeBSD. Obecně &#8211; pokud nějaká aplikace existuje pro Linux, pravděpodobně půjde přeložit i pro OS X a pravděpodobně už to někdo udělal. Na druhou stranu jde o systém určený pro daný hardware, takže není potřeba nic kompilovat, konfigurovat nebo instalovat. A pokud potřebuju nějaké aplikace z Windows, jde je virtualizovat (a s <a href="http://www.vmware.com/products/fusion/">VMWare Fusion</a> i &quot;integrovat&quot; mezi Macovské). Visual Studio 2008 není žádný problém.</p>
<p>Uživatelské prostředí v OS X je vcelku příjemné a nemám pocit, že by mě nějak brzdilo při práci (až na pár drobností popsaných níže). Když si člověk zvykne na nové klávesové zkratky, dá se s ním pracovat celkem efektivně. Navíc dvojhmaty přes Command (který je vedle mezerníku) mi přijdou o dost jednodušší než přes Control, není na ně potřeba tolik kroutit ruce.</p>
<p>Dál se mi hodně líbí tělo &quot;z jednoho kusu hliníku&quot; (jak udělali, že notebook jde otevřít, když to je z jednoho kusu?!), notebook je díky němu pěkně pevný, nikde se nic neprohýbá a nevrže. Tělo navíc slouží pro odvod tepla jako velký (a tichý) chladič. Ale už vím, že uvnitř je i větráček &#8211; viděl jsem ho, když jsem přidával paměť. Trochu jsem se bál, aby při větším zatížení nebyl rozpálený celý notebook, ale zatím jsem nenarazil na problém a i po delším zatížení není horký a jde bez problémů nechat na kolenou. Ještě uvidím, jak se bude chovat za horkých letních dní. Pěkný je taky adaptér &#8211; je celkem malý a navíc jde, podobně jako u Dellu, jednoduše sbalit do úhledného balíčku (ale to si možná zaslouží vlastní zápis).</p>
<p>Příjemná věc je obrovský touchpad bez tlačítek. Chce to chvíli si zvyknout, ale už bych neměnil. Touchpad navíc (ve výchozím nastavení) nekliká po klepnutí, ale až po domáčknutí, takže nechtěná kliknutí prakticky neexistují, přestože není nijak zapuštěný.</p>
<p>A jako poslední drobnost (ale příjemnou) bych uvedl design, který je prostě povedený. Opravdu si cením celkové &quot;jednoduchosti&quot; &#8211; co není potřeba, to tam není. Prakticky žádné rušivé modré a zelené diody. A i ty, co tam jsou, svítí jen když je potřeba (dioda co bliká, když je notebook uspaný, ale zhasne, když je zapnutý), nebo když si o to uživatel řekne (indikátor stavu baterie, který je na tlačítko). Prakticky jediný úlet je svítící ohryzek na zadní straně displeje, ale ten stejně při práci s notebookem není vidět <img src='http://www.ondrejsykora.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Navíc je fajn, že na hliníku nezůstávají viditelné otisky prstů. MacBook White bych používat nemohl.</p>
<h3>Co se mi (zas tolik) nelíbí</h3>
<p>Tak a teď ty méně příjemné záležitosti. Z hlediska hardware mi chybí hlavně čtečka paměťových karet. Ano, dá se za pár korun sehnat externí, ale je to další věc, kterou je potřeba nosit s sebou. Podobné to je s výstupem na externí monitor. Ten je realizovaný přes Minidisplay Port a je k němu potřeba dokoupit redukci. Že je ji potřeba dokoupit se dá přežít, že to je další věc, co jde někde zapomenout, už je horší. Někomu by mohlo vadit, že MacBook má jen dva USB porty, ale já to nejsem.</p>
<p>Další trochu nepříjemná záležitost je CD/DVD mechanika, která je štěrbinová, takže má problémy s menšími formáty CD. Na druhou stranu, ani si nevzpomínám, kdy jsem naposledy cpal do notebooku vůbec nějaké CD nebo DVD. Vlastně vzpomínám&#8230; když jsem po pořízení toho předchozího instaloval Ubuntu.</p>
<p>Na klávesnici mi chybí klávesy PgUp/PgDown, Home a End (které jsou dostupné přes Fn). Dá se na to zvyknout a při práci dvěma rukama je přístup přes Fn a šipky možná rychlejší, než hledat samostatný Page Down někde na okraji klávesnice. Jinak je klávesnice na psaní hodně příjemná, nikde se neprohýbá a klávesy jsou pěkně oddělené mezerami. Moc se mi nelíbí rozložení klávesnice &#8211; US je víceméně standardní, ale u české jsou některé znaky jinde než jsem zvyklý a na středník přes Alt si budu zvykat hodně těžko.</p>
<p>Věc, která mi ale u ovládání vadí asi nejvíc je chybějící tlačítko pro kontextové menu. Ve většině aplikací jde nazkratkovat celé menu, ale z nějakého důvodu ve Finderu v menu chybí položka &quot;Otevřít s&#8230;&quot;. To je jen v kontextovém menu souboru a jediný způsob jak se k tomu dostat, je myší. Podobně myšové mi přijde přepínání v rámci oken jedné aplikace (ano, to z klávesnice jde, ale&#8230;).</p>
<p>Displej má výborný obraz a podsvícení, jenom nechápu, proč se musí tak lesknout. Asi to je součást firemní image. Nebo výsledek lobby očních lékařů. Jak jsem zjistil, existují přímo pro MacBook matné fólie, ještě kdyby je někdo (za rozumnou cenu) dovážel do ČR&#8230; Díky dobrému podsvícení se dá pracovat i v autobuse/ve vlaku, ale na matno by to bylo ještě lepší. Navíc mi přijde, že 1440&#215;900 by na 13,3&quot; notebooku bylo výborné rozlišení, ale co, pracovat se dá i v 1280&#215;800. Co ale nechápu už vůbec, je, že celkem nízké rozlišení je i u 15,4&quot; MacBooků Pro.</p>
<p>Daly by se najít ještě další drobnosti, jako poněkud nestabilní ukazatel baterie (i když za to možná mohla automatická regulace jasu displeje), ale už nejde o žádné zásadní bugy, které by mě nějak trápily.</p>
<h3>Závěrem</h3>
<p>I když se na něm dají najít věci k pomlouvání, myslím si, že MacBook výborný stroj, který bez problémů plní moje požadavky. OS X vidím jako výhodu, není v něm problém přepínat mezi klikáním a konzolí jak se mi to zrovna hodí &#8211; a pokud zrovna potřebuju Visual Studio, tak s Fusion to jde i bez přepínání do virtuálního počítače. Desktop od Apple bych si nekoupil, ale MacBook je výborná volba (nejen) jako Unixový notebook, v žádném případě nelituju, že jsem si ho pořídil a doporučuju i ostatním. Doporučuju <img src='http://www.ondrejsykora.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ondrejsykora.com/blog/2009/05/15/zkusenosti-po-mesici-s-mackem/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Client-side captcha</title>
		<link>http://www.ondrejsykora.com/blog/2009/05/05/client-side-captcha/</link>
		<comments>http://www.ondrejsykora.com/blog/2009/05/05/client-side-captcha/#comments</comments>
		<pubDate>Tue, 05 May 2009 18:38:23 +0000</pubDate>
		<dc:creator>ondrasej</dc:creator>
				<category><![CDATA[Nezařazeno]]></category>

		<guid isPermaLink="false">http://ondra.sykorky.cz/blog/2009/05/05/client-side-captcha/</guid>
		<description><![CDATA[Díky tomu, že spammeři vám vlezou úplně všude, je dnes běžnou součástí většiny formulářů, je dnes běžnou součástí většiny veřejně viditelných webových formulářů captcha. Tedy otázka nebo úkol, jehož zpracování je pro člověka triviální, ale počítač se s ním (zatím) nedokáže jednoduše vypořádat. Určení, jestli formulář vyplnil člověk nebo spamovací automat je pak jednoduché &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Díky tomu, že spammeři vám vlezou úplně všude, je dnes běžnou součástí většiny formulářů, je dnes běžnou součástí většiny veřejně viditelných webových formulářů captcha. Tedy otázka nebo úkol, jehož zpracování je pro člověka triviální, ale počítač se s ním (zatím) nedokáže jednoduše vypořádat.<br />
<span id="more-164"></span></p>
<p>Určení, jestli formulář vyplnil člověk nebo spamovací automat je pak jednoduché &#8211; pokud je úkol splněný správně, pak formulář zřejmě vyplnil člověk. Pokud ne, byl to počítač. Nepříjemné je, že splnění úkolu se musí testovat na serveru &#8211; pokud by k němu docházelo pouze na klientovi, bylo by pro spammery jednoduché tuto kontrolu obejít vyřazením testu (například vypnutím JavaScriptu) a pak odesílat obsah formuláře automaticky.</p>
<p>Na druhou stranu ale je nepříjemné, že pokud formulář obsahuje validaci hodnot v JavaScriptu, pak se tato validace nedá moc dobře vztáhnout i na captchu. Lze sice najít jednoduché řešení pomocí AJAXu, ale to naráží na asynchronní komunikaci a na bezpečnostní omezení XMLHttpRequestu (zakázané cross-domain requesty, které nemusí, ale mohou vadit).</p>
<p>Druhá možnost, jak dosáhnout validace už na straně klienta, je inspirovat se kryptografickými postupy. Víme například, že faktorizace na prvočísla je těžký problém, pro který neznáme efektivní algoritmus. A teď jak toho využít pro tvorbu captchy:</p>
<ol>
<li>Příprava na serveru: server vygeneruje dvě dostatečně velká prvočísla <em>p</em> a <em>q</em> a vypočítá jejich součin <em>n</em>. Prvočíslo <em>p</em> zakóduje do captchy (například jako obvyklá čísla v obrázku) a spolu s obrázkem pošle číslo <em>n</em>.</li>
<li>Klient dostane obrázek s kódem a číslo <em>n</em>. Uživatel opíše číslo z obrázku. Pokud ho opíše správně, jde o prvočíslo <em>p</em> a číslo <em>n</em> je jím dělitelné bez zbytku. JavaScript během validace formuláře ověří dělitelnost a v případě neúspěchu upozorní uživatele.</li>
<li>Protože faktorizace je obtížný problém, klient pouze na základě čísla <em>n</em> nemůže v rozumném čase zjistit, jaké jsou hodnoty <em>p</em> a <em>q</em>. Navíc, pokud by jí provedl, uspěje pouze v 50 % případů, protože správná odpověď je pouze jedno prvočíslo, klient ale bez použití obrázku neví, které z prvočísel to je.</li>
</ol>
<p>Pro dosažení rozumné bezpečnosti je potřeba použít delší prvočísla. Dostatečná hodnota by mohlo být například 256 bitů na jedno prvočíslo. Drobnou nevýhodou této metody je, že taková prvočísla mají cca 77 číslic (znaků), což by odradilo nejen spammery, ale i běžné uživatele. Pokud pro kódování použijeme i velká a malá písmena, sníží se počet znaků na 44, což moc velké zlepšení není.</p>
<p>Lepší tedy je použít alternativní řešení (díky Jirkovi za nápad), zvolit dostatečně dlouhý náhodný kód, tak 6-10 znaků, zakódovat je do captchy klasickým způsobem a spolu s captchou poslat hash kódu. Pokud bude hashovací funkce zvolená rozumně, nebude možné pomocí ní získat původní kód a navíc inverze hashovací funkce opět povede k více možnostem, z nichž jen jedna bude správná.</p>
<p>Nejlepší (nejjednodušší) nakonec ale stejně bude přestat teoretizovat, zůstat u současných (osvědčených) řešení a captchu ověřit jen na straně serveru&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ondrejsykora.com/blog/2009/05/05/client-side-captcha/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

