niedziela, 31 maj 2009

Jeszcze bardziej kontekstowe hiperłącza!

Czy hiperłącza nie powinny być jeszcze potężniejszym mechanizmem? Weźmy pod uwagę np. kawałek zdania "40% budżetu UE", które w hipertekście może wyglądać tak:


40% budżetu UE


albo tak:


40% budżetu UE


Czyż informacja nie byłaby bardziej pełna, gdyby móc wprowadzić obie metody hiperłączy w jednym hipertekście? Czasem człowiek jest zainteresowany czym jest budżet, czasem tym, czym jest UE, a czasem chce się dowiedzieć o tej kombinacji, czyli budżecie UE.

Zapewne problem był już gdzieś opisywany, ale chyba tylko naukowo (więc posiada trudną do odnalezienia nazwę), bo nic nie słyszałem, by istniała możliwość takiego linkowania w HTMLU. Przydatny dodatek? Przyjmie się?

czwartek, 28 maj 2009

Latarnik wyborczy

Wskazuje dokąd płynąć, gdy zgubiliśmy kurs ;-)

Latarnik wyborczy to serwis internetowy, w którym możemy odpowiedź na serię kluczowych pytań dotyczących poglądów na temat współczesnej europy - a otrzymamy odpowiedź na pytanie do którego komitetu nam najbliżej. Jeśli nie wiesz dokąd popłynąć 7 czerwca - sprawdź tu.

Myślałem kiedyś o stworzeniu serwisu społecznościowego podobnego do latarnika, gdzie każdy mógłby wprowadzić swoje poglądy na najważniejsze sprawy w społeczeństwie a serwis umożliwiałby szukanie osób o podobnych poglądach, dyskusję, a także pokazywałby deklarowane w kampanii oraz realizowane działania różnych osób publicznych.

A potem już tylko krok do demokracji bezpośredniej, gdzie za pośrednictwem bezpiecznego :) serwisu będziemy mogli wypowiedzieć się na te tematy w sposób wiążący.

piątek, 22 maj 2009

Idealna zakładka

Pomysł małego racjonalizatora:

Typowa zakładka do książki ma jeden minus. Po otworzeniu książki na odpowiedniej stronie - nie wiesz, w którym miejscu skończyłeś ostatnio czytać!

Więc opracowałem projekt takiej zakładki, oto on:

Strona frontowa:


Druga strona zakładki powinna być biała

Zakładka ta musi być wykonana w wymiarze niewiele większym od połowy wysokości książki, by przy żadnej konfiguracji nie wystawała zbytnio.

Oczywiście ustawiamy taką zakładkę tak, by jej strona frontowa dotykała czytanej strony, a strzałki pokazywały czytany wiersz.

Czekam na wsparcie społeczności w zakresie wykonania bardziej atrakcyjnego projektu graficznego, puszczenia tego do druku i założenia zakładkowego biznesu ;-P

PS. Nie sprawdzi się przy e-książkach. do nich automatycznie zakładki zapamiętuje np. foxit reader - lekka alternatywa do czytania pdfów.

niedziela, 10 maj 2009

Wybory do PE 2009 - socjotechnika czy świadomy wybór

Niebawem w Polsce odbędą się wybory do Parlamentu Europejskiego.
Po raz pierwszy w moim życiu miałem przez moment ochotę zostawić to wszystko w diabły twierdząc, że to i tak nieistotne. Przez ostatnie 5 lat nie zauważyłem, by taki a nie inny wybór polskich parlamentarzystów wpłynął w znaczącym stopniu na działania Unii.

Postanowiłem jednak zagłosować, by wyrazić swoje zainteresowanie i wpływ. Zrobię to bardziej świadomie, niż wielu innych, bo
a) postanowiłem zapoznać się ze wszystkimi komitetami, które wystawiły kandydatów (nie ma wiele informacji w mass mediach na ten temat)
b) nie skończę na tym, jak wyglądają kandydaci, ani też co mówią w głównych wywiadach, tam gdzie to dla mnie istotne, dotrę do programu kandydatów

W wyborach do PE nie podoba mi się wiele rzeczy.
1) Metoda liczenia głosów - d'Hondta - preferuje duże ugrupowania.
2) Próg wyborczy aż 5% - eliminuje małe ugrupowania - Moim zdaniem powinien być radykalnie zmniejszony albo zniesiony na potrzeby tych wyborów - bo wszak w PE i tak są dziesiątki partii, więc nie można mówić o nierozdrabnianiu głosów. Skłonność do kompromisów jest kluczowa.
3) Nie wspominając o tym, że jestem zwolennikiem zmierzania ku demokracji bezpośredniej, więc tak ogromna instytucja jak PE (samych parlamentarzystów jest tu 700) mnie nie przekonuje. Wolałbym zostawić więcej rzeczy nieuregulowanych i/lub w rękach ludzi.
4) Stosunkowo mała ilość merytorycznej dyskusji, za to masa wytykania sobie błędów i minusów.

Mimo to zachęcam do wzięcia udziału w wyborach. Nie tylko "pójść i wrzucić kartkę z tym samym znaczkiem, co na ostatnich wyborach", ale by trochę głębiej przyjrzeć się Unii Europejskiej, a także naszej scenie politycznej.
Nawet jeśli uważacie, że 'wszyscy kradną' lub coś podobnego, to może zmienicie zdanie, gdy dowiecie się, że są jeszcze inne, alternatywne partie/stowarzyszenia, które mają jasny program i mogą być warte Twojego głosu. Może warto zbadać listę komitetów i zapoznać się z ich programem. To będzie bardziej sumienny wybór.

Jest też pewna forma, którą osobiście popieram, ale mało kto się na nią decyduje (nie znam nikogo jak dotąd) - która mówi 'Tak' dla demokracji i 'Nie' dla wszystkich kandydatów - tj. pójść na wybory i skreślić całą kartkę - głos policzony, lecz nieważny.

A jeśli nie pójdziesz na wybory, to nie masz podstaw do komentowania sytuacji politycznej ;-)

sobota, 11 kwiecień 2009

Istota wolnego rynku jest jego problemem?

Wydaje mi się, że jednym z największych problemów/minusów wolnego rynku jest nadmierne nagradzanie najlepszych graczy. Najlepsi robią się tak dobrzy, że zjadają tych mniejszych i robią się jeszcze więksi i lepsi, aż w końcu są tacy duzi, że na rynku panuje pogląd 'too big to fail' czyli są zbyt duzi, by upaść. W związku z tym ryzyko współpracy z nimi można zminimalizować, co staje się problemem, gdy ta duża instytucja faktycznie ma problemy, bo wtedy wielu wydaje się i jest na rękę nie pozwolić jej upaść, co w ostatnich miesiącach widzieliśmy wielokrotnie.

Kilka dużych instytucji w jednej branży daje nam oligopol, co jest bardzo częstym przypadkiem dziś. Wszak wiadomo, że konkurencja męczy, i na potajemnym układzie cen można sporo zaoszczędzić. Wbrew urzędom antymonopolowym. Zresztą regulacje antymonopolowe dość długo nie będą w stanie poradzić sobie z taką sytuacją wystarczająco. Prawo dotyczy jednego lub grupy państw, a korporacje są ogólnoświatowe.

Zresztą antymonopol nie istnieje wszędzie, weźmy największy kartel świata : OPEC jawnie ustalający limity wydobycia.

Ciekawe, czy przy okazji aktualnej sytuacji ekonomicznej zajdą jakieś zmiany i w tym kawałku rzeczywistości.

Teoria wolnego rynku trochę przypomina teorię ewolucji - wszak przetrwanie jest weryfikowane przez środowisko(ewolucja)/rynek(ekonomia). W przypadku ewolucji sprawa ma się tak dobrze, bo gatunków jest ogromnie dużo, no i jeśli coś jest nieprzystosowane do środowiska, w którym się znalazło to umiera. Nie jest ratowane, chyba że ma przyjaciół na tyle silnych. To oczyszcza 'geny' i pozostawia tylko te, które są w stanie wyprodukować osobniki zdolne przeżyć w danym otoczeniu.

Obecnie zarówno jeśli chodzi o ewolucję sprawa jest trochę zaburzona, bo
a) próbujemy sami decydować o genach potomków
b) opanowaliśmy całą planetę i niszczymy ją.
c) wytworzyliśmy własny byt, trochę abstrakcyjny - globalną gospodarkę i jesteśmy od niego w pełni zależni, a nie jest on idealny

Inspirowane komentarzem Big Papa z interesującego artykułu o zbyt dużych bankach, polecam!

czwartek, 9 kwiecień 2009

log4j++ czyli log5j - wygodne logowanie

Zawsze mnie denerwowało dbanie o wydajność logowania i tworzenie kodu typu:

[1]
 
if(l.isDebugEnabled()) {
l.debug("Zaloguj to i tamto " + costam.getCosInnego() + " oraz " + foo.bar());
}

gdyż oczywiście niepotrzebna konkatenacja Stringów na systemie produkcyjnym jest niedopuszczalna.

Strasznie to utrudnia pisanie kodu i go zaśmieca.

Jest jednak rozwiązanie - choćby log5j:

log5j problem [1] rozwiązuje poprzez szablon komunikatu:

 
log.debug( "This thing broke: %s due to bar: %s on this thing: %s", foo, bar, car );


I jeśli akurat nie mamy poziomu debug to nie konkatenacji Stringów nie następuje.

log5j Rozwiązuje także problem drugi ze zbyt barokowym stylem deklaracji logera:

[2]
 
private static final Logger log = Logger.getLogger( MyClass.class );

Skracając ją do postaci:

 
private static final Logger log = Logger.getLogger();


Jasne, że potężne maszynki template-owania kodu w nowoczesnych IDE pozwalają wygenerować zarówno dłuższą jak i krótszą wersję kwestii [2], ale im mniej literek w kodzie, tym lepiej :)

Seam Framework również rozwiązuje problemy [1] i [2] i to nawet lepiej!
Dokumentacja pokazuje jak Seam [1] względem log5j wprowadza swoją kontekstualność, czyli zastępuje wyrażenia EL wartościami z kontekstu Seama

 
log.debug( "This thing broke: #{foo} due to bar: #{bar} on this thing: #{car}");


a w przypadku [2] rozwiązanie jest jeszcze krótsze:

 
@Logger private Log log;


i nie musimy się martwić o static final, gdyż to Seam zapewnia, że nie utworzy więcej niż jednej instancji logera na wszystkie obiekty klasy, a ponadto nie potrzebujemy konstruktora ani fabryki. Wszystko automagicznie!

Mi takie rozwiązanie bardzo pasuje, choć nie każdy jest tak optymistyczny:

Ciekawe, czy log4j 2.0, który ma wykorzystywać zalety Javy 5 wprowadzi coś takiego do standardu.

PS. log5j to malutka nakładka na log4j, więc możecie bardzo łatwo dodać log5j do classpatha i używać skróconej formy w dowolnym projekcie, gdzie dziś standardem jest log4j :)

niedziela, 22 marzec 2009

Prawo niespodzianki

Prawo niespodzianki jest to zawierana zwykle naprędce umowa gdzie ratując życia/dobytek otrzymuje obietnicę oddania "tego, czego uratowany się nie spodziewa wracając do domu". Jak to w przypadku tego typu niedopowiedzianych historii bywa - można to różnie interpretować, ale najbardziej intrygująca jest wersja z dzieckiem rosnącym w brzuchu uratowanego.
Może się również okazać, że dziecka nie ma, a uratowany weźmie sobie np. nowe zasłony, które zostały kupione jak go nie było i są dla niego 'niespodzianką', albo obiad, który mu ugotowany, czy coś równie nieadekwatnego do uratowania życia :)

Fikcyjne prawo niespodzianki raczej nie zdarza się w dzisiejszych czasach. Zresztą handel ludźmi czy darowizny nie są dozwolone ;].

Podobny mechanizm występuje w przypadku podarunku w postaci losu na loterię. Dajemy komuś coś, czego ostatecznej wartości nie znamy.
Dla mnie to dość ciekawy, niecodzienny prezent.
Dla mojej lubej, to straszna rzecz, której absolutnie nie można zrobić, bo to straszne.

I gdyby prawdopodobieństwo wygrania w totka przypadkiem miało swój dzień, wcale nie miałbym wyrzutów sumienia, że nie zatrzymałem dla siebie tego kuponu, albo choć nie zrobiłem kopii liczb i nie mam drugiego, identycznego kuponu, by w razie czego współdzielić łupy. Bo co to za prawo niespodzianki, gdy idealna kopia tego czegoś jest dostępna :) tak jakby oddać tylko jednego z dwóch bliźniaków dostosowując tą metaforę do sagi o wiedźminie.
Nie oczekiwałbym bynajmniej, że obdarowana i wygrana osoba 'odpali' mi działkę, no bo nie o to w tym chodzi. Miałbym za to wielką satysfakcję, że sprawiłem komuś naprawdę niezły prezent. Bo samemu podatku od głupoty w formie losów na loterię nie kupuję.

Co wy na to - sprawilibyście komuś taki prezent?