<?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>Povilas Balzaravičius &#187; Kompiuterizmai</title>
	<atom:link href="http://pawka.linija.net/category/kompiuterizmai/feed/" rel="self" type="application/rss+xml" />
	<link>http://pawka.linija.net</link>
	<description>Geek.</description>
	<lastBuildDate>Thu, 01 Jul 2010 10:00:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Kompiuterių vardų ypatumai</title>
		<link>http://pawka.linija.net/2009/03/25/kompiuteriu-vardu-ypatumai/</link>
		<comments>http://pawka.linija.net/2009/03/25/kompiuteriu-vardu-ypatumai/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 19:43:57 +0000</pubDate>
		<dc:creator>Pawka</dc:creator>
				<category><![CDATA[Kompiuterizmai]]></category>
		<category><![CDATA[kompiuteris]]></category>
		<category><![CDATA[star wars]]></category>
		<category><![CDATA[vardai]]></category>

		<guid isPermaLink="false">http://pawka.linija.net/?p=411</guid>
		<description><![CDATA[Turite kompiuterį? Aš irgi. Esate jam davę kokį ypatingą vardą? Ar jis tiesiog vadinasi jūsų vardu ar kaip nors panašiai į &#8220;povilas-computer&#8221;? Spėju, dar ir priklauso daugiausiai vartotojų turinčiai grupei &#8220;WORKGROUP&#8221;.
Pavadinus savo kompiuterį kokio nors filmų herojaus vardu, jam daugiau megahercų nepridėsit (na, žinoma, nebent pavadinimas bus &#8220;Chuck Norris&#8221;, bet su šitu pavojinga). Tačiau taip [...]]]></description>
			<content:encoded><![CDATA[<p>Turite kompiuterį? Aš irgi. Esate jam davę kokį ypatingą vardą? Ar jis tiesiog vadinasi jūsų vardu ar kaip nors panašiai į &#8220;povilas-computer&#8221;? Spėju, dar ir priklauso daugiausiai vartotojų turinčiai grupei &#8220;WORKGROUP&#8221;.</p>
<p>Pavadinus savo kompiuterį kokio nors filmų herojaus vardu, jam daugiau megahercų nepridėsit (na, žinoma, nebent pavadinimas bus &#8220;Chuck Norris&#8221;, bet su šitu pavojinga). Tačiau taip suteiksit kažkokio stebuklingo savitumo, kurio visi nesąmoningai siekiame. Panašiai kaip ir dabalaukio fonas ar Ubuntu lipdukas ant skreitinuko :-). Vardų davimas kompiuteriams naudingesnis kontorose, turinčiose daug įrenginių. Taip kompiuterius galima lengviau identifikuoti tiek tinkle, tiek ir šnekamojoje kalboje. </p>
<p>Aš daug įrenginių neturiu, tačiau irgi mėgstu pakeitalioti pavadinimus savo techninei įrangai. Pamenu, viskas prasidėjo dar tais laikais, kai turėjau aparatą, kurio centrinis procesorius buvo silpnesnis už dabartinio mano telefono. Įsigijęs antrą kietąjį diską, įmontavęs į korpusą, daviau jam vardą <strong>X-Files</strong>. Tuo pat metu iškart pakeičiau ir kompiuterio vardą į <strong>FBI</strong>. Jaučiausi svarbus &#8211; gi ten turėjo būti sudėta ypač slapta informacija  :-) Teminiai vardai yra daug įdomesni, nes jie neatrodo visiškai &#8220;iš lempos&#8221;. Be to, įsigijus naują įrenginį, vardą jam sugalvoti tampa daug paprasčiau. Mano dabartinis <a href="http://pawka.linija.net/2008/05/07/naujasis-darbo-irankis-dell-vostro-1400/">Dell Vostro 1400</a> pavadintas <strong>Darth Vader</strong>. Atsidarius terminalo langą, pasitinka užrašas:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">pawka<span style="color: #000000; font-weight: bold;">@</span>darthvader:~$</pre></td></tr></table></div>

<p>Mano iPod&#8217;as sistemoje prisimountina <strong>Chewbacca</strong> vardu. Na o namų serveris, gavo <strong>Obi-Wan Kenobi</strong> vardą. Jau supratote iš kur traukiu šiuos visus vardus? Teisingai! Žvaigždžių karai! Kitas įrenginys bus <strong>r2d2</strong> arba <strong>C-3PO</strong>. Galvoju, ką tiktų pavadinti <strong>Princess Leia</strong>. Koks nors tinklo administratorius mane tikriausiai prakeiktų jei darbo kompiuterius pavadinčiau tokiais vardais, nes jie gal kiek per ilgi, tačiau man patinka :-) Egzistuoja netgi <a href="http://www.faqs.org/rfcs/rfc1178.html">RFC 1178</a>, aprašantis kaip parinkti teisingą vardą savo įrenginiams.</p>
<p>Na, o kaip jūs vadinate savo kompiuterius? Kokią schemą esate pasirinkę serverių pavadinimams?</p>
]]></content:encoded>
			<wfw:commentRss>http://pawka.linija.net/2009/03/25/kompiuteriu-vardu-ypatumai/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Naujasis darbo įrankis &#8211; Dell Vostro 1400</title>
		<link>http://pawka.linija.net/2008/05/07/naujasis-darbo-irankis-dell-vostro-1400/</link>
		<comments>http://pawka.linija.net/2008/05/07/naujasis-darbo-irankis-dell-vostro-1400/#comments</comments>
		<pubDate>Wed, 07 May 2008 06:09:45 +0000</pubDate>
		<dc:creator>Pawka</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Kompiuterizmai]]></category>

		<guid isPermaLink="false">http://pawka.linija.net/2008/05/07/naujasis-darbo-irankis-dell-vostro-1400/</guid>
		<description><![CDATA[Kadangi viena trečioji mano gyvenimo yra virtuali, po incidento teko kuo greičiau ieškotis naujojo darbo įrankio. Kurį laiką paturėjęs savo Acre&#8217;į, pamačiau jo blogąsias puses ir jau žinojau kokio daikto norėčiau. Acer&#8217;yje nepatiko plastmasių minkštumas. Taip pat norėjau didesnės skiriamosios gebos, 1280 ir 800 atrodė kiek mažokai. Žvilgsnis krypo ir į mažesnius nei 15,4&#8221; aparatus. [...]]]></description>
			<content:encoded><![CDATA[<p>Kadangi viena trečioji mano gyvenimo yra virtuali, po <a href="http://pawka.linija.net/2008/05/02/atsargiai-vagys/">incidento</a> teko kuo greičiau ieškotis naujojo darbo įrankio. Kurį laiką paturėjęs <a href="http://pawka.linija.net/2007/02/25/pamirsau-pasigirt-apsipirkau-kontuperi/">savo Acre&#8217;į</a>, pamačiau jo blogąsias puses ir jau žinojau kokio daikto norėčiau. Acer&#8217;yje nepatiko plastmasių minkštumas. Taip pat norėjau didesnės skiriamosios gebos, 1280 ir 800 atrodė kiek mažokai. Žvilgsnis krypo ir į mažesnius nei 15,4&#8221; aparatus. Apibendrinant, ieškojau nedidelio ir galingo :-) Paprasta. Rinkausi iš Dell produktų, kodėl &#8211; sakyti turbūt neverta. Sprendimą radau ganėtinai greitai &#8211; Dell Vostro 1400.</p>
<p><img src="http://farm3.static.flickr.com/2132/2463115677_299757ed10.jpg?v=0" alt="Dell Vostro 1400" /></p>
<ul>
<li>Core 2 Duo T5470 (1.6Ghz, 2MB L2 Cache, 800MHz FSB)</li>
<li>14,1&#8221; WXGA+ (1440&#215;900) TrueLife</li>
<li>2GB DDR2 667Mhz</li>
<li>128MB Nvidia Geforce 8400GS</li>
<li>160GB 5400RPM</li>
<li>4 USB lizdai</li>
<li>2.0 mega pixel webcam</li>
<li>WiFi, Ethernet, CD/DVD burner, etc&#8230;</li>
<li>Windows Vista Business</li>
<li>3 metų garantija</li>
<li>Svoris: 2,65 kg</li>
</ul>
<p>Jau kelias dienas džiaugiuosi naujuoju pirkiniu. Kompiuteris daug smagesnis, nei buvęs. Korpusas ir klaviatūra tvirti. Korpusas matinis, juodas. Ant viršaus lieka nežymūs pirštų antspaudai. Klaviatūra veikia tyliai, mygtukai patogūs ir vienodai reaguoja į paspaudimus. Atrodo tai turėtų būti savaime suprantama, tačiau kaikurių &#8220;minkšto&#8221; korpuso kompiuterių klaviatūrų mygtukai į paspaudimus reaguoja  nevienodai. Ekranas taip pat laikosi stabiliai. Tarp kitko pats ekranas uždarius nėra fiksuojamas fiksatoriais, kaip įprastai, tačiau laikosi vistiek laikosi stipriai. Be to, taip patogiau jį atversti. Nors ekrano istrižainė mažesnė nei buvusio, tačiau palaikoma maksimali rezoliucija didesnė (tai ir buvo vienas iš veiksnių, kodėl pasirinkau būtent šį modelį). Apžvalgos kampas ganėtinai didelis, ekranas ryškus. Integruotos web kameros vaizdo kokybė taip pat nudžiugino &#8211; tikėjausi prastesnių rezultatų, kadanors parodysiu. Integruotos garso kolonėlės nėra skirtos klausyti muzikai, tačiau filmams visai užtenka. Kokybė vėlgi geresnė nei Acer&#8217;io. Kompiuteris veikia tyliai, kaista mažai. 6 celių akumuliatorius veikia iki 4 valandų naudojant Windows Vista.</p>
<h3>Vostro ir Ubuntu</h3>
<p>Žinoma netrukus susiinstaliavau Ubuntu. Gaila, tačiau čia ne viskas vyko sklandžiai, kaip norėjau. Užkrovus sistemą iš Live CD, neveikė WiFi tinklo plokštė. Taip pat sistema neturėjo Geforce vaizdo tvarkyklių (parinko tvarkykles pagal nutylėjimą). Dėl WiFi išsiaiškinau, kad taip nutinka su visomis Broadcom tinklo plokštėmis. Pakako kompiuterį prijungti prie interneto įkišus kabelį ir Ubuntu automatiškai susirado reikiamas video ir tinklo tvarkykles. Kaltinti Ubuntu čia nėra ko, nes kūrėjai paprasčiausiai nededa neatviro kodo tvarkyklių į CD. Dar viena problema &#8211; Stand by ir Hibernate r<strike>ė</strike>ežimai. Nepavyksta pervesti kompiuterio į nei vieną iš jų. Pasirinkus, sistema uždaro grafinę sąsają ir galiausiai pakimba. Trumpai permečiau akimis forumus ir radau, jog tai Vostro problema. Kolkas sprendimo neieškojau.</p>
<p>Manau, kad labai neblogas pirkinys už puikią kainą. Jei sumanysite pirkti tokį patį, atkreipkite dėmesį į Vostro su Free DOS (žinoma, jei dar rasit). Sutaupysit 200 Lt.</p>
]]></content:encoded>
			<wfw:commentRss>http://pawka.linija.net/2008/05/07/naujasis-darbo-irankis-dell-vostro-1400/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>Kai laptope trūksta vietos&#8230;</title>
		<link>http://pawka.linija.net/2008/01/18/kai-laptope-truksta-vietos/</link>
		<comments>http://pawka.linija.net/2008/01/18/kai-laptope-truksta-vietos/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 14:33:15 +0000</pubDate>
		<dc:creator>Pawka</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Kompiuterizmai]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://pawka.linija.net/2008/01/18/kai-laptope-truksta-vietos/</guid>
		<description><![CDATA[Filmai, muzika (turiu įprotį rinkti diskografijas), dvi operacinės sistemos ir 100 gigabaitų kieto disko darosi mažokai. Stacionariam kompiuteriui užtektų tiesiog nupirkti papildomą kietą diską. Šiais laikais paplitusiuose midi tower korpusuose vietos jam tikrai atsirastų. Tuo tarpu nešiojamuose kompiuteriuose dažniausiai tektų keisti visą kietą diską į didesnį. Nežiūrint į tai, jų kietieji diskai yra mažesni (turiu [...]]]></description>
			<content:encoded><![CDATA[<p>Filmai, muzika (turiu įprotį rinkti diskografijas), dvi operacinės sistemos ir 100 gigabaitų kieto disko darosi mažokai. Stacionariam kompiuteriui užtektų tiesiog nupirkti papildomą kietą diską. Šiais laikais paplitusiuose midi tower korpusuose vietos jam tikrai atsirastų. Tuo tarpu nešiojamuose kompiuteriuose dažniausiai tektų keisti visą kietą diską į didesnį. Nežiūrint į tai, jų kietieji diskai yra mažesni (turiu galvoje ir talpą) ir brangesni. Kitas variantas &#8211; nusipirkti stacionaraus kompiuterio HDD ir jam skirtą išorinį stalčių (<em>case</em>), kuris jungiamas prie kompiuterio per USB. Šiomis dienomis kietieji diskai kainuoja nedaug 200-300 Lt už 320-400 Gb, o išorinis dėklas: ~100 Lt. Vakar pasiemiau 320 Gb HDD (400 jau nebebuvo), o prie jo prigriebiau ir <a href="http://www.coolermaster-europe.com/products/product.php?language=en&#038;act=detail&#038;tbcate=32&#038;id=3241">Cooler Master XCraft Lite</a> išorinį dėklą.</p>
<h3>Cooler Master XCraft Lite (RX-3SB)</h3>
<p>Kas įtakojo pasirinkti būtent šį produktą &#8211; negaliu tiksliai ir pasakyti. Tiesą sakant, nėra čia ką daug ir svarstyti &#8211; ieškojau SATA palaikymo ir dėmesį kreipiau į dizainą. Cooler Master produkcija pasižymi unikaliu dizainu, tad produkai traukia akį. Galima pasirinkti dėklo spalvą: juodą arba sidabrinį. Parsinešęs namo puoliau atlupinėt dėžę.</p>
<p><img src="http://farm3.static.flickr.com/2413/2201051077_12a8e32495_o.jpg" alt="Cooler Master XCraft Lite" /></p>
<p>Nustebino gausus priedų rinkinys. Į komplektą įėjo:</p>
<ul>
<li>XCraft Lite USB 2.0 dėklas 3.5&#8221; kietąjam diskui.</li>
<li>A-Male &#8211; B-Male USB 2.0 kabelis. 3 pėdų ilgio, tad kiek trumpokas.</li>
<li>eSata kabelis jungimui prie kompiuterio. Taip pat 3 pėdos.</li>
<li>SATA &#8211; eSATA išėjimo lizdas stacionariam kompiuteriui. Tvirtinamas galinėje sienelėje.</li>
<li>Aliumininė prie šono fiksuojama kojelė, norint diską laikyti vertikaliai.</li>
<li>Maitinimo kabelis.</li>
<li>Dvi fiksavimo plastmasės ploniems HDD.</li>
<li>CD su USB tvarkyklėmis (chi chi) ir kažkokia programine įranga.</li>
<li>Vartotojo vadovas.</li>
</ul>
<p><img src="http://farm3.static.flickr.com/2400/2201051089_36227a6a91_o.jpg" alt="XCraft Lite dėžės turinys" /></p>
<p>Programinės įrangos nebandžiau, nes ji skirta Windows OS. XCraft&#8217;as palaiko iki 500 Gb ir iki 10000 apsukų per minutę kietuosius diskus. Ant dėžutės parašytos palaikomos OS: Windows ir Mac. Įdomu kodėl neparašytas Linux palaikymas? :-) Įrenginio priekinėje sienelėje ir apačioje esančios grotelės leidžia vėsinti kietąjį diską ir apsaugo jį nuo kaitinimo. Tiesa, dėl to girdimi disko triukšmai, nes jis nėra pilnai izoliuotas. Pradžioje norint atidaryti dėklą reikėjo šiek tiek pastangų. Gale yra sidabrinis mygtukas, kurį paspaudus nusiema viršutinė dėklo dalis. Tada į vidų jau galima statyti kietąjį diską. Diskas užmaunamas ant mažų &#8220;vinukų&#8221; su spiruoklėmis. Uždarius dėklą, spiruoklės prispaudžia diską prie viršutinės dalies, o vinukai neleidžia jam slankioti. Diskas išlieka stabilus vartant patį dėklą. Po viršutiniu dangčiu yra užklijuota kažkokios termomedžiados juosta, kuri taip pat turėtų padėti vėsinti.</p>
<h3>Pajungimas</h3>
<p>Viską sujugus atėjo metas pirmam bandymui. Įjungiau maitinimą, įkišau USB laidą, laukiu kol Ubuntu automatiškai primountins diską. Nieko nevyksta. Pasileidau disko skirsnių editorių &#8211; GParted ir žiūriu ką turiu.</p>
<p><img src="http://farm3.static.flickr.com/2383/2201862872_f3cd212957.jpg?v=0" alt="GParted" /></p>
<p>Nieko nuostabaus, kad nebuvo automatiškai primountintas &#8211; pirmiausiai reik jį suformatuot. Jau esu perdaug pripratęs prie <em>flash</em> laikmenų. Sukūrus naują skirsnį, diskas atrandamas be jokių problemų, tačiau yra automatiškai prijungiamas /media/kažkas. Aš savo kompiuteryje diskus prijungiu $HOME direktorijoje esančiuose kataloguose &#8220;C&#8221;, &#8220;D&#8221; ir t.t. Taip būna daug patogiau juos pasiekti per terminalą. Todėl būtų labai patogu, kad ir šis būtų jungiamas tarkim prie ~/E katalogo. Tam užtenka sukurti nuorodą. Ant darbastalio atsiradusios disko ikonos spaudžiame dešinį pelės mygtuką, pasirenkame <em>properties</em>. Atsidariusiame lange pažiūrime kur prijungtas diskas, arba nurodome statinį prijungimo tašką:</p>
<p><img src="http://farm3.static.flickr.com/2106/2201862876_cd8dd21a24.jpg?v=0" alt="Mount point" /></p>
<p>Aš prijungimo tašką esu nurodęs kaip &#8220;E&#8221;, tad diskas jungiamas /media/E. Man daug patogiau kai diskai vadinami raidėmis. Pakeitimai įsigalios iš naujo prijungus diską. Galų gale telieka sukurti nuorodą iš savo $HOME katalogo į diską:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;">pawka<span style="color: #000000; font-weight: bold;">@</span>pawka-laptop:~$ <span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>media<span style="color: #000000; font-weight: bold;">/</span>E E</pre></td></tr></table></div>

<p>Štai ir viskas, diskas pasiekiamas iš namų katalogo, kaip ir visi kiti. Ateityje reikės su rsync sinchronizuoti laptope ir diske esančius dokumentus, bei projektus, bet apie tai kitą kartą. Šiuo metu naujasis pirkinys iš interneto gilumų po truputį kaupia visus šešis Ozo sezonus (34 Gb).</p>
]]></content:encoded>
			<wfw:commentRss>http://pawka.linija.net/2008/01/18/kai-laptope-truksta-vietos/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>TeleJazz laužimas SMS&#8217;ais</title>
		<link>http://pawka.linija.net/2007/11/02/telejazz-lauzimas-smsais/</link>
		<comments>http://pawka.linija.net/2007/11/02/telejazz-lauzimas-smsais/#comments</comments>
		<pubDate>Fri, 02 Nov 2007 01:12:30 +0000</pubDate>
		<dc:creator>Pawka</dc:creator>
				<category><![CDATA[Internetas]]></category>
		<category><![CDATA[Kompiuterizmai]]></category>

		<guid isPermaLink="false">http://pawka.linija.net/2007/11/02/telejazz-lauzimas-smsais/</guid>
		<description><![CDATA[Toks čia ir laužimas, tiesiog duomenų validacijos spraga. Šianakt nesimiega, tai vis dar tupiu lovoj su skreitinuku (taip rašosi?). Mėgstu kai fone veikia televizorius. Tokiu metu TV3 rodo kažkokią laidą, kur visokie iškrypeliai ir nepilnavetiškumo kompleksą turintys žmonės siunčia SMS ir bando susirast antrą pusę arba &#8220;V+V&#8221;. Fone pasodinta kažkokia pana ir daro šou: skaito [...]]]></description>
			<content:encoded><![CDATA[<p>Toks čia ir laužimas, tiesiog duomenų validacijos spraga. Šianakt nesimiega, tai vis dar tupiu lovoj su skreitinuku (taip rašosi?). Mėgstu kai fone veikia televizorius. Tokiu metu TV3 rodo kažkokią laidą, kur visokie iškrypeliai ir nepilnavetiškumo kompleksą turintys žmonės siunčia SMS ir bando susirast antrą pusę arba &#8220;V+V&#8221;. Fone pasodinta kažkokia pana ir daro šou: skaito horoskopus, sapnus aiškina, etc. Seniau buvo stengiamasi SMS žinutės kainą rašyti kuo mažesnėmis raidėmis, kad niekas nematytų, tačiau šiais laikais niekas taip nebedaro. Dabar egzistuoja dar geresnis būdas &#8211; kaina išvis nerašoma, o tiesiog pateikiamas svetainės adresas, kurioje &#8220;galite rasti žaidimo taisykles&#8221;.</p>
<p>Tas puslapis turbūt išvis nėra lankomas ir sukurtas tiesiog, kad būtų. Visgi kažkas mane patraukė ten pasižiūrėt ką jie ten gali rašyt. Atsivertęs aptikau <a href="http://www.telejazz.lt/index.php?Menu=72&#038;Category=147">vieną įdomų puslapį</a>, kuriame pateikiamas visų atėjusių SMS žinučių sąrašas. Atėjusi žinutė talpinama į duomenų bazę ir iškart rodoma, o per televizorių rodomos žinutės šiek tiek vėluoja. Tai leido daryti prielaidą, kad galbūt sąraše pateikiamos žinutės dar nėra patikrinamos? Ir kažkaip užnižo man nagai&#8230;</p>
<p>SMS #1: &#8220;&#60;b&#62;nieko neiesko, nes geria alu.&#8221;</p>
<p><a href="http://flickr.com/photo_zoom.gne?id=1817980739&#038;size=o"><img src="http://farm3.static.flickr.com/2313/1817980739_95ba8ddec3.jpg?v=0" alt="Hacking TeleJazz" /></a></p>
<p>Veikia, bet beveik nesimato. Gal padarom gražiau?<br />
SMS #2: &#8220;&#60;h1&#62;vis dar nieko neiesko, nes toliau geria alu.&#8221;</p>
<p><a href="http://flickr.com/photo_zoom.gne?id=1817980757&#038;size=o"><img src="http://farm3.static.flickr.com/2298/1817980757_803c1bd7e4.jpg?v=0" alt="Hacking TeleJazz" /></a></p>
<p>O kaip su JavaScript&#8217;u?<br />
SMS #3: &#8220;&#60;script&#62;alert(&#8217;alaus?&#8217;);&#60;/script&#62;&#8221;</p>
<p><a href="http://flickr.com/photo_zoom.gne?id=1817980777&#038;size=o"><img src="http://farm3.static.flickr.com/2138/1817980777_e3449d1324.jpg?v=0" alt="Hacking TeleJazz" /></a></p>
<p>Tai va. O viso šito moralas toks, kad reikia validuoti įeinančius duomenis nepriklausomai nuo to, ar jie ateina iš html formos, ar sms&#8217;u. &#8220;Koks durnius sugalvotų siųsti JavaScript&#8217;ą SMS&#8217;ais?&#8221; Iškart po atradimo parašiau laišką ir pranešiau apie klaidą. Kaip tyrimo kompensaciją (3 SMS&#8217;ai po du litu), gražiai paprašiau padovanoti kažkokį TeleJazz puoduką, kurį šianakt labai reklamavo, bet kažin. :-) Nors aš jų vietoj netaisyčiau klaidos, o palikčiau pasižaist kitiems. Vis keletą litų prisirinks.</p>
]]></content:encoded>
			<wfw:commentRss>http://pawka.linija.net/2007/11/02/telejazz-lauzimas-smsais/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Jūsų TOP 10 dažniausiai naudojamų konsolės komandų</title>
		<link>http://pawka.linija.net/2007/11/02/jusu-top-10-dazniausiai-naudojamu-konsoles-komandu/</link>
		<comments>http://pawka.linija.net/2007/11/02/jusu-top-10-dazniausiai-naudojamu-konsoles-komandu/#comments</comments>
		<pubDate>Thu, 01 Nov 2007 23:17:53 +0000</pubDate>
		<dc:creator>Pawka</dc:creator>
				<category><![CDATA[Kompiuterizmai]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[command-line]]></category>

		<guid isPermaLink="false">http://pawka.linija.net/2007/11/02/jusu-top-10-dazniausiai-naudojamu-konsoles-komandu/</guid>
		<description><![CDATA[Čia dar viena ekshibicionizmo apraiška. Kažkada ir kažkur (berods Ubuntuforums) buvau aptikęs įrašą, kuriame žmonės rašė savo dažniausiai naudojamas Linux konsolės komandas. Pati idėja pasirodė labai įdomi, nežiūrint į tai, kad perskaičius akimis permetus apie 10 kitų varototojų įrašų, tai pasidaro nuobodu. Bet kokiu atveju, įdomu sužinoti pačiam ką dažniausiai rašai terminale. Pabandom? Kas nori, [...]]]></description>
			<content:encoded><![CDATA[<p>Čia dar viena ekshibicionizmo apraiška. Kažkada ir kažkur (berods <a href="http://ubuntuforums.org/">Ubuntuforums</a>) buvau aptikęs įrašą, kuriame žmonės rašė savo dažniausiai naudojamas Linux konsolės komandas. Pati idėja pasirodė labai įdomi, nežiūrint į tai, kad <strike>perskaičius</strike> akimis permetus apie 10 kitų varototojų įrašų, tai pasidaro nuobodu. Bet kokiu atveju, įdomu sužinoti pačiam ką dažniausiai rašai terminale. Pabandom? Kas nori, gali skaičiuoti mintinai, o aš pasirašiau tokią eilutę:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">history</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $2}'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sort</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">uniq</span> <span style="color: #660033;">-c</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sort</span> <span style="color: #660033;">-nr</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">head</span> <span style="color: #660033;">-n10</span></pre></td></tr></table></div>

<p>Tiesiog nukopijuokite ją į savo terminalą ir &#8220;Enter&#8221;. Išvysite savo dažniausiai naudojamų konsolės komandų dešimtuką. Taip taip, žinau, kad &#8220;head&#8221; komanda pagal nutylėjimą duoda 10 pirmų įrašų, tačiau parametrą &#8220;-n&#8221; čia nurodžiau specialiai tiems, kurie norės peržiūrėti daugiau komandų. O štai ką gavau aš:</p>
<ul>
<li><strong>94 cd</strong> &#8211; Dažnai vaikštau po direktorijas&#8230;</li>
<li><strong>88 ls</strong> &#8211; &#8230; ir žiūriu ką jose turiu.</li>
<li><strong>51 sudo</strong> &#8211; Dažnokai prireikia administratoriaus teisių.</li>
<li><strong>38 java</strong> &#8211; Leidžiu (bandau leisti?) Java aplikacijas&#8230;</li>
<li><strong>36 javac</strong> &#8211; &#8230;o kartais jas ir kompiliuoju.</li>
<li><strong>17 svn</strong> &#8211; Versijų kontrolės sistema.</li>
<li><strong>12 ssh</strong> &#8211; SSH klientas.</li>
<li><strong>11 php</strong> &#8211; Šitą dažniausiai naudoju <em>Interactive</em> rėžimu (su parametru &#8220;-a&#8221;: php -a).</li>
<li><strong>10 man</strong> &#8211; RTFM!</li>
<li><strong>9 rm</strong> &#8211; Trinu šiukšles.</li>
</ul>
<p>Kol rašiau tą stebuklingąją bash eilutę, į topą įlindo &#8220;history&#8221; komanda, tad jos sąmoningai neskaičiavau. Dabar jūsų eilė!</p>
]]></content:encoded>
			<wfw:commentRss>http://pawka.linija.net/2007/11/02/jusu-top-10-dazniausiai-naudojamu-konsoles-komandu/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Windows Vista bajeriai</title>
		<link>http://pawka.linija.net/2007/08/09/windows-vista-bajeriai/</link>
		<comments>http://pawka.linija.net/2007/08/09/windows-vista-bajeriai/#comments</comments>
		<pubDate>Thu, 09 Aug 2007 08:28:08 +0000</pubDate>
		<dc:creator>Pawka</dc:creator>
				<category><![CDATA[Kompiuterizmai]]></category>
		<category><![CDATA[Niekalai]]></category>
		<category><![CDATA[Visi]]></category>

		<guid isPermaLink="false">http://pawka.linija.net/2007/08/09/windows-vista-bajeriai/</guid>
		<description><![CDATA[Darbe pateikė man kompą su Windows Vista. Taip ir prasidėjo mano pirmoji pažintis su šia OS. Pačią pirmą dieną buvau nustebintas (jei nesimato klaidos pranešimas, paspauskite ant paveiksliuko, kad pamatytumėte didesnę versiją):

&#8220;Error: The operation completed successfully&#8221; išgavau instaliuodamas Apache serverį :-) Kažko Vistai nepatinka ta Apache&#8217;o ikona, kuri turėtų būti system tray&#8217;uje.
]]></description>
			<content:encoded><![CDATA[<p>Darbe pateikė man kompą su Windows Vista. Taip ir prasidėjo mano pirmoji pažintis su šia OS. Pačią pirmą dieną buvau nustebintas (jei nesimato klaidos pranešimas, paspauskite ant paveiksliuko, kad pamatytumėte didesnę versiją):</p>
<p><a href="http://flickr.com/photo_zoom.gne?id=1051341452&#038;size=o"><img src="http://farm2.static.flickr.com/1128/1051341452_e179b0b578.jpg?v=0" alt="Vista Works Perfectly" /></a></p>
<p><a href="http://flickr.com/photo_zoom.gne?id=1051341452&#038;size=o">&#8220;Error: The operation completed successfully&#8221;</a> išgavau instaliuodamas Apache serverį :-) Kažko Vistai nepatinka ta Apache&#8217;o ikona, kuri turėtų būti system tray&#8217;uje.</p>
]]></content:encoded>
			<wfw:commentRss>http://pawka.linija.net/2007/08/09/windows-vista-bajeriai/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Ubuntu: atsinaujinau į Feisty 7.04</title>
		<link>http://pawka.linija.net/2007/04/23/ubuntu-atsinaujinau-i-feisty-704/</link>
		<comments>http://pawka.linija.net/2007/04/23/ubuntu-atsinaujinau-i-feisty-704/#comments</comments>
		<pubDate>Mon, 23 Apr 2007 16:10:17 +0000</pubDate>
		<dc:creator>Pawka</dc:creator>
				<category><![CDATA[Kompiuterizmai]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[7.04]]></category>
		<category><![CDATA[Feisty]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://pawka.linija.net/2007/04/23/ubuntu-atsinaujinau-i-feisty-704/</guid>
		<description><![CDATA[Naujos Ubuntu Feisty 7.04 versijos išleidimas www.ubuntu.com puslapiui buvo tolygus denial of service atakai. Kiekvienas bandęs jį atsiversti, tiesiogiai prisidėjo prie atakos :) Puslapis nebuvo tinkamas naudoti beveik visą dieną, tačiau pasirodyti naująjai Ubuntu versijai tai nesutrukdė. Dienos viduryje pasirodė Feisty&#8217;čio image&#8217;ai ir torrentai. Palaukęs vakaro, užstačiau distribucijos atnaujinimą ir nuėjau miegot.
Kelias dienas panaudojęs naująją [...]]]></description>
			<content:encoded><![CDATA[<p>Naujos Ubuntu Feisty 7.04 versijos išleidimas <a href="http://www.ubuntu.com/">www.ubuntu.com</a> puslapiui buvo tolygus <em>denial of service</em> atakai. Kiekvienas bandęs jį atsiversti, tiesiogiai prisidėjo prie atakos :) Puslapis nebuvo tinkamas naudoti beveik visą dieną, tačiau pasirodyti naująjai Ubuntu versijai tai nesutrukdė. Dienos viduryje pasirodė Feisty&#8217;čio image&#8217;ai ir torrentai. Palaukęs vakaro, užstačiau distribucijos atnaujinimą ir nuėjau miegot.</p>
<p>Kelias dienas panaudojęs naująją versiją, galiu šiek tiek apibendrinti pliusus. Pilnas &#8220;whats new&#8221; guli <a href="http://www.ubuntu.com/getubuntu/releasenotes/704tour">čia</a>, tad viskas toliau tik iš mano pusės. Kaip ir <a href="http://www.pocius.lt/ubuntu-704-feisty-fawn.html">visi</a> laptopininkai, turbūt pirmiausiai pastebėjau naująjį network manager&#8217;į, bei integruotą WPA kodavimo palaikymą. Dabar kompiuteris gali nuolat veikti roaming&#8217;o būdu, o perjunginėti tinklus tapo daug paprasčiau.</p>
<p><a href="http://flickr.com/photos/pawka/470012328/"><img src="http://farm1.static.flickr.com/195/470012328_0abd828c85.jpg?v=0" alt="Feisty network manager" /></a></p>
<p>Seniai to reikėjo, nes anksčiau tekdavo naudotis &#8220;iwlist scan&#8221;, o WPA taip ir nebuvau prisivertęs susitvarkyt. Kitas puikus dalykas, kuris nudžiugino šiandien &#8211; žymiai sumažėjęs energijos vartojimas, tad nešiojamo kompiuterio baterija veikia ilgiau. Gerokai ilgiau, netgi ilgiau, nei dirbant su Windows :) Nežinau, galbūt čia tik sutapimas, tačiau panašiomis sąlygomis ankščiau mano laptopas ištverdavo maždaug valanda trumpiau. Disk Usage Analyzer irgi neblogas dalykas, nors ir nėra būtinas. Tačiau kai pritrūksiu vietos, pradėsiu žvalgytis kurį didesnį gabalą disko pratrynus :)</p>
<p><a href="http://flickr.com/photos/pawka/470034004/"><img src="http://farm1.static.flickr.com/181/470034004_57b5afb384.jpg?v=0" alt="Ubuntu Feisty 7.04 Disk Usage Analyzer tool" /></a></p>
<p>Naujojoje versijoje pilna dar visokio gėrio, tačiau man kolkas jo panaudoti neteko, nes naudoju ne šviežiai suinstaliuotą distribuciją, tad viską kaip ir susitvarkęs. Tačiau šviežiai instaliavus Ubuntu, visi šie nauji dalykėliai nemažai pagelbės. Po atnaujinimo didesnių nesklandumų neiškilo, tik vat <em>hda</em> tapo <em>sda</em> :) Nežinau kodėl taip nutiko, bet matyt čia jau kernelio ypatumai.</p>
]]></content:encoded>
			<wfw:commentRss>http://pawka.linija.net/2007/04/23/ubuntu-atsinaujinau-i-feisty-704/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Skype virusas</title>
		<link>http://pawka.linija.net/2007/04/15/skype-virusas/</link>
		<comments>http://pawka.linija.net/2007/04/15/skype-virusas/#comments</comments>
		<pubDate>Sun, 15 Apr 2007 19:14:34 +0000</pubDate>
		<dc:creator>Pawka</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Internetas]]></category>
		<category><![CDATA[Kompiuterizmai]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Visi]]></category>

		<guid isPermaLink="false">http://pawka.linija.net/2007/04/15/skype-virusas/</guid>
		<description><![CDATA[Šiandien nepaprastu greičiu pradėjo plisti naujas Skype virusas, siūlantis kažkokios Sandros papus. Kaip skitzo iš IRC sakė: &#8220;nebutu sake kad papai nebuciau spaudes :D&#8221;. Vieną minutę užmetęs akį į X-Chat&#8217;ą nesupratau apie kokius papus ten šneka, o jau kitą &#8211; gavau pasiūlymą pasižiūrėti pats. Žinutės turinys maždaug toks (gavau keletą skirtingų variantų):

[21:35:40] … kaip tau tokia? :d
[21:35:40] … paziurek [...]]]></description>
			<content:encoded><![CDATA[<p>Šiandien nepaprastu greičiu pradėjo plisti naujas Skype virusas, siūlantis kažkokios Sandros papus. Kaip skitzo iš IRC sakė: &#8220;nebutu sake kad papai nebuciau spaudes :D&#8221;. Vieną minutę užmetęs akį į X-Chat&#8217;ą nesupratau apie kokius papus ten šneka, o jau kitą &#8211; gavau pasiūlymą pasižiūrėti pats. Žinutės turinys maždaug toks (gavau keletą skirtingų variantų):</p>
<blockquote><p>
[21:35:40] … kaip tau tokia? :d<br />
[21:35:40] … paziurek kokia foto andrius atsiunte<br />
[21:35:45] … bet cia nesveikai<br />
[21:35:49] … [cenzūra]sandra.jpg<br />
[21:35:49] … [cenzūra]sandra.jpg<br />
[21:35:50] … oi netau cia turejo but sory<br />
[21:35:53] … (rofl)<br />
[21:35:55] … :)
</p></blockquote>
<p>Žiūrim ką turim</p>
<blockquote><p>
pawka@pawka-laptop:~/Desktop$ wget [cenzūra]sandra.jpg<br />
&#8211;21:51:39&#8211;  [cenzūra]sandra.jpg<br />
           => `sandra.jpg&#8217;<br />
Resolving www.[cenzūra].ru&#8230; [cenzūra]<br />
Connecting to www.[cenzūra].ru|[cenzūra]|:80&#8230; connected.<br />
HTTP request sent, awaiting response&#8230; 301 Moved Permanently<br />
Location: [cenzūra]/sandra.scr [following]<br />
&#8211;21:51:40&#8211; [cenzūra]/sandra.scr<br />
           => `sandra.scr&#8217;<br />
Resolving pasidulkinam.com&#8230; 77.232.72.67<br />
Connecting to pasidulkinam.com|77.232.72.67|:80&#8230; connected.<br />
HTTP request sent, awaiting response&#8230; 200 OK<br />
Length: 179,328 (175K) [text/plain]</p>
<p>100%[========================================================>] 179,328      131.73K/s</p>
<p>21:51:42 (131.46 KB/s) &#8211; `sandra.scr&#8217; saved [179328/179328]
</p></blockquote>
<p>Ir gaunam sandra.scr, kas ir yra virusas. Operuot neoperavau, kaip pašalint &#8211; tiksliai nežinau, nes nesirgau. Girdėjau, kad jis lyg įsirašo į temp katalogą ar tai Windows/system32/. Tad darot maždaug taip:</p>
<ul>
<li>Į run (iš start meniu) lauką įsirašot &#8220;msconfig&#8221;</li>
<li>Išsiimat iš start-up&#8217;o ko nereik, t.y. &#8220;Windows/system32/skype.exe&#8221;.</li>
<li>Per search&#8217;ą sistemoje susirandat *.pf failus ir juos šalinat lauk.</li>
<li>Rekomenduojama švariai ištrinti ir perinstaliuoti Skype.</li>
</ul>
<p>Pamenu kai panašūs dalykai dėdavosi IRC. Dabar Aitvaro komanda neblogai dirba ir tiesiog užmeta autokill&#8217;ą vartotojams, kurie parašo kokio nors kenksmingo puslapio adresą (pats iš smalsumo gavau killą, kai darbe pabandžiau parašyt sau į privatą vieną adresą ir pažiūrėt kas bus :-)). Todėl tokiems dalykams ilgai plisti IRC paprasčiausiai nėra sąlygų. O kaip bus su Skype?</p>
]]></content:encoded>
			<wfw:commentRss>http://pawka.linija.net/2007/04/15/skype-virusas/feed/</wfw:commentRss>
		<slash:comments>53</slash:comments>
		</item>
		<item>
		<title>Evolution sinchronizacija su Google Calendar @ Ubuntu</title>
		<link>http://pawka.linija.net/2007/01/11/evolution-sinchronizacija-su-google-calendar-ubuntu/</link>
		<comments>http://pawka.linija.net/2007/01/11/evolution-sinchronizacija-su-google-calendar-ubuntu/#comments</comments>
		<pubDate>Thu, 11 Jan 2007 11:28:23 +0000</pubDate>
		<dc:creator>Pawka</dc:creator>
				<category><![CDATA[Howto]]></category>
		<category><![CDATA[Kompiuterizmai]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Visi]]></category>
		<category><![CDATA[Evolution]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Calendar]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://pawka.linija.net/2007/01/11/evolution-sinchronizacija-su-google-calendar-ubuntu/</guid>
		<description><![CDATA[Nieko naujo neišradau, tiesiog aptikau labai smagų dalykėlį. Apskritai nemėgstu naudoti visokių mail-calendar programų (a la Outlook, Thunderbird, Evolution, &#8230;). Galbūt tiesiog neturėjau būtinybės jas naudoti. Man geriausias kalendorius &#8211; Google Calendar, o geriausias el. pašto klientas &#8211; Gmail. Tačiau kažkaip instinktyviai-intuityviai sugalvojau pabandyti susinchronizuoti savo Google Calendar su standartiniu Gnome el. pašto klientu &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>Nieko naujo neišradau, tiesiog aptikau labai smagų dalykėlį. Apskritai nemėgstu naudoti visokių mail-calendar programų (a la Outlook, Thunderbird, Evolution, &#8230;). Galbūt tiesiog neturėjau būtinybės jas naudoti. Man geriausias kalendorius &#8211; <a href="http://calendar.google.com/">Google Calendar</a>, o geriausias el. pašto klientas &#8211; <a href="http://gmail.com/">Gmail</a>. Tačiau kažkaip instinktyviai-intuityviai sugalvojau pabandyti susinchronizuoti savo Google Calendar su standartiniu <a href="http://www.gnome.org/">Gnome</a> el. pašto klientu &#8211; <a href="http://www.gnome.org/projects/evolution/">Evolution</a>.</p>
<p>Visų pirma, reikia nusikopijuoti konkretaus kalendoriaus adresą. Tam Google kalendoriuje atidarome kalendorių tvarkymą (<em>manage calendars</em>). Iš kalendorių sąrašo pasirenkame kokį kalendorių norime įtraukti. Atvėrus kalendoriaus tvarkymo puslapį, pasirenkam Pirvate iCal adresą ir jį nusikopijuojame.</p>
<p><a href="http://www.flickr.com/photos/pawka/353584226/"><img src="http://farm1.static.flickr.com/146/353584226_aeb947ab7b.jpg?v=0" alt="Google Calendar" /></a></p>
<p>Dabar įkelsim jį į Evolution&#8217;ą. Pasileidę programą, atsidarome kalendoriaus rėžimą ir pasirenkame kurti naują kalendorių. Parinkę kalendoriaus tipą &#8220;Web Calendar&#8221;. Į tam skirtą vietą įterpiame, anksčiau nukopijuotą, kalendoriaus iCal adresą. Nusistatom kitas opcijas ir viskas. Analogiškai susikeliam kitus kalendorius.</p>
<p><a href="http://www.flickr.com/photos/pawka/353584227/"><img src="http://farm1.static.flickr.com/127/353584227_c2aef998b7.jpg?v=0" alt="Evolution" /></a></p>
<p>Gaila, bet kalendorius veikia tik skaitymo rėžimu, tad visus redagavimo darbus turėsit toliau atlikti naudodamiesi naršykle. Jei tuo viskas ir užsibaigtų, nebūčiau taip apsidžiaugęs ir turbūt netgi viso šito nenaudočiau. Bet dabar smagiausia dalis. Visi Evolution&#8217;o kalendoriaus įrašai automatiškai rodomi Gnome kalendoriuje:</p>
<p><a href="http://www.flickr.com/photos/pawka/353584228/"><img src="http://farm1.static.flickr.com/153/353584228_36681c0c02.jpg?v=0" alt="Gnome Calendar" /></a></p>
<p>Nors tai nėra padaryta idealiai, teksto dalis nukerpama ir nerodoma jokiam pop-up&#8217;e, tačiau vistiek patogu. Nereik kiekvieną kartą krautis naršyklės, norint peržvelgt dienotvarkę. Žodžiu, jūzeful.</p>
<p>P.S. Žinau žinau, straipsnio pavadinimas nevisai tikslus. Tačiau kaižkaip vietoj &#8220;Linux&#8221; ar &#8220;Gnome&#8221; instinktyviai įrašiau Ubuntu :-) Vistiek gi supratot :-P</p>
]]></content:encoded>
			<wfw:commentRss>http://pawka.linija.net/2007/01/11/evolution-sinchronizacija-su-google-calendar-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bėdos su dinaminiu DLL užkrovimu su C++</title>
		<link>http://pawka.linija.net/2006/12/17/bedos-su-dinaminiu-dll-uzkrovimu-su-c/</link>
		<comments>http://pawka.linija.net/2006/12/17/bedos-su-dinaminiu-dll-uzkrovimu-su-c/#comments</comments>
		<pubDate>Sun, 17 Dec 2006 09:36:08 +0000</pubDate>
		<dc:creator>Pawka</dc:creator>
				<category><![CDATA[Kompiuterizmai]]></category>
		<category><![CDATA[Mokslai]]></category>
		<category><![CDATA[Programavimas]]></category>
		<category><![CDATA[Visi]]></category>

		<guid isPermaLink="false">http://pawka.linija.net/2006/12/17/bedos-su-dinaminiu-dll-uzkrovimu-su-c/</guid>
		<description><![CDATA[Gaminu čia mokslams tokį kursinį. Semestro darbas. Nors pradžioje turėjom vilčių pradėt (ir užbaigt) kuo anksčiau, bet va, mokslų liko tik viena savaitė, o mūsų projektas dar neužbaigtas. Norėjosi geriau, gavosi kaip visada. Žodžiu, reikia parašyti programą, dirbančią su aprašytomis schemomis. Nusprendžiau, kad bus labai gražu ir patogu duotas schemas sukompiliuoti į DLL failus, o [...]]]></description>
			<content:encoded><![CDATA[<p>Gaminu čia mokslams tokį kursinį. Semestro darbas. Nors pradžioje turėjom vilčių pradėt (ir užbaigt) kuo anksčiau, bet va, mokslų liko tik viena savaitė, o mūsų projektas dar neužbaigtas. Norėjosi geriau, gavosi kaip visada. Žodžiu, reikia parašyti programą, dirbančią su aprašytomis schemomis. Nusprendžiau, kad bus labai gražu ir patogu duotas schemas sukompiliuoti į DLL failus, o paskui, programos vykdymo eigoje, vartotojas (aka dėstytojas) galės pasirinkti schemą. Vakar teko užtektinai su tuo pasikrušti. Pagal visus oficialius ir neoficialius pavyzdžius NIEKAIP nepavyko suprograminti, kad DLL&#8217;as būtų užkraunamas dinamiškai.</p>
<p>Anot visokių wikipedijų ir MSDN&#8217;ų, apsirašom DLL&#8217;ą maždaug taip:</p>
<p><code><br />
#include  &#060;windows .h&#062;</p>
<p>BOOL APIENTRY DllMain(HANDLE hModule, DWORD dwReason, LPVOID lpReserved)<br />
{<br />
 &nbsp; &nbsp; return TRUE;<br />
}</p>
<p>//Eksportuojam funkciją.<br />
extern "C" __declspec(dllexport) int test()<br />
{<br />
 &nbsp; &nbsp; return 123;<br />
}<br />
</code></p>
<p>Sukompiliuosim ir turėsim DLL&#8217;ą su labai reikalinga funkcija test(), kuri grąžins 123 :-) Dabar galim bandyti naudoti šį kūrinį statiškai (bandžiau įsitikinti ar veikia).</p>
<p><code><br />
#include &#060;windows .h&#062;<br />
#include &#060;iostream&#062;</p>
<p>//Importuojam funkciją.<br />
extern "C" __declspec(dllimport)int test();</p>
<p>int main(int argc, char **argv)<br />
{<br />
 &nbsp; &nbsp; int tmp = test();<br />
 &nbsp; &nbsp; std::cout < < tmp << endl;<br />
 &nbsp; &nbsp; return 0;<br />
}<br />
</code></p>
<p>Viskas kaip ir OK, veikė kuo puikiausiai (į projektą įtraukus *.lib). Reiškia DLL'as gyvas. Bet kadangi mano užduočiai statinis variantas netiko, nes schemų gali būti bet kokių ir bet kiek, tai reikėjo rinktis dinaminį DLL užkrovimą. Maždaug pasirenku kokį noriu failą, jis patikrinamas ar tai būtent schemos failas (ar turi reikiamus metodus), jei viskas tvarkoj - naudojam. Viso šito sourcas toks:</p>
<p></code><code><br />
#include &#060;windows .h&#062;<br />
#include &#060;iostream&#062;</p>
<p>//Būsimos funkcijos aprašas.<br />
typedef int (*importFunction)();</p>
<p>int main(int argc, char **argv)<br />
{<br />
 &nbsp; &nbsp; importFunction test;<br />
 &nbsp; &nbsp; int result;</p>
<p> &nbsp; &nbsp; //Užkraunam DLL'ą.<br />
 &nbsp; &nbsp; HINSTANCE hinstLib = LoadLibrary("ManoDLL.dll");<br />
 &nbsp; &nbsp; if (hinstLib == NULL)<br />
 &nbsp; &nbsp; {<br />
 &nbsp; &nbsp;  &nbsp; &nbsp; std::cout < < "ERROR: unable to load DLL" << endl;<br />
 &nbsp; &nbsp;  &nbsp; &nbsp; return 1;<br />
 &nbsp; &nbsp; }<br />
 &nbsp; &nbsp; // Gaunam rodyklę į funkciją.<br />
 &nbsp; &nbsp; test = (importFunction)GetProcAddress(hinstLib, "test");<br />
 &nbsp; &nbsp; //Tikrinam ar funkcija egzistuoja.<br />
 &nbsp; &nbsp; if (test == NULL)<br />
 &nbsp; &nbsp; {<br />
 &nbsp; &nbsp;  &nbsp; &nbsp; std::cout << "ERROR: unable to find DLL function" << endl;<br />
 &nbsp; &nbsp;  &nbsp; &nbsp; FreeLibrary(hinstLib);<br />
 &nbsp; &nbsp;  &nbsp; &nbsp; return 1;<br />
 &nbsp; &nbsp; }<br />
 &nbsp; &nbsp; result = test();<br />
 &nbsp; &nbsp; // Iškraunam DLL'ą iš atminties.<br />
 &nbsp; &nbsp; FreeLibrary(hinstLib);<br />
 &nbsp; &nbsp; std::cout << "The result was: " << result << endl;<br />
 &nbsp; &nbsp; return 0;<br />
}<br />
</code></p>
<p>Va čia ir prasidėjo bėdos. DLL'as būdavo užkraunamas, tačiau GetProcAddress vis nesugebėdavo atrinkti reikiamo metodo. Kas man iš to dll'o jei negaliu naudot jo metodų? Buvo siūlymų prie metodo eksportinimo darašyt <strong>cdecl</strong>, tačiau tai nepadėjo. Po kelių valandų bandymų ir ieškojimų <a href="http://www.digitalmars.com/d/archives/c++/windows/32-bits/763.html">išradau</a>, jog DLL'e aprašant funkciją, reik prirašyt <a href="http://msdn2.microsoft.com/en-us/library/zxk0tw93.aspx">__stdcall</a>:</p>
<p></code><code><br />
//Eksportuojam funkciją.<br />
extern "C" __declspec(dllexport) int <strong>__stdcall</strong> test()<br />
{<br />
 &nbsp; &nbsp; return 123;<br />
}<br />
</code></p>
<p>Dabar viskas veikia kuo puikiausiai :-) Daugiau info <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/using_dynamic_link_libraries.asp">MSDN&#8217;e</a> ir <a href="http://en.wikipedia.org/wiki/Dynamic_link_library">Wikipedijoj</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://pawka.linija.net/2006/12/17/bedos-su-dinaminiu-dll-uzkrovimu-su-c/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
