<?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>Csókavár &#187; geekség</title>
	<atom:link href="http://csokavar.hu/blog/tag/geekseg/feed/" rel="self" type="application/rss+xml" />
	<link>http://csokavar.hu</link>
	<description>Just another Csokavar.hu weblog</description>
	<lastBuildDate>Tue, 17 Jan 2012 21:02:23 +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>Fordított világ</title>
		<link>http://csokavar.hu/blog/2011/12/11/forditott-vilag/</link>
		<comments>http://csokavar.hu/blog/2011/12/11/forditott-vilag/#comments</comments>
		<pubDate>Sun, 11 Dec 2011 20:09:31 +0000</pubDate>
		<dc:creator>encse</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[geekség]]></category>

		<guid isPermaLink="false">http://csokavar.hu/?p=2139</guid>
		<description><![CDATA[Azon gondolkotunk valamelyik ebéd után, hogy milyen érdekes lenne egy olyan bolygón élni, ahol a funkcionális programozási paradigma került előtérbe, nem az imperatív vonal. Az egész természetesen ott indul, hogy a számítógépekben levő processzorok gráfredukciós algoritmusokkal működnének. Minden kisiskolás valami lebutított Haskellt próbálgatna Logo helyett (típusok nélkül). A mainstream munkahelyeken is funkcionális programozók ülnének, a [...]]]></description>
			<content:encoded><![CDATA[<p>Azon gondolkotunk valamelyik ebéd után, hogy milyen érdekes lenne egy olyan bolygón élni, ahol a funkcionális programozási paradigma került előtérbe, nem az imperatív vonal. Az egész természetesen ott indul, hogy a számítógépekben levő processzorok gráfredukciós algoritmusokkal működnének. Minden kisiskolás valami lebutított Haskellt próbálgatna Logo helyett (típusok nélkül). A mainstream munkahelyeken is funkcionális programozók ülnének, a nagyobb cégekben a túl sok enterprise pirulát beszedett arhitectektek pedig mindent kategóriákkal és én nem tudom milyen bifunktorokal absztrahálnának szarrá.</p>
<p>Az imperatív világgal gyakorlatilag csak az egyetemeken találkozna az ember. Hosszú cikkek sorai porosodnának a könyvtárakban és a levlistákon arról, hogy hogy lehet funkcionális nyelveken imperatív programokat írni. Ne adj Isten: objektum orientált programokat. És Cactus azzal kínozná a munkatársait, hogy jó, jó itt vannak ezek a monádok meg unique típusok, de most egy pillanatra képzeljük azt, hogy ezek tulajdonképpen egy állapotgép utasításai. Hosszú hétvégéken cikket olvasna a Neumann elvű számítógépekről. Aztán kicsit tovább menne és azt kezdené boncolgatni, hogy az imperatív nyelvekbe hogyan lehet funkcionális nyelvi elemeket beletenni, gondolok itt a függvényekre mint first class citizenekre, az anonymous methodokra (akár rekurzió Y kombinátorral), lusta kiértékelésre és így tovább. A párhuzamos folyamatok érdekességeit, boncolgatná, amivel már mindenkit az őrületbe kergetne.</p>
<p>Csak néhány nagy bank engedhetne meg magának imperatív gondolkozású programozókat, az ilyenek a világ végén dolgoznának szemérmetlenül nagy fizetésért.  Miért? Hát nyilván itt nem érvelhetünk azzal, hogy az imperatív programok milyen tiszták, rövidek, jól párhuzamosíthatók és a helyességük könnyen igazolható. Viszont még mindig kijátszhatjuk a teljesítmény kártyát. Az imperatív programozó közel engedhet magához egy nagyon egyszerű gépet, amit akár assemblyben is programozhat, hogy még jobban kioptimalizáljon egy-egy sebességkritikus folyamatot.  Szép lassan aztán megjelenne a hardveres támogatás is. Előbb csak egy egyetemi projekt keretében alkotnák meg a CPU-t, de aztán a letnI felkarolná a dolgot, és kihozna egy iszonyatosan drága gépet imperatív processzorral szerelve.</p>
<p>Kihagytam valamit? Bizonyára. De fura világ lenne az biztos&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://csokavar.hu/blog/2011/12/11/forditott-vilag/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Practical Common Lisp</title>
		<link>http://csokavar.hu/blog/2011/10/01/practical-common-lisp/</link>
		<comments>http://csokavar.hu/blog/2011/10/01/practical-common-lisp/#comments</comments>
		<pubDate>Sat, 01 Oct 2011 19:37:25 +0000</pubDate>
		<dc:creator>encse</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[geekség]]></category>
		<category><![CDATA[könyv]]></category>
		<category><![CDATA[vélemény]]></category>

		<guid isPermaLink="false">http://csokavar.hu/?p=2099</guid>
		<description><![CDATA[A héten befejeztem Peter Seibel Practical Common Lisp című könyvét, és továbbra is vegyes érzéseim vannak a nyelvvel kapcsolatban. A könyv egyébként nagyon jó, csak ajánlani tudom mindazoknak, akiket érdekel a Lisp és egy viszonylag széles merítést akarnak kapni belőle az alapoktól indulva, egészen egy egyszerű kis webes alkalmazás elkészítéséig, ami egyúttal shoutcast szerver, binárisból [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://csokavar.hu/files/pcommlisp.jpg"><img class="alignright picture size-full wp-image-2105" title="pcommlisp" src="http://csokavar.hu/files/pcommlisp.jpg" alt="" width="196" height="284" /></a>A héten befejeztem Peter Seibel Practical Common Lisp című könyvét, és továbbra is vegyes érzéseim vannak a nyelvvel kapcsolatban. A könyv egyébként nagyon jó, csak ajánlani tudom mindazoknak, akiket érdekel a Lisp és egy viszonylag széles merítést akarnak kapni belőle az alapoktól indulva, egészen egy egyszerű kis webes alkalmazás elkészítéséig, ami egyúttal shoutcast szerver, binárisból parsolja az ID3 tageket stb. Nagyon jól összerakott könyv 10/10, bár én tudnék ilyet írni valamikor&#8230; akármiről.</p>
<h3>Domain specifikus nyelvek</h3>
<p>De vissza a vegyes érzelmekhez. Tulajdonképpen az egész nyelvben csak a makrók fogtak meg, ami nem is csoda laza 8 év domain specifikus nyelvek (DSL) terén szerzett tapasztalatomból kifolyólag. Na jó, ez így túlzás, de ha meg azt írom, hogy DSL alapú eszközök (domain workbenchek) fejlesztésére szolgáló eszköz fejlesztésében, az még durvábban hangzik, pedig hát ez az igazság, akárhogy nézzük is. A makrók nagy királyság, és már emiatt megérné a nyelvet nap mint nap használni, ugyanakkor én láttam ennél sokkal ígéretesebb megoldásokat ezen a téren.</p>
<p>Olyan eszközöket, amikben a DSL o<em>lvasható. </em>Igen, olvasható, mert mondjon nekem akárki akármit, a Lisp programok kurva nehezen olvashatók. Jó, a könyvben nincs syntax highlight, viszont van szöveges magyarázat. De még ezzel együtt is elgondolkozik az ember, hogy akkor ez itt most egy változó neve akar lenni, vagy talán inkább valami függvény, netán kulcsszó. És eleve mindent beleerőltetni ezekbe a zárójelekbe, kész gyötrelem. És tökéletesen tisztában vagyok vele, hogy John McCarthy az elején még tervezte a szintaxis kialakítását (amíg közbe nem jött a Beatles<sup>*</sup>), és így, hogy nem kell parsolni, sokkal könnyebb a kódot adatként kezelni, de ez nekem még így is kevés. Köpjenek le, kérem, köpjenek le, és bizonyítsák be hogy nincs igazam.</p>
<p>Én olyan eszközöket szeretnék, ahol definiálom a DSL-t valami egyszerű kis nyelven, ami mondjuk olyasmi lehet, mint ahogy az ember egy xml sémát definiál. Aztán adok hozzá valami projekciót (akár többet is), ami meg az xml analógiát folytatva, egy xsl transzformáció a DSL-ről valami layout nyelvre. Írok hozzá pár sorban egy generátort DSL → C# vagy akármi, ami szemantikát ad az egészhez. És ennyi, megkapom az editort. Nem írtam parsert, de jól néz ki a képernyőn a DSL-ben írt &#8220;program&#8221;. Világos, hogy mi kulcsszó és mi nem. Rendesen van tördelve, az általam használt, ismert és szertett jelölésrendszert látom magam előtt. Úgy általában pont úgy néz ki az egész, ahogy papíron a legkényelmesebben le tudnám írni. Nem is biztos hogy szöveg alapú&#8230; lehet, hogy egy táblázat jobban megfelel, vagy valami gráf, ahol összehuzigálom a dolgokat. Ki tudja&#8230;</p>
<p>És igen, akarok hozzá code completiont kapni, és refactoring toolokat is, meg &#8220;find references&#8221;-t, és az összes kis feature-t, amit egy IDE-ben megszoktam programozási nyelvek kapcsán. Ja, hogy a DSL-em nem programozási nyelvekről szól, hanem adószabályokról, pénzügyi döntésekről, logisztikáról, akármiről&#8230; annál inkább.</p>
<p>Hiányoznak ezek az eszközök mint egy falat kenyér, és sajnos a Lisp nem adja meg a kívánt szabadságot, bár kétség kívül nagyon erős a maga kis világában.</p>
<h3>Dinamikus nyelvek</h3>
<p>A másik dolog ami miatt nem kedvelem a Lispet az a típusok hiánya. Van most egy vicc a cégben, hogy hidd el nekem, hogy te már nagyon öreg programozó vagy, mert még mindig a szigorú statikus típusosságban hiszel, és nem ismered el a manapság divatos dinamókus nyelvek létjogosultságát. (Természetesen ilyenkor átsiklunk afölött, hogy a Lisp egyike az ős nyelveknek.) Az utóbbi évtizedben egyre-másra jönnek fel a dinamikus nyelvek, és én és a barátaim közül sokan nagyon nem értjük ezeket az újhullámos kis nyikhajokat a rapid prototyping-al meg a test driven developing-al, valahogy úgy tűnik, hogy nagyon hiányzik valami, ha pl. az IDE nem tudja nekem megmondani, hogy egy adott változóval mit lehet csinálni. Sokakat ez egyáltalán nem zavar, és ilyenkor tényleg úgy érzem, hogy én már egy vén fasz vagyok és nem értek semmit. De amikor a Lisp könyv végén arról olvasok, hogy jó ez a nyelv, na de hol van teljesítményben egy C-hez képest, és aztán elkezdi declare-ekkel teleszórni a kódot, hogy futás idejű ellenőrzéseket kapcsoljon ki annak érdekében, hogy mondjuk egy összeadás csak int-ekre működjön, és túl tudjon csordulni (ahogy C-ben), akkor azért csak nagyon nehezen tudom elnyomni a kis félmosolyt, hogy lám-lám a nagy öreg hogy küzd a típus kalkulus hiánya miatt. De megint megkérem Önöket, hogy rakjanak helyre, ha tudnak.</p>
<p>Összességében. A könyv nagy kaland volt, tetszett, rengeteg ideig tartott napi húsz oldal sebességgel a buszon elolvasni, de megérte, mert sokat tanultam belőle. Még akkor is, ha nem tervezem, hogy Lisp programozóként folytassam karrieremet.</p>
]]></content:encoded>
			<wfw:commentRss>http://csokavar.hu/blog/2011/10/01/practical-common-lisp/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Napelem készítése házilag</title>
		<link>http://csokavar.hu/blog/2010/11/20/napelem-keszitese-hazilag/</link>
		<comments>http://csokavar.hu/blog/2010/11/20/napelem-keszitese-hazilag/#comments</comments>
		<pubDate>Sat, 20 Nov 2010 13:14:04 +0000</pubDate>
		<dc:creator>encse</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[geekség]]></category>
		<category><![CDATA[villamosmérnökség]]></category>

		<guid isPermaLink="false">http://csokavar.hu/?p=1923</guid>
		<description><![CDATA[Villamosipari anyagismeretből azt a feladatot kaptuk, hogy válasszunk ki bármilyen az anyagismeret témájába vágó anyagot, és írjunk róla valamit. Elsőéves villamismérnök halgatóként a legmesszebbmenőkig elítélem ezt a feladatkiosztást, hiszen honnan a &#8230;. kéne nekem bármit tudni az anyagtudományról, meg arról, hogy mi vág a témájába. Meg is mondtam a tanárnak, hogy tőlem ne várjon érdekességeket, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://csokavar.hu/files/IMG_0746.jpg"><br />
</a>Villamosipari anyagismeretből azt a feladatot kaptuk, hogy válasszunk ki bármilyen az anyagismeret témájába vágó anyagot, és írjunk róla valamit. Elsőéves villamismérnök halgatóként a legmesszebbmenőkig elítélem ezt a feladatkiosztást, hiszen honnan a &#8230;. kéne nekem bármit tudni az anyagtudományról, meg arról, hogy mi vág a témájába. Meg is mondtam a tanárnak, hogy tőlem ne várjon érdekességeket, a napelemekről tudok írni, mert az viszonylag jól dokumentált mindenfelé a neten. De azért, hogy ne legyen túl száraz a dolog, és főleg, hogy én is élvezzem egy kicsit, megpróbálkozom itthon napelem készítésével.</p>
<p>Természetesen nem olyan napelemről van szó, ami használható is. Bőven megelégednék valamivel, amivel ki lehet mutatni a fotoelektromos jelenséget. A neten több helyen is utalnak a végül elvégzett <a href="http://worldwatts.com/homemade_solar_cell/homemade_solar_cell.html">kísérletre</a>.</p>
<p><strong>A jelenség</strong></p>
<p>Azt szeretnénk kimutatni, hogy egy réz-I-oxid (Cu<sub>2</sub>O) lemez, fény hatására előszeretettel dobálja el az elektronjait. Ezek az elektronok egy elektrolitos oldatban (sós víz) átúsznak egy másik, sima rézlemezre. A két lemez között feszültség és természetesen némi áram mérhető.</p>
<p><strong>Anyag- és eszközbeszerzés</strong></p>
<p>Rezet a munkahelyemhez legközelebbi bádogosnál vettem, ott elég hülyén néztek, amikor elmondtam, hogy nekem csak egy ilyen kis darabka réz kellene, és tényleg nem akarok belőle esőcsatornát építeni, csak egy házi feladat miatt kell. Végül nagy nehezen, és duzzogva levágtak egy arasznyi széles csíkot a 40 méteres rézgurigából. Még mondta is a bácsi, hogy a szélét levágja géppel egyenesre, de megegyeztünk, hogy erre semmi szükség, hiszen ezt én még úgyis tovább fogom darabolni egészen kis darabokra. Nagyot néztek amikor elmondtam, hogy napelemet fogok csinálni belőle.</p>
<p>A réz-I-oxid készítéséhez egy rezsóra van szükségünk, legalábbis a kísérlet leírása szerint, amitől nem akartam eltérni hacsak nem volt muszáj. Szereztem hát egy 1500W-os rezsót a neten. Nekem ne mondja senki, hogy nem készülök fel alaposan&#8230;</p>
<p>Jobb kint csinálni az ilyeneket, ki tudja milyen büdös lesz miatta. (Nem lett az.) Kivittem a rezsót, beállítottam max fokozatra, és jó fél órán keresztül hevítettem rajta a rezet, amin sötét réz-II-oxid réteg keletkezett. Ezt lassú hűtés után ütögetéssel, illetve simán az ujjam végighúzásával el lehetett távolítani, hogy alatta előtűnjön a vékony réz-I-oxid bevonat.</p>
<p style="text-align: center;"><a href="http://csokavar.hu/files/IMG_0720.jpg"><img class="picture size-medium wp-image-1924  aligncenter" title="Réz-II-oxid, alatta átlátszik a Réz-I-oxid" src="http://csokavar.hu/files/IMG_0720-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p><strong>A kísérlet</strong></p>
<p>Nem fűztem a dologhoz komoly reményeket, már azzal is ki lettem volna elégítve, ha bármilyen mérhető eredményre jutok. A kísérletet többször is meg kellett ismételni, mert legnagyobb sajnálatomra már a műszer tiszta vízbe mártott csatlakozói között is tudtam némi feszültséget mérni. (Ugyanez reprodukálható volt közönséges rézlemezek vízbemerítésével is.) Próbáltam desztillált vizet is szerezni, de több benzinkúton is csak ioncserélt vizet árultak. Végül egy olyan desztillált vízzel egyenértékűnek nevezett, kémiailag teljesen sómentesített víz mellett döntöttem, aminek a vezetése 20μS-nél kisebb volt. (Bár azt nem adták meg, hogy ezt pontosan hogyan lehetne kimutatni, én ennél jóval nagyobbat mértem.) Sajnos ez a víz is produkálta a mérhető feszültséget már akkor is, amikor tiszta pohárba öntöttem és a feszültségmérőt közvetlenül a víz két pontjára helyeztem. Ez kissé elgondolkodtatott, mert ugyan hogyan tudna már az a szerencsétlen tök homogén víz két pontja között bármilyen feszültséget produkálni, de mondjuk tudjuk ezt be a benne mikro szinten kavarogó ionoknak.</p>
<p style="text-align: center;"><a href="../files/IMG_0746.jpg"><img class="picture aligncenter" title="Kísérleti elrendezés" src="../files/IMG_0746-300x225.jpg" alt="" width="300" height="225" /></a></p>
<p>Összességében négy különböző alkalommal, és több elrendezésben is sikerült reprodukálni a jelenséget, és minden alkalommal nagyon szépen látszott, ahogy a berendezést letakarva csökken a feszültség ill az áramerősség.</p>
<p>Két réz-oxid lemezt, és 3 rézlemezt használtam el közben. Egyszer történt egy furcsaság, hogy vödörrel letakarva a rendszert, a feszültség elkezdett nőni (pedig csökkennie kellett volna&#8230;). Gyanítom azért, mert az egyik rézlemez időközben beszennyeződött, talán nem tett neki jót, hogy egy hétig a sós-vizes fürdő után hagytam száradni.</p>
<p>Ettől eltekintve a jelenség minden alkalommal szépen látszott, és végül mindent nulláról újrakezdve most már számokkal is alá tudom támasztani.</p>
<p><strong>1) Két 7.5&#215;15 cm-es rézlemez, 3 kanálnyi sósvizes oldatba merítve:</strong></p>
<p>A köztük mérhető feszültség: &lt;10 mV, időben lassan ingadozik (lemegy 0 alá, majd át a negatív tartományba, és vissza).</p>
<p>Áramerősség: kb -0.017 mA (ez is változik).</p>
<p>Megj: Az áramerősséget és a feszültséget nem tudtam azonos időpillanatban mérni. Az áramerősség méréséhez még sorba kötöttem a műszert egy 1Ω ellenállással is a biztonság kedvéért.</p>
<p><strong>2) A két lemez közül az egyiken réz-I-oxid réteget képezve, és visszahelyezve az oldatba. </strong></p>
<p><strong>Napra helyezve:</strong></p>
<p>feszültség: kb 40.6 mV,</p>
<p>áramerőség: kb 0.22 mA</p>
<p><strong><strong>Sötétben</strong> (egy vödörrel letakarva):</strong></p>
<p>feszültség: kb 0.86mV</p>
<p>áramerősség: kb 0.035mA</p>
<p>A számokból is látszik, hogy valóban nagy a változás a napra helyezett és a sötétben történt mérés között, valamint a napon jobb értékeket mérünk mint a két rézlemezes elrendezésben. Mindezek alátámasztják a jelenség létezését.</p>
<p>Mindössze 40.6*0.22*10^-6 W teljesítményt tudtam kisajtolni a dologból, ami nem nevezhető soknak. Egy izzólámpát sem lehet vele felvillantani.</p>
<p>Tényleg érdekes kísérlet, és nagyon látványos is, ha valaki szeret otthon kísérletezgetni, és megvannak az eszközei, csak ajánlani tudom. (Köszönet Mayának a multiméterért.)</p>
]]></content:encoded>
			<wfw:commentRss>http://csokavar.hu/blog/2010/11/20/napelem-keszitese-hazilag/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Tüzifa rakodás</title>
		<link>http://csokavar.hu/blog/2010/09/18/tuzifa-rakodas/</link>
		<comments>http://csokavar.hu/blog/2010/09/18/tuzifa-rakodas/#comments</comments>
		<pubDate>Sat, 18 Sep 2010 18:19:54 +0000</pubDate>
		<dc:creator>encse</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fejtörő]]></category>
		<category><![CDATA[geekség]]></category>

		<guid isPermaLink="false">http://csokavar.hu/?p=1865</guid>
		<description><![CDATA[Ezt a jóságot Enikő Facebook falán láttam, és kicsit még ki is egészítem, hogy lássuk, hogy egy sima matekpélda hogy kísérheti végig tanulmányainkat. 1) ha egy ember fél köbméter tűzifát másfél óra alatt pakol ki a kalodából és helyez el a fás kamrában, akkor 4 ember mennyi idő alatt pakol ki két és fél köbméter [...]]]></description>
			<content:encoded><![CDATA[<p>Ezt a jóságot Enikő Facebook falán láttam, és kicsit még ki is egészítem, hogy lássuk, hogy egy sima matekpélda hogy kísérheti végig tanulmányainkat.</p>
<p>1) ha egy ember fél köbméter tűzifát másfél óra alatt pakol ki a kalodából és helyez el a fás kamrában, akkor 4 ember mennyi idő alatt pakol ki két és fél köbméter tűzifát úgy, hogy nem a fás kamrába, hanem csak a kertbe viszik be, ami fele akkora távolság?</p>
<p>2) Az 1) feladat megfejelve azzal, hogy a munkások teljesítménye 20 percenként 10%-kal csökken a kipihent kezdeti állapothoz képest.</p>
<p>3) Az 1) feladat, de most a munkások úgy fáradnak, hogy minden pillanatban igaz az, hogy 20 perc múlva a mostani teljesítményük 90%-kára képesek. </p>
<p>4) Az 1) feladat ezúttal azzal megfejelve, hogy a munkások teljesítménye a már elvégzett W(t) munka függvénye. Asszem ez így reális végül is&#8230; Az &#8220;nagyon kis&#8221; idő alatt végzett munka W&#8217;(t) = A &#8211; B*W(t) alakú, alkalmas A és B konstansokkal. Ehhez asszem még kell valami olyasmi, hogy fél köbméter fa kamrába pakolásával egy ember 30 perc alatt végez. (Remélem ez elég, még nem oldottam meg, de mindjárt nekiállok&#8230;)</p>
]]></content:encoded>
			<wfw:commentRss>http://csokavar.hu/blog/2010/09/18/tuzifa-rakodas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Encsé Gently</title>
		<link>http://csokavar.hu/blog/2010/04/29/encse-gently/</link>
		<comments>http://csokavar.hu/blog/2010/04/29/encse-gently/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 07:18:59 +0000</pubDate>
		<dc:creator>encse</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[geekség]]></category>
		<category><![CDATA[ház]]></category>

		<guid isPermaLink="false">http://csokavar.hu/?p=1785</guid>
		<description><![CDATA[Vettünk hűtőt, egy élmény volt&#8230; Végigjártuk az összes boltot, kiválasztottuk a jót, aztán a neten kikerestük a legolcsóbb helyet és megrendeltük. Eddig jól is ment, csak a kiszállítás volt szar, mert nem tudták megmondani, hogy melyik nap hozzák majd, csak előtte este hét és nyolc között. Aztán vegyél ki szabadságot másnapra&#8230; Majd biztos jön valami [...]]]></description>
			<content:encoded><![CDATA[<p>Vettünk hűtőt, egy élmény volt&#8230; Végigjártuk az összes boltot, kiválasztottuk a jót, aztán a neten kikerestük a legolcsóbb helyet és <a href="http://konyhabolt.hu">megrendeltük</a>. Eddig jól is ment, csak a kiszállítás volt szar, mert nem tudták megmondani, hogy melyik nap hozzák majd, csak előtte este hét és nyolc között. Aztán vegyél ki szabadságot másnapra&#8230; Majd biztos jön valami buzgómócsing megint, aki szerint ez így kurva jó, de engem akkor is idegesít.</p>
<p>Hétfőn beszéltem a sofőrrel, jól elmagyaráztam neki, hogy melyik utcát írja be a GPS-be, nehogy elkavarodjon, ugyanis a széleskörben használt GPS-es térképek nem tudják, hogy a mi utcánk zsákutca, és a rossz irányból próbálják  megközelíteni. (Az ilyenek Érden általában járhatatlan földutat jelentenek.)</p>
<p>Naszóval elmondtam a józsinak, hogy mit csináljon, ha nem akar a susnyásban kikötni. Egy óra múlva hívott.</p>
<p>- Uram, itt vagyok az erdő közepén, már nem fér el az autó az úton!</p>
<p>- Forduljon vissza, és csinálja amit korábban megbeszéltünk.</p>
<p>- Nem tudom merről jöttem.</p>
<p>Végül kikeveredett az aszfaltra úgy, hogy közben telefonon diktáltam neki, hogy merre menjen. Akkor meg azzal kezdett jönni, hogy ugye van otthon valaki férfiember, mert ő nem bírja el a hűtőt. Hát a faszomat nem bírod el bazmeg, milyen szállítás ez már? Mondom neki, nincs otthon senki, csak a terhes asszony, de oldja meg valahogy, mert ez a munkája. Na ezek után lebaszta a ház elé az egészet. Dáviddal kellett hazamenni becipelni.</p>
<p>A hűtő elhelyezése volt a legmókásabb, ugyanis a kamra ajtaja (valójában nincs ajtaja, csak egy nyílás), naszóval az ajtó kicsit kisebb volt mint a hűtő. De nehogy azt gondolják ám, hogy nem számítottam erre előre&#8230; Már jóval korábban kikalkuláltam Mapleben azt a legnagyobb frigóméretet, ami még éppen bevihető egy kis ügyeskedéssel.</p>
<p>Az alábbi ábrából induljunk ki:</p>
<p><img class="alignnone wp-image-1787" title="IMG_0507[1]" src="http://csokavar.hu/files/IMG_050711.jpg" alt="IMG_0507[1]" width="100%" /></p>
<p>Ez egy oldalnézeti kép. A csíkozott rész jelöli a falat, a piros téglalap a hűtő, amit addig döntünk, amíg a legmagasabb pontja éppen a nyílás magasságába nem esik, ezután rátoljuk a kamra falára, majd elkezdjük a talpára állítani, miközben végig hozzáér a hátsó falhoz. A hűtő méretei \(H_x\), \(H_y\), a kamráé \(K_x\), \(K_y\). Egy adott pillanatban a helyzetet egy \(\alpha\) szöggel jellemezhetjük. A kérdés az, hogy van-e olyan \(\alpha\) a \([0,\pi/2]\) tartományban, amikor a \((K_x, K_y)\) pont a hűtő belsejébe kerül.</p>
<p>Egészítsük ki az ábrát az \(A\) és \(B\) pontokkal, az ezeken átmenő \(e\) egyenessel. Toljuk el \(e\)-t \(e&#8217;\)-be, ami a hűtő külső oldalán fut végig, és vegyük fel a talajjal és a fallal alkotott metszéspontokba az \(A&#8217;, B&#8217;\) pontokat.</p>
<p><img title="IMG_0508[1]" src="http://csokavar.hu/files/IMG_05081.JPG" alt="IMG_0508[1]" width="100%" /></p>
<p>Kis trigonometrikus bűvészkedéssel \(A = (H_y\cos\alpha, 0)\), \(B=(0, H_y\sin\alpha)\), valamint \(A&#8217; = (H_x/\sin\alpha + H_y \cos\alpha, 0)\), \(B&#8217;=(0, H_x/\cos\alpha + H_y\sin\alpha)\). Az \(\overrightarrow{AB} = (-H_y \cos\alpha,  H_y \sin\alpha)\) óramutató járása szerinti 90 fokos elforgatásával és a hosszával való osztás után kapjuk az egyenes normálvektorát: \(\underline{n}=(\sin\alpha, \cos\alpha)\).</p>
\( e&#8217;: n_x(x-A&#8217;_x)+n_y(y-A&#8217;_y) = x\sin\alpha-H_x-H_y\sin\alpha \cos\alpha + y\cos\alpha=0\)
<p>Ez az egyenes normálvektoros egyenlete. Mivel az x és y együtthatójának négyzetösszege 1, az egyenlet bal oldalába helyettesítve a \((K_x, K_y)\) pont koordinátáit, éppen a pont és egyenes (előjeles) távolságát kapjuk. (Nem emlékszem hogy hívják az egyenesnek ezt a fajta egyenletét.)</p>
<p>Már csak azt kell kiderítenünk, hogy adott \(K_x\), \(K_y\), \(H_x\), \(H_y\) mellett van-e olyan \(\alpha\), amire a \(K_x\sin\alpha-H_x-H_y\sin\alpha \cos\alpha + K_y\cos\alpha &lt; 0\) feltétel teljesül.</p>
<p>Sajnos a feladatot analitikus eszközökkel nem lehet megoldani (legalábbis nem sikerült), de megoldható Maple-ben numerikus módon.</p>
<p>Egész pontosan a kiválasztott hűtők paramétereivel megkerestem a távolság minimumát a \([0,\pi/2]\) tartományban és megnéztem, hogy pozitív-e.</p>
<p>A végeredmény szerint választottunk hűtőt és bár hihetetlen, de tényleg befért, még szenvedni sem kellett vele.</p>
<h3>Breaking</h3>
<p>Megoldható a fenti csoda a tanges félszögekkel kapcsolatos azonosságok <a href="http://wj32.wordpress.com/2008/07/25/solving-simple-linear-trigonometric-equations-using-tangent-half-angle-formulae/">felhasználásával</a>. Ekkor egy negyedfokú egyenletre írható a fenti, onnan meg már&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://csokavar.hu/blog/2010/04/29/encse-gently/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Problem of the week &#8211; 9 Digit Problem</title>
		<link>http://csokavar.hu/blog/2010/04/20/problem-of-the-week-9-digit-problem/</link>
		<comments>http://csokavar.hu/blog/2010/04/20/problem-of-the-week-9-digit-problem/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 07:52:13 +0000</pubDate>
		<dc:creator>encse</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[geekség]]></category>

		<guid isPermaLink="false">http://csokavar.hu/?p=1775</guid>
		<description><![CDATA[I&#8217;ve posted the following challenge to the jokes list of our company the last week, and asked my collegaues to use their imagination and exploit as many programming languages as possible, the more exotic the better&#8230; Find a number consisting of 9 digits in which each of the digits from 1 to 9 appears only [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve posted the following challenge to the jokes list of our company the last week, and asked my collegaues to use their imagination and exploit as many programming languages as possible, the more exotic the better&#8230;</p>
<p><em>Find a number consisting of 9 digits in which each of the digits from 1  to 9 appears only once. This number must also satisfy these divisibility  requirements:</em></p>
<ol>
<li><em>The number should be divisible by 9.</em></li>
<li><em>If the rightmost digit is removed, the remaining number should be  divisible by 8.</em></li>
<li><em>If the rightmost digit of the new number is removed, the remaining  number should be divisible by 7.</em></li>
<li><em>And so on, until there&#8217;s only one digit (which will necessarily be  divisible by 1).</em></li>
</ol>
<p>A couple of solutions arived, mostly from Maya and Cactus. Right now we have programs written in C#, Perl, Haskell, XSLT and Maya took our very own intentional editor and our internal language called CL1 and solved the problem in that. It could cleary be written in a much better style, but hey&#8230; that&#8217;s not so bad.</p>
<p>See the list of solutions <a href="http://csokavar.hu/ninedigitproblem/">here</a>.</p>
<p>If you find that your favourite language is missing, don&#8217;t hesitate to share it with us, just provide a link to you solution, or copy the source code in the comment box below (bonus points for a Javascript XSS that works). I&#8217;m really longing for a version written in mod-rewrite and one with C++ template meta programming&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://csokavar.hu/blog/2010/04/20/problem-of-the-week-9-digit-problem/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>The name of the current drive</title>
		<link>http://csokavar.hu/blog/2010/03/08/getting-the-name-of-the-current-drive/</link>
		<comments>http://csokavar.hu/blog/2010/03/08/getting-the-name-of-the-current-drive/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 15:17:21 +0000</pubDate>
		<dc:creator>encse</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[geekség]]></category>

		<guid isPermaLink="false">http://csokavar.hu/?p=1751</guid>
		<description><![CDATA[I needed the current drive&#8217;s name (e.g. C:) in a windows shell environment, but there was no powershell around. Luckily, chdir returns the necessary info and the for /f command can be used as an awkward replacement for bash&#8217;s backtick. Putting it together, we get: for /f "tokens=1 delims=:" %a in ('chdir') do echo %a [...]]]></description>
			<content:encoded><![CDATA[<p>I needed the current drive&#8217;s name (e.g. C:) in a windows shell environment, but there was no powershell around.</p>
<p>Luckily, <strong>chdir</strong> returns the necessary info and the <strong>for /f</strong> command can be used as an awkward replacement for bash&#8217;s backtick.</p>
<p>Putting it together, we get:</p>
<pre>
for /f "tokens=1 delims=:" %a in ('chdir') do echo %a
</pre>
<p>in batch files, we have to double the %s i.e.:</p>
<pre>
for /f "tokens=1 delims=:" %%a in ('chdir') do echo %%a
</pre>
]]></content:encoded>
			<wfw:commentRss>http://csokavar.hu/blog/2010/03/08/getting-the-name-of-the-current-drive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Egy vektor, két feladat</title>
		<link>http://csokavar.hu/blog/2009/10/03/egy-vektor-ket-feladat/</link>
		<comments>http://csokavar.hu/blog/2009/10/03/egy-vektor-ket-feladat/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 08:32:52 +0000</pubDate>
		<dc:creator>encse</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[geekség]]></category>
		<category><![CDATA[logika]]></category>

		<guid isPermaLink="false">http://csokavar.hu/?p=1577</guid>
		<description><![CDATA[Adott egy elemű egész számokat tartalmazó vektor. 1. Adjuk meg azt a és indexet, ami maximalizálja a részvektort. Az algoritmus műveletideje legyen . 2. Válasszuk ki a vektor második legkisebb elemét összehasonlítással.]]></description>
			<content:encoded><![CDATA[<p>Adott egy \(n\) elemű egész számokat tartalmazó \(A\) vektor.<br />
1. Adjuk meg azt a \(P\) és \(Q\) indexet, ami maximalizálja a \(\sum_{i=P}^{Q}A[i]\) részvektort. Az algoritmus műveletideje legyen \(O(n)\).<br />
2. Válasszuk ki a vektor második legkisebb elemét \(n + O(log_{2}n)\) összehasonlítással.</p>
]]></content:encoded>
			<wfw:commentRss>http://csokavar.hu/blog/2009/10/03/egy-vektor-ket-feladat/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Madárvers</title>
		<link>http://csokavar.hu/blog/2009/09/24/madarvers/</link>
		<comments>http://csokavar.hu/blog/2009/09/24/madarvers/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 11:20:11 +0000</pubDate>
		<dc:creator>encse</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[geekség]]></category>
		<category><![CDATA[logika]]></category>

		<guid isPermaLink="false">http://csokavar.hu/?p=1560</guid>
		<description><![CDATA[Hétvégén egy mezőn jártam, néhány fával, mindegyiken több madárral. Több mint egy fa, már-már erdő, s mennyi madár, egész felhő. Járok-kelek, nézegetek. Számolgatok, jegyzetelek. Elámulok, mit álmodok? Minden fán ugyanannyi madár, összesen 200-300 is meglehet tán! Tovább bonyolódik az eset: pontos számukból a fák száma is meglehet.]]></description>
			<content:encoded><![CDATA[<p style="text-align: center">Hétvégén egy mezőn jártam,<br />
néhány fával, mindegyiken több madárral.<br />
Több mint egy fa, már-már erdő,<br />
s mennyi madár, egész felhő.<br />
Járok-kelek, nézegetek.<br />
Számolgatok, jegyzetelek.<br />
Elámulok, mit álmodok?<br />
Minden fán ugyanannyi madár,<br />
összesen 200-300 is meglehet tán!<br />
Tovább bonyolódik az eset:<br />
pontos számukból a fák száma is meglehet.</p>
]]></content:encoded>
			<wfw:commentRss>http://csokavar.hu/blog/2009/09/24/madarvers/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Hacktivity Wargame 2009</title>
		<link>http://csokavar.hu/blog/2009/09/20/hacktivity-2009/</link>
		<comments>http://csokavar.hu/blog/2009/09/20/hacktivity-2009/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 18:19:04 +0000</pubDate>
		<dc:creator>encse</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[geekség]]></category>
		<category><![CDATA[hacktivity]]></category>

		<guid isPermaLink="false">http://csokavar.hu/?p=1545</guid>
		<description><![CDATA[Idén is indultunk a Hacktivity Wargamen, a tavaly már jól bevált Cactus &#38; Encsé (The Intentionals) felállásban. Nyertünk, de most tényleg csak pár percen múlt az egész. Tegnap délután még úgy jöttünk el, hogy 22 ponttal első helyen állunk, az utánunk következőnek pedig csak 13 pontja volt. Jól is aludtunk, de reggel mikor bementem kiderült, [...]]]></description>
			<content:encoded><![CDATA[<p>Idén is indultunk a Hacktivity Wargamen, a tavaly már jól bevált Cactus &amp; Encsé (The Intentionals) felállásban. Nyertünk, de most tényleg csak pár percen múlt az egész. Tegnap délután még úgy jöttünk el, hogy 22 ponttal első helyen állunk, az utánunk következőnek pedig csak 13 pontja volt. Jól is aludtunk, de reggel mikor bementem kiderült, hogy az este folyamán egy csapat a nulláról eljutott 22 pontig.</p>
<p>Döntetlen volt a meccs reggel nyolckor, szerencsére az éjjel megoldottunk 4 másik feladatot is, így megint átvettük a vezetést. Utána semmit sem sikerült megoldani egészen délután 1-ig, a másik csapat közben egyenlített, de ekkor megint elhúztunk 3 ponttal. És aztán a verseny vége előtt fél órával megint utolértek&#8230; Már komolyan azon gondolkoztunk, hogy sniffelik a hálózatot, és a többiek megoldásait ellopva haladnak, mert hihetetlennek tűnt, hogy így fej-fej mellett haladunk. Végül kiderült, hogy heten(!) voltak a csapatban, és durván párhuzamosították a dolgokat.</p>
<p>Sikerült befutni az első helyre, a nyeremény egy XBox 360-as egy Guitar Hero játékkal. Holnap eldöntjük mi legyen a sorsa. Vagy kivásárolom Cactust, vagy eladjuk Vaterán, ha nincs rá más jelentkező&#8230;</p>
<p><img class="alignnone size-full wp-image-1553 picture" title="xbox360" src="http://csokavar.hu/files/2009/09/xbox360.jpg" alt="xbox360" width="300" height="300" /><img class="size-full wp-image-1554 picture" title="guitarhero" src="http://csokavar.hu/files/2009/09/guitarhero.jpg" alt="guitarhero" width="300" height="187" /></p>
<p>A feladatok nagyon jók voltak, és idén alig volt egy-két hibás feladvány. (Az ilyenek amúgy kurvára idegesítőek ám&#8230;) A három kedvencemet szeretném kiemelni:</p>
<p>1. Egy Javában írt applettel kellett Hanoi tornyait játszani, és ha sikerült átpakolni 10 korongot egyik rúdról a másikra, megkaptad a pályát megoldó kódot. Azt gondolhatnánk, hogy elég volt az appletet valahogy visszafejteni, és a kód is ott volt benne. De ennél ügyesebbek voltak a tervezők, mert a pályakódot a korongok átpakolási sorrendjéből számították ki. Tehát a megfejtéshez az eredeti problémát is mindenképp meg kellett oldani.</p>
<p>2. Blind SQL injection. Erről majd lesz egy külön bejegyzés, mert annyira tetszik. Még sosem csináltam ilyet, és kurva jónak találom a módszert. Leginkább a Vágó István-féle kérdezz-felelekre emlékeztet a dolog.</p>
<p>3. WEP-pel védett WIFI hálózat feltörése. Ez volt az egyetlen feladat, amire készültünk egy kicsit, mert még egyikünk sem csinált ilyesmit, és nem élőben akartuk megtanulni a dolgot. Nem nagy szám, bármely script kiddie képes rá, csak Linux alatt elindít néhány erre a célra kifejlesztett programot és vár, hogy feltörje. Mondjuk egy kis szerencse is kell hozzá, mert a program sajnos nem minden WIFI kártyát támogat, és ha nem ilyen van a gépedben, akkor esélyed sincs a dologra.</p>
<p>Összességében nagyon jó volt. Köszönet a szervezőknek, a szponzoroknak, a programozóknak és az üzemeltetőknek.</p>
<p><strong>Frissítés (szeptember 22.)<br />
</strong></p>
<p>Mégis inkább eladjuk az Xboxot, ha valakit érdekel, <a href="http://www.vatera.hu/uj_xbox_360_arcade_guitar_hero_metallica_153654359.html">itt</a> licitálhat rá, a bolti ár kb 90%-áért megkaphatja. Ha sikerül túladni rajta, a részemet egy Popcorn Hour C200-asba fogom fektetni, amit egyébként is vettem volna magamnak karácsonyra :) Köszönjük, hogy segítenek egy álom valóra váltásában (ez de nyálas lett).</p>
]]></content:encoded>
			<wfw:commentRss>http://csokavar.hu/blog/2009/09/20/hacktivity-2009/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

