<?xml version="1.0" encoding="iso8859-2"?>
	<feed xmlns="http://www.w3.org/2005/Atom">
		<title>"Kanał patrykuss.python.org.pl"</title> 
		<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
		<updated></updated>
		<author> 
			<name>Patryk Szlagowski</name>
			<email>bez@maila.pl</email>
			<uri>http://www.patrykuss.python.org.pl</uri>
		</author>
		<id>http://www.patrykuss.python.org.pl</id><entry>
			<title>Państwo kościelne po raz 10^n.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>19</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Dawno nie pisałem, dawno mnie tu nie było. Główne powody to wakacje, praca nad drugą wersją EUB (tak, ciągle nad nią pracuję i \n
proszę nie bić po głowie) oraz kilka drobnych zleceń. Jednak to , co zdołałem przeczytać w dniu dzisiejszym, skłoniło mnie, żeby oderwać się na chwilę od pracy i napisać kilka słów. \n
\n
Tak, wnioskując z tematu, wpis znowu o charakterze publicystycznym. Ale obiecuję, że dzisiaj będzie ciekawie, bo znowu mam zamiar trochę ponarzekać. \n
\n
Jak wiemy i pamiętamy, mamy &#8222;kryzys&#8221;, którego większość z nas zapewne w ogóle nie odczuwa. Jednak wiemy również, że od dawna robotnicy polscy strajkują, ponieważ pensja jest albo za niska  albo właśnie ją obniżono. Strajkowały pielęgniarki, strajkowali górnicy, strajkowali związkowcy. Widocznie Panowie z rządu, postanowili zabrać się za inną część szlachty Polski. Tak, zabierają się za naszych kochanych księży, biskupów, arcybiskupów i im podobnych. \n
\n
&#8222;Kościół odrzuca propozycję SLD, by w czasie kryzysu podzielił się swoimi pieniędzmi.&#8221;- takie i podobne informacje wyczytałem dzisiaj na stronie Dziennik.pl (konkretnie http://www.dziennik.pl/[..]Abp_Glodz_SLD_to_oddech_Lenina.html). Na samym wstępie, informacja o tym, jak to SLD chce obciąć pensje pracowników Kościoła. Dalej wypowiada się arcybiskup, który porównuje SLD i jego pomysł do Stalina. \n
\n
Jaka płynie z tego mądrość? W głowie powstają mi dwa pytania: \n
Po pierwsze, dlaczego arcybiskup się tak oburza? Jak zaznaczył autor tekstu na łamach strony dziennik.pl, rząd szuka pieniędzy wszędzie. Droższa akcyza na papierosy i alkohol, wyższe mandaty, droższe produkty spożywcze, zmniejszenie dotacji na podręczniki dla niewidomych dzieci. Do tego dochodzą cięcia w edukacji czy hospitalizacji. Dlaczego arcybiskup oburza się z \n
powodu pomysłu, żeby nieznacznie obciąć pensję jemu i jego przyjaciołom!?\n
Po pierwsze, na dziennik.pl możemy doczytać: &#8222;wynagrodzenie kapelana wynosiło nawet 5 tys. złotych&#8221;. Nie wiem na ile jest to wiarygodne źródło, jednak, jeżeli taka jest prawda, ile jest w tym \n
sprawiedliwości? Co taka osoba może zrobić z TAKIM wynagrodzeniem? Kapelan jest działaczem Kościoła, a więc obowiązuje go celibat, a idąc tym tokiem myślenia, nie ma żony ani dzieci, na które musiałby zarabiać. Oczywiście,  może mieć pod opieką \n
matkę/ojca, ale spójrzmy prawdzie w oczy. Ilu znamy takich księży? Właśnie. Więc dlaczego biskup/arcybiskup/licho ich tam wie, ma dostawać pensję większą niż pracownik, który ma na utrzymaniu żonę, czworo dzieci i kredyt na karku? Skąd taka niesprawiedliwość!? \n
Po drugie, dlaczego księża są na utrzymaniu Państwa? Czy jesteśmy aż tak idiotycznym krajem, że musimy utrzymywać ludzi, którzy praktycznie nie robią nic, tylko udają, że nawracają ludzi? Kościoły coraz częściej świecą pustkami a księża i ich \n
przełożeni dostają ciągle taką samą, stałą pensję. Dalej, dlaczego pracujący człowiek, który płaci podatki, musi być obarczony potrzebą opłacenia Kościoła, jeżeli jest np. niewierzącym/innowiercą? \n
\n
Na koniec: \n
Cytat:Pismo Święte mówi: godzien jest robotnik zapłaty swojej\n
Są to słowa, które ponoć wymówił abp Sławoj Leszek Głódź podczas wywiadu dla Dziennik.pl. Ja pytam, jakim cudem kapelan jest godzien 5k miesięcznie? Czyli policjant, który nadstawia karku, ryzykuje niejednokrotnie życiem, warty jest 1,5k/miesięcznie? Ekspedientka w sklepie, która musi użerać się z nieprzyjemnymi klientami 10 godzin na dobę, jest warta 800/1000zł? Jeżeli tak, nie wiem, gdzie jest sprawiedliwość. Nie wiem, dlaczego Kościół potrafi się wybronić cytatami z Biblii, którą ponoć można &#8222;interpretować w różny sposób&#8221;? \n
\n
PS \n
Cytat:To, że ktoś w Sojuszu powiedział, że coś musimy, to nic nie oznacza\n
Nie. To wcale nie oznacza, że jesteście na równi z innymi obywatelami. To wcale nie oznacza, że jesteście krwiopijcami, którzy nic nie robią i migają się od powinności obywatelskich.</summary>
		</entry><entry>
			<title>Fakemail Alior Bank.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>18</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Dawno nie pisałem, a że jest okazja i przyczyna, zrobię to teraz. Dlaczego okazja? Chwila wolnego czasu i chęci. Ostatnio cały pochłaniam się w zaliczeniach szkolnych, EUB w wersji drugiej oraz kilkoma drobnymi zleceniami. Niestety, mam mało czasu na regularne redagowanie bloga. Dzisiaj jednak chcę to wynagrodzić ciekawym (jeżeli nie ciekawym to chociaż zaskakującym) newsem.\n
\n
Jak codziennie, dwa dni sprawdzałem temu pocztę, gdy odebrałem bardzo ciekawego maila. Alior Bank informuje mnie o konieczności aktualizacji moich danych. Oczywiście dostałem informację, gdzie i jak powinienem to zrobić, otrzymałem klikalny adres a do maila dołączona była grafika i dodatki, które stwarzają wrażenie autentyczności. Coś jednak nie pasuje...\n
\n
\n
\n
Zaraz, zaraz. Ten mail był generowany przy pomocy jakiegoś translatora! Dlaczego?\n
\n
Drodzy klientow Alior Banku,\n
Podczas regualry zaplanowane rachunki konserwacja i procedury weryfikacji, mamy wykryto niewielki blad odnośnie Alior Banku online konto. &#8222;\n
\n
Czy to brzmi polsko i profesjonalnie? Nie za bardzo. Przejdźmy jednak dalej. Szybki rzut oka w szczegóły wiadomości i uwagę przykuwa adres zipcon.net. Na tym etapie wiemy już, że spamerzy mają konto na zipcon.net i korzystają z translatora, więc zapewne nie są polakami.\n
\n
Tego akurat zwykły, szary obywatel mógł po prostu nie zauważyć. Kto przecież czyta maile z potrzebną do tego celu dokładnością? Zwykły user mógł nawet wystraszyć się i kliknąć w link zawarty w mailu. Tu jednak znowu staje przed nami wielki znak ostrzegawczy o nazwie &#8222;phishing, nie ten adres www&#8221;. http://www.webmasterworld.de/aliorbank.pl/hades/do/Login.php chyba wygląda wystarczająco podejrzanie. Jeżeli jednak to nie wystraszy naszego człowieczka, przeglądarka zrobi to za niego. Jeszcze przedwczoraj nie informowano mnie o zagrożeniu fałszerstwa. Dzisiaj, kiedy piszę tego newsa, Opera wg swojego silnika, informuje mnie o zaistniałej sytuacji.\n
\n
Swoją drogą, muszę przyznać, że całkiem zmyślny jest ten fakemail. Zmyślny na tyle, że faktycznie nieświadom niczego user, może przekazać kilka istotnych informacji za darmo.</summary>
		</entry><entry>
			<title>Walka z robactwem.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>17</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Do niedawna codzienne skanowanie pendrive w celu usunięcia wszystkich szkodników, nie było dla mnie problemem. To przecież tylko kilka minut, w ciągu których mogę sobie przygotować kolację. Niestety ta monotonność w końcu doprowadziła mnie do stanu, w którym pomyślałem, że pendrive zabezpieczać czas zacząć!\n
\n
O co konkretnie chodzi? Pracownie komputerowe w mojej szkole są istną wylęgarnią wszelkiego robactwa, trojanów, spyware i małych wirusów. Podłączenie do jednego z komputerów swojej pamięci przenośnej jest równoznaczne z przyniesieniem do domu nowych przyjaciół. Jako, że nie lubię tłoku, doszedłem do wniosku, że napisanie prostego skryptu zabezpieczającego pendrive, nie może być trudne.\n
\n
Jak w każdym przypadku pisania jakiejkolwiek aplikacji, warto jest mieć plan. Tak i było tym razem. Aplikacja ma się uruchamiać automatycznie, działać w tle, wykonywać pętelkę z założonymi procedurami. Procedury to najogólniej:\n

czyszczenie folderu RECYCLER
kasowanie plików autorun.inf siedzących w każdym podfolderze

\n
Trudne? Z założenia, nie. Jeżeli czytasz to i zarazem piszesz hobbystycznie programy, wiesz, że problemy pojawiają się nagle i parami. Tak było i tym razem.\n
\n
Wybór języka do projektu to zawsze ciekawe zajęcie. Pascal/Delphi odpada. Wg mnie to dobry język do nauczenia się podstaw programowania. C/C++? Owszem, jednak nie uśmiecha mi się po każdej małej poprawce, kompilować kodu. Batch? Dlaczego nie? Aplikacja i tak ma działać na systemach rodziny Windows, więc platforma nie jest problemem. Dodatkowo zawsze bardziej cieszy mnie wykorzystanie czegoś lekkiego i w miarę szybkiego.\n
\n
Ok. Mamy język, mamy plan. Czas zacząć! Działanie w tle zostawiłem sobie na później, gdyż chciałem zająć się ścisłym engine. Szybki rzut oka na kilka komend i kawałek kodu sam powstał:\n
Code:\n
:work\n
attrib -r -a -s -h autorun.inf /S\n
del /Q /F /S "autorun.inf" >> log.txt\n
attrib -r -a -s -h \recycler /s /d\n
rmdir \recycler /s /q >> log.txt\n
echo End of part while\n
sleep 1\n
goto work\n
\n
\n
Jak widać, całość nie jest wielce skomplikowana. Na początku zdejmuję atrybuty chroniące plik autorun.inf oraz dodatkowym przełącznikiem operuję na owym pliku we wszystkich podfolderach. Dalej następuje kasacja autoruna i powtarzanie powyższych czynności dla folderu RECYCLER. W ostatnich linijkach kodu widzimy &#8222;sleep 1&#8221;. Nie jest to niestety standardowe polecenie BATCH a jedynie mój mały program wspomagający napisany w C++. Na końcu następuje zapętlenie procedury i całość zaczyna się od nowa.\n
\n
Oczywiście przydałby się jakiś log. Warto jest wiedzieć, czy rzeczywiście program coś skasował. Jak widać na powyższym listingu, operacja DEL jest przy okazji notowana do pliku log.txt, którego początek tworzę poprzez zapisanie daty, czasu i tytułu pliku. Tą operację przedstawia kod poniższy.\n
Code:\n
:log\n
echo RailWayMan [ Copyright by Patryk (Patrykuss) Szlagowski ] > log.txt\n
date /T >> log.txt\n
time /T >> log.txt\n
echo. >> log.txt\n
goto work\n
\n
\n
Po tej części pozostała najważniejsza kwestia. Jak zakończyć działanie programu w taki sposób, aby żadne niepożądane programy nie zdążyły przekopiować się na pendrive? Jest to problem, z którym borykam się do dnia dzisiejszego. Co prawda, mam pewien pomysł, ale potrzebuję na jego realizację trochę czasu. Najprawdopodobniej RailWayMan zostanie zmodyfikowany w taki sposób, że jego założenie pracy ciągłej w ukryciu stanie się niepotrzebne. Wystarczy przecież tylko raz sprawdzić zawartość pendrive po czym go po prostu odmontować. To jednak w następnym wpisie!\n
\n
Na dzień dzisiejszy odsyłam do:\n

pełnego kodu: source/railwayman.txt
paczki z dodatkowymi plikami echoo.exe oraz sleep.exe.
</summary>
		</entry><entry>
			<title>Juniorinternet.pl podatny na ataki z zewnątrz.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>16</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Niedawno miałem okazję tworzyć z przyjacielem stronę bliskiej nam placówki publicznej. Praca miała wymiar średnio opłacalnej pracy "charytatywnej". Jako, że szkoła daje nam wykształcenie, zgodziliśmy się stworzyć jej stronę za symboliczną kwotę...\n
\n
W toku prac, ów przyjaciel trafił na dobrze zapowiadający się konkurs, jakim jest Junior Internet. Jak sami o sobie piszą, są drogą, która może wprowadzić młodego pasjonata informatyki w świat profesjonalistów i ludzi sukcesu. Kto by się nie oparł takiemu sloganowi? Oczywiście jako współtwórca strony zgodziłem się na wzięcie udziału w owym konkursie. Najpierw jednak trzeba było zapoznać się z całymi stosami informacji, regulaminów i samej istoty konkursu. Kiedy oboje stwierdziliśmy, że wszystko wygląda w pełni profesjonalnie a sam konkurs jest naprawdę wart uwagi, zaczęliśmy zagłębiać się w proces rejestracji swojego dzieła. Tutaj zaczęły się schody.\n
\n
Do pewnego czasu rejestracja w konkursie Junior Internet odbywała się poprzez formularz, do którego adres dostałem od współpracownika. Na pierwszy rzut oka, wszystko wydaje się być w porządku. Pozory jednak mylą zbyt często. Uwagę każdego internauty który wie, co to XSS, przykuł adres i zmienne w nim zawarte. Stały się genialnym punktem rozpoczętych badań nad podatnością strony na ów atak. Oczywiście myślisz sobie teraz: "Co z tego, że znalazłeś XSS? Prawdziwy haxior z Ciebie...". Jeżeli tak faktycznie się stało, poczekaj chwilę i przeczytaj to, co napisałem dalej...\n
\n
Jeżeli nagłówek (h1, h2, h3...) znajduje się bezpośrednio przed formularzem a jego treść przekazywana jest niefiltrowaną zmienną, mamy możliwość podstawienia bardzo ciekawych treści, prawda? Oczywiście na samym początku sprawdziłem działanie zwykłego "&lt;i&gt;Atak XSS&lt;/i&gt;", co możesz zobaczyć na screenie zamieszczonym poniżej. Jeżeli ów injection się udał, uda się i spreparowanie fałszywego formularza na oryginalnej stronie.\n
\n
\n
\n
Sprawa była prosta. Wystarczyło podać do zmiennej tag &lt;form&gt; z odpowiednimi parametrami. Takowym parametrem oczywiście jest adres mojej strony a konkretnie skryptu, który obsłuży ten formularz. Najpierw test i... vuala! Po wypełnieniu i wysłaniu formularza, przenosi mnie do mojego skryptu. Teraz wystarczyło kilka minut z PHP i maszynka curl'owa najpierw odbierała dane wejściowe a następnie niepostrzeżenie przesyłała na macierzystą stronę i wypełniała jeszcze raz (tym razem właściwy) formularz. Takim sposobem stałem się posiadaczem danych, których właścicielami powinni być tylko organizatorzy konkursu.\n
\n
Oczywiście cała sprawa jest mocno naciągana. Żeby uzyskać dane jakiejkolwiek osoby, musiałbym najpierw wysłać do niej odpowiednio spreparowany adres i czekać na efekty. Trzeba przyznać również, że adres w postaci http://www.example.com/?string=%3Cform%20action=%22%22%3E (oczywiście suchy przykład) wzbudza pewne podejrzenia. Musisz jednak drogi czytelniku wiedzieć, że głupich nie sieją. Wyrastają sami i są wśród nas.\n
\n
O błędzie zostali poinformowani organizatorzy konkursu i jeżeli czytasz właśnie ten tekst, znaczy, że luka została naprawiona. \n
\n
Nawet najstarsi Indianie mawiają, że jeżeli pojawi się chociaż cień wątpliwości co do bezpieczeństwa danych, warto jest zmienną docelową filtrować...</summary>
		</entry><entry>
			<title>EUB v1 Release Candidate.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>15</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Mam przyjemność ogłosić, że Easy Using Blog wkracza w etap wersji Release Candidate!\n
\n
Betatesterzy zakończyli swoją pracę a znalezione przez nich błędy zostały poprawione. Wprawdzie niedopatrzeń było mało, lecz poprawki wpłynęły znacząco na użytkowanie systemu, jak i bezpieczeństwo danych.\n
\n
Do najważniejszych poprawek zaliczają się:\n

Poprawa działania sesji na różnych serwerach.
Poprawa błędu logicznego w funkcji zapewniającej bezpieczeństwo zmiennych..
Poprawa w działaniu instalatora (sprzężenie tworzenia pliku konfiguracyjnego i bazy).
Oddzielenie plików szablonowych panelu administracyjnego od szablonu właściwego strony.

\n
Razem z wydaniem pierwszej, stabilnej wersji systemu, chcę zapowiedzieć rozpoczęcie prac nad wersją drugą, której publikację datuję na początek wakacji. Co w nowej wersji? Przede wszystkim chcę, aby system był jeszcze bardziej przyjazny dla użytkownika. Edytory WYSIWYG w panelu administracyjnym, jak i w komentarzach oraz rozszerzenie możliwości edytowania sposobu działania systemu.\n
\n
Na razie jednak zapraszam do korzystania z EUB v1! \n
Link do pobrania:  http://www..patrykuss../eub.rar\n
Suma md5: c26316f81644f85c7e14a9f4834dcc69.\n
\n
Jeżeli spodobał Ci się system EUB, wesprzyj twórcę i zamieść link na swojej stronie:\n
Code:&lt;a href="http://www.patrykuss.python.org.pl/eub.html" title="Easy Using Blog, EUB, system, cms, blog, download"&gt;EUB- Easy Using Blog&lt;/a&gt;\n
\n
UPDATE\n
Podziękowania należą się przede wszystkim betatesterom, bez których ukończnie wersji pierwszej nie byłoby możliwe. Zawdzięczam to następującym ludziom:\n

Gormack
maciek_
suN8Hclf
#zero.Rh-

Dziękuję im bardzo i przepraszam, że tak późno ale szczerze powiedziawszy, całkowicie zapomniałem :).</summary>
		</entry><entry>
			<title>Easy Using Blog- publikacja.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>14</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Przez ostatnich parę tygodni obiecałem Ci opublikowanie mojego najnowszego dzieła, którym jest system blogowy. Teraz mogę śmiało napisać "Czyny, nie słowa" (Tak, wiem. Slogan PiS. Trzeba przyznać jednak, że chwytliwy ;).)! W dniu dzisiejszym mam zaszczyt poinformować Cię, że Easy Using Blog (bo tak nazywa się system) zostaje udostępniony w ręce użytkowników.\n
\n
Tym samym chciałbym również ogłosić, że szukam betatesterów, którzy bezpłatnie zgodzą się testować system w celu wykrycia i zgłoszenia ew. błędów w obsłudze/działaniu CMS'a. Niestety za pracę tę nie mogę oferować innej zapłaty, niż "Dziękuję bardzo" i oczywiście publikacji nazwisk/pseudonimów na blogu. Dlaczego? Sam pracując od dwóch miesięcy nie zobaczyłem za ten system ani grosza i naturalnie nie zobaczę. EUB wydałem na prawach licencji GNU GPL, więc potencjalny użytkownik ma praktycznie nieograniczone możliwości.\n
\n
Poniżej zamieszczam screen z głównego widoku szablonu pokazowego oraz panelu administracyjnego.\n\n\n
\n
\n
Szczegóły dotyczące tworzenia szablonów, konfiguracji i zarządzania systemem oraz oczywiście źródła całego systemu znajdziesz w paczce pod adresem  www.patrykuss.../EUB.rar.\n\n
Przypominam jednocześnie, że system jest w początkowej fazie rozwoju i wciąż czeka na testy pod względem (przede wszystkim) bezpieczeństwa.\n
\n
Jeszcze raz zwracam się z prośbą o testowanie systemu i przekazywanie informacji dalej. Nie tworzyłem EUB tylko i wyłącznie dla siebie. Pierwszorzędnym celem jest dostarczenie relatywnie małego i prostego silnika użytkownikom.\n
\n
UPDATE\n
W źródłach systemu zaszły następujące zmiany:\n

dodana została obsługa kategorii newsów
poprawiono obsługę funkcji wysyłających nagłówki (header())
poprawiono obsługę sesji
nastąpiły drobne zmiany w panelu administracyjnym
uporządkowano pliki systemu szablonów, w taki sposób, aby nie tpl panelu administracyjnego nie mieszały się z tpl bloga

\n
Paczka do ściągnięcia: http://patr.../EUB.rar</summary>
		</entry><entry>
			<title>O tym, jak NLP stało się religią.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>13</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Dawno temu, jako dziecko, mało udzielałem się "społecznie" wśród rówieśników. Było to zapewne spowodowane moim usposobieniem, które zazwyczaj kazało trzymać mi się z daleka od tłumu. Oczywiście to z czasem przechodzi ale nie zupełnie... Zostaje to coś, ta niepewność. Z owej niepewności zrodziła się chęć przełamania strachu, wypłynięcia "na nieznane wody". Przez długi czas zastanawiałem się, co może pomóc mi w tym celu. Odpowiedź przyszła z czasem. Po pierwsze zacząłem interesować się psychologią a z później przeszedłem na bardziej konkretne zainteresowanie, jakim do dzisiaj jest NLP + szeroko pojęta wiedza nt. manipulacji. O czym chcę dzisiaj konkretnie napisać? Odpowiedź zapewne już znasz. Chcę napisać o NLP i o tym, jak z czasem owe NLP przerodziło się z zainteresowania w religię i z religii w pytania dot. mechanizmu działania.\n
\n
Słowo religia użyłem tutaj w celu zobrazowania Ci, czym było dla mnie do niedawna NLP. Zacznijmy od tego, czym jest owe NLP. Na NeuroLingwistyczne Programowanie składają się techniki manipulacji, samorozwoju oraz sugestii. NLP wykorzystywane może być w celach manipulacji marketingowej, leczeniu ducha i wywierania wpływu, co z kolei skutkuje osiągnięciem obranego celu. Technik jest wiele, lecz jest coś co je łączy... O tym czymś chcę napisać. Część wspólna większości technik "uzdrawiania duszy i ciała" to nic innego, jak wizualizacja. To ona przewija się przez każdy schemat, każdej techniki, jako nieodłączna jej część. O tym właśnie chcę napisać.\n
\n
Każdy wyznawca religii, po pewnym czasie zaczyna zadawać sobie pytania dotyczące jej genezy. Zaczyna zastanawiać się, czy to, w co wierzy ma w ogóle jakikolwiek sens. Tak jest i w moim przypadku zainteresowania się NLP. Od niedawna zastanawiam się, jakim cudem, Pan Bandler (Bóg dla wyznawców NLP) i jego przyjaciel, Grinder w latach 70 zdołali zebrać ciekawsze techniki z zakresu psychologii i psychiatryki oraz ubrać je w taki sposób, żeby ludzie nie zdołali domyśleć się, że wynaleźli koło na nowo. Zastanawiam się, dlaczego dziwnym trafem większość technik opiera się na wizualizacji. Zastanawiam się, dlaczego nikt inny tego nie zauważył i dlaczego NLP ciągle wita nowych, entuzjastycznie nastawionych wyznawców?\n
\n
Wśród grona "enelpowców" znany jest polski, darmowy, internetowy miesięcznik NLP Magazine, którego redaktorem naczelnym jest jeden z aktywnych forumowiczów forum stowarzyszenia NLP Polska, którego (nie ukrywając) jestem członkiem. Bardzo ucieszyłem się, gdy ostatnio na moją skrzynkę pocztową dotarła wiadomość o nowym numerze, na który czekałem bardzo długo (Kłopoty w zespole redaktorów?). Oczywiście, zaraz zajrzałem na stronę, ściągnąłem plik i zabrałem się za czytanie. Jednak nie była to najlepsza lektura w moim życiu. Co więcej, utwierdziła mnie w przekonaniu, że NLP nie jest tak piękne i kolorowe, jak wydaje się być na początku znajomości. Jest szare, monotonne a za nim kryją się ludzie, którzy najzwyczajniej w świecie zarabiają na następnym komercyjnym świństwie.\n
\n
Z moich obserwacji wynika, że w każdym numerze NLP Magazine jest kilka artykułów dot. samorozwoju i co najmniej jeden dotyczący leczenia fobii, lęków, strachów. Obojętnie, jak artykuł jest zatytułowany, treść jest w 90% taka sama. Najpierw fobię trzeba zlokalizować, następnie zwizualizować, wyostrzyć obraz, nadać mu kolorów, później poobracać w taki sposób, aby był żywy. Potem kilka czynności, po których obraz jest niszczony, palony, zabijany itp (Jeżeli enelpowiec znalazł błąd w moim przepisie, bardzo przepraszam. Młody młokos chyli głowę przed doświadczonymi ludźmi z zakresu wizualizacji :>).\n
\n
Dodatkowym gwoździem do trumny NLP jest pokrewna dziedzina, zwana skutecznym uwodzeniem. Oczywiście, jako nieśmiały chłopiec z ciekawości zajrzałem kiedyś na forum pua.pl w celu zobaczenia, co doświadczeni "podrywacze" mają ciekawego do powiedzenia nt. Kontaktów między kobietą a mężczyzną. Oczywiście większość forum jest dostępna dopiero po zarejestrowaniu, co też uczyniłem. I oto nadeszła chwila najwyższego uniesienia. W skrzynce mailowej znalazła się wiadomość aktywacji konta na forum, które miało być dla mnie docelowym podręcznikiem ds. obchodzenia się z kobietami. Jako młody, napaleniec, rzuciłem się w wir czytania i spędziłem dwie długie godziny na forum. Z tego co dowiedziałem się na początek to to, że aby relacje z kobietami dobrze szły trzeba:\n
	\n
	umyć się
	ogolić się
	ogólnie mieć dobrą prezencję
	nie zanudzać
	\n
Czymś mi to trąci... Wiem. Ja staram się być taki na co dzień bez dodatkowych podręczników podrywaczy! Codziennie się myję (To nie jest wcale takie normalne. Miałem kiedyś do czynienia z ludźmi, dla których to nie jest standardem.), golę i ubieram się nie wystrzałowo a schludnie. Normalny nastolatek, który stara się wyglądać i zachowywać, jak gentelmen. Jednak po przeczytaniu działu "Dla newbie" poszedłem trochę dalej i czytam co zrobić podczas rozmowy z kobietami. I tu najbardziej się zawiodłem. Cała rzesza autorów postów typu howto albo "zrób to sam z serii Pana Słodowego" radzi, aby zachowywać się, jak macho. Radzą aby być porywającym, zaskakującym ale przede wszystkim budzącym kontrowersje i niemalże zachowywać się niczym nieokrzesany gbur. Moje życie legło w gruzach. Gdzie się podziały kobiety, które lubią eleganckich gentelmenów z dobrymi manierami i traktującymi je, jak damy? Czy wszystkie kobiety lubią teksty typu: "Masz ochotę na desssserrr? A może lodaaaa?"!? Osobiście wątpię...\n
\n
Z całego grona NLP, nie żywię zaczątków urazy dla jednego trenera, jakim jest Mateusz Grzesiak. Z tego co zdążyłem zauważyć, nie jest, jak wszyscy inni. Sam sposób, w jaki prowadzi wykłady jest fascynujący i nie ogranicza się jedynie do suchego "zwizualizuj sobie problem". Ponadto w zwykłej rozmowie wydaje się być sympatycznym młodym mężczyzną, który nie tylko pociąga za sznurki w przedstawieniu zwanym życiem... A może, ja też jestem pociągany za sznurki? Jeżeli tak, to po co uczę się sam tych technik?\n
\n
Na koniec. Co radzę? Oczywiście wszystko jest dla ludzi, lecz trzeba wiedzieć kiedy przestać. Fanatyzm jest ostatnio w modzie i przerzuca się na wszystkie aspekty życia. Takim aspektem również została dziedzina komunikacji zwana NLP. Jest wiele fanatyków, którzy najchętniej spaliliby mnie teraz na stosie. Ale wiesz co? Cieszę się, że konstytucja daje mi prawo do wolności wypowiedzi :)... Ponadto polecam ogólnie pojętą retorykę, metody samorozwoju, szybszego uczenia się, zwiększania koncentracji, jak i również hipnozę (sceniczna przede wszystkim [moja pasja oprócz IT]).\n
\n
Na razie to wszystko. Następnym razem (nie uwzględniam losowych wypadków, takich jak koniec świata, inwazja kosmitów czy też paruzja) najprawdopodobniej opublikuję newsa obwieszczającego otwarcie kodów źródłowych engine bloga. Mam nadzieję, że nie tylko ja na to czekam i zapraszam Cię do następnej wizyty, bo warto!</summary>
		</entry><entry>
			<title>Trochę organizacji.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>12</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Przepraszam za stosunkowo długą przerwę od czasu napisania ostatniego posta tutaj. Po pierwsze mam ferie a więc czas zbierania myśli i regeneracji ośrodka układu nerwowego, jakim jest mózg. Po drugie, jednak miałem trochę spraw na głowie. Małe zlecenia, które tak naprawdę zajmują najwięcej czasu....\n
\n
Przejdźmy jednak do konkretów. Chcę przedstawić dzisiaj trzy istotne informacje. Mam nadzieję, że większość z Was na myśl o prędkim otwarciu źródeł bloga przynajmniej nie burknie pod nosem "I co z tego? Mamy tego od cholery". Może i tak. Nikt jednak nie powiedział, że nie można pochwalić się schludnym i przyjaznym projektem ;). A więc. W ciągu najbliższych dwóch tygodni mam zamiar opublikować wersję 1.0 silnika blogowego. Już wcześniej o nim pisałem ale warto przypomnieć. PATRYKUSS.BLOG (nazwa kodowa, zapewne zostanie zmieniona) to silnik napisany w PHP, oparty o bazę danych MySQL, który z założenia miał być prostym, lekkim i przyjaznym silnikiem przeznaczonym dla niewymagających odbiorców. Nie będzie to konkurencja dla WordPress'a, o nie. Myślę, że określenie "mały kolega z piaskownicy" jest tutaj na miejscu. Aktualnie jestem na etapie tworzenia szablonu pokazowego. Przede mną napisanie pseudo-dokumentacji i "wykodzenie" ewentualnego panelu administracyjnego, którego jednak nie jestem zwolennikiem. Ale cóż. Czego nie robi się dla użytkownika?.\n
\n
Sprawa druga to felieton. Pisałem go pierwotnie dla pewnego magazynu, jednak redakcja uznała, że  im się nie podoba. Cóż, nie wiedzą co tracą ;). W dziale "Artykuły" znajdziesz felieton "O społecznościach słów kilka". Zamieściłem tam swoje spojrzenie na społeczności internetowe i podłoże chęci przystępowania do nich. Zapraszam do lektury!.\n
\n
Trzecia ale nie najmniej istotna sprawa- optymalizacja. Do dzisiaj rana, korzystałem z "hacka", który umożliwiał ciekawy hover dla elementów menu górnego. Niestety kłócił się on z validatorem i brzydko wyglądały trzy błędy, które generował ów. hack. Alternatywę wymyśliłem z przypadku. Tworzyłem podobne menu dla przyjaciela, który bardzo sobie ceni przychylność validatora i standardów W3C. Posiedziałem, pomyślałem i do głowy pomysł sam przyszedł. Tak więc, od dzisiaj strona się w 100% zgadza ze standardami i mam nadzieję, że tak pozostanie.\n
\n
To koniec nowości na dzisiaj. Następnym razem znowu coś publicystycznego a potem już publikacja kompletnego silnika w niestabilnej wersji 1.0. Zapraszam!</summary>
		</entry><entry>
			<title>Polska == państwo kościelne?</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>11</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Witam ponownie. Zapewne zastanawiasz się po co i na co znowu chcę narzekać? Jeżeli jesteś zagorzałym, fanatycznym chrześcijaninem, proszę, nie czytaj. Otóż dzisiaj będzie o tym, jak to nasza ojczyzna Polska jest państwem kościelnym zdominowanym przez wpływy z wszelakich kurii i im podobnym. Oczywiście wszystko z mojego punku widzenia...\n
\n
Oprócz tego, że do szewskiej pasji doprowadza mnie wciskanie ludowych mądrości zapisanych w dziele o nazwie "Biblia", irytuje mnie jeszcze bardziej robienie tego na siłę. Wiele razy słyszałem od niemal fanatyków, że Polska i chrześcijanie są mocno tolerancyjny wobec innowierców, ateistów, agnostyków i im podobnych. Sprawa jednak komplikuje się gdy przechodzimy do praktyki. Gej? Fuj! Lesbijka? Wstydź się! Ateista, Żyd? Spadaj!\n
\n
Co do dwóch pierwszych przykładów. Jako tako jeszcze mogę spróbować zrozumieć ludzi nietolerancyjnych. Faktem jest, że homoseksualizm jest wbrew prawu naturalnemu i ogólnym, przyjętym przez ludność całego świata zasadom, chociaż do tego tematu podchodzę zazwyczaj z mieszanym uczuciem (homo mnie nie ziębią ani nie grzeją [w razie nieścisłości]). Jest źle natomiast gdy katolik konfrontuje się z wyznawcą innej wiary albo ateistą. Nie tylko obecna sytuacja utwierdza mnie w tym założeniu ale także i historia. "Szerzenie jedynej słusznej religii" w średniowieczu i wcześniejszych czasach wystarczą? Chrzest nie wodą święconą a mieczem wystarczy?\n
\n
Na pytanie do katolika co się stanie z ateistą, najprawdopodobniej usłyszysz odpowiedź "nie dostąpi Łaski Pańskiej" (czy coś w ten deseń porąbanych i śmiesznych poglądów). Żaden katolik nie zastanowi się jednak, dlaczego ateista lub agnostyk przestali wierzyć. Dlaczego napisałem "przestali"? Człowiek rodzi się i od tego momentu przez całe otaczające go środowisko jest uświadamiany, że coś nad nami czuwa. Coś spogląda na nas z góry, widzi nasze haniebne uczynki i nie zapomina. Ateistą/agnostykiem się nie rodzi. To jest po prostu niemożliwe.\n
\n
Oprócz zachowania chrześcijan, które czasami kojarzy mi się ze słowem "arogancki" ubolewam obecnie nad jeszcze jednym faktem, jakim jest przedmiot religii w szkołach średnich. Wg mnie czas  szkoły średniej to czas, kiedy człowiek najbardziej się rozwija a dodanie przedmiotu religii, jako obowiązkowego jest niczym tunelowanie młodocianej inteligencji i chęci wybrania dla siebie tego co najlepsze. Wieczorem młody człowiek rozmyśla nad sensem istnienia i zaczyna myśleć logicznie a nie kościelnie a na drugi dzień jest niemal zmuszany uczestniczenia na religii, gdzie katecheta wciska ciągle te same informacje, z których większość to zapewne bzdury.\n
\n
Zapewne pomyślałeś przed chwilą: "Zaraz, zaraz. Jak to? Religia w średniej jest obowiązkowa? Facet! Przecież masz alternatywę- etykę". Jeżeli tak się stało, wróć, przeczytaj co napisałem, otwórz nową zakładkę i zobacz, jak się ma sprawa z etyką. Przecież ona nie różni się prawie niczym od religii. Ba. Nawet ten sam katecheta, który dwie godziny wcześniej mówił o tym, jak Bóg stworzył w siedem dni Ziemię a pierwszymi ludźmi byli Adam i Ewa (których syn w celu zaludnienia Ziemi, musiał dopuścić się kazirodztwa), teraz ma wykładać Ci etykę? Obudź się.  Osobiście dam sobie wiele uciąć, że obie lekcje nie będą się od siebie wiele różniły.\n
\n
Sprawy, o których napisałem powyżej ostatnio dosyć mocno mną wstrząsnęły i poczułem dziką ochotę podzielenia się swoimi refleksjami z Tobą. Jeżeli poczułeś ochotę skomentowania wpisu informacją, że lakonicznie wykorzystałem temat, że podpaliłem ognisko i jak najszybciej uciekam, proszę oszczędź i sobie, i mi pracy. Oboje dobrze wiemy, że jeżeli napisałbym coś więcej, cała masa fanatyków usiadłaby mi na głowie. Jeżeli natomiast napisałbym jeszcze mniej, ktoś entuzjastycznie nastawiony do mojego zdania, zarzuciłby mi "nie rozpisanie się na temat".\n
\n
Złoty środek to jednak dobry pomysł. Przemyśl to.</summary>
		</entry><entry>
			<title>Alternatywa dla ANSI escape.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>10</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Ostatnie posty znajomego, Gynvaela Coldwinda (http://gynvael.coldwind.pl) dotyczące klasowości, OpenGL i ANSI w plikach wsadowych niewątpliwie warte są przeczytania i wykorzystania w praktyce chociaż w celach edukacyjnych. ANSI w Batchu to coś, o czym od bardzo dawna myślałem ale moje myśli nie chciały się zamienić się w działający program obsługujący zmienne kolorowanie w plikach wsadowych. Teraz jest inaczej.\n
\n
Natchniony wymysłami Gyna, które (nie ukrywając) są bardzo oryginalne przelałem swoje myśli na "kartkę" (a dokładnie do kodu źródłowego c++) i to właśnie o tym chcę dzisiaj napisać.\n
\n
Idea zmiennego kolorowania zrodziła się jakiś czas temu, gdy do pewnego projektu potrzebowałem zmieniać kolory po poszczególnych wywołaniach echo. Stosowanie color z różnymi wartościami przed i po wyechowaniu czegokolwiek nie wchodziło w grę. Color po prostu zmienia kolorystykę całej konsoli a nie tylko fragmentu liczonego od jego zastosowania. Trzeba było wymyślić coś innego. Oczywiście z pomocą przybiegło C++ i jego SetConsoleTextAttribute (konkretnie to funkcja wchodząca w skład nagłówka windows.h a więc jego prawdziwym "tatusiem" jest Microsoft). Nie pozostało nic innego, jak zastosować!\n
\n
Ale moment. Przecież ostatnio programowanie nowego projektu przysparza mi dosyć dużo kłopotów (czyt. wpis dot. gry Pascalowej). Nie było inaczej. Znowu kodzenie i znowu problem z kompilatorem. Przez pół dnia zastanawiałem się, dlaczego wxDev C++ nie chce działać (Żeby nie było niedomówień. WxDev C++ po prostu mi się podoba. Kwestia gustu). Dopiero wieczorem skusiłem się, aby zainstalować go do folderu, który nie będzie zawierał spacji. Zgadnijcie? Zadziałało. Chyba programiści wxDev nie pomyśleli, że jakiś użytkownik będzie chciał go zainstalować do "Program Files"...\n
\n
Teraz było już z górki. Szybko napisałem szkielet, odebrałem argumenty i znalazłem dokumentację funkcji SetConsoleTextAttribute, która pomogła mi w mieszaniu kolorów składowych. Jako bazę na kolorystykę obrałem oryginalne kolory ze schematu funkcji color (CMD) lecz z bliżej niewiadomych przyczyn, nie skorzystałem z systemu Hex w przypadku identyfikacji kolorów. Tak więc aby użyć koloru  jasnozielonego (A) musisz zastosować ID 10. Po prostu.\n
\n
Mieszanie kolorów było dosyć proste. Model RGB nie jest wymagający więc stworzenie koloru jasnoniebieskiego było niemal tak samo proste, jak jasnobłękitnego (logicznie z nazwy wnioskując, to dwa te same kolory ale nie będę upierał się w tym momencie).\n
\n
\n\n\n
\n
Może i nie wygląda zbyt imponująco ale spełnia swoją pierwotną rolę. Co prawda, nie jest to tak zaawansowany pomysł co ten, który możemy podziwiać na blogu Gynvaela, jednak myślę, że warto chwilę się zastanowić nad pięknem tej prostoty (;)).\n
\n
Kod źródłowy dostępny tutaj: patrykuss.python.org.pl.\n
\n
Paczka, w której znajdziesz plik wykonywalny, źródło i demo pliku wsadowego: patrykuss.python.org.pl.\n
\n
UWAGA! Korzystając z funkcji color, między identyfikatorami kolorów nie stawia się spacji. W funkcji echoo jest inaczej (oszczędność pracy nad argumentami). Składnia:\n
Code:echoo N Y String\n
N- kolor tła\n\n
Y- kolor pierwszego planu\n\n
Sring- naturalnie string wejściowy.\n
\n
UWAGA2! Przepraszam za jakość kodu ale wyobraź sobie, że był pisany na kolanie i miał działać a nie wyglądać ;).</summary>
		</entry><entry>
			<title>Zabawa z Pascalem i garść problemów.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>9</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Tak, jak obiecałem, tym razem trochę bardziej "geekowo" chociaż to, co opiszę może służyć tylko jako informacja dla mało zaawansowanych programistów Pascala, jak zachowywać się w razie niepowodzeń (czyli prawie ciągle ;)).\n
\n
Przed świętami na zajęciach, nauczyciel oznajmił nam, że aby otrzymać pozytywną ocenę z przedmiotu, jakim jest Programowanie Strukturalne i Obiektowe, trzeba napisać program na zaliczenie z zakresu programowania w języku Pascal (tak, jesteśmy trochę do tyłu, wiem). Ok, zaliczenie, jak zaliczenie... Ale dlaczego kurde na święta!? Lubię popracować nad czymś, co mnie interesuje ale święta to czas "wolnego"(?) więc jakoś nie widzi mi się pisanie programu dla mnie i dla paru osób (bo zapewne tacy się znajdą). Ale to akurat nauczyciel decyduje więc postanowiłem nie stawiać oporu, bo po co? Poza tym, jeżeli zaliczenie dla mnie to i również zaliczenie dla reszty klasy a co za tym idzie, niezły zarobek. Zawsze znajdzie się osoba, która nie może/nie chce/nie potrafi napisać sama prostego kodu.\n
\n
Do rzeczy. Musiałem napisać program dla siebie, dla znajomej i paru osobom stworzyć dokumentację. Oczywiście źle oszacowałem czas na zrealizowanie "zleceń" i miałem lekki poślizg. Nie. Lekki to złe słowo. Miałem kolosalny poślizg. Dlaczego? Zacząłem w ostatni weekend czasu wolnego, czyli dwa dni przed oddaniem prac. Jako, że nie jestem pracownikiem firmy usługowej (post do tyłu) więc dbam o klienta. Tak więc w sobotę wieczorem zacząłem pisać program i tworzyć dwie dokumentacje nie dla mnie. O tych pracach nie będę wiele pisał ze względu na klientów. Mogliby przecież sobie tego nie życzyć, prawda?\n
\n
Pracę skończyłem w niedzielę po południu. Za pomocą kreatora instalatora stworzyłem trzy intalki, zgrałem na serwer, przesłałem do znajomych i zarobiłem. Czas na moją pracę. Dopiero teraz się zaczęło...\n
\n
Do mojego projektu, którym jest gra zręcznościowa stworzona na wzór popularnej gry na legendarnego Pegasus'a, w której sterujemy jazdą wyścigówki i staramy się nie wpaść na żadną przeszkodę. Oczywiście do takiego projektu potrzebna jest możliwość odczytywania stanu klawiszy przez cały okres działania programu. Do tego celu użyłem oczywiście funkcji ReadKey. Co w tym trudnego? Jeżeli ktoś próbował pierwszy raz używać readkey w FPC (wersja niższa niż 2.2.2 wie, że to jest trochę męczące). Po godzinie doszukiwania się błędu w programie (naturalnie po kompilacji, program nie działał tak, jak chciałem) zgłosiłem się na forum 4programmers.net (w końcu od tego ono jest, prawda?), gdzie dostałem dosyć szybko odpowiedź. Po dni spędzonym w niemiłej atmosferze prób wskrzeszenia kawałku kodu dowiedziałem się, że najzwyczajniej w świecie mój kompilator to już przeżytek i muszę ściągnąć nowszą wersję. Ok. Upgrade będzie, jak znalazł.\n
\n
Chwila poszukiwań i już po paru minutach ściągam najnowszą wersję FPC na swoją maszynę. Instaluję, przerzucam kod programu do kompilatora, kompiluję i co? Error (Coś z -opentiom3). Oczywiście, wcześniej szło zbyt prosto, żeby teraz kod skompilował się bez problemu... No nic. Kopiowanie treści błędu, Google, search i... I masa totalnie pogiętych, wyssanych z palca bzdurnych rad, które nie pomogły mi w żaden sposób. Przeszukałem strony polskie, angielskie i nawet parę rosyjskich. Wszędzie proponowali skasowanie pliku fp.cfg, który podobno był winny. Wiecie co? To nie zadziałało. Za każdym włączeniem kompilatora, plik tworzył się na nowo i przy kompilacji znowu dowiadywałem się, że jakiś argument jest zły.\n
\n
Podczas poszukiwań natrafiłem na jedną z przeglądanych rosyjskich stron. Mrugnęło mi coś związanego z problemem w argumencie -opentuim3, który faktycznie wywoływał błąd. No to szybko do translatora Google i tłumaczę treść strony. Jeżeli translator Google to z góry wiadomo, że treść przetłumaczona będzie równie bezsensowna, jak argumenty TP w sprawie cenzury. Jedyne, co udało mi się zrozumieć, to to, że -opentium3 trzeba zamienić na -oppentium3. Ale zaraz. Gdzie ja to mam naprawić? Żadnej informacji. Chwila poszukiwań i jest. Ścieżka do naprawy błędu to: Options->Compiler->Additional compiler args. Jesteśmy w domu...\n
\n
Ok, więc przyszedł czas na programowanie. Pierwsze, za co wziąłem się to menu. Nieodłączny element każdej prawie aplikacji. Ale jak je zrealizować? Bardzo prosto:\n

W pierwszej kolejności należy "narysować menu". Moje wyglądało tak:\n
Code:Nowa gra\nWyniki\nKoniec\n\n
Jak widać, żadna rewelacja.
Następnym krokiem będzie napisanie funkcji, która odczytuje klawisze (musimy podzielić ją na dwie części. W pierwszej sprawdzamy czy kod klawisza to #0 a w drugiej, sprawdzamy, jaki  faktycznie klawisz został naciśnięty).
Teraz na podstawie wciśniętego klawisza (przyjmujemy, że możemy użyć tylko strzałek góra-dół), dodajemy lub odejmujemy wartość od zmiennej kontrolnej.
Ostatnim krokiem jest "detekcja" wciśnięcia klawisza Enter. Po udanym odczytaniu kodu #13 (kod Entera) sprawdzamy wartość zmiennej kontrolnej i na jej podstawie wywołujemy funkcję tworzącą mapę gry lub odczytującą najlepszy wynik.

\n
Tak przedstawia się projekt działania menu. Bardzo proste ale działa i to bardzo dobrze. Dalszych kroków nie będę opisywał w taki sposób. Na końcu postu znajdziesz kod programu.\n
\n
Ok, po stworzeniu menu poszło z górki. Tworzenie mapy i rysowanie samochodziku przyszło mi bardzo prosto. Mapa jest statyczna a samochodzik porusza się na zasadzie zmiennej kontrolnej (bardzo podobnie jak w przypadku menu). Po stworzeniu tych podstawowych elementów, stanąłem przed ciekawą zagwozdką. Jak generować przeszkody, do których się zbliżam? Odpowiedź przyszła dopiero na następny dzień. Przeszkodę trzeba najpierw narysować, potem dodać trzecią zmienną kontrolną, która po wciśnięcia któregoś z klawiszy (ciągle mówimy o strzałkach), dodaje do zmiennej i+1. Po odczytaniu zmiennej kontrolnej, czyścimy ekran, zmieniamy położenie przeszkody o wektor pozyskany ze zmiennej. Nic prostszego ;).\n
\n
Metodę tworzenia nowej przeszkody na podstawie położenia starej, możesz wyłuskać z kodu ponieważ nie będę jej teraz opisywał.\n
\n
Na koniec zostało mi stworzenie punktów kolizyjnych i zapisywanie ostatniego wyniku do pliku tekstowego. Faktem jest, że nie napisałem mechanizmu wybierania lepszej wartości wyniku ale to już z czystego lenistwa :].\n
\n
Takim oto sposobem dotarłem do zakończenia programu, który przysporzył mi duuuużo nerwów. Podczas jego pisania nauczyłem się nawet paru nowych wulgaryzmów (nie ma to, jak poprzeklinać przy errorach ;)). Mam nadzieję, że informacje zamieszczone w notce i (przede wszystkim) w kodzie dołączonym, przydadzą się komuś. Taką oto pozytywną myślą kończę dzisiejszy wpis.\n\n Bywaj.\n
\n
Kod źródłowy programu PatFast</summary>
		</entry><entry>
			<title>Profesjonalizm w firmach usługowych zasługuje na medal!</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>8</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Obiecałem w ostatnim wpisie, że napiszę, jak poszły rozmowy z ludźmi związanymi z TP i moim usługodawcą. Od razu zaznaczam, że sprawy potoczyły się tak, jak się spodziewałem, czyli beznadziejnie.\n
\n
Parę dni temu próbowałem dodzwonić się na Błękitną Linię TP lecz bez skutku. Po godzinie dotarłem do informacji, że z niektórych polskich sieci (np. Era) nie można wykonywać połączenia na niektóre numery, do których dziwnym trafem zaliczał się numer infolinii TP. Oczywiście kilkanaście minut szukania informacji i nareszcie wiedziałem, jak dodzwonić się na Błękitną Linię (22 9393 [nikt nie napisał o kierunkowym 22, o którym nie wszyscy muszą wiedzieć]). Najpierw odebrał uprzejmy Pan, który zaraz spróbował mnie skontaktować ze "specjalistą". Niestety ów "specjalista" nie odbierał, więc postanowiłem zadzwonić za jakiś czas.\n
\n
Trochę poczytałem, zasięgnąłem wiedzy i zadzwoniłem po raz drugi. Tym razem odebrała Pani o miłym głosie (chyba tylko dla tego tam jeszcze pracuje). Oczywiście znowu ta sama gadka, znowu tłumaczenie. "Witam. Dzwonię w sprawie blokowanych serwerów... [..]". Odpowiedź, jaką dostałem, dosłownie mnie zszokowała: "Co? Serwerów? Jak, co? Serwerów? Pan poczeka, idę zasięgnąć rady". Minuta czekania i Pani o miłym głosie odzywa się: "Aaaaa. Serwerów. A czy ma Pan neostradę? Jeżeli nie, to nie może Pan skorzystać z pomocy". Niestety nie mam neostrady a łączę dsl, które korzysta z usług TP (chyba niezbyt zgrabnie ubrałem to w słowa. Mniejsza w to.) więc Pani mi podziękowała i tak skończyła się moja przygoda z Błękitną Linią.\n
\n
Następnym krokiem, jaki poczyniłem, było napisanie e-maila do TP. Może chociaż ktoś obsługujący skrzynkę, będzie na tyle łaskaw i powie mi co jest dokładnie grane. Wysłałem, poczekałem prawie dwa dni i otrzymałem odpowiedź taką samą, jak wcześnie. Czyli nie mam neostrady, nie mogę korzystać z pomocy technicznej. Tutaj miarka się przebrała. Co do cholery ma neostrada, skoro to TP wycina serwery? To TP cenzoruje i to do TP chcę się dobrać. Niestety obsługujący pomoc techniczną via e-mail nie podzielali mojego zdania. Po mojej odpowiedzi, w której trochę nerwowo (ale dosadnie) napisałem, co myślę oraz zamieściłem prośbę aby mnie tym razem "nie olano", dostałem taką samą odpowiedź, jak wcześniej. Muszę zgłosić się do dostawcy ze swojego miasta. Dobra. To jak walka z wiatrakami. Idę do Scorpiona!\n\n\n
\n
Dzień dzisiejszy, godzina 15. Właśnie skończyłem lekcje i kieruję się w stronę siedziby dostawcy internetu w naszym mieście. Wielki napis Scorpion i przyjaźnie wyglądający Pan za ladą. Myślałem, że jestem przygotowany na wszelkie możliwe rozmowy. Poczynając od wyjaśnienia sprawy do małej kłótni na oczach innych klientów. Niestety bardzo się myliłem...\n
\n
Po wyjaśnieniu sprawy, ujawnieniu informacji, iż kontaktowałem się już z TP, Pan zadał pytanie, dlaczego pisałem właśnie do Telekomunikacji, zamiast od razu przyjść do Scorpiona. No, rozumiem to. To w końcu oni mi udostępniają łączę i nawet trochę racji miał koleś. Chciałem więc dostać formularz reklamacyjny aby poprzez dostawcę dobrać się do TP. Niestety odpowiedź, jaką otrzymałem dosłownie mnie zamurowała.\n
	"Ale to nie TP wycina serwery. To my robimy."\n
Przez chwilę naprawdę nie wiedziałem, czy mam śmiać się, czy płakać. TP niedawno umieściła na łamach swojej strony WWW informację o blokowanych serwerach a Pan zza lady szczyci się tym, że to Oni blokują? Czegoś tutaj chyba nie rozumiem.\n
\n
Oczywiście po chwili konsternacji, zacząłem dociekać, dlaczego to właśnie oni blokują (jeżeli faktycznie oni to robią, to muszą mieć wyjaśnienie). Oczywiście rozmowa, jak zawsze: "To nie Pana sprawa. Wycinamy i koniec". Aha. Dziecko w piaskownicy ma lepsze argumenty.\n
\n
Następnie była jeszcze mała wymiana zdań na temat niezgodności takiego postępowania z ofertą i umową firmy ale na wiele się to zdało. Wyszedłem zły, że do niczego nie dotarłem.\n
\n
Sprawy tej nie mam zamiaru tak zostawić. Nawet ze względu na wręcz grubiańskie zachowanie pracownika firmy Scorpion, który mnie obsługiwał, zamierzam coś z tym zrobić. Mam nadzieję, że Pan czyta to teraz (może znajomi podesłali Panu link. W końcu jest Pan sławny!) i dociera do Pana informacja, że zachował się Pan jak natrętny dzieciak, z którym nie da się poważnie rozmawiać. Mam nadzieję, również, że takich, jak ja jest więcej bo to prawdopodobnie zaowocuje albo zmianą Pańskiego postępowania albo Pańskiej posady. Pracownik jest wizytówką firmy a firma, z tego co wiem, nie lubi tracić klientów. Niestety najprawdopodobniej jednego już straciła. Zgadnijcie przez kogo?\n
\n
No nic. Wyżaliłem się ale trzeba podsumować. TP nie chce nawet komentować swojego idiotycznego pomysłu wycinania niektórych adresów IP. Nie wiem czy to z powodu ich pozycji (w końcu to Oni są Panami w tej sprawie [chyba tak im się wydaje]) czy też po prostu nie wiedzą, jak zareagować. A może w ogóle leją na klienta?\n
\n
Scorpion to w nawet porządna firma ale powinna zadbać o swój personel bo z obecnym na pewno nie przyciągnie zastępów klientów. Sama rozmowa z Panem zza lady nie należała do najprzyjemniejszych.\n
\n
Teraz obiecuję, że w następnym wpisie nie będzie żadnego wyżalania się ani skarżenia. Tym razem poruszę temat programowania pierwszej gry w Pascalu ;).\n
\n
Btw. To pierwszy wpis w nowym roku. Wszystkiego Dobrego :).</summary>
		</entry><entry>
			<title>Cenzura- raz! Idiotyzm- raz!</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>7</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Z założenia sieć Internet miała być wolna od jakiejkolwiek cenzury czy ingerencji polityków i organów ścigania typu policja. Internet miał być ostoją dla wolności słowa, przekonania i wyznania. Tak niestety nie jest, co zresztą opisałem w ostatnim felietonie. Długo by wymieniać przykłady łamania podstawowych założeń Wolnej Sieci. Ostatnio natrafiłem na bardzo interesujący a zarazem żenujący pomysł brytyjskich polityków.\n
\n
Głupia wręcz moda na cenzurę Sieci dotarła teraz do Europy. Na dodatek ogarnęła umysły obywateli kraju, po którym tego bym się nie spodziewał. Mowa tutaj o Brytyjczykach. Tamtejszy sekretarz, Pan Andy Burnham w wywiadzie dla "The Daily Telegraph" wyjawił swoje plany dotyczące cenzury i oznakowania stron w Sieci.\n
\n
"Są treści, które nie powinny być dostępne- taka jest moja, absolutnie kategoryczna, opinia."- między innymi takie zdanie pada w wywiadzie. Lecz chwilę wcześniej Pan Andy mówi:\n
"Jeśli popatrzymy wstecz, to zobaczymy, że ludzie, którzy stworzyli Internet, otwarcie stwierdzali, że ma to być miejsce wolne od kontroli rządów.".\n
Dlaczego więc chce ingerować w ostoję stworzoną nie przez niego i nie przez niego podtrzymywaną? Co tak rażącego Pan Sekretarz zobaczył przeglądając strony internetowe? Czyżby świat władców i im poddanych nie wpadał w paranoję? Ostatnimi czasy znajduje się coraz więcej takich "mądrych" urzędników, którzy wbrew milionom internautów, chcą cenzurować największą ostoję wolności.\n
\n
Druga sprawa, jaka wywołała we mnie dziką złość to cenzura ze strony TP. Nie tak dawno, mój znajomy działający pod nickiem maciek_ wpadł na trop cenzury a raczej odcinania pewnych numerów IP przez największego usługodawcę. Tym razem ja poczułem na własnej skórze oddech cenzury. Od tygodnia nie mogę połączyć się z siecią lcirc.net. Przyczyna? Cenzura.\n
\n
Postępując podobnie do maciek_ i zasięgając paru informacji od znajomych dotarłem do bardzo ciekawych informacji. Znaleźć je można pod adresem http://www.tp.pl/prt/pl/tpcert/obsluga/sprawdzenia/?_a=680397.\n
\n
Najciekawszym fragmentem jest "gdy komputer o tym adresie IP przestanie być zagrożeniem dla Twoich zasobów komputerowych". Jeżeli TP miałoby dostosować się do tego fragmentu biorąc pod uwagę wszystkie serwery i sieci IRC, nie mielibyśmy w ogóle dostępu do rozmów on-line. Co więcej, TP jako główny dostawca Internetu w Polsce pisze, że klient ma prawo do:\n
"...stały i nieograniczony dostęp do sieci Internet w technologii DSL z maksymalną prędkością transmisji do/od Abonenta w zależności od wybranej przez Abonenta opcji."\n
\n
Blokowanie poszczególnych adresów IP pod pretekstem zagrożenia zainfekowania komputera jest złamaniem regulaminu, co może doprowadzić do rozwiązania umowy z usługodawcą bez ponoszenia kary. Jeżeli TP będzie dalej prowadzić taką politykę z klientami, szybko straci jakiekolwiek udziały na rynku i stanie się jednym z najbardziej znienawidzonych usługodawców.\n
\n
W poniedziałek oczywiście zaistniałą sytuację mam zamiar zgłosić do TP ze stanowczą prośbą o wytłumaczenie. Oczywiście opublikuję odpowiedź.\n
\n
Reasumując: w brytyjskim rządzie znalazł się niekompetentny, błędny marzyciel, pan Andy, który to chce wprowadzić cenzurę Sieci do Europy (oczywiście najpierw swój kraj). Dodatkowo TP znowu podpadło. Źle się dzieje.</summary>
		</entry><entry>
			<title>Wesołych Świąt.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>6</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary></summary>
		</entry><entry>
			<title>EBP- lekki i prosty silnik blogowy.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>5</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Dzisiejszy wpis nieco różni się od pozostałych. Jego charakter jest bardziej "techniczny". O czym chcę napisać? O silniku blogowym, który piszę i który zamierzam opublikować.\n
\n
Silnik jest prostą platformą napisaną w PHP w oparciu o bazę MySQL. Najważniejsze zalety silnika to:\n

	możliwość tworzenia i edycji szablonów
	obsługa komentarzy
	bezpieczeństwo aplikacji (ciągle nad nim pracuję)
	parser ATOM

\n
Osobiście nie jestem zwolennikiem paneli administracyjnych, dlatego też wersja oznaczona numerem 1 nie będzie posiadała takowego. Dlaczego? Po pierwsze: panel jest zawsze dodatkowym punktem ataku agresora. Po drugie: jest phpMyAdmin, z którego korzysta duża część dostawców hostingów.\n
\n
Jakikolwiek CMS powinien być jak najbardziej odporny na ataki z zewnątrz. W moim projekcie ten aspekt stał się oczywiście najważniejszym. Do zapewnienia odpowiedniego poziomu bezpieczeństwa wykorzystałem:\n

1. Filtrację zmiennych GET i POST. Filtracja jest skuteczna a samo wykorzystanie jest trywialnie proste. Jako, że całość oparta jest na poszczególnych funkcjach, filtracja zmiennej przebiega poprzez zastosowanie poniższej składni: Code:safe_get($_GET['page'], 'string', null);

\n
Pierwszy argument funkcji to zmienna przeznaczona do filtracji. Drugi informuje skrypt o pożądanym typie wartości funkcji. Trzeci natomiast to opcjonalny argument, który stosuje się w sytuacji gdy korzystamy z typu "const" czyli stała. Argument ostatni to wzorzec, który powinien odpowiadać zawartości zmiennej.\n

2. Prosty system kontroli plików. Jest to bardzo proste rozwiązanie zapewniające blokadę wywoływania plików silnikowych. Pliki te, mogą być dołączane aktualnie tylko do jednego pliku głównego (index.php) zaś podglądanie ich bezpośrednio jest niemożliwe.

\n
Na razie system jest w fazie programowania i rozwoju. Wersja 1.0 najprawdopodobniej będzie wersją opcjonalnie niestabilną i polecaną tylko do testów do czasu gdy bezpieczeństwo aplikacji zostanie potwierdzone w 100%.\n
\n
Opublikowanie wersji 1.0 (oczywiście na licencji GPL) datuję na początek roku 2009. Tym samym również pragnę zachęcić Cię do zajrzenia w tym czasie na bloga. Najprawdopodobniej będę szukał testerów, którzy zechcą nieodpłatnie testować system przede wszystkim pod względem bezpieczeństwa i funckjonalności.</summary>
		</entry><entry>
			<title>Nowy artykuł i informacje parafialne.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>4</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Przykro mi, że tak późno piszę następny wpis ale dopiero w weekend znalazłem trochę więcej czasu. Na początku chcę zapoznać Cię z paroma moimi pomysłami i przekazać pewne informacje.\n
\n
Po pierwsze. Parę osób już pytało mnie na jakiej platformie oparty jest silnik blogu. Odpowiedź to PHP. Wersja pierwsza i ew. druga będą oparte właśnie na PHP. Dlaczego? Moje doświadczenie pozwoliło napisać mi modularny silnik blogowy w oparciu o system pseudo-szablonów. Tym samym chcę zapowiedzieć, że stabilna wersja silnika, nad którą ciągle pracuję, zostanie wydana jako otwarty projekt i pojawi się możliwość ściągnięcia źródeł.\n
\n
Po drugie. W dziale "Artykuły" pojawił się pierwszy artykuł (nie mylić z felietonem). "Wstęp do pisania tekstów perswazyjnych" to tekst, dzięki któremu manipulacja słowem pisanym stanie się prosta i "zakazana retoryka" stanie dla Ciebie otworem.\n
\n
Po trzecie i ostatnie na dzisiaj. Jeden dział ciągle jest nieuzupełniony. Mowa tutaj o "O mnie". Pozostanie tak jeszcze przez jakiś czas. Nie lubię pisać o swojej osobie i nie przychodzi mi to łatwo. Proszę więc o cierpliwość...\n
\n
Pozdrawiam</summary>
		</entry><entry>
			<title>Freedom, peace and love.</title>
			<link rel="self" href="http://www.patrykuss.python.org.pl/news,12.html"/>
			<id>3</id>
			<updated>2010-03-11T09:28:01+01:00</updated>
			<summary>Pierwszy wpis zazwyczaj jest najtrudniejszy do zredagowania dla prowadzącego blog. Jest on zazwyczaj o niczym. Dlaczego? Każdy przecież chce się przywitać, zarysować szkic swojej przyszłej działalności i podzielić się pierwszymi przemyśleniami, wnioskami. Osobiście doszedłem do tego momentu, w którym również muszę wysłać swoje słowa w dziewiczy rejs po Sieci pod banderą swojego własnego, dev-publicystycznego bloga.\n
\n
O czym będę pisywał? Oprócz dzielenia się swoimi przemyśleniami dotyczącymi aktualnej sytuacji w Sieci, chcę redagować wpisy dotyczące bezpieczeństwa sieciowego, programowania i elektroniki (początkującej). Oprócz newsów w formie obecnej, chcę zamieszczać również felietony i artykuły typu "how to".\n
\n
Dlaczego powstał blog? Do niedawna często swoje zdanie publikowałem na łamach serwisu informacyjnego haes-squad.net. Charakter informacyjny nie pozwalał mi jednak na zbyt wiele. Chciałem komentować, chciałem oceniać ale nie mogłem. Teraz to się zmieni. Nie wszyscy zapewne zgodzą się z moimi poglądami, jednak prowadzenie bloga daje administratorowi tę upragnioną swobodę w wyrażaniu opinii.\n
\n
Postanowiłem na dobre rozpoczęcie prowadzenia bloga, napisać krótki felieton (a raczej go opublikować gdyż na dysku przeleżał już swoje). Felieton, jak zazwyczaj, pozwala mi na wyżalenie się i wyrażenie swojej krytycznej opinii. Tym razem chcę zapoznać Ciebie z tematem anonimowości i bezpieczeństwa w Sieci oraz "świadomego wyboru". Myślę, że zainteresują Cię tematy, tak bliskie Twojemu życiu.\n
\n
Na koniec małego wstępu do większej całości chciałbym zachęcić Ciebie do kolejnych odwiedzin jutro, za tydzień, za miesiąc. Kiedy tylko będziesz mógł. Zapewniam, że jeżeli nie będziesz zgadzał się z moim zdaniem, zawsze będziesz mógł je przedyskutować w formie komentowania. Artykuły zapewne nie będą tak wieloznaczne, jednak również zachęcam do regularnego sprawdzania zawartości działu "Artykuły".</summary>
		</entry></feed>