<?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>Piotr Sikora (ViruS)</title>
	<atom:link href="http://blog.piotrsikora.pl/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.piotrsikora.pl</link>
	<description>Jeszcze jeden tech blog</description>
	<lastBuildDate>Mon, 19 Jul 2010 09:59:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Hostv.pl &#8211; taniej</title>
		<link>http://blog.piotrsikora.pl/20/hostv-pl-taniej</link>
		<comments>http://blog.piotrsikora.pl/20/hostv-pl-taniej#comments</comments>
		<pubDate>Mon, 19 Jul 2010 09:58:23 +0000</pubDate>
		<dc:creator>virus</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[hostv]]></category>

		<guid isPermaLink="false">http://blog.piotrsikora.pl/?p=20</guid>
		<description><![CDATA[Po długim procesie tentegowania w głowie doszedłem do wniosku który ucieszy moich znajomych z mniejszymi stronkami.
Przeliczylem jeszcze raz wszystko, wykalkulowałem i wyklikałem osobną część systemu przeznaczoną na mniej wymagające strony.
Teraz są osobne konta, tańsze , ale za to bez shella. Konta posiadają jedynie dostęp po FTP (z SSL) , vhosta na apachu + php , [...]]]></description>
			<content:encoded><![CDATA[<p>Po długim procesie tentegowania w głowie doszedłem do wniosku który ucieszy moich znajomych z mniejszymi stronkami.</p>
<p>Przeliczylem jeszcze raz wszystko, wykalkulowałem i wyklikałem osobną część systemu przeznaczoną na mniej wymagające strony.</p>
<p>Teraz są osobne konta, tańsze , ale za to bez shella. Konta posiadają jedynie dostęp po FTP (z SSL) , vhosta na apachu + php , do tego baza mysql. Obsługa e-mail jak zawsze ustawiona w google apps (darmowy do 50 kont).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.piotrsikora.pl/20/hostv-pl-taniej/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HostV.pl &#8211; W końcu własny hosting</title>
		<link>http://blog.piotrsikora.pl/19/hostvpl-w-koncu-wlasny-hosting</link>
		<comments>http://blog.piotrsikora.pl/19/hostvpl-w-koncu-wlasny-hosting#comments</comments>
		<pubDate>Wed, 18 Nov 2009 01:26:44 +0000</pubDate>
		<dc:creator>virus</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[hostv]]></category>

		<guid isPermaLink="false">http://blog.piotrsikora.pl/?p=19</guid>
		<description><![CDATA[Wiele lat pracowałem i pracuje jako administrator przy sporych i znanych polskich stronach WWW, nigdy jednak nie posiadałem własnego serwera gdzie mógłbym innym oferować usługi jakimi się zajmuję. Postanowiłem w końcu jednak to zmienić.

Co oferuje HostV.pl?
Hosting od 100zł/m-c w ramach tego:

150gb transferu /m-c
10gb na dane
własny serwer apache
możliwość włączenia własnych dodatkowych demonów
na obecną chwile nie ograniczona [...]]]></description>
			<content:encoded><![CDATA[<p>Wiele lat pracowałem i pracuje jako administrator przy sporych i znanych polskich stronach WWW, nigdy jednak nie posiadałem własnego serwera gdzie mógłbym innym oferować usługi jakimi się zajmuję. Postanowiłem w końcu jednak to zmienić.</p>
<p><span id="more-19"></span></p>
<h2>Co oferuje HostV.pl?</h2>
<p>Hosting od 100zł/m-c w ramach tego:</p>
<ul>
<li>150gb transferu /m-c</li>
<li>10gb na dane</li>
<li>własny serwer apache</li>
<li>możliwość włączenia własnych dodatkowych demonów</li>
<li>na obecną chwile nie ograniczona ilość baz danych oraz vhostów</li>
<li>za dodatkową opłatą własny adres IP</li>
<li>pomoc w optymalizacji i support z mojej strony</li>
</ul>
<h2>Założenie</h2>
<p>Głównym założeniem jak wspominałem jest zapewnienie miejsca i profesjonalnej obsługi dla moich znajomych, lecz nie wykluczam iż znajdą się tam zewnętrzni klienci.<br />
Z mojej strony będę oferował profesjonalną pomoc w konfiguracji oraz w optymalizacji aplikacji internetowych.</p>
<h2>Poczta?</h2>
<p>Jeśli chodzi o system poczty stwierdziłem że nie będę prowadził obsługi odbierania e-maili, tylko wysyłanie. Dlaczego? Odpowiedź jest prosta.<br />
Google prowadzi własny system który jest po prostu świetny i nie chodzi tutaj o GMail.<br />
Pod adresem www.google.com/a/ znajduje się system gdzie można stworzyć obsługę własnej domeny.<br />
Do 50kont e-mail jest wersja standard która nie wymaga opłat.<br />
Oczywiście pomagam w pełni w konfiguracji tego systemu.</p>
<h2>Dlaczego OVH ?</h2>
<p>Wynik wielu miesięcznych kalkulacji i konsulatacji. Posiadają trzy łącza do Warszawy (PL-IX, WIX, TPNET), dwa poprzez Amsterdam i jedno przez Frankfurt-&gt;Praga co zapewnia stały dostęp do sieci z polski i bardzo niskie opóźnienia.</p>
<h2>Co mnie ku temu pchnęło ?</h2>
<p>Zawsze chciałem mieć prywatny serwer w 100% gdzie mógłbym rzeszy moich znajomych programistów i administratorów zaoferować hosting na miarę jaki potrzebują. Ipc.net.pl dotąd było takim miejscem gdzie świadczyłem pomoc , jednak nie był to mój serwer choć jako nieliczny posiadałem tam root-a i zajmowałem się utrzymaniem tego serwera wiele wiele lat, nawet gdy już skończyłem pracę w IPC.</p>
<p>W listopadzie 2009 najwyższy czas by coś z tym zrobić, tym bardziej że część <span style="underline">hostingowa</span> IPC nie wiedziałem jak dalej się potoczy, tak więc powstało HostV.pl.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.piotrsikora.pl/19/hostvpl-w-koncu-wlasny-hosting/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kontomierz czyli automatyczne zarządzanie rachunkami</title>
		<link>http://blog.piotrsikora.pl/18/kontomierz-czyli-automatyczne-zarzadzanie-rachunkami</link>
		<comments>http://blog.piotrsikora.pl/18/kontomierz-czyli-automatyczne-zarzadzanie-rachunkami#comments</comments>
		<pubDate>Fri, 23 Oct 2009 03:31:16 +0000</pubDate>
		<dc:creator>virus</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://blog.piotrsikora.pl/?p=18</guid>
		<description><![CDATA[Dziś w telewizji zobaczyłem ciekawy projekt. Kontomierz.pl. Sprawa mnie o tyle zaciekawiła gdyż ponoć wg. listy transakcji płacąc kartą jest w stanie stwierdzić czy płaciłem za art. gospodarstwa domowego, czy też za paliwo. Czy aby na pewno robi to auto-magicznie ?

W pierwszej kolejności ucieszył mnie fakt iż można importować z mojego ulubionego e-konta którym jest [...]]]></description>
			<content:encoded><![CDATA[<p>Dziś w telewizji zobaczyłem ciekawy projekt. <a href="https://kontomierz.pl/rec/5a65957a12adaca673aeda6c6079348203d8bced"rel="nofollow"  onclick="javascript:urchinTracker ('/outbound/article/kontomierz.pl');">Kontomierz.pl</a>. Sprawa mnie o tyle zaciekawiła gdyż ponoć wg. listy transakcji płacąc kartą jest w stanie stwierdzić czy płaciłem za art. gospodarstwa domowego, czy też za paliwo. Czy aby na pewno robi to auto-magicznie ?<br />
<span id="more-18"></span><br />
W pierwszej kolejności ucieszył mnie fakt iż można importować z mojego ulubionego e-konta którym jest Inteligo. Jednak tylko na chwile, bo podczas importowania histori mojego rachunku dostałem takie coś:<br />
<code><br />
Tymczasowy błąd po stronie serwera [import_id=16041]<br />
</code><br />
Możliwe iż błąd powstał przez to iż zaimportowałem historie z 2005 do 2009. Spróbowałem z z mniejszym zakresem&#8230; Historia importu rachunku z aktualnego roku poszła bezbłędnie.</p>
<p>Najciekawszą rzeczą była interpretacja mojego konta. Zakupy z <strong>ŻABKI </strong>oznaczone zostały jako <em>&#8220;alkohol&#8221;</em> , a kupno piwa i papierosów na <strong>Statoil </strong>jako <em>&#8220;opłata za paliwo&#8221;</em>, natomiast paliwo kupione na <strong>BP </strong>jako <em>&#8220;Restauracja /PUB&#8221;.</em></p>
<p>Ogólnie system jest dalece od doskonałości. Rozpoznawanie po treści operacji (innego sposobu nie widzę) jest bardzo niedokładne, bo skąd niby system ma wiedzieć czy na Statoil kupiłem papierosy, paliwo czy też pysznego hot-doga <img src='http://blog.piotrsikora.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<p>Jednak jako plus uznam bardzo ładny interfejs oraz możliwość automatycznego sciągania histori mojego rachunku do systemu, choć jakoś nie jestem przekonany tego bezpieczeństwem.</p>
<p>Życzę powodzenia twórcą bo sam pomysł jest naprawdę ciekawy.</p>
<p>Link: <a href="https://kontomierz.pl/rec/5a65957a12adaca673aeda6c6079348203d8bced"title="Kontomierz"  target="_blank" rel="nofollow" onclick="javascript:urchinTracker ('/outbound/article/kontomierz.pl');">Kontomierz.pl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.piotrsikora.pl/18/kontomierz-czyli-automatyczne-zarzadzanie-rachunkami/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pozycja w google bash script v. 0.2</title>
		<link>http://blog.piotrsikora.pl/17/pozycja-w-google-bash-script-v-02</link>
		<comments>http://blog.piotrsikora.pl/17/pozycja-w-google-bash-script-v-02#comments</comments>
		<pubDate>Fri, 28 Aug 2009 11:06:56 +0000</pubDate>
		<dc:creator>virus</dc:creator>
				<category><![CDATA[seo]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.piotrsikora.pl/?p=17</guid>
		<description><![CDATA[Ponieważ mój skrypt działał dosyć fajnie i co najważniejsze na żądanie, a nie jak większość tego typu narzędzi w internecie które raz na tydzień to odświeżają, postanowiłem go trochę ulepszyć.

Głównym jego minusem było to iż najpierw ściągał parę stron googla i dopiero na końcu podawał wynik. Teraz co ściągnięcie strony z googla szuka czy w [...]]]></description>
			<content:encoded><![CDATA[<p>Ponieważ mój skrypt działał dosyć fajnie i co najważniejsze na żądanie, a nie jak większość tego typu narzędzi w internecie które raz na tydzień to odświeżają, postanowiłem go trochę ulepszyć.<br />
<span id="more-17"></span><br />
Głównym jego minusem było to iż najpierw ściągał parę stron googla i dopiero na końcu podawał wynik. Teraz co ściągnięcie strony z googla szuka czy w jej wynikach nie ma szukanej frazy. Jeśli znajdzie to wyświetla wynik, następnie czyści dane tymczasowe i opuszcza skrypt.</p>
<p>Miłego używania.<br />
<a href="http://piotrsikora.pl/codes/google_position.sh" >google_position.sh</a><br />
W razie problemów warto sprobowac:<br />
<a href="http://piotrsikora.pl/codes/google_position.sh.gz" >google_position.sh.gz</a><br />
przy wersji .gz nalezy wykonać najpierw:<br />
<code><br />
gunzip google_position.sh.gz<br />
</code></p>
<p>oczywiście potem:<br />
<code><br />
chmod 700 google_position.sh.gz<br />
</code><br />
przykład działania:<br />
<code><br />
# google_position.sh freecf.pl "nieruchomości"</code></p>
<p>&#8230;&#8230;..<br />
Position: 771</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.piotrsikora.pl/17/pozycja-w-google-bash-script-v-02/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Najlepszy Laptop</title>
		<link>http://blog.piotrsikora.pl/16/najlepszy-laptop</link>
		<comments>http://blog.piotrsikora.pl/16/najlepszy-laptop#comments</comments>
		<pubDate>Wed, 05 Aug 2009 16:40:17 +0000</pubDate>
		<dc:creator>virus</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://piotrsikora.pl/blog/?p=16</guid>
		<description><![CDATA[Jak policzyłem na szybko, to bateria starczy na maksymalnie pół godziny. 
do tagów marzeń









Clevo D900F Core™i7 Gaming Notebook, 17.1&#8243; WUXGA TFT LCD, NVIDIA® GeForce® GTX 280M Graphics







CLEVO, D900F/N10EGTX/UG Core i7 Notebook Barebone, Intel® X58, 17.1&#8243; TFT WUXGA, PCIe x16 MXM-III Discrete Graphics
INTEL, Xeon™ W5580 Quad-Core Processor 3.20GHz, LGA1366, 6.4 GT/s QPI, 8MB L3 Cache, HT [...]]]></description>
			<content:encoded><![CDATA[<p>Jak policzyłem na szybko, to bateria starczy na maksymalnie pół godziny. <img src='http://blog.piotrsikora.pl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<em>do tagów marzeń</em></p>
<table border="0" cellspacing="1" cellpadding="0" width="100%">
<tbody>
<tr>
<td class="tdch" colspan="2" width="100%"></td>
<td class="tdch" valign="top"></td>
<td class="tdch" align="center"></td>
<td class="tdch"></td>
</tr>
<tr>
<td class="tdp" colspan="2"><strong>Clevo D900F Core™i7 Gaming Notebook, 17.1&#8243; WUXGA TFT LCD, NVIDIA® GeForce® GTX 280M Graphics</strong></td>
<td class="tdp" valign="top"></td>
<td class="tdp" valign="top"></td>
<td class="tdp" valign="top"><span class="txt-price"><strong><br />
</strong></span></td>
</tr>
<tr>
<td class="tdp" colspan="5">
<li>CLEVO, D900F/N10EGTX/UG Core i7 Notebook Barebone, Intel® X58, 17.1&#8243; TFT WUXGA, PCIe x16 MXM-III Discrete Graphics</li>
<li>INTEL, Xeon™ W5580 Quad-Core Processor 3.20GHz, LGA1366, 6.4 GT/s QPI, 8MB L3 Cache, HT EM64T EIST TB VT XD, 45nm, 130W, Retail</li>
<li>TUNIQ, TX-3 High-Performance Thermal Compound, Electrically Non-Conductive</li>
<li>VIDEO, NVIDIA® GeForce® GTX 280M 1GB GDDR3 Mobile Graphics Card for D900F</li>
<li>KINGSTON, 12GB (3 x 4GB) PC3-8500 DDR3 1066MHz SDRAM SODIMM, CL7, Non-ECC</li>
<li>SUPERTALENT, 512GB MasterDrive RX SSD, MLC, 230/160 MB/s, 2.5-Inch, SATA 3 Gb/s, Retail</li>
<li>SUPERTALENT, 512GB MasterDrive RX SSD, MLC, 230/160 MB/s, 2.5-Inch, SATA 3 Gb/s, Retail</li>
<li>SUPERTALENT, 512GB MasterDrive RX SSD, MLC, 230/160 MB/s, 2.5-Inch, SATA 3 Gb/s, Retail</li>
<li>RAID, RAID 5 (fault tolerance), min 3 hard drives required</li>
<li>CLEVO, Blu-Ray Burner and Super-Multi DVD±RW Optical Drive for Clevo D900F</li>
<li>NETWORK, Built-in 10/100/1000 Mbps Ethernet LAN Card</li>
<li>INTEL, Wireless WiFi Link 5300, IEEE 802.11a/b/g/Draft N, 11/54/450 Mbps, Internal PCIe Mini Card</li>
<li>CLEVO, Internal Bluetooth for D900F Notebooks</li>
<li>E-MU, 0404 USB 2.0 Audio/MIDI Interface, 24-bit 192KHz, External, USB 2.0, Retail</li>
<li>MODEM, 56K V90/92 Fax/Modem (Integrated)</li>
<li>MATROX, TripleHead2Go Multi-Display Adapter, Digital</li>
<li>VISIONTEK, ATI TV Wonder™ HD 600USB HDTV Receiver, USB 2.0, Windows Vista Compatible, Retail</li>
<li>NOTEBOOK ACCESSORY, AC Adapter 100-240V (Included)</li>
<li>CLEVO, Additional 12-cell Li-Ion Battery for 9193/9194 Series Notebooks</li>
<li>BELKIN, 300W AC Anywhere™ Car Adapter, 12V DC to 110V AC, 2 Outlets</li>
<li>ACCESSORY, Standard Carrying Bag w/ Strap Included (Choose upgrade)</li>
<li>MICROSOFT, Windows Vista Home Premium 64-bit Edition SP1, w/ Free Windows 7 Upgrade Coupon, OEM</li>
<li>SERVICE, OEM System Recovery (secure HDD partition only)</li>
<li>SERVICE, System Binder</li>
<li>CLEVO, Extended 3-Year Warranty for Clevo Notebooks</li>
</td>
</tr>
</tbody>
</table>
<p>Cena: $12340.73<br />
+ koszty transportu ze stanów <img src='http://blog.piotrsikora.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.piotrsikora.pl/16/najlepszy-laptop/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Plagiaty wpisów na bash-ach</title>
		<link>http://blog.piotrsikora.pl/15/plagiaty-wpisow-na-bash-ach</link>
		<comments>http://blog.piotrsikora.pl/15/plagiaty-wpisow-na-bash-ach#comments</comments>
		<pubDate>Tue, 16 Jun 2009 13:26:08 +0000</pubDate>
		<dc:creator>virus</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cytaty]]></category>
		<category><![CDATA[kretyny]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://virus.ipc.net.pl/blog/?p=15</guid>
		<description><![CDATA[Ostatnio napisałem agregat wpisów z bash.org.pl , kretyn.com i pr0n.pl z racji tego że często pokolei na nie wchodziłem. Napotkałem jednak ciekawy problem którego nie przewidziałem 

Problem polegał na tym że nagle znikąd zaczęły pojawiać mi się identyczne wpisy lub prawie identyczne na różnych serwisach.
Problem trochę rozwiązałem dając funkcje mysql-a SOUNDEX.
Zachęcam do zerkania 
Lista Plagiatów
]]></description>
			<content:encoded><![CDATA[<p>Ostatnio napisałem agregat wpisów z bash.org.pl , kretyn.com i pr0n.pl z racji tego że często pokolei na nie wchodziłem. Napotkałem jednak ciekawy problem którego nie przewidziałem <img src='http://blog.piotrsikora.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<span id="more-15"></span><br />
Problem polegał na tym że nagle znikąd zaczęły pojawiać mi się identyczne wpisy lub prawie identyczne na różnych serwisach.<br />
Problem trochę rozwiązałem dając funkcje mysql-a SOUNDEX.<br />
Zachęcam do zerkania <img src='http://blog.piotrsikora.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<a href="http://kretyny.pl/plagiat"title="Plagiaty wpisów"  onclick="javascript:urchinTracker ('/outbound/article/kretyny.pl');">Lista Plagiatów</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.piotrsikora.pl/15/plagiaty-wpisow-na-bash-ach/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Strony z cytatami</title>
		<link>http://blog.piotrsikora.pl/14/strony-z-cytatami</link>
		<comments>http://blog.piotrsikora.pl/14/strony-z-cytatami#comments</comments>
		<pubDate>Sun, 03 May 2009 04:29:23 +0000</pubDate>
		<dc:creator>virus</dc:creator>
				<category><![CDATA[Ogólna]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cytaty]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://virus.ipc.net.pl/blog/?p=14</guid>
		<description><![CDATA[Zapewne każdy przeglądał choć raz bash.org.pl lub kretyn.com.
Przeglądanie każdej strony osobno jest męczące, a rssy nie zawsze działają jak trzeba.
Zachęcam zatem do testowania  zbieracza cytatów
Narzędzie nie używam czytnika rssów z racji tego że np. na pr0n.pl nie ma daty publikacji w kanale rss, a według tego jest sortowanie.
]]></description>
			<content:encoded><![CDATA[<p>Zapewne każdy przeglądał choć raz bash.org.pl lub kretyn.com.</p>
<p>Przeglądanie każdej strony osobno jest męczące, a rssy nie zawsze działają jak trzeba.</p>
<p>Zachęcam zatem do testowania  <a href="http://kretyny.pl/"title="cytaty bash kretyn"  onclick="javascript:urchinTracker ('/outbound/article/kretyny.pl');">zbieracza cytatów</a></p>
<p>Narzędzie nie używam czytnika rssów z racji tego że np. na pr0n.pl nie ma daty publikacji w kanale rss, a według tego jest sortowanie.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.piotrsikora.pl/14/strony-z-cytatami/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pozycja w google bash script</title>
		<link>http://blog.piotrsikora.pl/13/pozycja-w-google-bash-script</link>
		<comments>http://blog.piotrsikora.pl/13/pozycja-w-google-bash-script#comments</comments>
		<pubDate>Sun, 29 Mar 2009 16:13:30 +0000</pubDate>
		<dc:creator>virus</dc:creator>
				<category><![CDATA[seo]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://virus.ipc.net.pl/blog/?p=13</guid>
		<description><![CDATA[W ostatnim czasie wziąłem się troszkę za SEO. W internecie jest wiele narzędzi , ale potrzebowałem czegoś na linuxa szybkiego do sprawdzania na którym miejscu pod danym słowem jest podana strona.
Napisałem więc prosty skrypt w bash do którego użycia potrzeba jedynie poleceń bash,awk,grep i wget, które są w każdym linuxie i  wielu unixach.
google.sh


#!/bin/bash
if [ -n [...]]]></description>
			<content:encoded><![CDATA[<p>W ostatnim czasie wziąłem się troszkę za SEO. W internecie jest wiele narzędzi , ale potrzebowałem czegoś na linuxa szybkiego do sprawdzania na którym miejscu pod danym słowem jest podana strona.</p>
<p>Napisałem więc prosty skrypt w bash do którego użycia potrzeba jedynie poleceń bash,awk,grep i wget, które są w każdym linuxie i  wielu unixach.<br />
<a href="http://virus.ipc.net.pl/blog/wp-content/uploads/google.sh"title="google position script"  onclick="javascript:urchinTracker ('/outbound/article/virus.ipc.net.pl');">google.sh</a><br />
<span id="more-13"></span><br />
<code><br />
#!/bin/bash<br />
if [ -n "$2" ]<br />
then<br />
echo "Example:"<br />
echo -n $0<br />
echo -n ' www.pimpland.pl "gra online"'<br />
echo ""<br />
exit<br />
fi<br />
FILE=`mktemp`<br />
HASLO=$2<br />
HASLO=`echo -n "$HASLO" | sed -e 's/ /\+/g'`;<br />
for i in `seq {0,10}`<br />
do<br />
echo "Downloading $i/10"<br />
let I=$i*100<br />
if [ $i -eq 0 ]<br />
then<br />
wget -q --user-agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" "http://www.google.pl/search?q=$HASLO&amp;hl=pl&amp;num=100" -O - &gt;&gt; $FILE<br />
else<br />
wget -q --user-agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" "http://www.google.pl/search?q=$HASLO&amp;hl=pl&amp;num=100&amp;start=$I" -O - &gt;&gt; $FILE<br />
fi<br />
done<br />
echo ""<br />
sed -e 's/&lt;h3 class="r"&amp;qt;/\nResult: /g' $FILE | grep "^Result: " |  awk "/$1/{print \"Position: \"NR}"<br />
rm $FILE </code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.piotrsikora.pl/13/pozycja-w-google-bash-script/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RSS i ATOM i kompatybilność</title>
		<link>http://blog.piotrsikora.pl/12/rss-i-atom-i-kompatybilnosc</link>
		<comments>http://blog.piotrsikora.pl/12/rss-i-atom-i-kompatybilnosc#comments</comments>
		<pubDate>Sun, 15 Mar 2009 16:05:18 +0000</pubDate>
		<dc:creator>virus</dc:creator>
				<category><![CDATA[Ogólna]]></category>
		<category><![CDATA[ATOM]]></category>
		<category><![CDATA[RSS]]></category>

		<guid isPermaLink="false">http://virus.ipc.net.pl/blog/?p=12</guid>
		<description><![CDATA[Właśnie kończę pisać czytnik RSSów do serwisu stylio.pl i pod sam koniec stwierdziłem że przedstawię pewną konkluzję na temat jednego z moich ulubionych słów kompatybilność.

ATOM wg. definicji powstało aby zapewnić pewną kompatybilność. Jednak jak zwykle twórcy wzięli wszystko ze złej strony. Zamiast napisać coś co sprawi że wszelkie główne problemy zostaną rozwiązane , znów zrobili [...]]]></description>
			<content:encoded><![CDATA[<p>Właśnie kończę pisać czytnik <a href="http://virus.ipc.net.pl/blog/tag/rss" title="rss" onclick="javascript:urchinTracker ('/outbound/article/virus.ipc.net.pl');">RSSów</a> do serwisu <a href="http://stylio.pl/" title="portal o modzie" onclick="javascript:urchinTracker ('/outbound/article/stylio.pl');">stylio.pl</a> i pod sam koniec stwierdziłem że przedstawię pewną konkluzję na temat jednego z moich ulubionych słów <strong>kompatybilność.</strong><br />
<span id="more-12"></span><br />
<a href="http://virus.ipc.net.pl/blog/tag/atom" title="ATOM" onclick="javascript:urchinTracker ('/outbound/article/virus.ipc.net.pl');">ATOM</a> wg. definicji powstało aby zapewnić pewną kompatybilność. Jednak jak zwykle twórcy wzięli wszystko ze złej strony. Zamiast napisać coś co sprawi że wszelkie główne problemy zostaną rozwiązane , znów zrobili coś co pozwala na wiele &#8220;workaroundów&#8221;.</p>
<p>Główny problem to oddzielenie treści od formatowania. Żaden z formatów nie wymusza aby dany item posiadał tag z niesformatowanym tekstem. <a href="http://virus.ipc.net.pl/blog/tag/atom" title="ATOM" onclick="javascript:urchinTracker ('/outbound/article/virus.ipc.net.pl');">Atom</a> jedynie pozwala na definiowanie contentu. Tak więc możemy stwierdzić czy dostaniemy czysty tekst , czy to będzie zaszyty XML, czy też HTML. Jednak nie ma wymuszenia by każdy wpis posiadał swoją czystą formę, a to moim zdaniem największy problem w robieniu czystego ładnego parsera <a href="http://virus.ipc.net.pl/blog/tag/atom" title="ATOM" onclick="javascript:urchinTracker ('/outbound/article/virus.ipc.net.pl');">ATOM-a</a>.</p>
<p>Kolejny problemem który już specyfikacja jednego i drugiego też przewiduje jest zawartość multimedialna. Na listę 10 przykładowych blogów które dostałem tylko jeden posiadał spis multimediów i ich linki eleganckie do sparsowania, jednak w samym opisie oczywiście były tagi &lt;img&gt;.</p>
<p>Ogólnie Twórcy jednego jak i drugiego kanału informacyjnego nie pomyśleli o tym że jego głównym zastosowaniem ma być prostota parsowania poprzez zewnętrzne aplikacje. <em>Niech ktoś mnie poprawi jeśli założenie było inne</em>.</p>
<p>Jeśli by stworzyć kanał który zawsze wymusza czysty niesformatowany tekst, daty publikacji/modyfikacji podawane w czasie UNIX (oraz timezone 0h), listę multimediów użytych w wpisie to wtedy było by to naprawdę super przenośne i każdy by mógł to używać jak mu się podoba, a nie pisać parser do parsera <img src='http://blog.piotrsikora.pl/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.piotrsikora.pl/12/rss-i-atom-i-kompatybilnosc/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert apache rewrite to nginx</title>
		<link>http://blog.piotrsikora.pl/11/convert-apache-rewrite-to-nginx</link>
		<comments>http://blog.piotrsikora.pl/11/convert-apache-rewrite-to-nginx#comments</comments>
		<pubDate>Tue, 13 Jan 2009 14:11:42 +0000</pubDate>
		<dc:creator>virus</dc:creator>
				<category><![CDATA[Bez kategorii]]></category>

		<guid isPermaLink="false">http://virus.ipc.net.pl/blog/?p=11</guid>
		<description><![CDATA[Ponieważ coraz częściej wszyscy używają nginx-a jako alternatywy dla apache, ja z resztą też to coraz więcej serwisów migruje na apache-killera. Niektóre jednak mają dziesiątki , a czasem setki lini rewritów co spowalnia przepisywanie na styl w nginx. W momencie jak dostałem .htaccess z około 200lini rewritów napisałem do tego krótki skrypt:

# awk '/RewriteRule/{print "rewrite [...]]]></description>
			<content:encoded><![CDATA[<p>Ponieważ coraz częściej wszyscy używają nginx-a jako alternatywy dla apache, ja z resztą też to coraz więcej serwisów migruje na apache-killera. Niektóre jednak mają dziesiątki , a czasem setki lini rewritów co spowalnia przepisywanie na styl w nginx. W momencie jak dostałem <strong>.htaccess</strong> z około 200lini rewritów napisałem do tego krótki skrypt:</p>
<p><code><br />
# awk '/RewriteRule/{print "rewrite "$2" /"$3" last;"}' .htaccess | sed 's/rewrite ^/rewrite ^\//g'</code></p>
<p>Miłego używania nginxa ;]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.piotrsikora.pl/11/convert-apache-rewrite-to-nginx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
