Kategoria: Uncategorized

Pod prąd

Właśnie zdałem sobie sprawę, że w Berlinie i Warszawie kiedyś zdarzyła mi się ta sama sytuacja: wjechałem w jednokierunkową ulicę pod prąd. Nigdy mi się to nie zdarzyło w rodzinnym mieście, ale w obcym, to jest nawet trochę zrozumiałe.

W Berlinie pamiętam kobietę z naprzeciwka, która bardzo szybko zorientowała się co robię i w swoim ciemnoniebieskim samochodzie zaczęła trąbiąc dawać mi znać, co właśnie się dzieje i panicznie pokazywać ręką na znak, który za chwilę miałem przegapić. Po kilku latach myślę, że była w tym cząstka niemieckiej porządności, choć wtedy w jej oczach widziałem strach o mnie, czy nic mi się nie stanie. Uśmiechnąłem się do niej, na znak, że już wszystko rozumiem i zawróciłem.

W Warszawie było trochę inaczej. Kierowca z naprzeciwka też zaczął błyskać mi światłami i trąbić, a gdy zrozumiałem co robię, podniosłem rękę w geście przeprosin i wyjaśnień po czym szybko skręciłem w prawo w boczną uliczkę, bym mógł za chwilę zawrócić. Usłyszałem jeszcze jeden klakson, przeciągły, spojrzałem w lusterko wsteczne, gdzie ujrzałem wyciągnięty środkowy palec mojego drogowego nauczyciela, który specjalnie zatrzymał się by dać mi tę ostatnią lekcję.

1

Blogowanie może być sposobem na cenzurę w mediach społecznościowych

Zmiany organizacyjne, nie ma mnie na Facebooku, zapraszam na bloga

Stało się (czy też jak to teraz jest modne, zakrzyknę: mamy to!). Postanowiłem nie używać Facebooka i zobaczyć co się stanie.

Jako datę początkową wybrałem sobie 1 kwietnia i zrobiłem to po cichu (dopiero teraz, po tygodniu, mówię to głośno pierwszy raz). W tym wpisie opiszę powody, jak się do tego przygotowałem, jak mi idzie i kilka innych spraw organizacyjnych.

Rozwód nie jest zupełny. Nazwałbym to miękkim rozstaniem. Nie skasowałem konta, wciąż używam Messengera (w wersji Lite na telefon, a na laptopie przez stronę messenger.com). Tam wciąż są moi znajomi i nie będę ich dla eksperymentu poświęcał.

Powody

Nie zacznę od prywatności. Najważniejszym powodem jest to, że lubię sobie robić takie eksperymenty na sobie: czy potrafię odstawić jakąś używkę, czy to jednak ona trzyma mnie w szachmacie? Robię tak z różnymi aspektami życia, poczynając od kawy, przez sposób pracy po spędzanie wolnego czasu i surfowanie po sieci. Teraz przyszła pora by sprawdzić czy dam radę nie tracić czasu na sprawdzanie 15 razy na dobę czy ktoś dodał jakieś nowe zdjęcie czy wpis (nope, nie dodał, 15ty raz widzę ten sam wpis o polityku/wakacjach/gejach/aborcji/szkole/… ale to nie przeszkodzi mi wejść kolejne 10 razy by zobaczyć znów to samo).

Tak oto przeszliśmy gładko nad drugim powodem – marnowaniem czasu na rzeczy, które będę na starość żałował, że zmarnowałem na nie czas – i można już przejść do trzeciego powodu:

Właśnie prywatności. Są dwie wielkie firmy żrące nasze dane, zwyczaje, zachowania, to co lubimy, a czego nie, z kim się całujemy, a z kim lepiej nie i jak moglibyśmy to byśmy mu w mordę dali. Ale z tych dwóch firm to właśnie Facebook jest arcy-do-szpiku-wierutnie chujem.

Tą pierwszą firmą jest oczywiście Google. I Facebook, i Google zapuścili wszędzie gdzie tylko mogą swoje macki. Oczywiście chcą wiedzieć o nas jak najwięcej, nie po to by nas zniszczyć przy jakiejś okazji, a “jedynie” by lepiej nas sprzedać reklamodawcom i dlatego panoszą się gdzie tylko mogliby nas zastać i podejrzeć: przyciski “lubię to” na stronach węszące po cichu gdzie przesuneliśmy myszkę, system operacyjny na telefon uczący się czy bardziej jesteśmy wierni żonie/mężowi w książce telefonicznej czy kochance/kochankowi w tinderze (żono, jeśli to czytasz, nie mam tindera, jak nie wierzysz, zapytaj google-a) i tak dalej, i tak wszędziej.

Podczas gdy Google to wszystko robi, daje nam w zamian całą masę narzędzi za darmo (tzn za naszą prywatność, a nie za faktyczne pieniądze): dobry system operacyjny na telefony, bardzo dobrą wyszukiwarkę, dobrą pocztę elektroniczną, kalendarz, przeglądarkę, pakiet biurowy, statystyki stron, serwery CDN, DNS, mapy i dokłada do tego swoją wartość dodaną, której nie otrzymamy korzystając z tych wszystkich usług osobno, ale od różnych dostawców: wykorzystuje nasze dane nie tylko by sprzedać nas reklamodawcom, ale i by uczynić swój ekosystem inteligentniejszym. Gdy szukasz trasę w mapach do Warszawy, Google wie skąd wyruszasz. Gdy szukasz “post” w internecie, wie że jesteś programistą i wyniki odnośnie HTTP requests będą wyżej od wielkanocy.

To wszystko nadal jest złe i niewygodne, ale to jest jednak jakiś tradeoff: oddaj nam swoją prywatność, a dostaniesz coś w zamian. Ja się na to godzę lub nie.

A co daje nam Facebook? No właśnie, co? 🙂 Wall do scrollowania gdy nie masz nic ciekawszego do roboty. Wielki mi dzięki za wielkie mi coś.

Daje ci dostęp do znajomych? O nie, wręcz przeciwnie. Znajomych, mój drogi i moja droga, to Facebook trzyma jako zakładników byś nigdy nie skasował tam konta. Przekonasz się o tym, gdy spróbujesz to zrobić.

Zobaczysz wtedy, że jest to niemożliwe. Nie zmusisz się do skasowania konta i poświęcenia tych dziesiątek kontaktów, wśród których są tacy, do których piszesz codziennie i tych, których dodałeś bo pamiętasz go/ją z podstawówki i na tym wasza interakcja się skończyła.

Facebook nie daje nic. Wysysa z ciebie twoją prywatność, podsyła ci fake newsy, angażuje w troll-dyskusje, szturcha, że może ziemia faktycznie jest płaska i szkraba lepiej nie szczep, bo i tak twoje dziecko umrze, co za różnica czy na starość czy przed ząbkowaniem i ponad to wszystko dzieli nas wszystkich na wielu możliwych płaszczyznach. Znacie to uczucie, że poznajecie kogoś fajnego, rozmawiacie jak całkiem dobrzy kumple, któregoś dnia dodajcie się do znajomych na fejsie i przypał, bo dopiero wtedy się dowiadujesz, że on/ona jest socjalistycznym lewakiem albo prawicowym debilem szerującym memy wyśmiewające innych? Choć wolałbym aby ludzie tego nie robili (po co?!) to jako, że nie mogę tego sprawić, opuszczając Facebook przynajmniej nie będę tego oglądał. Od razu robi się słoneczniej.


Jak się do tego przygotowałem

Albo nie. Wiecie co, ten wpis już jest za długi 🙂 Więc podzielę go na serię wpisów i tu na razie skończę.

Jak was zaciekawiło co i jak piszę, to jakoś zacznijcie obserwować mój blog (dodajcie do czytnika RSS, do zakładek w przeglądarce,… w sumie to zaraz wrzucę link do tego na – o zgrozo, ale tam wciąż jesteście, a nie tu – fejsa i będę wrzucał do kolejnych wpisów).

W kolejnym wpisie/wpisach opiszę jak się pozbyć pamięci palców (po odstawieniu serwisu odruchowo na niego się wraca klepiąc “face” w pasek adresu i przyciskając enter) i co jeszcze zrobić by się nie chciało wracać.

Acha, pod wpisem jest takie serduszko co można kliknąć. To taki lokalny odpowiednik polajkowania, z tym że bez tracenia danych czy prywatności (nawet nie będę wiedział kto kliknął, będę wiedział tylko ile osób). Jest też formularz, w którym można komentując porozmawiać ze mną.

Na facebooku tego wpisu nie komentujcie. To znaczy: róbcie jak chcecie, ale tam waszego komentarza jednak nie przeczytam 😉

12

Czy pozwolić stronie na wysyłanie powiadomień? Nie

Te okienka wyświetlane przez przeglądarki nad stronami z pytaniem czy pozowolić stronie na wysyłanie powiadomień (fachowo przez web developerów nazywane Web Notifications) są takim mini rakiem sieci. Zamysł może i rozumiem, ale przez fakt, że API te jest nadużywane jeszcze kilka lat i pewnie będzie to wycofany i zapomniany standard.

O ile powiadomienie z kalendarza czy skrzynki pocztowej ma sens, teraz każdy sklep, każda strona z buzz newsami i inne tego typu witryny wdrożyło to. Oczywiście licząc, że zwiększą zasięg, a efekcie dodając tylko kolejne okienko – po okienku z informacją ciastkach, okienku z informacją o RODO, okienku “zapisz się na newslettera”, “polub nas na Facebooku”… – do zamknięcia by zacząć spokojnie czytać stronę.

Twórcy Firefoksa już to rozumieją i na szczęście jest możliwość zablokowania tego API.

Hamburger menu (w rogu przeglądarki) > Preferencje > Prywatność i bezpieczeństwo > Uprawnienia > Powiadomienia i tam zaznaczamy ptaszek “Blokowanie nowych próśb…”. Dotychczas przyznane uprawnienia dla kalendarza itp nie zostaną skasowane, ale jeśli chcesz, możesz to zrobić na tym samym ekranie ustawień.

Dzięki, Firefox. Nie będę za tym tęsknił, obywałem się bez tego przez większość życia w sieci i obędę nadal.

A jeśli ktoś chce też usunąć wszystkie modale “zapisz się… / polub nas…” jest dodatek do tego (nie usuwa od razu, ale kliknięcie go zamknie wszystko na raz)

3

Życie w symulacji

Rodzi się pewna quasi-religia, a jednym z najbardziej rozpoznawalnych jej piewców jest ponoć Elon Musk. Mianowicie wiele osób zaczyna wierzyć, że wszyscy żyjemy w symulacji komputerowej.

Symulacja toczy się na komputerach działających gdzieś w dalekiej przyszłości, tak zaawansowanych, że świat w niej renderowany jest niemal niemożliwy do odróżnienia od faktycznej rzeczywistości. Dlatego nie wiemy, że żyjemy w symulacji.

Po co powstała? Wyznawcy twierdzą, że przenoszeni są do niej faktyczni, żywi ludzie z przyszłości i jest to rodzaj szkoły. Technologia w przyszłości jest bowiem tak zaawansowana, że ciężko jest ją ogarnąć ludzkim umysłem. Więc stworzono symulację prezentującą świat na przełomie XX i XXI wieku, w czasach gdy komputery i internet były względnie młode, a świat z ich udziałem da się jeszcze mniej więcej zrozumieć. I tacy uczniowie z przyszłości trafiają do nas by zobaczyć jak to się wszystko zaczęło.

Fajna koncepcja pobudzająca wyobraźnie, ale mi się chyba najbardziej podobają żarty  powstające wokół niej.

Dlaczego ludzie muszą codziennie spać mniej więcej jedną trzecią doby? Na świecie jest ponad 7 miliardów ludzi. Komputery przyszłości może i są potężne, ale jednak nie na tyle by nadążać z renderowaniem takiej ilości osób, więc jedna trzecia, zmiennie, musi oczekiwać w stanie stand by.

Wszedłeś do jakiegoś pokoju i od razu zapomniałeś po co tu przyszedłeś? Albo chciałeś coś powiedzieć ale czekałeś aż interlokutor na chwilę przerwie i gdy już przyszła twoja kolej, zupełnie nie pamiętasz co też miałeś na myśli? Nie przejmuj się, to zwykły wyciek pamięci w komputerze renderującym.

Masz deja vu lub zupełnie faktycznie zdarza ci się po raz kolejny ta sama sytuacja? Nie bądź zachłanny – wyrenderowano cię w końcu na maszynie, która ma skończony zbiór przewidzianych tobie wydarzeń.

I teraz na biegunie pojawia się ta góra lodowa:

Pomyśl, jeśli byś tworzył wirtualny świat takich rozmiarów jak nasza planeta i wiedział, że gdzieniegdzie musisz oszczędzić na detalach, bo zwyczajnie karta tego nie uciągnie, nie było by wygodnie walnąć raz na jakiś czas zwykłą prostokątną górę lodową, w miejscu gdzie przecież nie ma ludzi i szanse na jej odkrycie są znikome?

0

Odzyskiwanie danych skasowanych z pendrive – jak to zrobić pod linuksem

W końcu się przytrafiło: zamiast skasować kilka katalogów z pendrive’a skasowało się wszystko 🙂 Nie do kosza, ale na “amen”.

Do skasowania doszło pod Windows, więc najpierw szukałem narzędzi dla tego systemu: bałem się, że wyjęcie pendrive może pogorszyć sytuację. Po sprawdzeniu dwóch, każdy się okazał programem typu “pokażemy ci co skasowałeś, ale za odzyskanie zapłać”. Dałem sobie zatem spokój i przepiąłem pendrive do mojego laptopa.

I teraz krótko jak postępujemy:

Instalujemy foremost, program do odzyskiwania danych:

$ sudo yum install foremost

Podpinamy pendrive i szukamy jego oznaczenia:

$ sudo fdisk -l

(u mnie wyszło, że pendrive ten to /dev/sdb2)

Odzyskujemy (chwilę to potrwa):

$ sudo foremost -i /dev/sdb2 -o ~/odzyskane

Utworzony na dysku katalog z odzyskanymi ma uprawnienia roota, więc poprawiamy to:

$ sudo chmod -R 777 ~/odzyskane

Wułala: w katalogu użytkownika zobaczysz katalog “odzyskane” a w nim wszystko co było na pendrive i nie zostało nadpisane0

Jak wyłączyć wkurzające powiadomienia?

Piętro wyżej trwa jak co dzień od rana libacja, za ścianą szczeka znowu pies sąsiadów, na podwórku dzieciaki kopią piłkę, a ja zamiast pracować wciąż to słyszę. Cóż, takie już uroki pracy w domu. Mam na to dawno wypracowaną choć banalną metodę: słuchawki w uszy, włączyć odtwarzacz muzyki i w nim puścić którąś ze stacji radiowych. Najlepiej jakiś ambient, chillout czy choćby muzyka klasyczna. Ważne by grało cicho i nie rozpraszało.

Włączam więc w nowym 11.04 dostarczony wraz z systemem odtwarzacz Banshee. Klikam na radio – lista jest pusta. Hmm, w poprzedniej wersji było sporo predefiniowanych stacji (ale wtedy to był Rhythmbox a nie jakiś Bunshee). Da się przeżyć, poszukałem w sieci jakichś stacji i już gra muzyka.

Wyskakuje mi powiadomienie systemowe o tytule i wykonawcy. Do niczego mi to nie jest potrzebne, ale ok. Znika.

Dziesięć sekund później znów wyskakuje to samo powiadomienie. Ten sam wykonawca, ten sam utwór. Zgrzytam zębami, ale wracam wzrokiem do edytora stron.

Po kolejnych dziesięciu sekundach znów wiem kto i co mi gra. No co jest do licha?

Nie napisałem jeszcze ani jednej linijki kodu i zamiast tego wchodzę na google i wpisuje ‘ubuntu unity how to remove desktop notifications’. Nic nie ma na ten temat.

Dziesięć minut przeklikuję się przez ustawienia Banshee. Jeśli dobrze pamiętam w Rhythmbox była opcja wyłączenia tej chmurki. Tutaj – nie ma.

Dziesięć minut przeklikuje się przez ustawienia Unity i przez CompizConfig. Też nic nie widzę.

Ostateczna desperacja: włączam pomoc systemu. Wpisuję ‘notifications’ (gdyby pomoc systemu Windows była po angielsku, wszyscy by zakrzyczeli Microsoft na śmierć, tutaj jednak muszę potulnie przyjąć to do wiadomości – w końcu nie płacę, nie mogę czepiać się takich drobiazgów). I znajduję jeden rozdział na ten temat:

Małe jednozdaniowe powiadomienie na dole ekranu? Jak kliknę w nie pojawi się większy opis? Chyba czytam opis nie tego, o co mi chodziło. Już pomijam fakt, że nie ma tu ani słowa o tym jak się tego pozbyć.

Chwila. Czy mi się to przypadkiem z czymś nie kojarzy? Ach tak: choć używam Ubuntu z Unity, to instrukcje pozostawiono dla Ubuntu z Gnome Shell 🙂 Ślicznie, Mark, więc jednak Shell jest lepszy? 😉

No nic, wracam do pracy, bo Rhythmbox zdążył mi się już zainstalować i gra tak jak tego oczekuję. I ma od razu listę stacji. Mark, kolejny raz pokazujesz mi, że chyba nie używasz systemu, który sam tworzysz. Po co wkładasz do niego oprogramowanie, które działa jak klocek? Czy naprawdę usunięcie rozpraszającego elementu musi być niemożliwe?

(Uwaga: powyższe to jest opis tylko jednej niedogodności w tylko jednym programie. Jeśli mnie sprowokujecie, wypiszę tutaj całą litanię na temat niedociągnięć każdego piksela tego interfejsu graficznego i zestawu aplikacji out-of-the-box 😉 )0

2011 miał być rokiem urządzeń mobilnych. Według mnie nie będzie.

W czasie WordCampu, jaki zorganizowaliśmy w grudniu ubiegłego roku ktoś z prowadzących prezentacje powiedział, że rok 2011 ma być rokiem przełomowym dla urządzeń mobilnych. Jakaś ważna instytucja (przepraszam za ogólniki, ale nie pamiętam na kogo się wtedy powołano) prognozowała, że w tym roku liczba wejść na strony z urządzeń z małym ekranem ma być większa niż liczba wejść z tradycyjnych PC-tów czy laptopów.

Wszyscy się wtedy tym przejęliśmy. Brzmiało to wielce. I kłopotliwie zarazem bo prawdę mówiąc wielu z nas do tamtej pory nawet nie sprawdzało jak nasze strony wyglądają na komórkach.

Za chwilę mamy maj, za dłuższą chwilę minie pół owego przełomowego roku. Postanowiłem więc zajrzeć do statystyk moich stron. Nie są to na pewno do końca wiarygodne dane – nie odwiedza mnie na pewno tak bardzo statystyczny czytelnik jak na przykład czytelnik onetu czy demotywatorów – jednak stron mam kilka i na wszystkich wynik jest zadziwiająco podobny.

Na stu odwiedzających, zaledwie jedna osoba (w porywach do półtorej) łączyła się z urządzenia mobilnego (komórki lub tabletu). A z nich tylko 10% użytkowników podłączyło owe komórki i tablety do sieci za pośrednictwem ery, plusa, playa czy orange.

Gdzie tu jest więc mobilność? Jedna osoba na tysiąc pod koniec kwietnia łączy się z siecią spoza domu i przegląda strony na małym, dotykowym ekranie. W życiu nie uwierzę, że jeszcze w tym roku liczba ta wzrośnie 500-krotnie.

Czyżby kolejna bańka spekulacyjna? Domyślam się, że taka zapowiedź, jaką usłyszeliśmy w grudniu podziałała nie tylko na nas – twórców stron – ale także naszych klientów. Wielu z nich na pewno słysząc podobne słowa zdecydowało się wydać dodatkowe kwoty, tylko po to by nie przegapić tych potencjalnych 50% klientów własnych, którzy będą szukać ich usług mobilnie.

Jak widać – nie będą.

Ale może się mylę. Jak u Was wyglądają statystyki odnośnie odwiedzin mobilnych?

0

Read-ability czyli czytaj strony w spokoju

Już od dłuższego czasu używam w swojej przeglądarce prostego przycisku, który strasznie ułatwia czytanie stron. Najwyższa pora pochwalić się tym dla Was 😉 (więcej…)0

Spece od usability a Wykop.pl

Zawsze miałem podejście do wszelkiej maści specjalistów od usability, mniej więcej takie, że są po prostu niepotrzebni 🙂 Ignorancja moja wynikała z tego, że serwisy internetowe jakie używam są dla mnie po prostu proste w tym używaniu. A jak jakaś strona prosta nie jest, to jej po prostu nie używam. Oba fakty sprowadzają się do właśnie do tego, że błędnie uważałem, że coś takiego jak un-usability nie istnieje, ja tego nie widzę 🙂

Jednak okazuje się, że wystarczy redesign strony, którą często używam, by przekonać się jak bardzo się myliłem.

Chodzi mi tutaj o wykop.pl. Używam go od dawna i działał dla mnie świetnie. Wiedziałem co gdzie jest, miał swoje oczywiście braki, ale spełniał podstawową funkcję: codziennie oglądałem listę stron polecanych przez innych i polecałem je innym, dodawałem komentarz. I tyle.

A teraz? Nie widziałem nikogo, kto by zrobił wow na widok nowej odsłony tego serwisu. Pomijając błędy programistyczne, których jest tam niemożebnie dużo (właściciele chyba umarli bo błędy istnieją bez zmian do dziś i nikt ich nie rusza) to cały interfejs wygląda jakby robiono go z myślą przewodnią “utrudnijmy użytkownikom przeglądanie serwisu tak mocno jak to jest możliwe”. Wprowadzono kompletnie nieprzemyślane grupy (sam pomysł jest OK, ale jego prezentacja do dupy), wszelkie zakładki mają swoje własne zakładki (np zakładka Wykopalisko ma jeszcze cztery kolejne, nie wiem po co i nie mam zamiaru spędzać choć minuty by to rozgryzać), dodano jakiś Mój Wykop (kolejny stream – nie, dziękuję), który zasłania mi coś co lubiłem czyli ostatnie komentarze w obserwowanych.

Do bani. Wykop.pl imo był jednym z ważniejszych serwisów w polskim internecie,, subiektywnie chyba nawet najważniejszym. Dzięki Wykopowi, Diggowi etc uświadomiłem sobie, że dawne Onety, WP i Interie to już jedynie śpiew przeszłości (co same potwierdzają próbując albo wykop skopiować albo poddając się w tym i promując się na nim). Tak ważny serwis, jeśli wprowadza zmiany, powinien robić je z głową, i – niech Wam będzie – radząc się specjalistów od użyteczności, badając rozwiązania na testowej próbie, a nie na wszystkich użytkownikach. Tutaj jednak wygląda to tak, jakby autor serwisu postanowił z jednej strony zrobić jakieś własne widzimisie bez sprawdzenia czy faktycznie ludzie na to czekają, a z drugiej po prostu kopiując bezmyślnie Digga.

Wyszła kupa.0

Zieloni chyba nie lubią dzieci z Afryki

Pamięta tu jeszcze ktoś jak prawie dwa lata temu załamywałem ręce nad protestami “ekologów” przeciw nowemu pomysłowi na walkę z malarią? Ja pamiętam. Okazuje się, że zieloni nadal nie robią nic, by zaprzeczyć powszechnemu twierdzeniu, że zwierzę jest dla nich ważniejsze niż człowiek. Tak jak się obawiano na światowym szaleństwie pod tytułem “globalne ocieplenie” ucierpiała w dużej mierze Afryka i walka z malarią, która jest tam problemem o kilka rzędów wielkości większym niż nasza nieśmiała (bo jakaś schowana, ja do tej pory jej nie widziałem) świńska grypa.

Zaczęło się może niewinnie, choć według mnie instrumentalnie: w słynnym czwartym raporcie IPCC na temat zmian globalnego klimatu straszono nas, że jednym ze skutków globalnego ocieplenia będzie zawędrowanie malarii i innych chorób tropikalnych także do Europy (co ciekawe jednym z takich skutków miał być też wzrost prostytucji, ale nie pytajcie mnie jak to wydedukowano). Tak to eksperci z IPCC (a raczej “eksperci”, bo jak wiadomo wyciekły ostatnio informacje na temat tego, jak ów raport powstawał) postanowili skupić na swoim klimatycznym problemie także ludzi zaangażowanych w przedsięwzięcia medyczne jak i religijne (zapewne po to by organizacje katolicke spojrzały przychylniejszym wzrokiem na problem globalnego ocieplenia, umieszczono w owym raporcie nieszczęsne prostytutki).

Powyższe być może i by brzmiało jak jak moje przesadne wieszanie psów na zielonych, ale mam prawo być nieco wkurzony 🙁 Informacjom o zwiększonym ryzyku zachorowań na malarię w Europie zaprzeczył ostatnio sam szef IPCC – Rejendra Kumar Pachauri (nomen omen, kolejarz z wykształcenia) – zwlaszcza gdy został przyparty do muru, po tym jak rypła się cała sprawa z naginaniem faktów podczas tworzenia raportu.

I tak oto na kolejnym polu zieloni wyciągnęli dla siebie jeszcze więcej, nie bacząc na konsekwencje. Problem malarii został potraktowany instrumentalnie jako straszak, a cała heca dla zwalczania malarii zamiast pomóc – zaszkodziła. W ostatnio opublikowanym dorocznym liście Billa Gatesa (jako prezesa Fundacji, a nie Microsoftu) zauważył on, że zwiększone nakłady na finansowanie akcji ekologicznych udały się właśnie dzięki zmniejszeniu finansowania inicjatyw zdrowotnych, w tym badań nad szczepionką przeciw malarii. Krótka kołderka okazała się zbyt krótko, co zresztą było do przewidzenia: w większości krajów (jeśli nie we wszystkich, na pewno tak jest w Polsce) finansowanie wszelkich akcji pomocowych i rozwojowych, czy to ekologicznych czy też zdrowotnych odbywa się z tej samej puli pieniędzy w budżecie. Idę o zakład, że w ubiegłym roku drastycznie wzrosła w Polskiej Pomocy ilość wniosków o dofinansowanie akcji związanych z walką z globalnym ociepleniem.

I co dalej? I nic. Ekolodzy nadal będą twierdzić, że robi się coraz cieplej (co zresztą jest chyba prawdą, bo dziś w nocy było -33 stopnie, a teraz jest już tylko -21, a jutro ma być jeszcze “cieplej”), będą robić dobrą minę do złej gry. Badania nad szczepionką przeciw malarii na pewno zostały spowolnione i tyle. Bez pośredni związek między ekologiczną farsą a owym spowolnieniem jest trudny do udowodnienia, zatem ekolodzy będą spać spokojnie. Fakt faktem, że w Afryce nadal statystycznie co 30 sekund umiera jedna osoba na malarię. Szkoda.

* * *

To nie jest mój pierwszy wpis o malarii i jeśli ktoś chce o niej poczytać więcej, zapraszam do lektury artykułu niemalże pod tytułem “wszystko co wiem o malarii”. Lub też na stronę Centrum Informacji Medycyny Podróży, zwłaszcza jeśli ktoś już teraz planuje wyjazd na wakacje do ciepłych krajów. Malaria w Polsce nam nie grozi (choć… ale może o tym innym razem), jednak jeśli ktoś wybiera się do ciepłych (pamiętajcie: coraz bardziej ciepłych) krajów, już teraz powinien myśleć i szczepieniach przeciw chorobom tropikalnym i lekach antymalarycznych (szczepionki przeciw malarii jak wyżej wspomniałem nie ma i jeszcze jakiś czas nie będzie, ale można stosować inną profilaktykę: tabletki, repelenty, moskitiery czy odpowiednie zachowanie minimalizujące ryzyko zachorowania na malarię).0

Błąd ciasteczek w WordPressie

Uff, jestem właśnie po 4 godzinach kodowania mojego pluginu do WordPressa. Już zrobione, co miało być zrobione, ale nie mam siły aktualizować dokumentacji. Zrobię to rano i dlatego póki co stronę z pluginem ukrywam na razie.

Ale ja nie o tym. Większość kodowania to było tak naprawdę grzebanie po necie czemu coś, co na Codeksie jest opisane, że działa, tak naprawdę nie działa.

Od jakiegoś już czasu podejrzewałem, że WordPress ma problemy z obsługą cookies i właśnie wyszło mi to na jaw. Jeśli ktoś z Was też zauważył lub zauważy, że ciasteczko wstawione przez setcookie() tak naprawdę nie istnieje, to mam rozwiązanie:

W WordPressie gdy wstawiamy ciasteczko musimy podać także parametry “path” i “domain”. Dziwne, ale naprawdę wtedy zaczyna to działać jak należy 🙂

Zatem zgrabny (i przenośny) kod wstawiający ciastko dla WordPressa powinien wyglądać:

setcookie('nazwa ciastka', 'wartość', 'czas życia', "/", str_replace('http://www','',get_bloginfo('url')));

I tyle. Działa, ale ile się musiałem naszukać 🙂 No ale przecież ja to lubię 😉0

Tworzenie pluginów do WordPressa – tutorial

Zauważyłem, że w sieci jest jakoś wyjątkowo mało poradników jak tworzyć pluginy do WordPressa, szczególnie po polsku (taki jest chyba tylko jeden). No to jest okazja by o czymś napisać 🙂 Bo tak się składa, że wczoraj w ramach ćwiczeń napisałem sobie taki prosty plugin od zera. Teraz popatrzcie jak to zrobiłem i przy okazji nauczcie się sami 🙂

Założenia: robimy plugin wykopowy

Plugin ma być maksymalnie prosty (w końcu to nasze pierwsze dzieło), bez nadmiaru kodu. Plugin będzie dodawał pod naszymi wpisami odnośnik, który po kliknięciu doda naszą stronę do Wykopu. Dokładniej: wyświetli nam wykopową stronę dodawania z wypełnionymi już polami na odnośnik, tytuł i krótki opis.

Tworzymy plik .php

Utwórz katalog oraz plik .php wewnątrz jego. Katalog i plik powinny (ale nie jest to konieczne) nazywać się tak samo jak nasz plugin; poszczególne wyrazy w nazwie powinny zostać rozdzielone myślnikami. Konwencją jest także rozpoczynanie nazwy pluginu od literek “wp”.

Mój plugin będzie się nazywał “WP Wykop by Muzungu”. Dlatego też utworzyłem katalog o nazwie ‘wp-wykop-by-muzungu’, a w nim plik ‘wp-wykop-by-muzungu.php’.

Tworzymy opis naszego pluginu

Opis pluginu umieszczamy w naszym pliku .php jako komentarz. Wygląda on mniej więcej tak:

<?php
/*
Plugin Name: WP Wykop by Muzungu
Version: 0.1
Description: Automatically Adds <strong>"Wykop To" button to your posts.
Author: Konrad Karpieszuk
Author URI: http://www.muzungu.pl/
Plugin URI: http://www.muzungu.pl/
*/

Co się stało się? W każdej linijce mamy pewien fragment opisu. I tak:

Plugin Name – to nasz nazwa pluginu.

Version: wersja pluginu w zapisie z kropką oddzielającą podwersje

Description: opis naszego pluginu. Jak widać w przykładzie powyżej możemy w nim użyć tagów HTML

Author: Imię i nazwisko autora pluginu, lub nazwa firmy, która go stworzyła.

Author URI: Odnośnik do strony WWW autora (bloga, profilu na Naszej Klasie… 😉 )

Plugin URI: Tu wpisujemy odnośnik do strony, na której plugin będzie opisany.

Sprawdzamy czy nasz plugin został zainstalowany w odpowiednio nowej wersji WordPressa

Właściwie to nie musiałem tego robić, bo ten plugin jest bajecznie prosty i zadziała pewnie nawet w starym WordPressie. Ale podaję jak to się robi, bo może w przyszłości sam stworzysz plugin, który będzie korzystał tylko z najnowszej wersji API tego systemu blogowego.

Oto jak to się robi. W tym samym pliku wpisujemy poniżej:

/* Version check */
global $wp_version;

$exit_msg = 'WP Wykop by Muzungu requires WordPress 2.5 or newer.
			<a href="http://codex.wordpress.org/Upgrading_WordPress">
			Please update!</a>';

if (version_compare($wp_version, "2.5", "<")) 
{
	exit($exit_msg);
}

I tak po kolei, w linii 11. wpisaliśmy w postaci komentarza co robi poniższy kod (to jeden ze standardów kodowania pluginów dla WordPressa: każdą funkcję dokładnie okomentuj, tak aby potem inni mogli ją sobie łatwo przerobić bez zbędnego zagłębiania się w kod).

Następnie w linii 12. wywołujemy zmienną globalną $wp_version, w której przechowywana jest informacja o zainstalowanej wersji WP.

W 14 linijce tworzymy string, który przechowuje komunikat błędu, jaki się pojawi użytkownikowi, jeśli spróbuje nasz plugin zainstalować w zbyt starej wersji WordPressa.

Linie 18-21 to instrukcja warunkowa sprawdzającą wersję WP z wersją wymaganą przez nas (tutaj: 2.5) i jeśli warunek nie jest spełniony, instalacja kończy się wyświetleniem komunikatu, który stworzyliśmy przed chwilą.

Tworzymy kod odnośnika do Wykopu

Następnie musimy stworzyć kod HTML odpowiedzialny za wyświetlenie odnośnika do strony dodawania do Wykopu, w taki sposób, aby od razu zostały przekazane do niej informacje o adresie naszego wpisu, tytule i jego treści. Zrobimy to tworząc funkcję o nazwie WPWykopTo_Link().

Przyjrzyjmy się jednak najpierw jak wygląda odpowiedni odnośnik. Musi on nas kierować do strony http://www.wykop.pl/dodaj i przekazywać parametry metodą GET (czyli dokleić je do adresu strony) takie jak “url”, “title” oraz “desc”.

Zatem do dzieła.

/* Show a Wykop To Link */
function WPWykopTo_Link () 
{
	global $post;
	// get the URL to the post
	$link = urlencode(get_permalink($post->ID));
	
	// get a post title 
	$title = urlencode($post->post_title);
	
	// get first 350 characters of post and strip it off
	// HTML tags
	
	$text = urlencode(substr(strip_tags($post->post_content), 0, 350));
	
	// create a Wykop To link and return it
	
	return '<a href="http://www.wykop.pl/dodaj?url='.$link.'&title='.$title.'&desc='.$text.'">Wykop To</a>';
	
}

OK, znów lecimy po kolei i sprawdzamy co zrobiliśmy:

Linia 26: wczytujemy kolejną globalną zmienną, dostarczoną nam prez silnik WordPressa. $post zawiera w sobie wiele informacji o aktualnie przetwarzanym/wyświetlanym wpisie blogowym.

W linii 28. wywołujemy funkcję dostarczoną przez WP get_permalink(), która pobiera stały odnośnik do wpisu. Funkcja operuje tutaj na zmiennej $post->ID (czyli pobiera odnośnik do wpisu o określonym identyfikatorze). Odnośnik “urlenkodujemy” (przetwarzamy tak, aby bezpiecznie się wyświetlił jako parametr w innym URLu) i przypisujemy do zmiennej $link.

Linia 31 przypisuje do zmienne $title tytuł wpisu wyciągnięty z metody “title” obiektu $post. (nie znoszę programowania obiektowego)

W linii 36. na pierwszy rzut oka dzieje się wiele. Na drugi rzut oka jednak łatwo zauważymy, że wszystko co się stało, to pobraliśmy z obiektu $post treść naszego wpisu, usunęliśmy z niego znaczniki HTML, przycięliśmy do długości 350 znaków, także “zurlenkodowaliśmy” i przypisaliśmy do zmiennej $text. Proste? Proste! 🙂

Linia 40 to już banał. Zwracamy w niej kod HTML odpowiedzialny za wyświetlenie odnośnika do Wykopu. W czasie tego zwracania w odpowiednie miejsca podstawiamy nasze zmienne $link, $title i $text, tak aby utworzyły prawidłowy odnośnik dodający.

Doczepiamy nasz link do końca treści wpisu

Kod HTML utworzony, czas więc go doczepić do końca treści naszego wpisu:

/* Add Wykop To link to the end of the post */
function WPWykopTo_ContentFilter ($content) {
	return $content.WPWykopTo_Link();
}

Tutaj kod jest krótki. Tworzymy funkcję o zagmatwanej nazwie WPWykopTo_ContentFilter(), która pobierze parametr $content i doklei na jego końcu wynik działania naszej poprzedniej funkcji (czyli WPWykopTo_Link(), czyli kod HTML odnośnika do Wykopu). I tyle.

Informujemy WordPress aby użył naszego filtra

WordPress na tym etapie sam z siebie nie wie jeszcze, że jakaś funkcja już istnieje i przerabia treść wpisów w ten sposób, że dokleja na ich końcu odnośnik do Wykopu. To bardzo dobrze, bo pozwala nam to, teoretycznie (teoretycznie, bo w tym tutorialu nie pokaże jak to się robi; może w następnym rozdziale) na przykład dokleić odnośnik do Wykopu tylko do wpisów wyświetlanych na pojedynczych stronach. Ale w naszym przypadku chcemy aby link był dkolejany do wszystkich wpisów bez wyjątku.

Aby to sprawić używamy tak zwanych “haków” (ang. “hooks”). Haki “podczepiają” nasze funkcje pod silnik WordPressa. W kodzie WordPressa co rusz wpisane są funkcje sprawdzające czy w danym momencie jakiś plugin nie chciałby zmodyfikować działania owego silnika. Jeśli znajdzie taki plugin z odpowiednią instrukcją “hakującą”, pozwala mu zadziałać.

Haki są dwojakiego rodzaju.

Są haki podczepiane w momencie wykonania jakiegoś działania (action) przez WordPressa. Na przykład gdy zarejestruje się nowy użytkownik, gdy ktoś opublikuje nowy komentarz, lub gdy ktoś zamieści nowy wpis. Lub… przykładów jest bardzo wiele. Za zamieszczenie takiego akcyjnego haka odpowiada funkcja add_action(). Jednak teraz jej nie użyjemy.

Są też haki podczepiane w momencie wczytywania strony, których zadaniem jest przefiltrowanie tego, co silnik WordPressa właśnie wypluwa i zmodyfikowanie tej wyplutej zawartości. Takiego właśnie haka teraz użyjemy – chcemy bowiem wyplutą przez WordPressa treść wpisu zmodyfikować tak, że zanim pojawi się ona w przeglądarce odwiedzającego, doklejony do jej końca zostanie nasz wykopowy link. Za przefiltrowanie wordpressowego wyziewu odpowiada funkcja add_filter() i to jest właśnie moment gdy jej użyjemy.

Tutaj kod będzie bajecznie prosty i krótki:

add_filter('the_content', 'WPWykopTo_ContentFilter');
?>

Jak widać funkcja add_filter przyjmuje dwa parametry.

Pierwszy z nich to wskazanie co ma zostać przefiltrowane. W naszym przypadku filtrujemy treść wpisu, więc piszemy tutaj ‘the_content’. Pełna lista rzeczy, które można filtrować znajduje się tutaj.

Drugi parametr mówi funkcji jaka nasza funkcja ma zostać zastosowana do filtrowania zawartości pierwszego parametru. Dlatego wpisaliśmy tutaj nazwę naszej funkcji filtrującej ‘WPWykopTo_ContentFilter’.

I tyle, to już koniec naszego plugina.

Instalujemy plugin

Powyższe plugin na pewno działa. Ja już to sprawdziłem, a jeśli Ty też chcesz sprawdzić, utworzony na początku katalog ‘wp-wykop-by-muzungu’ wgraj do WordPressa w lokalizacji /wp-content/plugins. Następnie przejdź do panelu administracyjnego WordPressa. wybierz tam Plugins > Installed. Na liście pluginów zobaczysz swój plugin. Jeszcze on nie działa.

Aby zadziałał, musisz kliknąć obok niego napis “Activate”. Jeśli nie używasz WordPressa starszego niż 2.6, aktywacja na pewno się powiedzie. Przejdź teraz na stronę swojego bloga, a zobaczysz pod każdym wpisem mały, którki napis “Wykop To” 🙂

Zobacz też

Jest już dostępny rozdział drugi tego tutorialu.

Chcesz nauczyć się więcej?

Nie ma sprawy. Bardzo chętnie napiszę kolejne rozdziały, ale… gdy sam nauczę się czegoś nowego. 🙂 Jeśli chcesz to przyspieszyć, pomóż mi spełnić moje małe marzenie 🙂

A marzy mi się książka Vladimira Prelovaca WordPress Plugin Development – Beginner’s Guide. Kosztuje jednak prawie 30 euro plus koszty wysyłki.

Jeśli chciałbyś dołożyć złotówkę do niej (lub więcej):
– prześlij mi pieniądze przez paypal. Mój adres email w paypalu to selpod@gmail.com
– jeśli nie masz konta w paypalu, kopsnij mi kaskę na konto w mBanku. Mój numer konta: 21114020040000350230107505, a ja się nazywam Konrad Karpieszuk 🙂
Przelane pieniądze oznacz jakoś tak abym wiedział, że to na książkę 🙂 Jak chcesz pochwal się w komentarzu pod wpisem ile przelałeś 🙂0