W programie mIRC – kliencie IRC dla Windows – możemy definiować sobie przeróżne skrypty wywoływane przez komendy rozpoczynające od znaku backslash. Zintegrowany z programem język jest wprawdzie wybitnie toporny składniowo, ale oferuje całkiem spore możliwości.
Pozwala on na przykład definiować sposób, w jaki program ma reagować na pewne zdarzenia. Tego typu odpowiedzi programujemy za pomocą wbudowanego w program edytora skryptów. Wystarczy wybrać z menu Tools | Script Editor i przejść na zakładkę Remote, by wyświetlić i edytować plik remote.ini.
Możemy tam wpisać np. taką linijkę:
W ten sposób stworzymy prosty mechanizm automatycznego odpowiadania na powitania wypowiadane przez nowo przybyłych na kanał IRC. Bardzo podobnie można też – będąc opem lub halfopem – stworzyć prosty filtr wykopujący userów, którzy w wypowiedziach użyją przekleństw czy innych niedozwolonych słów.
Kilka miesięcy temu odkryłem bardzo ciekawą i pomysłową usługę internetową. Można ją uznać za pewną formę wyszukiwarki ale w gruncie rzeczy potrafi ona znacznie więcej. Teoretycznie – niemal wszystko. Chodzi tu serwis o nazwie YubNub – internetowy wiersz poleceń
Z wyglądu strona przypomina wyszukiwarkę. W zajmującym centralne miejsce polu tekstowym nie wpisujemy jednak zapytania, tylko polecenie z ewentualnymi parametrami. Dostępnych komend jest mnóstwo i co ważniejsze, każdy może dodawać swoje własne. Ich wspólną cechą jest to, że opierają się na przekształceniu swoich parametrów na odpowiedni URL. I tak polecenie
g test
spowoduje przejście pod adres http://www.google.com/search?q=test
– czyli wyszuka podaną frazę za pomocą Google. Mechanizm jest więc podobny do prefiksów wyszukiwania dostępnych w Internet Explorerze od wersji 5.
Cały ten kram byłby pewnie mało przydatny, gdyby za każdym razem należało ręcznie wchodzić na stronę YubNuba. Na szczęście powstało całe mnóstwo różnych wtyczek i osobnych programów, które można pobrać ze strony Installing YubNub. Osobiście używam wtyczki do domyślnej wyszukiwarki w Firefoksie i małego programiku YubNub Trip.
Poniżej zamieszczam listę kilkunastu wybranych komend. Część z nich sam wykorzystuję, a pozostałe są po prostu ciekawe :) Większe spisy są oczywiście dostępnie na stronie YubNuba.
g zapytanie
– Googley zapytanie
– Yahoobrain pytanie
– BrainBoost: wyszukiwarka odpowiadająca na pytanie w języku naturalnym (przynajmniej w teorii ;))lyric artysta lub tytuł
– wyszukiwarka słów piosenekthott zapytanie
– Thottbotdf słowo
– definicje Googledict słowo
– słownik angielski dict.orgud słowo
– Urban Dictionary, czyli słownik internetowego (i nie tylko) slangumsdn zapytanie
– przeszukuje MSDN Libraryrfc numer
– wyświetla dokument RFC o podanym numerzephp funkcja
– dokumentacja funkcji PHPjd klasa
– dokumentacja klas Javyrand (-min min -max max -num n)
lub rand max
– losuje n (domyślnie 1) liczb z zakresu [min; max)split url, url, ...
– wyświetla kilka stron w jednym oknie podzielonym na ramkilynx url
– pobiera ze strony sam HTML i wyświetla go w przeglądarceascii tekst
– tworzy kilkanaście ASCII-artów z podanego tekstuman polecenie
– wyświetla opis polecenia YubNubals (fraza)
– wyświetla listę komendcreate (nazwa)
– tworzy nowe polecenieurl polecenie
– podaje URL powstały w wyniku wykonania poleceniagui polecenie
– tworzy prostą stronę z GUI do wpisania parametrów poleceniaDawno, dawno temu, kiedy łącza były wolne a przeglądarki prymitywne, reklamy na stronach WWW miały postać statycznych lub co najwyżej animowanych banerów. Mało kto używał technologii w rodzaju Flash czy ActiveX, wymagających niestandardowych pluginów instalowanych po stronie użytkownika. A jeżeli już się na to decydował, to reklamy wykorzystujące te rozwiązania różniły się od zwykłych głównie stroną estetyczną: jakością i płynnością animacji.
Chciałoby się powiedzieć: stare dobre czasy, bo dawno odeszły już one do przeszłości. Teraz ze świecą można szukać nieflashowych banerów, a na stronach często można spotkać normalne telewizyjne, streamowane spoty reklamowe. Nie byłoby w tym nic niestosownego – w końcu reklamy są nieodłączną częścią każdego medium, a wykorzystanie najnowszych technologii z pewnością zwiększa ich atrakcyjność, a przez to skuteczność.
I wszystko byłoby w porządku, gdyby ich twórcy znali pojęcie umiaru i taktu. Problemem jest bowiem nie to, że dzisiejsze reklamy sieciowe to już nie tylko animacje, ale i filmy z dźwiękiem i muzyką, a nawet interaktywne gry. Sęk w tym, że one bardzo często przeszkadzają, a wręcz uniemożliwiają zapoznanie się z właściwą treścią strony, na której się znajdują.
Dzisiaj na przykład natrafiłem na baner jednego z operatorów komórkowych, wokół którego latały różnokolorowe motylki. Z pewnością wyglądały one efektownie, lecz czy oznacza to, że ich chmara powinna przesuwać się nad czytany przeze mnie tekst? A tak właśnie było, co oczywiście uniemożliwiało przeczytanie czegokolwiek. Rój uspokoił się dopiero wtedy, gdy przewinąłem się z powrotem na początek strony, gdzie widniał baner.
Zazwyczaj jestem przeciwny wszelkim zakazom – zwłaszcza w delikatnym obszarze Internetu – ale tym razem uważam, że ktoś powinien się zająć tą sprawą. Ktoś – czyli na przykład Komisja Europejska, która ostatnio całkiem dobrze spisała się w zakresie obrony praw użytkowników komórek i klientów linii lotniczych. Pół miliarda obywateli UE, z którego większość korzysta z Internetu, na pewno nie miałoby jej za złe wprowadzenie regulacji ograniczających ekspansję uciążliwych reklam.
Nie uważam przy tym, by musiałyby być one szczególnie restrykcyjne. Zasadniczo wystarczyłyby tylko dwa punkty:
Oczywiście można mieć wątpliwości, czy takie prawo nie byłoby trudne do egzekwowania, a przez to martwe. Dotyczyłoby ono jednak głównie dużych portali, czyli zarejestrowanych i powszechnie przedsiębiorstw, na które bez problemu można w razie czego nałożyć kary finansowe.
A co z mniejszymi serwisami? Naturalnie należałoby uniknąć absurdów w rodzaju wlepiania wirtualnych mandatów autorom stron domowych. W ich przypadku karą byłby po prostu spadek liczby odwiedzających i pogorszenie reputacji – czyli mechanizm, który w Internecie działa od zawsze.
Jako moderator forum Warsztatu dość często spotykam się z różnymi przejawami tak zwanego lamerstwa. Część z nich jest bardzo typowa, na czele z pokazywaniem kawałka kodu (zwykle obleśnego) i zadawaniem nieśmiertelnego pytania:
No i co tu jest źle?!
Nie trzeba się domyśleć, że reakcja na takie kwiatki jest zwykle dość gwałtowna :)
Innym przykładem lamerstwa są zbyt ogólne pytania – czyli takie, na których odpowiedzi (o ile w ogóle istnieją) kryją za sobą całe, nierzadko bardzo obszerne dziedziny. “Jak napisać grę podobną do …?” czy “Jak dodać do gry tryb multiplayer?” to całkiem reprezentatywne przykłady. Co można zrobić, kiedy napotka się tego rodzaju okaz?
Oczywiście można zareagować drastycznie i represyjnie. Twierdzę jednak, że każdego (no, prawie każdego ;)) lamera da się w końcu odlamić. Nie dysponujemy naturalnie nieograniczonym czasem, by w ten sposób załatwiać wszystkie przypadki. Z odrobiną dobrych chęci można chyba jednak coś zdziałać.
Otóż według mnie dobrą receptą na ogólne pytanie są… pytania bardziej szczegółowe. I to w dużych ilościach, zadawane w sposób logiczny i rzeczowy. Osoba zasypana gradem takich konkretnych pytań, poruszających szczegółowe kwestie z danej dziedziny, na pewno będzie przynajmniej uświadomiona o obszerności tematu, który tknęła. A jeśli posiada odpowiedni zasób umiejętności wyszukiwania – którym to powinien się wykazywać każdy programista i delikwent aspirujący do tego miana – wtedy użyje tych pytań jako wskazówek do poszukiwania informacji na własną rękę. Na forum powróci zaś wówczas, gdy pojawią się bardziej konkretne zapytania i problemy, które z pewnością będą mogły liczyć na przyjaźniejszy odzew.
Czy to zbyt optymistyczny scenariusz? Być może. Na szczęście dość szybko okazałoby się, czy taka okrojona marchewka działa. Jeśli nie, wtedy zawsze można sięgnąć po kij :)
Dawno temu programowanie było jedynym sposobem na sklecenie jakiejkolwiek gry. Przed mniej więcej dziesięciu laty pojawiły się tzw. clicki, czyli programy mające w założeniu umożliwić tworzenie nawet skomplikowanych gier każdemu bez konieczności nauki programowanie. Idea może i szczytna, ale raczej mało realna, więc nic dziwnego że większość programów z tej kategorii ma dość żałosne możliwości.
Jest tylko jeden zadziwiający wyjątek, który jednak pierwotnie był pomyślany do zupełnie innych celów. Mówię o Flashu: początkowo przecież technologia ta była przeznaczona do tworzenia wektorowych animacji, np. bannerów reklamowych. Teraz wbudowany tam język ActionScript jest tak rozwinięty, że gry flashowe na stronach WWW już dawno przestały dziwić.
Ostatnio zobaczyłem jednak coś zupełnie niespotykanego. Mam tu na myśli grę Dofus, napisaną we Flashu i należącą do gatunku… MMORPG. Działa znakomicie, oferując wszystko co wymagamy od gier tego gatunku: obszerny świat do zwiedzania, zróżnicowanie klas, sporo potworków i questów, sprawna komunikacja między graczami, granie w drużynach, przynależność do gildii, itd. Niesamowite, że wszystko to działa na warstwach graficznych i jest kontrolowane ActionScriptem!
Takie produkcje sprawiają, że czasem można lekko zwątpić, czy programowanie jest oby na pewno słuszną drogą… Na szczęście wystarczy spojrzeć na kilka dobrych, “normalnych” gier żeby wiara powróciła ze zdwojoną mocą :)
(Cztery gry ze screenów można zobaczyć tutaj: 3D Logic, Tangerine Panic, Flight of the Hamsters, N.)