najdroższe domy na świecie

mój poniekąd ulubiony serwis podał kolejne interesujące zestawienie – listę najdroższych na świecie domów.

całej listy nie będę cytował – nie ma sensu, chętni mogą poczytać. powiem jedynie iż najdroższy dom jest w anglii i jest wart 139 milionów dolarów (75 milionów funtów). ma 103 pokoje, 5 basenów, kino na 50 osób, korty do squasha i tenisa, tor do bowlingu (kręgle? jak to się po polsku nazywa) i podgrzewaną, marmurową, drogę dojazdową.

perl hacks – hit czy kit?

w firmie mamy kupioną książkę “perl hacks" napisaną przez chromatic‘a z damianem conwayem i curtisem poe.

książkę czytał znajomy, przeczytał. trafiła do mnie.

otworzyłem na chybił – trafił. i znalazłem taki o to kawałek:

zaczęło się od tego, że funkcja open() zwraca kod błędu. a lepiej by było by zwracała exceptiona.

rozwiązanie z książki:

use File::Exception;
sub open_file {
my ($name, $mode) = @_;
open my $fh, $mode, $name or File::Exception->throw( "file" => $name, "mode" => $mode, "error" => "$!" );
return $fh;
}

no i potem wszędzie w kodzie zamieniamy open(…) na open_file(…).

eh. i to ma być efektywne programowanie?

jakie widzę z tym problemy?

  1. konieczność doinstalowania nowego modułu. nie jest to problem per se, ale niepotrzebna czynność
  2. konieczność modyfikowania kodu – zamiana wszędzie open na open_file
  3. jeśli gdziekolwiek robimy własną obsługę błędu open() to nie możemy zamienić na open_file
  4. jeśli gdziekolwiek używamy open() do np. czytania z pipe'a, to też nie możemy zamienić

ogólnie – przerobienie istniejącego kodu w/g tej regułki uważam, za całkowitą porażkę.

a jak zrobić to sensownie? użyć standardowego w perlu modułu fatal:

use Fatal qw(open);

i to wszystko. nie trzeba przerabiać kodu – wystarczy jedna deklaracja. a jeśli gdzieś mamy własny handling? wystarczy zmodyfikować use'a:

use Fatal qw(:void open);

no i dodatkowo – fatal potrafi obsłużyć nie tylko open. zasadniczo można przez niego zrobić exceptiony do praktycznie każdej funkcji/builtin'a.

i w ten oto sposób zraziłem się do książki poprzez przeczytanie losowego kawałka. zobaczymy co będzie dalej.

monopoly porzuca gotówkę

monopoly – jedna z najpopularniejszych gier planszowych, na której wychowały się już pokolenia – przechodzi olbrzymią zmianę.

w najnowszym wydaniu nie będzie już banknotów!

zamiast nich będą karty kredytowe i czytnik do nich. producenci – firma parket brothers, podpisali umowę z visą, dotyczącą zaprojektowania kart do nowej gry. karty oczywiście nie będą działać w normalnych punktach, ale w grze tak.

do gry będzie dołączony czytnik/kalkulator umożliwiający korzystanie z kart.

zmiana jest interesująca. przyczyny oczywiste – coraz mniej ludzi używa gotówki. ale czy to się przyjmie? i jak szybko narodowe wydania podchwycą ten pomysł?

pojawia się drobny problem – standardowa wersja gry kosztuje około 13 funtów. nowa, bez banknotów, ale z kartami i czytnikiem, będzie blisko dwukrotnie droższa!

amd i ati – wreszcie oficjalnie razem

od kilku miesięcy słychać było plotki teraz plotki stały się rzeczywistością. amd i ati łączą się.

oczywiste są plusy – obie firmy robią podobne rzeczy, ale mają inny rynek, więc połączenie ma sens ekonomiczny w kontekście cięcia kosztów.
ale co z tym co połączenie da zwykłym użytkownikom?

czy procesory amd będą lepiej działały z gpu ati? jak tak, to fatalnie. lubię amd, natomiast grafikę nvidia ma w/g mnie lepszą. i gdyby miało się, okazać, że aby mieć dobrą grafikę muszę mieć nvidię z intelem – to amd finalnie przegra.

połączenie ma sens dla użytkowników tak naprawdę w jednej prostej rzeczy – możliwe staną się układy wielordzeniowe, o różnych funkcjach rdzeni. np. 2 rdzenie cpu i 2 rdzenie gpu w jednej kostce.

czy takie rozwiązania się pojawią? kiedy? ile to będzie kosztować?

permanent marker + tablica suchościeralna = ?

kiedyś zdarzyło się mnie. widziałem jak zdarzało się innym. chwila nieuwagi i mamy na tablicy suchoościeralnej śliczny nowy napis. zrobiony “permanentem". jak to zmyć?

standardowe metody: spirytus, zmywacz do paznokci – mają swoje wady – główną jest oczywiście zapach.

okazało się, że starcie takiego napisu jest proste. wystarczy:

  • w miejscu gdzie jest permanent napisać coś zwykłym markerem do tablic suchościeralnych
  • zetrzeć

działa cudownie. proste i skuteczne.

kill bill – nowe filmy

(jakoś mi ostatnio tematyka zeszła na filmy. nie wiem czemu. postaram się nadrobić technologicznie 🙂

klejny news z comic con 2006. quentin tarantion powiedział, że po zakończeniu prac nad “death proof" (dowód śmierci?), zacznie pracę nad dwoma nowymi filmami z serii kill bill'a. oba będą animowane. pierwszy z nich będzie prequelem killbill vol1 i będzie opowiadał historię bill'a. drugi natomiast nową historią głównej bohaterki (może jakieś wydarzenia post-kill bill v2?).

jako miłośnik tarantino w ogóle i kill bill'a w szczególe – czekam niecierpliwie. choć pewnie to kilka lat minie zanim będę miał szansę obejrzeć 🙁

wimbledon

właśnie obejrzałem w telewizji film “wimbledon" z paulem bettany (silas w kodzie leonarda da vinci) i kirsten dunst (dziewczyna spider-mana).

i spodobał się.

film jest komedią romantyczną. jest romans. jest komedia – muszę przyznać, że dużo zabawniejsza niż się spodziewałem.

film oparty jest na sprawdzonym schemacie – weteran sportu XXX gra mecz/turniej ostatniej szansy. zawsze przegrywał, a teraz dzięki miłości odnajduje siebie i odzyskuje wiarę w swoje umiejętności. bla bla bla.

motyw jest zasadniczo nieistotny. ten sam został użyty w tin cup z costnerem i rene russo. i o ile tamten film uznałem za porażkę (choć może to dlatego, że jakoś nie przepadam za costnerem), to wimbledon mi się naprawdę podobał.

jak macie w wypożyczalni lub wasza kablówka oferuje canal+ film, obejrzyjcie – świetny film na wieczór z kobietą/mężczyzną waszego życia. sporo pozytywnej energii przekazanej w przyjemnie oczywisty sposób.

przydatne moduły : io::prompt

jakiś czas temu dosyć przypadkowo dowiedziałem się o istnieniu modułu io::prompt.

gdy zacząłem go używać, nie był jeszcze widoczny “tak po prostu" w cpanie, trzeba było instalować przez install DCONWAY/IO-Prompt-

od tamtej pory moduł został już całkiem upubliczniony i wystarczy install IO::Prompt w shellu cpanowym by móc sie nim cieszyć.

co dokładnie moduł oferuje? uproszczone wprowadzanie danych.

czyli tak naprawdę co?

tak naprawdę do sporo. trzeba by poczytać mana by wszystko ogarnąć, ale tak z grubsza pokażę:

$ perl -e 'use IO::Prompt; my $q = prompt "się nazywasz, ? "; print "[$q]\n"'

miłe. zwracam uwagę, że $q nie ma znaku “enter" na końcu – prompt autoamtycznie chompuje. da się to wyłączyć oczwiście.

$ perl -e 'use IO::Prompt; my $q = prompt -p => "hasło: ", -e => "*"; print "[$q]\n"'

hmm .. proste i przyjemne wprowadzanie hasła. bez znajomości trybów terminali itd.

$ perl -e 'use IO::Prompt; my $q = prompt -p => "hostname: ", -d => "localhost"; print "[$q]\n"'

domyślna wartość odpowiedzi 🙂

$ perl -e 'use IO::Prompt; my $q = prompt -p => "wybierz: ", -m => ["depeche mode", "guns n roses", "metallica"]; print "[$q]\n"'

proste menu.

$ perl -e 'use IO::Prompt; my $q = prompt -p => "ile masz lat: ", -i; print "[$q]\n"'

prościutka walidacja typu – czy to integer.

możliwości jest więcej. można wstawiać własne walidatory odpowiedzi. można czyścić ekran przed pytaniem. można przyjmować wartości z stdin lub wymuszać przyjmowanie tylko z terminala (co powoduje, że nie działa coś jak echo 12 | perl -e …), można przyjmować tylko pojedynczy znak, można nawet emulować działanie wolnej linii transmisyjnej między kompem a klawiaturą.

w pełni polecam każdemu kto kiedykolwiek napisać coś co musiało odpytywać usera o cokolwiek na konsoli.

jak przeprowadzić ewakuację?

ci z was którzy choć trochę zwracają uwagę na świat poza polską wiedzą najprawdopodobniej, że na bliskim wschodzie wybuchła wojna. początkowe ataki na pojedyńcze osoby/grupy zostały zastąpione normalnymi atakami rakietowymi, ofensywą na lądzie i w powietrzu i ogólnie “imprezą" na maksa.

nie chcę oceniać która strona ma rację.

istotne jest dla mnie co innego.

w czasie gdy nasi politycy zastanawiali się co zrobić. w czasie gdy kanada czy stany dopiero organizowały pierwsze, dosyć chaotyczne, ruchy w kontekście ewakuowania swoich obywateli z libanu, pewne państwo sprawę już zakończyło!

i nie chodzi o ewakuację 50 osób. łącznie w libanie było około 5000 osób które zostały ewakuowane (obywatele rzeczonego państwa, ich partnerzy, dzieci itd.).

co to za państwo? nie jest to żadne państwo o istotnej (bliskiej) historii w dziedzinie wojskowości czy np. kataklizmów które wmusiłyby nauczenie się efektywnych metod ewakuacji. tym państwem jest szwecja!

metoda na ewakuację okazała się być prosta. w najbliższym możliwym porcie wynajęto odpowiednio dużo jednostek pływających (cypr, 3 statki). wysłano je na miejsce. jednocześnie poprzez sms'y wysłano do wszystkich szwedów w regionie informację co mają robić, jak i kiedy.

sprawa okazała się być prosta – wszyscy którzy mają umowy ze szweckimi operatorami gsm, a korzystali z roamingu w libii, dostali kilka informacyjnych sms'ów. m.in. o tym gdzie i kiedy mają się udać, oraz, że wszelka komunikacja do szwecji jest za darmo.

pozwoliło to na uniknięcie nerwów i paniki. ludzie wiedzieli gdzie mają iść, jak i kiedy. na miejscu zgłaszali ile dokładnie osób ze sobą zabierają.

jak kanadyjczycy przyznali – zanim oni przygotowali listy osób do ewaktukuacji – do których nie mieli pełnej informacji,  kłócąc się i walcząć o dopisanie na listy dodatkowych osób – szwedzi byli już zgromadzeni w klimatyzowanych hotelach lub (częściowo) już na statkach płynących do bezpiecznych portów.

szwedzi twierdzą, że ewakuacja nie była pełnym sukcesem, bo ponad 100 szwedów nadal przebywało w najbardziej niebezpiecznym, południowym regionie libanu.

jeśli to nie był sukces – to akcja ewakuacyjna każdego innego kraju była klęską i całkowitą porażką.

w jaki sposób szwedzi wymyślili tak skuteczny plan ewakuacji? nie mieli ostatnio powodów by coś takiego organizować, więc skąd pomysł?

okazało się, że szwedzcy eksperci postąpili zgodnie ze starą maksymą: ucz się na błędach. najlepiej na cudzych błędach.

przestudiowali rezultaty podobnych akcji – w szczególności tsunami w 2004 roku które spustoszyło indonezję. i nadal chcą się uczyć. szkolą nowych ludzi by w krytycznych momentach mieć kim podejmować odpowiednie decyzje.

kiedy i u nas pojawi się taki przebłysk rozsądku?

http://www.thelocal.se/article.php?ID=4384

chcesz poznać pl/pgsql – proszę bardzo.

kilka dni temu odbyło się oficjalne zawiązanie nowej grupy użytkowników postgresql'a – portland postgresql users group. na inauguracyjne spotkanie został zaproszony w charakterze mówcy david wheeler – znany głównie jako osoba zaangażowana w rozwój bricolage – opartego na postgresie systemu klasy cms.

david na temat swojego wystąpienia wybrał sobie pl/pgsql.

przygotował sporą prezentację i wystąpił. wstęp został przyjęty bardzo dobrze. a slajdy zostały udostępnione na sieci. jeśli nie pisaliście nic w tym języku, lub nie czujecie się w nim do końca pewnie – zdecydowanie warto obejrzeć.