Java-package z powrotem w Debianie.

Jakiś czas temu Sun zmienił politykę dotyczącą wydawania swojej wersji Javy, w wyniku czego wyleciała ona zarówno z Ubuntu, jak i Debiana. Użytkownicy zostali z niezaktualizowanymi wersjami, więc obie dystrybucje skierowały swoje zainteresowanie w stronę OpenJDK, która teoretycznie ma zapewnić wystarczającą funkcjonalność. Więcej o sprawie można poczytać tu w przypadku Debiana, oraz tu w przypadku Ubuntu. Ten drugi link zawiera instrukcję co zrobić, żeby mieć bezpieczny system, czyli opis migracji do OpenJDK na Ubuntu (IIRC dokładnie to samo należy zrobić w przypadku Debiana).

Fajnie, że jest wolne rozwiązanie, fajnie, że pewnie projekt OpenJDK dostanie niezłego kopa, jeśli chodzi o rozwój, ale jednak nie wszystkim w tej chwili wystarcza OpenJDK, które jest wolniejsze i… nie zawsze działa poprawnie (ja miałem problem z appletami VNC, które przydają się przy administracji sprzętem, zwłaszcza w przypadku rozwiązań typu KVM…). Wybór był trojaki: instalacja ręczna Javy od Sun, stara, dziurawa wersja albo niedziałanie aplikacji.

Pierwszy wybór jest męczący, jeśli ktoś lubi mieć wszystko w systemie spaczkowane (ja lubię), pozostałe dwa są niezbyt dopuszczalne w praktyce… Cieszy mnie więc reaktywacja projektu java-package (aktualnie dostępny w unstable, jeśli wszytko pójdzie dobrze, będzie we Wheezy), czyli prymitywnego skądinąd narzędzia pozwalającego na zrobienie w prosty sposób pakietu deb z Javą od Sun. Sam fakt spaczkowania oczywiście nie wpływa na działanie w żaden sposób, ale na pewno ułatwi utrzymanie porządku w systemach poprzez włącznie Javy od Sun do systemu zarządzania pakietami, wrzucenie do swojego repozytorium pakietów itp.

Tunele IPv6 od Hurricane Electric i IRC – uwaga przy przeniesieniach!

Od dłuższego czasu byłem – powiedzy, że szczęśliwym, chociaż przy dynamicznym IP miałem uwagi – użytkownikiem IPv6. Jednym źródłem jest tunel od HE, drugim jest tunel IPv6 od czeskiego virtio.cz. Z HE byłem zadowolony, ale AFAIK wymagają publicznego IP na końcówce tunelu (lub zabawy z przekierowywaniem portów – głowy nie dam, czy w ogóle się da, ale powinno się dać). Natomiast rozwiązanie Czechów korzysta z Tunnel6, który bez problemu, OOTB, bez zabaw z przekierowaniem portów przechodzi przez NAT (a akurat taką miałem potrzebę). I tak sobie to wszystko działało parę lat, służąc głównie do połączeń SSH, zapewniając stały adres IP służący dla dostępu IRCa i – w drugim przypadku – robiąc za przejście NAT bez przekierowywania portów na routerze.

Wszystko działało dobrze, do czasu… Niedawno uruchomiony został PoP HE w Warszawie, więc postanowiłem przenieść tam terminowanie tunelu. Pełna treść ogłoszenia wyglądała następująco. Nic nie wróży problemów, prawda? Trochę może boleć konieczność usunięcia i założenia nowego tunelu, ale rozumiem powody. Postępuję zgodnie z instrukcją, tj. usuwam stary tunel (to był błąd! powiadam wam, nie idźcie tą drogą!) i tworzę nowy, terminowany w W-wie. Niby bliżej, ale szału nie ma – opóźnienia do docelowych hostów podobne jak były. Ogólnie – wiele hałasu o nic, spokojnie mogło zostać po staremu, czyli z terminowaniem w Holandii. No ale skoro już zmieniłem, odwrotu nie ma, skoro wszystko działa, to niech tak zostanie…

Wszytko działało. Do czasu. Parę dni temu zauważyłem, że nie mogę się połączyć do serwerów IRC. Co gorsza, i co bardziej podejrzane, w żadnej sieci. Nie działał ani IRCnet, ani Freenode, ani OFTC. Szybka diagnostyka (ogólnie łączność do serwerów jest, wygląda na blokadę portów i to na pierwszym hopie), ticket do HE, ale zanim odpowiedzieli, znalazłem już przyczynę:

Due to an increase in IRC abuse, new non-BGP tunnels now have IRC blocked by default.  If you are a Sage, you can re-enable IRC by visiting the tunnel details page for that specific tunnel and selecting the ‚Unblock IRC’ option. Existing tunnels have not been filtered.

Pewnie nawet kiedyś to przeczytałem i zdążyłem zapomnieć. Oczywiście – to już informacja z odpowiedzi z ticketa – przeniesione tunele traktowane są jak nowe, będą miały zablokowany dostęp do IRC (do momentu uzyskania Sage) i tyle. Czyli chwilowo „odwyk” od IRCa.

Cóż, z jednej strony jest to jakiś motywator do powrotu do zrobienia certyfikatu IPv6 od HE (który polecam, bo bawiąc uczy, ucząc bawi), z drugiej strony jest to wylewanie dziecka z kąpielą, bo co to za popularyzowanie przez blokowanie? Zrobienie certyfikatu nie jest problemem (ale – póki co – okazało się niemożliwe w pierwotnie zakładanym wariancie, czyli „bezinwestycyjnie”, opierając się tylko na dostępnych za darmo usługach w sieci, stąd opóźnienie w jego robieniu). Być może skończy się po prostu zakupem domeny…

PS. Tak, wiem, mogę wziąć kolejny tunel od Czechów. Albo od SixXS (który AFAIK też zza NAT od kopa działa). Ale HE obok wad ma zalety. Choćby aktualizacja endpointa wgetem, co sprawia, że wszędzie (*wrt) zadziała.

Spam na Blox, czyli jak nie implementować CAPTCHA.

Od dłuższego czasu serwis blogowy Blox boryka się z plagą spamu. Słyszałem zapewnienia, że moderatorzy/admini walczą z tym zjawiskiem, ale wydaje mi się, że bez większych sukcesów, a nawet, że problem spamu się nasila. Jest to zjawisko dla wszystkich (poza spamerami) niekorzystne, a nierzadko na stronie głównej o pewnych porach spamy stanowią 30 i więcej procent wpisów.

Postanowiłem zerknąć na proces zakładania konta od początku. Pierwsze co rzuciło mi się w oczy, to prostota CAPTCHA. Być może parę lat temu wystarczało coś takiego, by odstraszyć spamerów, ale wojna trwa – istnieją narzędzia do automatycznego rozpoznawania nawet dość skomplikowanych CAPTCHA ze stosunkowo dużą pewnością (grubo ponad 50%). Niedawno nawet Jogger, który pozwalał właścicielowi bloga na mocne zmiany wyglądu CAPTCHA (kształt, wielkość, kolor), przy komentarzach dorzucił do niej litery obok cyfr, bo spamerzy się przebijali…

Żeby sprawdzić, czy nie przypadek, że CAPTCHA jest taka słaba, wcisnąłem F5, raz, drugi, trzeci… I okazało się, że trafiłem na powtarzające się słowa. Chwilę się pobawiłem i faktycznie, nie da się ukryć, CAPTCHA powtarza się i to – na oko – często. Postanowiłem sprawę zbadać dokładniej.

Sposób badania: uruchomienie przeglądarki, wyczyszczenie historii, w każdej serii 50 przeładowań strony (F5 lub ctrl-r), zapisanie wyników do pliku (każdy wynik w pojedynczej linii) w takiej kolejności, w jakiej się pojawiały. Żeby wykluczyć wpływ User Agent i czasu, każda seria wykonywana na różnej przeglądarce i w odstępie minimum kilkudziesięciu minut.

W pierwszej serii (przeglądarka chromium) 50 ciągów wyrazów wystąpiły 32 unikatowe ciągi, przy czym 4 wystąpiły trzykrotnie, 10 dwukrotnie, a 18 tylko raz. Dodatkowo rzuciła mi się w oczy prawdopodobna metoda powstawania wielu CAPTCHA – podział słowa na sylaby, połączone z ew. wyrzuceniem niektórych liter, a następnie wymieszanie tych slab. Przykładowo zykamu i kazymu (czyli muzyka), letefon, fontele i fonlete (czyli telefon), zetagagataze (czyli gazeta), lafiorka, fiorkala, fiorlaka (czyli kalafior).

Druga seria, kilkadziesiąt minut później na midori – 34 unikatowe ciągi, jeden wystąpił czterokrotnie, 13 dwukrotnie, 20 jednokrotnie. Wyrazy zdecydowanie powtarzają się między seriami – dla obu serii łącznie wystąpiło 46 unikatowych ciągów, 2 wystąpiły pięciokrotnie, 6 – czterokrotnie, 8 – trzykrotnie, 12 -dwukrotnie, 18 – jednokrotnie.

Ponieważ ciąg znaków pod którym można poprać losowany obrazek może być stały (z danego można korzystać wiele razy), postanowiłem uprościć sobie pobieranie i przeliczanie. Szybki skrypt, który przy pomocy wget pobiera zadaną ilość obrazków i zapisuje do kolejnych plików, a następnie sprawdzenie sum kontrolnych (md5) tychże plików. I tu ciekawostka – sumy kontrolne praktycznie się nie powtarzają. Sprawdziłem organoleptycznie i faktycznie – o ile wyrazy powtarzają się często, to praktycznie każdy plik jest binarnie inny. Czyli raczej mała ilość wyrazów raczej nie wynika z chęci cache’owania.

Dla porządku: dla 100 plików 3 miały takie same sumy kontrolne, a kolejne 5 sum występowało dwa razy. Powtórzyłem eksperyment dla 1000 plików. Pojawiło się 611 unikatowych sum kontrolnych, jedna z sum występowała 7 razy, jedna 6, sześć wystąpiło 5 razy, cztery – 20 razy, trzy – 53 razy, dwie – 188 razy i jedna – 342 razy.

Nie sprawdzałem dokładnie, czy dany wyraz w CAPTCHA koreluje z ciągiem w treści (na oko nie), ani z jaką skutecznością zadziała automatyczne rozpoznawanie, ale przy tak częstym powtarzaniu się ciągów znaków i plików nie ma to znaczenia – wygląda, że baza jest za mała, a przekształcenie zbyt proste i można spokojnie stworzyć skrypt, który porówna sumę md5 wygenerowanego pliku z arbitralną bazą.

O problemie pisałem wstępnie na forum, póki co bez odzewu. W każdym razie liczę na to, że wpis zmotywuje administratorów blox do załatania ewidentnej dziury w zakładaniu nowych kont. Obecne likwidowanie spamerskich blogów przypomina wylewanie wody z łódki, zamiast załatania w niej dziury, przez którą wody nabiera.

Oczywiście najlepsze byłoby podpięcie jakiegoś znanej, sprawdzonej implementacji CAPTCHA, zamiast wymyślania koła od nowa (i to sugestia dla tych, którzy chcą stosować tego typu rozwiązanie) ale wydaje się, że nawet z istniejącą implementacją można prosto zadziałać w taki sposób, że stanie się ona choć w części efektywna. Przede wszystkim mam na myśli zwiększenie bazy słów i ilości przekształceń.

Obok złych wiadomości są też i dobre – co prawda problem nie jest to Blox, tylko ogólnie dotyczy konto.gazeta.pl, ale – jak wynika z korespondencji z administratorami Blox – jest znany i ma być najdalej w kwietniu poprawiony. Pozostaje uzbroić się w odrobinę cierpliwości i liczyć na to, że po załataniu dziury uda się skutecznie pozbyć spamerów. W tej chwili bywa tak, że 100% wpisów na głównej stanowią spamy…

Laptopy 17″ – co o nich sądzę?

Niedawno, zapewne na skutek mojej niedawnej recenzji ultrabooka, poproszono mnie o opinię, w formie wpisu na blogu, co sądzę o laptopach 17″. Co prawda nie pracowałem na takim, ale znajomi w pracy mieli, a ja niedawno poważnie rozważałem zakup takiego sprzętu dla rodziców (w zasadzie dla matki, bo ojciec ma sprawną stacjonarkę do pracy), więc mogę coś napisać.

Pierwsze co rzuca się w oczy, to rozmiar – w porównaniu ze zwykłym 15,4″ – taki 17″ laptop wydaje się po prostu wielki. Ma to wady, ma zalety. Przede wszystkim, chyba wszystkie laptopy 17″ mają wydzieloną klawiaturę numeryczną. Osobiście teraz nie odczuwam jej braku, ale IIRC była przydatna przy grze w Nethack i w inne rougelike. Wiem też, że część użytkowników nie wyobraża sobie korzystania z cyferek bez niej. Miejsce tak czy inaczej jest, więc plus.

Sprawa druga – ekran. Uważam, że przy 17″ ekranie zdecydowanie nie ma potrzeby podłączania monitora zewnętrznego, szczególnie, że często i rozdzielczość jest znacznie lepsza (1600×900 jest w zasadzie standardem), niż przy mniejszych rozmiarach ekranów w laptopach, co pozwoli na komfortową pracę, grę czy nawet obejrzenie filmu nie siedząc tuż przy ekranie. Jasne, nie zastąpi to dużego telewizora, ale w wariancie studenckim…

Kolejna zaleta – laptopy 17″ są zwykle dobrze wyposażone, a dodatkowo stosunkowo tanie. W przeciwieństwie do 14″ i mniej, nie są znacznie droższe od „standardowych” 15″, przy tych samych parametrach. Zapewne kwestia tego, że nie trzeba męczyć się z miniaturyzacją.

Są zalety, są też wady – nazywanie tego sprzętu laptopem i traktowanie takiego laptopa w kategoriach sprzętu mobilnego to IMO nieporozumienie. Waga dostępnych na rynku sprzętów oscyluje w okolicach 3 kg, a i sam rozmiar sprawia, że średnio nadają się one do częstego, wygodnego przenoszenia (no dobra, szczerze mówiąc to i 15″ za wygodne do noszenia nie są). Niemniej na pewno łatwiej przenieść takiego laptopa, niż typową stacjonarkę. Dlatego, moim zdaniem, raczej jest to przenośna stacjonarka, niż typowy laptop.

No właśnie, wg mnie laptopy 17″ są alternatywą czy też konkurencją właśnie dla komputerów stacjonarnych. Patrząc na ceny, różnica zestawu monitor plus stacjonarka nie jest duża w stosunku do laptopów 17″. W przypadku laptopa UPS, który rozwiązuje masę potencjalnych problemów z systemem plików (o ile ktoś mieszka w rejonie, gdzie awarie zasilania zdarzają się stosunkowo często lub… ma pecha), dostajemy gratis, kosztem wolniejszego, niż w przypadku komputerów stacjonarnych dysku i braku możliwości grzebania w sprzęcie. O ile ktoś planuje grzebać w sprzęcie – raz, że nie zawsze jest potrzeba, dwa – trochę się z tego z wiekiem wyrasta.

Jak wspomniałem, rozważałem taki sprzęt dla rodziców. Standardowy laptop z ekranem 15″ może być trochę za mały dla starszych osób (na pewno ojciec wolałby większy ekran, niż mniejszy), stacjonarka oznacza puszkę i plątaninę kabli (policzmy: zasilanie, ethernet, głośniki i ich zasilanie, kamera, mysz, klawiatura) – w przypadku laptopa odpada kamera, głośniki i ich zasilanie, klawiatura, jak człowiek nie potrzebuje, to można i z myszy zrezygnować, a ethernet zamienić na wifi. Podsumowując: ostatnio do zakupu nie doszło w ogóle, ale prawie na pewno kolejny sprzęt dla rodziców to będzie „siedemnastka”.

Debian Squeeze (i wyżej) i niedziałające SNMP.

Jeśli w Debianie Squeeze (i zapewne nowszych) po wywołaniu np. snmpwalk dostajemy wszystko mówiący komunikat:

Unknown Object Identifier (Sub-id not found: (top) -> mib-2)

to należy:

  • zainstalować pakiet snmp-mibs-downloader (wajig install snmp-mibs-downloader)
  • zakomentować linię mibs : w pliku /etc/snmp/snmp.conf
  • podziękować polityce Debiana, która pozwala mieć zupełnie wolny, choć niekoniecznie wystarczający do pracy z urządzeniami sieciowymi, system 😉

Wiem, raczej proste do wygooglania. Zapisuję, bo z trzeci raz dziś tego szukałem, przy czym za pierwszym był gigantyczny WTF?!, bo zawsze działało…

Debata w sprawie ACTA.

Obejrzałem końcówkę (no, z dwie godziny) #debataacta i mam nieodparte wrażenie, że była ona po to, żeby rząd mógł powiedzieć „tyle czasu rozmawialiśmy, tylu różnych mądrych ludzi wysłuchaliśmy, poznaliśmy wasze opinie, więc zaufajcie nam, wiemy co robimy”. A nie zmieni się nic, w szczególności polityka rządu.

Uważam tak dlatego, że premier cały czas wypowiadał się w stylu, że albo zupełna samowolka w sieci, albo totalna kontrola. I wyglądało, że zupełnie nie chwyta, czym jest wolny dostęp i jakie są nowe metody/modele płatności.

Znamienne było to, że samo oglądanie debaty na stronie wymagało albo niewolnego Silverlight (pytanie, czy nawet po instalacji by działało na Linuksie – w linuksowym DRM nie ma i większość VoD itp. nie działa i tak), albo niewolnego Flash. Oddaję sprawiedliwość, że ktoś wygrzebał linka do wersji działającej z VLC/mplayer, pytanie czy znalazł ją na stronie, czy wygrzebał w kodzie/zrzucie ruchu.

Nie zauważyłem, żeby ktokolwiek (przynajmniej w tej części debaty) poruszył temat DRM w kontekście jego wpływu na (nie)wygodę korzystania i ograniczanie wolności/prywatności (a przecież wydawca na podstawie zakupionych pozycji łatwo może określić choćby poglądy polityczne czy religijne, tym bardziej, że w przypadku wersji elektronicznej z DRM wersja „na prezent” nie bardzo wchodzi w grę). Nie widziałem też podkreślenia różnicy, że DRM często oznacza prawo do jednorazowego (lub czasowego) korzystania z utworu (zwł. filmu), podczas gdy płyta, przy podobnej cenie, pozwala oglądać go wielokrotnie.

Zupełnie pominięty został temat wynagrodzeń i upierdliwości obecnego systemu prawnego. Spotkałem się już w necie z opiniami, że przycisk Flattr na blogu czy inne „postaw piwo” to zbiórka publiczna, na którą trzeba mieć zezwolenie. I – zapewne – państwo stoi na stanowisku, że po otrzymaniu przelewu na 3 zł należy rozliczyć go darowiznę. Może dla odmiany ktoś by urealnił te przepisy i np. zwolnił z konieczności rozliczania dochody poniżej pewnej kwoty miesięcznie/rocznie? Po prostu realny koszt obsługi jest większy, niż przychód.

Bo mam wrażenie, że nikt nie dostrzega, że o wygodę, czy też łatwość obsługi sprawa się w znacznej mierze rozbija – ludzie chcą zapłacić za film, chcą zapłacić podatek (w obu przypadkach rozsądne kwoty), ale chcą to zrobić jak najłatwiej i w wygodnym dla nich środowisku.

Kingdom Rush – fajna gra typu tower defense.

Urwanie głowy urwaniem głowy, ale trochę czasu na relaks człowiek musi znaleźć. Zawsze lubiłem gry typu tower defense, a ostatnio natknąłem się w czytniku RSS na ten wpis. Autor zachwala Plants vs. Zombies, których trailer widziałem i mi się podobał (na pełną wersję jakoś się nie zdecydowałem, IIRC kwestia ceny), a następnie tytułowe Kingdom Rush, więc postanowiłem dać grze szansę.

Kingdom Rush - screenshot

Screenshot z gry, źródło: http://www.kingdomrush.com/media.php

Wersja darmowa zrobiła na mnie bardzo dobre wrażenie – dopracowana grafika, dźwięk, i co – ważne gra nie ma kosmicznych wymagań i wygląda na napisaną dość porządnie – bez problemu daje się grać na moim starym sprzęcie, czego o niektórych produkcjach flashowych powiedzieć nie mogę (ba, nawet zwykłe bannery we flash potrafią przymulić kompa). Ciekawe etapy, rozbudowany system jednostek, dobry balans, przy tym – co ważne – TIMTOWTDI – można wygrać stosując zupełnie różne taktyki. No i demo jest bardzo rozbudowane, spokojnie można je uznać za pełną grę.

Dodatkowo, jakby się ktoś wciągnął, to poza samą grą (campaign), są dodatkowe tryby (heroic challenge oraz iron challenge) oraz osiągnięcia (część prosta i oczywista, część zdecydowanie trudna). No i oczywiście system upgrade’ów czyli rozwoju jednostek. Więcej o ficzerach. W każdym razie mnóstwo przedniej zabawy.

Niedługo później, głównie z uwagi na możliwość save’ów online (bez nich, z uwagi na czyszczenie super cookies każdy restart przeglądarki powodował utratę save’ów), kupiłem pełną wersję, czyli dostęp do dodatkowych etapów i broni. Zdecydowanie polecam przejście etapów w wersji darmowej przed zakupem – wersja pełna oznacza więcej zasobów na początku etapu, co trochę psuje balans (robi się za łatwo[1]). W dodatkowych etapach i trybach gry nie ma to IMO znaczenia, ale w wersji zwykłej – owszem, ma, będzie IMO zbyt łatwo.

Znalazłem póki co jedną wadę – nie wiem czego to kwestia, ale czasami zdarza się grze zawiesić na twardo – muszę zamknąć okno w przeglądarce, killnąć flash playera i uruchomić ponownie. Na szczęście dzieje się to stosunkowo rzadko. Tak czy inaczej – zdecydowanie warto zerknąć na tę grę, jeśli ktoś ma ochotę na tego typu rozrywkę.

Zagrać online można tutaj, uprzedzam, że choć po każdym etapie można zapisać i przerwać grę, to jest niezłym pożeraczem czasu. I – jak dla mnie – niezłym relaksem.

[1] Na szczęście po kliknięciu w „premium content” można to dostosować, tj. wyłączyć bonusy. Trochę późno na to zauważyłem.