sobota, 19 listopada 2011

AdBlock - czyli święty spokój z reklamami

Nie znam osoby, której nie irytowałyby nachalne reklamy, na które natrafiamy co krok w internecie. A to wyskakująca animacja tańczącej butelki, a to skacząca po całym ekranie ramka z ofertą odżywek dla "hardkorowych koksów"; pieluszki, piwo, podpaski, proszki do prania - słowem: wszystko dla wszystkich...
Cóż, wydawać by się mogło, że z reklamami sytuacja jest jak z podatkami - trzeba się do nich przyzwyczaić. Tym bardziej, że działa tu racjonalna logika biznesowa: skoro dostęp do większości stron jest darmowy, to naturalnie nieuniknione koszty prowadzenia serwisu muszą być z jakichś funduszy pokrywane. Koło się zamyka, a my jesteśmy wewnątrz tego kręgu.
Jednakże branża internetowa ma to do siebie, że gdy pojawia się jakiś problem, wyzwanie lub zapotrzebowanie - to szybko znajduje się ktoś to jest w stanie dostarczyć rozwiązanie. Tak też rzecz miała się z reklamami w przeglądarkach internetowych. Gdy powstały przeglądarki typu Firefox, czyli umożliwiające tworzenie przez niezależnych programistów dodatków/wtyczek, ktoś w końcu wpadł na pomysł, żeby zrobić taki dodatek, który będzie blokował nachalnie wyskakujące reklamy. Takim narzędziem, które zdobyło zasłużoną renomę i króluje w internecie (wśród użytkowników przeglądarek Mozilli) - jest Adblock Plus.
Instalacja jest prosta - wystarczy wejść na stronę dodatków Mozilli i wyszukać "adblock"; ewentualnie można wejść od razu na stronę tej wtyczki. Potem wystarczy kliknąć: "Zainstaluj".
Po wymaganym restarcie przeglądarki musimy skonfigurować nasze zabezpieczenie. Wybierając z menu Firekosa [Narzędzia]>[Adbloc Plus - ustawienia], ujrzymy następujące okno:
Naszym oczom ukazuje się lista zestawów, które możemy subskrybować. Zestaw to po prostu zbiór stron, z których pochodzą reklamy, który jest przez kogoś (z reguły jakąś grupę, społeczność) utrzymywany i aktualizowany. Dzięki subskrypcji linki z zestawu są kopiowane z serwera (na którym zlokalizowany jest zestaw) na nasz dysk i w razie pojawienia się aktualizacji, zostaną one automatycznie dokonane. To jednak nie wszystko. Każdą reklamę, która pojawi się w naszej przeglądarce - możemy indywidualnie zablokować. Przy każdej wyskakującej reklamie (a nawet przy każdym obiekcie wyświetlającym video) pojawia się mała zakładka z napisem: "Zablokuj". Gdy ją klikniemy, pojawi się okienko tego rodzaju:
Dzięki opcjom w nim zawartym możemy stworzyć filtr, który zabezpieczy nas przed oglądaniem reklam pochodzących od tego samego dostawcy, co ta, którą właśnie blokujemy. Jak widać, możemy wpisać treść filtru ręcznie albo wybrać którąś prostych opcji, spośród listy z przyciskami. Najdłuższy tekst oznacza zablokowanie dokładnie tej reklamy (jest to po prostu link do pliku, który odpowiada za wyświetlenie tej konkretnej reklamy). Następnie w kolejnych opcjach przesuwamy się o poziom wyżej - przykładowo w zaznaczonym drugim wyborze ustawiamy filtr na blokowanie wszystkich reklam pochodzących z domeny s.ytimg.com, z folderu swfbin. Możemy pójść dalej zablokować wszystko z domeny s.ytimg.com, albo jeszcze dalej - wszystko z ytimg.com. Przy wyborze najlepiej wybierać jest filtr jak najbardziej ogólny - opcja blokowania pojedynczego pliku (reklamy) jest nieprzydatna: reklama może się nawet wizualnie nie zmienić, a wystarczy, że programista lub grafik zmieni jedną literę w nazwie pliku - i już filtr nie działa. Z drugiej strony trzeba tylko uważać, by nie wybierać najbardziej ogólnej blokady w przypadku, gdy w treści filtra widzimy normalną, znaną nam domenę - jeśli skorzystamy z tej opcji, normalne korzystanie z tego serwisu będzie niemożliwe.


środa, 16 listopada 2011

[Biblioteka] E. Wróbel, Asembler


E. Wróbel, Asembler, wyd. Helion, 2004.
ss. 384, CD-ROM

+ ZALETY
  • dużo materiału dotyczącego pisania programów pod Windows w asemblerze (rzadko spotykana rzecz w podręcznikach do ASM);
  • naprawdę przekonywujące i zachęcające do asemblera wprowadzenie; :)
  • dołączona płytka ze wszystkimi przykładami z książki oraz opisywanymi programami narzędziowymi;

- WADY
  • nieprawidłowy układ rozdziałów: o ile kilka początkowych (wprowadzenie do asemblera, program "Hello world" i podstawy funkcjonowania procesora) jest w porządku, to jednak na kolejnych (co najmniej) kilkudziesięciu stronach autor brnie w zawiłości odmian i typów kolejnych procesorów firmy Intel, zaciemniając obraz;
  • brak jasnego - zaznaczonego na samym początku - rozróżnienia na poszczególne asemblery; przecież drobne (ale zupełnie niezrozumiałe dla laika) różnice w sposobie zapisu w NASM-ie, MASM-ie itd. potrafią nieświadomego nowicjusza szybko zniechęcić (gdy nie znajduje odpowiedzi na pytanie: "Dlaczego asembler wciąż mi wypluwa błędy przy asemblacji?");
  • niekonsekwencja autora - zachęcając do asemblera podkreśla jego pozytywy w stosunku do języków wysokiego poziomu, a potem sporą część książki poświęca na opisywanie metod upodobniających asemblera np. do C...

niedziela, 13 listopada 2011

Related Post Widget - dla Bloggera

Platformie Blogger daaaaaaleko jest do osiągnięcia poziomu, jaki prezentuje w kwestii wtyczek Wordpress: tam po paru kliknięciach na panelu administracyjnym wchodzimy w wielki ocean pluginów i widgetów, które możemy łatwo instalować, testować, (dez)aktywować, włączać, wyłączać i wreszcie odinstalowywać.
W Bloggerze sytuacja jest trochę nieprzemyślana: pomieszane są widegty odpowiadające za wyświetlanie bloków (np. moje ulubione linki) z pewnymi wtyczkami, które nie mają swojego "zadokowanego" miejsca w edytorze układu. (Taka sytuacja jest np. z widgetem Favico, który odpowiada za wyświetlanie pod każdym postem przycisków do aktywności na portalach społecznościowych: "tłitnij", "zalajkuj", "wykop" - w edytorze układu odpowiadający mu blok "wisi" w oderwaniu od układu bloga.) Przede wszystkim jednak dostępnych z panelu Blogera wtyczek - w porównaniu do Wordpressa - jest bardzo mało. Przekonałem się o tym, szukając widgetu, który wyświetlałby mi dla każdego posta - listę postów o podobnej tematyce. Pamiętałem, że Wordpressie tę funkcję realizują wtyczki (a jakże - jest ich przecież więcej niż jedna!) zawierające w nazwie słowo "related posts" lub "similar posts". Szukając w domyślnej wyszukiwarce widgetów Bloggera - nie znalazłem żadnego pasującego wyniku. Z pomocą przyszedł Google. Nie od razu, ale jednak w końcu udało się znaleźć coś odpowiedniego: Related Posts Widget for Blogger 2.0. Na pochwałę zasługuje automatyczne generowanie kodu i przycisk "Add to Blogger", umożliwiający bezbolesne dodanie widgetu do naszego bloga (zastanawiam się tylko, dlaczego nie ma tej wtyczki w zasobach dostępnych bezpośrednio z panelu Bloggera - skoro ona jest z nim tak zintegrowana?). Niestety, ta wtyczka nie jest pozbawiona wad: (a) możemy ten widget umieścić jedynie w ustalonych miejscach naszego bloga, tj. np. na bocznej kolumnie lub pod tytułem (nie udało mi się zaimplementować wtyczki tak, aby podobne posty były wyświetlane np. pod treścią danego posta), (b) wszelka edycja - np. napisu wyświetlanego ponad linkami do podobnych postów - wymaga nie tylko grzebania w JavaScripcie (co jest tym bardziej niewygodne, że skrypt jest upakowany - pozbawiony zbędnych spacji, tabulacji i przejść do nowych linii, co sprawia, że jest wręcz nieczytelny), ale dla zachowania naszych zmian musimy treść skryptu skopiować do okienka podglądu kodu źródłowego w Blogerze albo cały plik skryptu zgrać na własny serwer i tam dokonywać zmian. Przykładowo, zmianę napisu nad linkami realizujemy, zmieniając wartość pola. related_title:
P.S. Funkcjonowanie tej wtyczki można zobaczyć na innymi moim blogu - Na szynach przez świat. (W prawej kolumnie, u góry.)
P.P.S. Znalazłem też inną wtyczkę, która ponoć wyświetla listę podobnych postów pod treścią posta. Niestety, wymaga ona grzebania w HTML-u szablonu Bloggerowego i żmudnego kopiowania porcji kodu ze strony, gdzie zamieszczono ten widget. Ponadto drobne omyłki w procedurze "wstrzykiwania" tego kodu, uniemożliwiają działanie widgetu. :(

piątek, 4 listopada 2011

[Biblioteka] Zaczynamy!

Rozpoczynam niniejszym serię postów - można by rzec: dział - pod tytułem "Biblioteka". Niektórym wydawać by się mogło, że książki informatykom nie są potrzebne - bo cała wiedza jest w internecie, bo materiał w podręcznikach jest z reguły zdezaktualizowany, bo... - i tak można wymyślać tysiące powodów, żeby odsunąć od siebie "nieprzyjemność" czytania książki. Ja jestem jednak zupełnie odmiennego zdania; uważam wręcz, że inżynierom - w tym także, a może szczególnie informatykom - nie zaszkodzi, a wręcz może bardzo pomóc, kontakt ze słowem drukowanym. (Zresztą nie tylko z literaturą branżową, ale także beletrystyką, poezję etc. - tu będę jednak zajmował się wyłącznie książkami fachowymi.)
Dla każdego geeka ozdrowieńczy może być odpoczynek od ekranu komputerowego. Ponadto książkę łatwiej jest ze sobą zabrać, zapakować do plecaka, by móc czytać ją np. w autobusie lub pociągu. Książki, zwłaszcza te grubsze kompendia i "księgi eksperta", mają bardziej przemyślaną strukturę i pełniej opisują pewne zagadnienia. Wreszcie, są tematy naprawdę fachowe (np. algorytmika, inżynieria oprogramowania), nierzadko bogate w materiał matematyczny, dla których analogii w internecie po prostu nie ma. (Tak samo pewne pozycje klasyczne - w większości powstałe przed erą WWW - mają jedynie wersje papierowe.)
Nie można też zapomnieć, że czytanie odpowiedniej książki informatycznej może być formą niezłego lansu: i w środowisku ludzi z branży, i w stosunku do nie-informatyków. ;)
Co więcej, książki nie są dostępne jedynie dla wybrańców: to prawda, nowości księgarskie z branży IT kosztują sporo; tym bardziej, że z reguły są to tłumaczenia z angielskiego. Nie można jednak zapominać o bibliotekach (nawet - wydawałoby się "zwyczajne" - biblioteki dzielnicowe potrafią zaskoczyć swoim bogatym i świeżym zasobem!), a także o możliwości zakupu starszych wydań np. na Allegro. Ostatecznie część pozycji mniej lub bardziej legalni "krąży" w postaci skanów.
W tej serii będę się starał recenzować książki przydatne zwłaszcza studentom - czyli przede wszystkim osobom chcącym zdobyć nową wiedzę w jakimś nowym obszarze. Nie będzie tu ściemniania - wszystkie opisywane książki najpierw sam przeczytam lub przynajmniej przejrzę, aby móc na podstawie własnego doświadczenia wystawić właściwą ocenę. Będę starał się wskazywać najlepsze pozycje, ale będę też przestrzegał przed pułapkami. Wiem, że całej wartościowej literatury tu nie przedstawię, ale mam nadzieję, że choć trochę się przysłużę społeczności informatycznej.
A zatem - do dzieła!

środa, 2 listopada 2011

Nie ściągaj filmów z Youtube'a!

Oto, co zobaczyłem, oglądając materiał na Youtube'ie:


Przez chwilę pomyślałem, że to Youtube dodał taką antypiracką nakładkę (co od razu wydało mi się absurdem...), ale sprawdziłem - inne filmy są pozbawione takich dodatków, a w tym jednym ten monit wyświetla się dokładnie w tym samym momencie.
Cóż... Trochę to głupie, że ktoś, uploadujący nagranie z telewizji (bo powyższy materiał to fragment jakiegoś maratonu kabaretowego z TV), tak zazdrośnie je "ozdabia"... Żałosne... Rozumiałbym jeszcze takie oznaczanie jakiegoś rzadko dostępnego materiału (jakieś stare, unikalne nagrania; samodzielni wykonane filmy etc.) - byłoby to w miarę zrozumiałe zabezpieczenie przed kopiowaniem. Przy takim jednak rodzaju filmu - to jest nieporozumienie.

środa, 12 października 2011

Windows Vista: edycja zmiennej środowiskowej PATH

Bardziej doświadczeni użytkownicy komputerów (czytaj: ci starsi), pamiętający czasy MS-DOS-a, z pewnością pamiętają jak ważną rolę w tym systemie operacyjnym odgrywał plik autoexec.bat. Umożliwiał on nie tylko określenie programów uruchamianych automatycznie przy starcie systemu, ale także np. ustawienie domyślnej strony kodowej. Ważnym jego elementem była również możliwość zdefiniowania wartości zmiennych środowiskowych, w tym zmiennej PATH. Zmienna ta była listą ścieżek do katalogów, w których znajdowały się programy, które chcieliśmy uruchamiać w linii komend z dowolnej lokalizacji (tj. bez podawania pełnej ścieżki dostępu do pliku wykonywalnego).
Jednakże: gdzie MS-DOS, a gdzie Windows Vista? Otóż, zachodzi czasem potrzeba skorzystania z "czarnego ekranu", tj. linii poleceń, także w Windowsie. Przykładowo: gdy posługujemy się kompilatorem języka C (a nie mamy lub nie chcemy używać całego środowiska programistycznego). (Notabene inspiracją do napisania tego artykułu była potrzeba wygodnej obsługi asemblera. :)). Dzięki temu, że odpowiednią ścieżkę do interesującego nas programu dodamy do zmiennej środowiskowej PATH, będziemy mogli uruchamiać tegoż bez każdorazowego podawania całej do niego ścieżki.
Zamiast zatem pisać:

C:\> "C:\Program Files\NASM\nasm.exe -fbin plik.asm -o plik.com"

Będę mógł pisać:

C:\> nasm -fbin plik.asm -o plik.com

Oszczędność ewidentna. Jak jednak tego dokonać w nowszych systemach Microsoftu, takich jak np. Windows Vista? Przecież nie mamy - tak jak starym MS-DOS-ie - łatwo dostępnego na dysku C pliku autoexec.bat. Nie ma jednak rzeczy niemożliwych! :)

Do osiągnięcia powyższego efektu należy zastosować poniższą procedurę:
1. Uruchomić [Panel sterowania].
2. W prawym górnym rogu, w polu wyszukiwania wpisać "system ścieżka".
3. Spośród podanych podpowiedzi wybrać "Edycję zmiennych środowiskowych".
4. W nowootwartym okienku wybrać umieszczonym w prawym dolnym rogu klawisz "Zmienne środowiskowe".
5. Otwiera nam się okienko, gdzie możemy edytować te zmienne. Wybieramy z dolnej listy - górna dotyczy bowiem zmiennych zarezerwowanych tylko dla nas, tj. aktualnego użytkownika - interesującą nas zmienną PATH. Klikamy [Edytuj].
6. Ustawiamy kursor na końcu tekstu, stawiamy średnik (każda ścieżka musi być oddzielona średnikiem!) i wpisujemy naszą całą ścieżkę. (Dla pewności i w celu uniknięcia ew. problemów: jeśli nasza ścieżka zawiera spacje - tak jak w moim przykładzie "Program Files" - warto zawrzeć całą ścieżkę w cudzysłowie.)
7. Resetujemy komputer i możemy cieszyć się z nowych ustawień zmiennej PATH.

Inspiracja: http://banagale.com/changing-your-system-path-in-windows-vista.htm

sobota, 1 października 2011

CSS: Kolumny

Szukając narzędzia, dzięki którym wpisy na jednym z moich blogów mogłyby mieć bardziej "gazetowy" wygląd, okazało się, że pod latarnią najciemniej. Otóż, standard CSS3 pozwala na automatyczne dzielenie tekstu na kolumny (w prawdziwej edytorskiej terminologii: na łamy) - nie potrzeba do tego żadnych operacji, jedyne właściwe zdefiniowanie stylu.
Do wykonania takiej operacji wystarczy do opisu stylu danego akapitu, fragmentu tekstu lub panelu div dodać wpis: -moz-column-count i podać, ile kolumn dla tego tekstu sobie życzymy. Przeglądarka sama podzieli tekst na łamy i wypełni nimi całą dostępną szerokość. Co do szerokości samych kolumn, definiujemy ją parametrem -moz-column-width. Natomiast -moz-column-gap pozwala nam na określenie rozmiaru odstępów między kolumnami.
Jakie proste, a jakie przydatne! Poniżej przykład działania:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dictum dictum luctus. Sed tincidunt dui in arcu luctus sit amet lacinia mauris ornare. Curabitur a lectus eget sapien convallis ultrices. Maecenas scelerisque, nisi et tincidunt ultrices, est justo congue dolor, a lobortis leo purus ac dui. Donec scelerisque tortor eu risus gravida ac vulputate risus faucibus. Donec nec arcu nec ligula iaculis molestie. Vestibulum in dui sed felis fringilla posuere a at ligula. Morbi ut aliquam nunc. Donec diam urna, ultrices sit amet laoreet id, congue a purus. Sed feugiat sem in risus condimentum et aliquet erat porttitor. Vivamus sollicitudin pulvinar sapien, facilisis tempor nibh imperdiet at. Pellentesque cursus sem orci.

Oraz kod:

<div style="-moz-column-count: 3; -moz-column-gap: 10px;"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed dictum dictum luctus. Sed tincidunt dui in arcu luctus sit amet lacinia mauris ornare. Curabitur a lectus eget sapien convallis ultrices. Maecenas scelerisque, nisi et tincidunt ultrices, est justo congue dolor, a lobortis leo purus ac dui. Donec scelerisque tortor eu risus gravida ac vulputate risus faucibus. Donec nec arcu nec ligula iaculis molestie. Vestibulum in dui sed felis fringilla posuere a at ligula. Morbi ut aliquam nunc. Donec diam urna, ultrices sit amet laoreet id, congue a purus. Sed feugiat sem in risus condimentum et aliquet erat porttitor. Vivamus sollicitudin pulvinar sapien, facilisis tempor nibh imperdiet at. Pellentesque cursus sem orci. </div>

Oczywiście uwagę powinien zwrócić prefiks -moz, oznaczający, że ta funkcja działa tylko w przeglądarkach Mozilli (od wersji 1.5 włącznie). Na szczęście otwarcie tak przyrządzonej strony w przeglądarce, które tego mechanizmu nie obsługuje (np. IE), nie powoduje błędu - po prostu to formatowanie jest ignorowane i tekst jest wyświetlany w jednym łamie.

Więcej informacji: https://developer.mozilla.org/pl/Kolumny_CSS3

piątek, 30 września 2011

Co się stało z Firefoksem?

Nowy Firefox (korzystam z wersji 6.02) - a mam na myśli przeskok z wersji około 3 do poziomu 5-6 - oczywiście jest nowy, kolorowy, nowoczesny etc. Frapuje mnie jednak pewien problem: gdy w starym Lisie wpisywałem do paska adresu zapytania typu "poczta o2" lub "mapy google", to - za pomocą wbudowanego mechanizmu korzystającego z wyszukiwarki Google - bezbłędnie byłem kierowany na właściwe strony: odpowiednio pocztę portalu o2 i serwis Google Maps. Obecnie zaś, po wpisaniu takich fraz, nie otrzymuję tego, co chciałem (i tego, co jest naturalne - trudno wyobrazić sobie, czego innego szukać mogłaby osoba wpisując takie frazy...), lecz otwiera mi się strona wyszukiwarki Google'a z wpisanymi tymi frazami. Oczywiście na pierwszym miejscu są linki do tych serwisów, o które mi chodziło. Ale nie - nowy Firefox uparcie pokazuje mi listę wyników wyszukiwania, która jest dla mnie zbędna, bo mi chodzi o ten pierwszy link. :(
I to mi bardzo truje życie, żebyście wiedzieli! ;)

P.S. Obiecuję napisać też co nieco o wydajności Firefoksa - mimo że napisano o tym tomiszcza (zwłaszcza nieśmiertelne "testy", "porównania" z Chromem czy Operą. Ja to sobie daruję, ale pokażę ciekawe rzeczy, jeśli chodzi o wydajność sprzętowo-systemową Płonącego Lisa w Windowsie XP i pod Vistą.

wtorek, 27 września 2011

Nowa skórka Bloggera - plusy i minusy

Niedawno przełączyłem się na nową skórkę w serwisie Blogger (na którym funkcjonuje ten i jeszcze kilka innych moich blogów). Ogólnie oceniam ją bardzo dobrze. Plusuje nowy design, zbliżony do innych produktów Google'a (pierwsze moje wrażenie to myśl o podobieństwie do Google Analytics). Cenne jest to, że w głównym panelu, gdzie mamy dostępną listę naszych blogów, przy każdym z nich widzimy miniaturkę wykresu statystyki wejść na dany blog. (Podobnie podoba mi się pomysł wyświetlania ilości wejść przy każdym poście na liście naszych wpisów.) Pewne innowacje wprowadzono także do edytora postów (np. mini-menu kontekstowe, umożliwiające edycję linków i obrazów - bardzo przydatne!).
To są ogólne, obiektywne zalety nowego panelu obsługi Bloggera. Niestety, nie ustrzeżono się wad. Jednym z poważniejszych błędów - choć może to kwestia przyzwyczajenia - jest pomysł, aby pole do wpisywania etykiet (tagów) było ukryte w rozwijanym menu. To trochę niepotrzebne, bo raczej do każdego wpisu powinno się dodawać takie znaczniki - w nowym układzie zaś bardzo łatwo zapomnieć o tym; trzeba też wykonać jedno dodatkowe (i niepotrzebne kliknięcie). (Nie wspominam już o tym, że dość dziwnie działają podpowiedzi - gdy się takowa pojawi, to nie można zrobić autouzupełnienia enterem: trzeba klawiszem strzałki wybrać ją najpierw i dopiero zatwierdzić enterem. Znów niepotrzebna dodatkowa czynność.)
Jednak największym powodem do wstydu dla ekipy Bloggera powinien być... problem z polskimi literami w podstawowych fontach używanych w serwisie. Proszę zobaczyć:
Lipne, prawda? Aż dziw bierze, że albo nikt tego nie zauważył, albo osoba, która to zauważyła, olała sprawa. Tak czy inaczej - partactwo, panowie, partactwo. :(