Właśnie przed chwilą zauważyłem, że na zegarze komputera już 3:06, a na ręcznym ciągle 2:06 ;-)
No to zaczęliśmy ratować światło dnia ;-)
Podobne postybeta
Wschód Słońca oglądam dziś jakoby od tyłu ;-)
Lasertag dobry :-)
Konieczny pośpiech ;-)
Czasoprzesunięcie
Noble
sobota, marca 29, 2008
czwartek, marca 27, 2008
Łazi za mną.... ;-)
Tak mnie jakoś ostatnio prześladuje ;-) to się podzielę :-)
Podobne postybeta
Pomysł
"Fizyczny" projekt, jak zacząć?
Nexus 10... Chodzi drań za mną..
Jak pogadać z Alexą na telefonie
Zostawmy 12 listopada jako dzień wolny na zawsze, jako święto ku czci "jakoś to będzie" ;-)
poniedziałek, marca 24, 2008
OpenOffice.org2GoogleDocs 0.9.3
Kolejna nowa wersja ;-)
Tym razem wzbogacona o tłumaczenie na rosyjski wykonane przez Nikita aka Kolobok.
OpenOffice.org2GoogleDocs
Podobne postybeta
Wschód Słońca oglądam dziś jakoby od tyłu ;-)
Choinek ;-)
Google Translate po polsku!!!! :-)
OpenOffice.org2GoogleDocs 1.0.2
OpenOffice.org2GoogleDocs 1.1.2
Tym razem wzbogacona o tłumaczenie na rosyjski wykonane przez Nikita aka Kolobok.
OpenOffice.org2GoogleDocs
Podobne postybeta
Wschód Słońca oglądam dziś jakoby od tyłu ;-)
Choinek ;-)
Google Translate po polsku!!!! :-)
OpenOffice.org2GoogleDocs 1.0.2
OpenOffice.org2GoogleDocs 1.1.2
niedziela, marca 23, 2008
No comment
No k...wa fajnie..........
Przeczytałem właśnie artykuł na Onet'cie - "Nawrócony dziennikarz oskarża islam" - i utwierdziłem się w przekonaniu, że z ludźmi jest naprawdę coś nie tak.
Napisałem nawet dość duży wpis na ten temat, jak to takie działanie jest wypowiedzeniem wojny islamowi i parę innych spraw. Ale nie umieszczę go tu.
Takiego braku rozsądku nie ma co komentować. Oby islamskie mohery i Rydzyki nie podchwyciły tematu, bo jak podchwycą to zginie znowu trochę ludzi w imię "wyższego" dobra.......
Ta, wierzący są szczęśliwsi od ateistów... może to przez to, że częściej wywołują wojny....
Btw. ciekawe czy ktoś nie pomyślał tak "Europa się laicyzuje, wywołajmy wojnę religijną z islamem to się będzie musiała zdeklarować po naszej stornie"
Podobne postybeta
Wrócić na Naszą Klasę? ;-)
Ostrzeżenie
Ku dyktaturze...
"Dziennikarze" to debile
Cyniczne pytanie
Przeczytałem właśnie artykuł na Onet'cie - "Nawrócony dziennikarz oskarża islam" - i utwierdziłem się w przekonaniu, że z ludźmi jest naprawdę coś nie tak.
Napisałem nawet dość duży wpis na ten temat, jak to takie działanie jest wypowiedzeniem wojny islamowi i parę innych spraw. Ale nie umieszczę go tu.
Takiego braku rozsądku nie ma co komentować. Oby islamskie mohery i Rydzyki nie podchwyciły tematu, bo jak podchwycą to zginie znowu trochę ludzi w imię "wyższego" dobra.......
Ta, wierzący są szczęśliwsi od ateistów... może to przez to, że częściej wywołują wojny....
Btw. ciekawe czy ktoś nie pomyślał tak "Europa się laicyzuje, wywołajmy wojnę religijną z islamem to się będzie musiała zdeklarować po naszej stornie"
Podobne postybeta
Wrócić na Naszą Klasę? ;-)
Ostrzeżenie
Ku dyktaturze...
"Dziennikarze" to debile
Cyniczne pytanie
sobota, marca 22, 2008
Karta Praw Podstawowych
Przeczytałem właśnie Kartę Praw Podstawowych, oraz wysłuchałem sobie orędzie naszego Prezydenta.
Jestem za Kartą Praw Podstawowych i to bez protokołu brytyjskiego.
Zastanawia mnie jednak obłuda jej przeciwników, w żaden sposób nie mogę zrozumieć jak np. Pan Prezydent i jego zwolennicy mogą odczytywać słowa:
Prawo do zawarcia małżeństwa i prawo do założenia rodziny
Prawo do zawarcia małżeństwa i prawo do założenia rodziny są gwarantowane zgodnie z ustawami krajowymi regulującymi korzystanie z tych praw.
W taki sposób, że Pan Prezydent mówi:
Inny przepis karty poprzez brak jasnej definicji małżeństwa jako związku mężczyzny i kobiety może godzić w powszechnie przyjęty w Polsce porządek moralny i zmusić nasz kraj [pokazuje się akt ślubu] do wprowadzenia instytucji [widać dwóch facetów składających sobie przysięgę małżeńską] sprzecznych z moralnymi przekonaniami zdecydowanej większości społeczeństwa.
Przecież fragment "Prawo do zawarcia małżeństwa i prawo do założenia rodziny są gwarantowane zgodnie z ustawami krajowymi regulującymi korzystanie z tych praw" ewidentnie wskazuje, że to ustawodawstwo danego kraju reguluje kto może zawrzeć związek małżeński.
Nasza Konstytucja mówi:
Małżeństwo jako związek kobiety i mężczyzny, rodzina, macierzyństwo i rodzicielstwo znajdują się pod ochroną i opieką Rzeczypospolitej Polskiej.
Skąd więc zarzuty, że Karta Praw Podstawowych zmusi nas do zgody na małżeństwa homoseksualistów? Nie wiem.
Jedyne co mówi Karta w tej sprawie to to, że w razie gdyby w Polsce zmieniono konstytucję i parę innych ustaw tak by takie małżeństwa można było w Polsce zawierać to wtedy byłyby one w Polsce zawierane [taka tautologia, czy jak kto woli masło maślane].
Tak samo niezrozumiała jest wypowiedź szefa PiS, który stwierdził, że Karta Praw Podstawowych zmienia Polskę w województwo Unii Europejskiej. A przecież już w preambule karty czytamy:
[...]Unia przyczynia się do ochrony i rozwoju tych wspólnych wartości, szanując przy tym różnorodność kultur i tradycji narodów Europy, jak również tożsamość narodową Państw Członkowskich i organizację ich władz publicznych na poziomach: krajowym, regionalnym i lokalnym; dąży do wspierania zrównoważonego i stałego rozwoju oraz zapewnia swobodny przepływ osób, towarów, usług i kapitału oraz swobodę przedsiębiorczości.
Wydaje mi się, że najlepiej w tej sprawie nie słuchać polityków tylko przeczytać Kartę Praw Podstawowych i Konstytucję Rzeczpospolitej Polski i samemu sobie wyrobić zdanie.
Podobne postybeta
A jakby tak zaskarżyć abonament RTV? ;-)
Rząd wykonał swój plan aż w 17% ;-)
DVDowe pytanie ;-)
Ja czegoś nie czaję....
Nienawiść
Jestem za Kartą Praw Podstawowych i to bez protokołu brytyjskiego.
Zastanawia mnie jednak obłuda jej przeciwników, w żaden sposób nie mogę zrozumieć jak np. Pan Prezydent i jego zwolennicy mogą odczytywać słowa:
Prawo do zawarcia małżeństwa i prawo do założenia rodziny
Prawo do zawarcia małżeństwa i prawo do założenia rodziny są gwarantowane zgodnie z ustawami krajowymi regulującymi korzystanie z tych praw.
Artykuł 9, Rodział II Wolności
W taki sposób, że Pan Prezydent mówi:
Inny przepis karty poprzez brak jasnej definicji małżeństwa jako związku mężczyzny i kobiety może godzić w powszechnie przyjęty w Polsce porządek moralny i zmusić nasz kraj [pokazuje się akt ślubu] do wprowadzenia instytucji [widać dwóch facetów składających sobie przysięgę małżeńską] sprzecznych z moralnymi przekonaniami zdecydowanej większości społeczeństwa.
Cytat za Orędziem Prezydenta Rzeczpospolitej Polskiej, start 02:03, koniec 02:23 w tym filmie, moje przypisy w nawiasach kwadratowych opisują co widać na ekranie.
Przecież fragment "Prawo do zawarcia małżeństwa i prawo do założenia rodziny są gwarantowane zgodnie z ustawami krajowymi regulującymi korzystanie z tych praw" ewidentnie wskazuje, że to ustawodawstwo danego kraju reguluje kto może zawrzeć związek małżeński.
Nasza Konstytucja mówi:
Małżeństwo jako związek kobiety i mężczyzny, rodzina, macierzyństwo i rodzicielstwo znajdują się pod ochroną i opieką Rzeczypospolitej Polskiej.
Art. 18, Rozdział I Rzeczpospolita
Skąd więc zarzuty, że Karta Praw Podstawowych zmusi nas do zgody na małżeństwa homoseksualistów? Nie wiem.
Jedyne co mówi Karta w tej sprawie to to, że w razie gdyby w Polsce zmieniono konstytucję i parę innych ustaw tak by takie małżeństwa można było w Polsce zawierać to wtedy byłyby one w Polsce zawierane [taka tautologia, czy jak kto woli masło maślane].
Tak samo niezrozumiała jest wypowiedź szefa PiS, który stwierdził, że Karta Praw Podstawowych zmienia Polskę w województwo Unii Europejskiej. A przecież już w preambule karty czytamy:
[...]Unia przyczynia się do ochrony i rozwoju tych wspólnych wartości, szanując przy tym różnorodność kultur i tradycji narodów Europy, jak również tożsamość narodową Państw Członkowskich i organizację ich władz publicznych na poziomach: krajowym, regionalnym i lokalnym; dąży do wspierania zrównoważonego i stałego rozwoju oraz zapewnia swobodny przepływ osób, towarów, usług i kapitału oraz swobodę przedsiębiorczości.
Wydaje mi się, że najlepiej w tej sprawie nie słuchać polityków tylko przeczytać Kartę Praw Podstawowych i Konstytucję Rzeczpospolitej Polski i samemu sobie wyrobić zdanie.
Podobne postybeta
A jakby tak zaskarżyć abonament RTV? ;-)
Rząd wykonał swój plan aż w 17% ;-)
DVDowe pytanie ;-)
Ja czegoś nie czaję....
Nienawiść
Reklamówka PSR :-)
Ciekawa reklamówka PSR - Polskiego Stowarzyszenia Racjonalistów
Podobne postybeta
Ateizm to nie nihilizm i jak sprawić by prymas był apostatą ;-)
Słaby, ale wojujący ateizm - czyli "obiektywne" dziennikarstwo ;-)
PayPal - w końcu można przelewać pieniędze z konta do PayPal
Akcja bezpośrednia
Writely
Podobne postybeta
Ateizm to nie nihilizm i jak sprawić by prymas był apostatą ;-)
Słaby, ale wojujący ateizm - czyli "obiektywne" dziennikarstwo ;-)
PayPal - w końcu można przelewać pieniędze z konta do PayPal
Akcja bezpośrednia
Writely
Czyżby Google przygotowywało Google Translate dla języka polskiego?
Przyglądam się właśnie opublikowanemu Google AJAX Language API.
A ponieważ mam naturę eksperymentatora to do jednego z przykładów włożyłem tekst po niemiecku, a na samym początku zdanie po polsku :-) Zdanie to po polsku to:
To jest test, który niestety nie zostanie przetłumaczony na angielski.
Google Translate nie pozostawiło tego tekstu, a przetłumaczyło go częściowo w taki oto tekst:
It is a test, który niestety never zostanie przetłumaczony na angielski.
Nie można jednak przesadzać ponieważ gdy tekst jest zbyt polski to Google Translate przesyła komunikat błędu mówiący, że nie może znaleźć pary dla danego tłumaczenia.
Ciekawie też wygląda potraktowanie w taki sposób jak powyżej tekstu: Być albo nie być, oto jest pytanie..., który zmienia się w Być albo never być, oto pytanie jest ....
Nic tylko czekać :-), a do tego czasu pozostaje nam używać dobrego, choć potwornie wolnego serwisu Translatica.
Podobne postybeta
Automatyczne tłumaczenie 2 - Translatica vs. Google Translate ;-)
"Harry Potter and the Deathly Hallows" - przeczytane :-)
Google Translate po polsku!!!! :-)
Żenada....
Mały paskowy bezpiecznik i jego moc, część druga - Powrót bestii...
A ponieważ mam naturę eksperymentatora to do jednego z przykładów włożyłem tekst po niemiecku, a na samym początku zdanie po polsku :-) Zdanie to po polsku to:
To jest test, który niestety nie zostanie przetłumaczony na angielski.
Google Translate nie pozostawiło tego tekstu, a przetłumaczyło go częściowo w taki oto tekst:
It is a test, który niestety never zostanie przetłumaczony na angielski.
Nie można jednak przesadzać ponieważ gdy tekst jest zbyt polski to Google Translate przesyła komunikat błędu mówiący, że nie może znaleźć pary dla danego tłumaczenia.
Ciekawie też wygląda potraktowanie w taki sposób jak powyżej tekstu: Być albo nie być, oto jest pytanie..., który zmienia się w Być albo never być, oto pytanie jest ....
Nic tylko czekać :-), a do tego czasu pozostaje nam używać dobrego, choć potwornie wolnego serwisu Translatica.
Podobne postybeta
Automatyczne tłumaczenie 2 - Translatica vs. Google Translate ;-)
"Harry Potter and the Deathly Hallows" - przeczytane :-)
Google Translate po polsku!!!! :-)
Żenada....
Mały paskowy bezpiecznik i jego moc, część druga - Powrót bestii...
środa, marca 19, 2008
Zmarł Arthur C. Clarke :-(
Jak podaje San Francisco Chronicle w wieku 90 lat zmarł znany pisarz sf (2001: Odyseja Kosmiczna, Spotkanie z Ramą i inne), pomysłodawca satelitów telekomunikacyjnych Arthur C. Clarke.
Smutno :-(
Clarke skończył ostatnio prace nad książką "The Last Theorem" o której twierdził dwa lata temu, że to będzie jego ostatnia i to nie skończona książka.
Podobne postybeta
Android, lokalizacja i koszty
Pełna Odyseja Czasu :-)
Wycieczka po książki ;-)
Odyseja Czasu - Burza Słoneczna
ISS
Smutno :-(
Clarke skończył ostatnio prace nad książką "The Last Theorem" o której twierdził dwa lata temu, że to będzie jego ostatnia i to nie skończona książka.
Podobne postybeta
Android, lokalizacja i koszty
Pełna Odyseja Czasu :-)
Wycieczka po książki ;-)
Odyseja Czasu - Burza Słoneczna
ISS
wtorek, marca 18, 2008
Nieznane skarby JDK - JConsole :-)
Walczyłem dziś w pracy z PermGen'em [czyli obszarem pamięci w JVM do którego wędrują obiekty, które nie zostaną nigdy poddane działaniu Garbage Collectora, takimi szczęśliwcami są pliki .class, niektóre
Podobne postybeta
Nieznane ścieżki Garbage Collectora :-)
Koszmarne Garbage Collectory part 2 ;)
Ulotny twór - software ;-)
Dziś programista ma być teoretycznym algorytmistą, a praktycznym kleistą ;-)
Samochód jako zmniejszacz temperatury.... GC i jak to możliwe, że Young Generation może być zbyt duże, strzeż się finalize() i muzyczka :-) Czyli potok świadomości....
String
'i oraz obiekty, które zostały namaszczone do przebywania w tym miejscu przez algorytmy GC ;-), mamy jeszcze 3 obszary - Eden Space: gdzie wpadają obiekty świeżynki na które co chwila czyha Garbage Collector, Survivor Space: gdzie mieszkają te obiekty które przetrwały trudne czasy Eden'u i walkę z natrętnym GC, Tenured Gen: zasłużeni, praktycznie nie do usunięcia przez GC, który zagląda do nich nieczęsto, czwarty jest wspomniany już Perm Gen: stali mieszkańcy ;-)], szukałem więc jakichś narzędzi które byłyby na tyle miłe by pokazać mi jak program się sprawuje...I znalazłem :-)Do JDK dodawany jest miły program zwany JCONSOLE, którego znaleźć można w katalogu bin JDK.Po uruchomieniu pozwala nam na podpięcie się do praktycznie dowolnej aplikacji Java działającej na naszej maszynie [lub na maszynie odległej]Możemy obejrzeć jak program używa pamięci, podejrzeć ile ma wątków i zobaczyć Stack Trace dla nich, sprawdzić ile załadowano klas, obejrzeć podsumowanie dla podglądanej JVM, pogadać z MBeans'ami.Bardzo użyteczny coś :-)[hackowanie w tagach nie ma nic wspólnego z hackowaniem sieci, a raczej z zaglądaniem w trzewia różnych rzeczy, tutaj JVM :-)]Podobne postybeta
Nieznane ścieżki Garbage Collectora :-)
Koszmarne Garbage Collectory part 2 ;)
Ulotny twór - software ;-)
Dziś programista ma być teoretycznym algorytmistą, a praktycznym kleistą ;-)
Samochód jako zmniejszacz temperatury.... GC i jak to możliwe, że Young Generation może być zbyt duże, strzeż się finalize() i muzyczka :-) Czyli potok świadomości....
poniedziałek, marca 17, 2008
Jak zająć psa... :-)
Jeśli będę miał kiedyś psa to chce takie coś dla niego ;-)
Podobne postybeta
Czemu małe pieski noszą ubranka, a duże psy nie?
Czy psy lubią gdy zwraca się na nie uwagę?
A może by tak w klocki Lego? ;-)
Gabinet Ipsalorda
Visual Desing Lead w staini Gooogle'a
Podobne postybeta
Czemu małe pieski noszą ubranka, a duże psy nie?
Czy psy lubią gdy zwraca się na nie uwagę?
A może by tak w klocki Lego? ;-)
Gabinet Ipsalorda
Visual Desing Lead w staini Gooogle'a
niedziela, marca 16, 2008
OpenOffice.org2GoogleDocs 0.9.2
Poprawki:
bardziej poprawna obsługa plików które mają w nazwie spacje [z dziwnych powodów stary sposób działał np. w Impress, a nie działał we Writter'ze]
powiększyłem okienko komunikatów, dzięki czemu w trakcie pobierania dokumentów nie mamy obciętego tekstu, a cały mieści się w okienku
Zmiany:
okienko eksportu i okienko importu dziedziczą teraz po JFrame zamiast JDialog, dzięki czemu widać je na pasku startu
Zapraszam do pobierania
Podobne postybeta
Poprawiona wersja OpenOffice.org2GoogleDocs 0.8.1
OpenOffice.org2GoogleDocs 1.0.1
OpenOffice.org2GoogleDocs 1.0.4
OOo2GD (OpenOffice.org2GoogleDocs) 1.2.2
OOo2GD v1.2.1
Zmiany:
Zapraszam do pobierania
Podobne postybeta
Poprawiona wersja OpenOffice.org2GoogleDocs 0.8.1
OpenOffice.org2GoogleDocs 1.0.1
OpenOffice.org2GoogleDocs 1.0.4
OOo2GD (OpenOffice.org2GoogleDocs) 1.2.2
OOo2GD v1.2.1
sobota, marca 15, 2008
Ile to jest 1+1 w Java'ie?
Wydawało by się, że odpowiedź jest prosta...
Czy aby na pewno? ;-)
Spróbujmy sprawdzić jakiej odpowiedzi udzieli nam Java.
Użyjemy takiego kodu:
Jak łatwo się domyśleć ujrzymy na ekranie taki wynik:
1+1=2
A co gdy kod zmienimy w taki sposób jak poniżej?
Nagle ujrzymy taki oto wynik:
1+1=2
1+1=3
Dlaczego? ;-)
Sekret tkwi w 2 miejscach, pierwsze to metoda
Drugie, nawet ważniejsze to pewna specyfika implementacji Sun'a. Wprowadzając auto- boxin i unboxing stwierdzono, że ze względu na optymalność wykorzystania pamięci i prędkości wykonywania kodu lepiej dla pewnej grupy obiektów typu
W końcu, po co za każdym razem gdy dokonuje się konwersja z typu
I w tym cały sekret ;-)
Podobne postybeta
Java 8 nadchodzi....
Nieoczywiste oczywistości ;-) podstępny autoboxing ;-)
Sekrety klasy String ;-)
Giń konstruktorze! Giń! ;-)
Człowiek się uczy całe życie - źle rozumiałem cache'owanie Integerów :-)
Czy aby na pewno? ;-)
Spróbujmy sprawdzić jakiej odpowiedzi udzieli nam Java.
Użyjemy takiego kodu:
public class Integers {
public static void main(String[] args) throws Exception{
Integer i1 = 1;
Integer i2 = 1;
System.out.println(i1+"+"+i2+"="+(Integer)(i1+i2));
}
}
Jak łatwo się domyśleć ujrzymy na ekranie taki wynik:
1+1=2
A co gdy kod zmienimy w taki sposób jak poniżej?
import java.lang.reflect.Field;
public class Integers {
public static void main(String[] args) throws Exception {
Integer i1 = 1;
Integer i2 = 1;
System.out.println(i1+"+"+i2+"="+(Integer)(i1+i2));
fixIntegers();
System.out.println(i1+"+"+i2+"="+(Integer)(i1+i2));
}
static void fixIntegers() throws Exception {
Class integerClass = Integer.class;
Field value = integerClass.getDeclaredField("value");
value.setAccessible(true);
value.setInt(Integer.valueOf(2), 3);
}
}
Nagle ujrzymy taki oto wynik:
1+1=2
1+1=3
Dlaczego? ;-)
Sekret tkwi w 2 miejscach, pierwsze to metoda
fixIntegers()
która dokonuje niecnej podmiany wartości 2 na 3 dla obiektu typu Integer
reprezentującego liczbę 2. Drugie, nawet ważniejsze to pewna specyfika implementacji Sun'a. Wprowadzając auto- boxin i unboxing stwierdzono, że ze względu na optymalność wykorzystania pamięci i prędkości wykonywania kodu lepiej dla pewnej grupy obiektów typu
Integer
wprowadzić pewien mechanizm oszczędzający tak pamięć jak i takty procesora. W końcu, po co za każdym razem gdy dokonuje się konwersja z typu
int
na Integer
tworzyć całkiem nowy obiekt... szybciej i taniej będzie stworzyć pewien zestaw obiektów Integer
trzymających wartości stosunkowo najczęściej potrzebne. I tak powstała sytuacja w której dla pewnego zakresu liczb w momencie konwersji na Integer
'a zamiast konwersji jest podstawiany stały obiekt. Dla Sun Java [wersja 6 (build 1.6.0_03-b05), ale też dla Java 5] ten zestaw zaczyna się od liczby -128, a kończy na 127].I w tym cały sekret ;-)
Podobne postybeta
Java 8 nadchodzi....
Nieoczywiste oczywistości ;-) podstępny autoboxing ;-)
Sekrety klasy String ;-)
Giń konstruktorze! Giń! ;-)
Człowiek się uczy całe życie - źle rozumiałem cache'owanie Integerów :-)
Parkour odpowiedzią na korki ;-)
Stare, ale jare chciało by się rzec :-)
Myślę, że taki sposób przemieszczania się może być odpowiedzią na korki ;-)
Podobne postybeta
Jak dobrze być lemurem ;-)
Tunel... ciąg dalszy ;-)
Paradoks autostradowy ;-)
White & Nerdy
Jak wybrać urządzenie z Androidem żeby nie narzekać na brak updatowania systemu
Myślę, że taki sposób przemieszczania się może być odpowiedzią na korki ;-)
Podobne postybeta
Jak dobrze być lemurem ;-)
Tunel... ciąg dalszy ;-)
Paradoks autostradowy ;-)
White & Nerdy
Jak wybrać urządzenie z Androidem żeby nie narzekać na brak updatowania systemu
czwartek, marca 13, 2008
JavaDoc w CHM
Rzecz przydatna dla każdego programisty Java'y :-)
JavaDoc'i do J2SE i JEE w postaci plików CHM
Podobne postybeta
Mysaifu JVM - Java dla PocketPC
Naprawdę nienawidzę...
Żonglowanie to kolejna sztuczka w zasobniku programisty ;-)
SNPAW, czyli "Stosunkowo Najbardziej Przydatna Aplikacja Webowa" ;-)
Z pamiętnika developera... Podstawowe szkolenie w firmie IT
JavaDoc'i do J2SE i JEE w postaci plików CHM
Podobne postybeta
Mysaifu JVM - Java dla PocketPC
Naprawdę nienawidzę...
Żonglowanie to kolejna sztuczka w zasobniku programisty ;-)
SNPAW, czyli "Stosunkowo Najbardziej Przydatna Aplikacja Webowa" ;-)
Z pamiętnika developera... Podstawowe szkolenie w firmie IT
niedziela, marca 09, 2008
OpenOffice.org2GoogleDocs 0.9.1
Nowa wersja dostępna, a w niej jedna poprawka, dwie nowe funkcjonalności i kilka małych zmian.
Poprawki:
ukrócenie wędrówki plików konfiguracyjnych po dysku [mam nadzieje!!!]
Nowe:
automagiczna konwersja plików Impress'a (ODP) do formatu Microsoft PowerPoint 97 (PPT) - Google Docs wspiera tylko PPT, nie wspiare ODP
wsparcie dla serwerów proxy - powinno działać, choć nie byłem w stanie przetestować
Zmiany:
lekkie zmiany w polskim tłumaczeniu
lekkie zmiany w niemiecki tłumaczeniu
lekkie zmiany w angielskim tłumaczeniu
Zapraszam do pobrania!!!
Podobne postybeta
OpenOffice.org2GoogleDocs 0.9.5
OpenOffice.org2GoogleDocs 0.8 :-)
Lekcja na dziś - żeby konfiguracja działała trzeba ją zapisywać i odczytywać ;-)
OOo2GD 2.1.0 - filtrowanie, sortowanie [dla niektórych ;-)] i bardziej *nixowe nazwy
Co umie OpenOffice.org2GoogleDocs ;-)
Poprawki:
Nowe:
Zmiany:
Zapraszam do pobrania!!!
Podobne postybeta
OpenOffice.org2GoogleDocs 0.9.5
OpenOffice.org2GoogleDocs 0.8 :-)
Lekcja na dziś - żeby konfiguracja działała trzeba ją zapisywać i odczytywać ;-)
OOo2GD 2.1.0 - filtrowanie, sortowanie [dla niektórych ;-)] i bardziej *nixowe nazwy
Co umie OpenOffice.org2GoogleDocs ;-)
czwartek, marca 06, 2008
Sekrety klasy String ;-)
String
jest w Java'ie niemutowalny.Mówiąc inaczej, jeżeli mamy już referencję do obiektu typu
String
stworzoną w taki np. sposób:
String str = "To jest test";
to już nigdy nie zmienimy zawartości tego obiektu.......
Podobno ;-)
Ktoś może spróbować takiego rozwiązania:
public void modificator(String str) {
str = "toster";
}
[...]
String str = "To jest test";
System.out.println(str); // TUTAJ wypisze się "To jest test"
modificator(str);
System.out.println(str); // A tutaj, też ;-)
Jak należało się spodziewać, takie rozwiązanie nie działa.
Ale co w momencie gdy zmienimy metodę
modificator
w taką jak poniżej? ;-)public void modificator(String str) throws Exception {
Field valueField = str.getClass().getDeclaredField("value");
valueField.setAccessible(true);
char[] value = (char[])valueField.get(str);
char[] reversed = new char[value.length];
for (int idx=0; idx<value.length; idx++) {
reversed[idx]=value[value.length-idx-1];
}
for (int idx=0; idx<value.length; idx++) {
value[idx]=reversed[idx];
}
}
Nagle okaże się, że
String
nie jest taki niezmienialny ;-) Nagle drugie wypisanie ujawni nam, że nasz obiekt się zmienił!Na SCJP dobrze wiedzieć, że
String
jest niemutowalny, ale warto też pamiętać, że jak się ktoś uprze to jednak można go zmienić ;-)Jeżeli przed wywołaniem metody
modificator(String)
stworzymy na podstawie naszego bazowego String
'a łańcuch przy pomocy metody substring(int)
to po przekazaniu naszego bazowego obiektu do modificator
zmieni się także wygląd tego nowego obiektu. Wszystko to prawda dla Sun Java, na innych może się okazać, że taki kod w ogóle nie zadziała :-) Dlatego ostrożnie należy podchodzić do takich "metod", trzeba też pamiętać, że
String
z jakichś powodów zdecydowano się zrobić niemutowalnym.[sam na pomysł takiego potraktowania
String
'a nie wpadłem, kolega mi ten pomysł podsunął :-)]Podobne postybeta
localStorage odsłona 2 - zaczynają się kłopoty ;-)
Ile to jest 1+1 w Java'ie?
JNI i łańcuchy ;-)
Potfór ;-) czyli generator z yield w Java'ie
[Updated] Czytanie Pocketa ;-)
środa, marca 05, 2008
IE8 beta 1
Zainstalowałem przed chwilą Bete 1 Internet Explorer'a 8.
Trudno mi się jeszcze wypowiadać na jego temat, ale jak na razie strasznie się pokłócił z Google Toolbar'em [wina leży raczej po stronie tego drugiego, w końcu był pisany pod 7, a nie 8 wersje].

Po takim "wypadku" IE8 próbuje podnieść tab'a.

Ciekawe jest to, że w takiej sytuacji reszta paneli nie jest przeładowywana i wydaje się działać bez problemów. Jeżeli działa to tak jak się wydaje, to jest to świetny pomysł.
Ten błąd Google Toolbar'a w IE8 pojawia się jak na razie tylko na Blogger'ze.
W blogach z Blogger'a pojawia się też dziwny problem z renderowaniem, który pokazuje następny obrazek.

GMAIL jak na razie nie uznaje IE8 za godnego przeciwnika i serwuje mu tylko starszą wersję interfejsu :-)
GMAIL nie jest w tym osamotniony, poniżej to co ujrzymy gdy spróbujemy użyć IE8 do skorzystania z Windows Update.

Ale to całkiem naturalne jak na 1 bete.
Bardziej martwi mnie fakt, że użycie tagu

Wygląda więc, że na razie użycie
Wydaje się również, że JavaScript operujący na elementach strony działa na razie wolniej niż w IE7, ale to tylko wniosek po obserwacji zużycia procesora gdy przeglądarka wyświetlała tą stronę [gra w życia, która już tu kiedyś gościła :-)]
Nieżle jak na bete 1, zobaczymy co będzie dalej :-)
Podobne postybeta
Pokręcony IE
Uparłem się na edytor w JavaScript i dHTML
Sudoku - rozwiązanie doskonałe ;p
Google Wave - pierwsze wrażenia
Duża grywalność
Trudno mi się jeszcze wypowiadać na jego temat, ale jak na razie strasznie się pokłócił z Google Toolbar'em [wina leży raczej po stronie tego drugiego, w końcu był pisany pod 7, a nie 8 wersje].

Po takim "wypadku" IE8 próbuje podnieść tab'a.

Ciekawe jest to, że w takiej sytuacji reszta paneli nie jest przeładowywana i wydaje się działać bez problemów. Jeżeli działa to tak jak się wydaje, to jest to świetny pomysł.
Ten błąd Google Toolbar'a w IE8 pojawia się jak na razie tylko na Blogger'ze.
W blogach z Blogger'a pojawia się też dziwny problem z renderowaniem, który pokazuje następny obrazek.

GMAIL jak na razie nie uznaje IE8 za godnego przeciwnika i serwuje mu tylko starszą wersję interfejsu :-)
GMAIL nie jest w tym osamotniony, poniżej to co ujrzymy gdy spróbujemy użyć IE8 do skorzystania z Windows Update.

Ale to całkiem naturalne jak na 1 bete.
Bardziej martwi mnie fakt, że użycie tagu
IFRAME
może sprawić wiele kłopotów. Przy użyciu mojego zabawowego edytora udało mi się doprowadzić do takiego oto efektu:
Wygląda więc, że na razie użycie
IFRAME
w stronie osadzonej w IFRAME
może doprowadzić do tego, że przełączenie najbardziej zagnieżdżonej ramki w tryb edycji spowoduje przejście do tego trybu [choć w niepełnej wersji] także ramki zewnętrznej. Wydaje się również, że JavaScript operujący na elementach strony działa na razie wolniej niż w IE7, ale to tylko wniosek po obserwacji zużycia procesora gdy przeglądarka wyświetlała tą stronę [gra w życia, która już tu kiedyś gościła :-)]
Nieżle jak na bete 1, zobaczymy co będzie dalej :-)
Podobne postybeta
Pokręcony IE
Uparłem się na edytor w JavaScript i dHTML
Sudoku - rozwiązanie doskonałe ;p
Google Wave - pierwsze wrażenia
Duża grywalność
wtorek, marca 04, 2008
JBoss rozrabiaka ;-)
Ciekawa obserwacja z pola zmagań z JBoss'em w wersji 4.0.GA, choć może dotyczyć też innych wersji.
Jeżeli w trakcie finalizacji obiektu [czyli momentu gdy finalizer wywoła metodę
Co ciekawe, jeżeli później spróbujemy użyć gdzieś tej klasy, to nigdy się to nie uda z racji tego ClassNotFoundError.
Obejściem jest załadowanie klasy jakoś tak wcześniej, rozwiązaniem przepisanie
Żeby było zabawnie, problem nie występuje na Tomcat'cie, wydaje się też nie występować na Jetty'm :-)
Podobne postybeta
finalize() - do czego służy, a do czego nie i z czym to się je.
Programowanie pomaga :-)
Nieznane ścieżki ClassLoader'a ;-)
Samochód jako zmniejszacz temperatury.... GC i jak to możliwe, że Young Generation może być zbyt duże, strzeż się finalize() i muzyczka :-) Czyli potok świadomości....
Darmowy hosting JSP
Jeżeli w trakcie finalizacji obiektu [czyli momentu gdy finalizer wywoła metodę
finalize()
z naszego obiektu] konieczne jest załadowanie jakiejś klasy która teoretycznie jest dostępna dla ClassLoader'a ładującego klasę tworzącą nasz finalizowany właśnie obiekt to leci ClassNotDefFoundError [albo ten drugi ;-) ClassNotFoundError, nie pamiętam :-)]. Co ciekawe, jeżeli później spróbujemy użyć gdzieś tej klasy, to nigdy się to nie uda z racji tego ClassNotFoundError.
Obejściem jest załadowanie klasy jakoś tak wcześniej, rozwiązaniem przepisanie
finalize()
tak by nie potrzebowało niezaładowanych klas ;-) [ale to nie zawsze będzie możliwe :-)].Żeby było zabawnie, problem nie występuje na Tomcat'cie, wydaje się też nie występować na Jetty'm :-)
Podobne postybeta
finalize() - do czego służy, a do czego nie i z czym to się je.
Programowanie pomaga :-)
Nieznane ścieżki ClassLoader'a ;-)
Samochód jako zmniejszacz temperatury.... GC i jak to możliwe, że Young Generation może być zbyt duże, strzeż się finalize() i muzyczka :-) Czyli potok świadomości....
Darmowy hosting JSP
GMail Art
W wielu miejscach już to było :-) Ale dziś obejrzałem poraz kolejny i postanowiłem się podzielić :-)
Podobne postybeta
ISS poraz kolejny :-) tym razem poprzedzona HTV :-)
Gmail Offline w wersji 0.2
"Obserwacje"
Jak masz doła to nawet rozwiązanie problemu niezbyt cieszy ;-)
To działa! :-)
poniedziałek, marca 03, 2008
Kodeks Pracy do piachu!
Wczoraj Tusk z koleżkami ogłosili chęć wprowadzenia "prorodzinnego podatku liniowego", a dziś kolejne kuriozum - pomysł zmiany kodeksu pracy tak by kobiety w ciąży nie były chronione przed zwolnieniem. To samo z osobami z uprawnieniami przedemerytalnymi.
Yeah!!! Pozbywajmy się zdobyczy XX wieku!!!
Ciekawe co następne? Pozwolenie na zatrudnianie dzieci po 12 godzin dziennie?
Podobne postybeta
Rozluźniać, czy nie rozluźniać?
Patenty
Dobrze, że Tusk wygrał
Nie tylko IE6 powinno pójść do piachu, każdy Internet Explorer powinien!!!!
Raj pro-life - czyli co oznacza konstytucyjna ochrona "życia poczętego"
Yeah!!! Pozbywajmy się zdobyczy XX wieku!!!
Ciekawe co następne? Pozwolenie na zatrudnianie dzieci po 12 godzin dziennie?
Podobne postybeta
Rozluźniać, czy nie rozluźniać?
Patenty
Dobrze, że Tusk wygrał
Nie tylko IE6 powinno pójść do piachu, każdy Internet Explorer powinien!!!!
Raj pro-life - czyli co oznacza konstytucyjna ochrona "życia poczętego"
niedziela, marca 02, 2008
OpenOffice.org2GoogleDocs 0.9 :-)
Lekko się rozpędziłem ;-)
Dostępna jest już kolejna wersja rozszerzenia OOo2GD do Open Office.org. Rozszerzenie jak zwykle pozwala na eksport dokumentów z OpenOffice.org do Google Docs, oraz na pobieranie dokumentów tekstowych z Google Docs.
Poprawki:
Plik gdocs.dat [z "zaszyfrowanymi" danymi o naszym koncie na Google Docs] już nie będzie się nagrywał w katalogu w którym aktualnie lądują nasze pobierane dokumenty.
Zmiany:
Dodałem ikony, dzięki temu w toolbarze mamy teraz ikonki zamiast tekstów
Menu Google Docs przewędrowało z menu głównego do menu File.
OOo2GD na stronie OpenOffice.org
Podobne postybeta
Na łeb, na szyję...
Zły OpenOffice.org Base...
OpenOffice.org i Google Docs :-)
OOo2GD 1.5.0 - drżyjcie arkusze! ;-)
Pobierz swoje dokumenty z Google Docs w wybranym w formacie, czyli OOo2GD 1.8.0 :-)
Dostępna jest już kolejna wersja rozszerzenia OOo2GD do Open Office.org. Rozszerzenie jak zwykle pozwala na eksport dokumentów z OpenOffice.org do Google Docs, oraz na pobieranie dokumentów tekstowych z Google Docs.
Poprawki:
Zmiany:
OOo2GD na stronie OpenOffice.org
Podobne postybeta
Na łeb, na szyję...
Zły OpenOffice.org Base...
OpenOffice.org i Google Docs :-)
OOo2GD 1.5.0 - drżyjcie arkusze! ;-)
Pobierz swoje dokumenty z Google Docs w wybranym w formacie, czyli OOo2GD 1.8.0 :-)
Planetarium czy Plebania?
TVP Bydgoszcz emituje raz w miesiącu 20 minutowy program Planetarium poświęcony astronomii. Program dla hobbystów, ale o dość wysokim poziomie.
Kiedyś program ten puszczany był także na TVP3, ale od jakiegoś czasu nie uświadczymy go na ogólnopolskiej antenie......
Publiczna telewizja zamiast poświęcić 20 minut w miesiącu na pokazanie programu popularnonaukowego woli pokazywać inne rzeczy. W TVP Katowice był to wczoraj skrót z meczu siatkówki. Nie mam nic przeciwko temu skrótowi, ale czy naprawdę tak trudno w ciągu miesiąca wygospodarować 20 minut???
Aż chciałbym wrzasnąć, że zamiast pokazać raz na jakiś czas program popularnonaukowy i to robiony w Polsce, TVP woli pokazywać setki godzin programów dla kretynów. Mógłbym przypomnieć, że kiedyś w TVP było całe pasmo edukacyjne, były programy jak Sonda czy Kwant, było Laboratorium [które jest podobno nadal dostępne, ale z tego co widziałem to tylko w ITVP].... Było....
Bądźmy szczerzy dzieci wychowane na polskich serialach czy różnych "Tańcach z/na..." prochu nie wymyślą....
Czekać tylko jak ktoś uzna, że Planetarium w Chorzowie należy zamienić na hipermarket, albo kino, że o kaplicy nie wspomnę. Bo wtedy będzie bardziej użyteczne.
20 minut w miesiącu im szkoda na program popularnonaukowy, a dzień w dzień w prime time'ie nie szkoda im czasu na "M jak Miłość", "Klan", "Plebanie" czy 2 miliony 843 tysiące 111 odcinek "Mody na sukces".
Kopernik mówił, że zły pieniądz wypiera dobry, widać że w TV jest tak samo ;-)
Podobne postybeta
Telewizja nie dla idiotów...
Telewizyjne zastanawianie
Plusy dodatkie i plusy ujemne, czyli co może być złego, a co dobrego w AppInventorze :-)
"Pokochałem me Atari....", a właściwie G1 :-)
No i jest problem natury logistyczno-temporalnej....
Kiedyś program ten puszczany był także na TVP3, ale od jakiegoś czasu nie uświadczymy go na ogólnopolskiej antenie......
Publiczna telewizja zamiast poświęcić 20 minut w miesiącu na pokazanie programu popularnonaukowego woli pokazywać inne rzeczy. W TVP Katowice był to wczoraj skrót z meczu siatkówki. Nie mam nic przeciwko temu skrótowi, ale czy naprawdę tak trudno w ciągu miesiąca wygospodarować 20 minut???
Aż chciałbym wrzasnąć, że zamiast pokazać raz na jakiś czas program popularnonaukowy i to robiony w Polsce, TVP woli pokazywać setki godzin programów dla kretynów. Mógłbym przypomnieć, że kiedyś w TVP było całe pasmo edukacyjne, były programy jak Sonda czy Kwant, było Laboratorium [które jest podobno nadal dostępne, ale z tego co widziałem to tylko w ITVP].... Było....
Bądźmy szczerzy dzieci wychowane na polskich serialach czy różnych "Tańcach z/na..." prochu nie wymyślą....
Czekać tylko jak ktoś uzna, że Planetarium w Chorzowie należy zamienić na hipermarket, albo kino, że o kaplicy nie wspomnę. Bo wtedy będzie bardziej użyteczne.
20 minut w miesiącu im szkoda na program popularnonaukowy, a dzień w dzień w prime time'ie nie szkoda im czasu na "M jak Miłość", "Klan", "Plebanie" czy 2 miliony 843 tysiące 111 odcinek "Mody na sukces".
Kopernik mówił, że zły pieniądz wypiera dobry, widać że w TV jest tak samo ;-)
Podobne postybeta
Telewizja nie dla idiotów...
Telewizyjne zastanawianie
Plusy dodatkie i plusy ujemne, czyli co może być złego, a co dobrego w AppInventorze :-)
"Pokochałem me Atari....", a właściwie G1 :-)
No i jest problem natury logistyczno-temporalnej....
sobota, marca 01, 2008
Poprawiona wersja OpenOffice.org2GoogleDocs 0.8.1
Dostępna jest kolejna wersja OOo2GD.
W tej wersji poprawione zostało pobieranie plików z Google Docs, od teraz nie straszne nam są polskie litery, cyrylica czy spacje w nazwach ;-) Dodatkowo rozszerzenie nie powinno już psuć nazw plików.
Dla użytkowników obcojęzycznych zmianą jest to, że od teraz powinno zacząć dobrze wyglądać bułgarskie tłumaczenie [które sam popsułem w poprzedniej wersji], oraz to że w tłumaczeniu niemieckim wprowadzono drobną zmianę.
Jak zawsze nową wersję rozszerzenia pobrać można ze strony rozszerzenia.
Podobne postybeta
OpenOffice.org2GoogleDocs 0.9.2
Debugowanie JavaScriptu odsłona 2 ;-)
Test z Asus EEE Pad Transformer
Niemangielski ;-)
OOo2GD 1.7.0
W tej wersji poprawione zostało pobieranie plików z Google Docs, od teraz nie straszne nam są polskie litery, cyrylica czy spacje w nazwach ;-) Dodatkowo rozszerzenie nie powinno już psuć nazw plików.
Dla użytkowników obcojęzycznych zmianą jest to, że od teraz powinno zacząć dobrze wyglądać bułgarskie tłumaczenie [które sam popsułem w poprzedniej wersji], oraz to że w tłumaczeniu niemieckim wprowadzono drobną zmianę.
Jak zawsze nową wersję rozszerzenia pobrać można ze strony rozszerzenia.
Podobne postybeta
OpenOffice.org2GoogleDocs 0.9.2
Debugowanie JavaScriptu odsłona 2 ;-)
Test z Asus EEE Pad Transformer
Niemangielski ;-)
OOo2GD 1.7.0
Sztuczki tropiciela błędów ;-)
Zwykle tropiąc błąd w kodzie najpierw wymyślamy gdzie problem może być, później zaczynamy go śledzić. Jest to rozwiązanie skuteczne i prawie zawsze działa.
Jednak gdy mowa o aplikacji która pracuje wielowątkowo [a takich jest coraz więcej] nie zawsze jest to podejście najlepsze.
Wtedy przydaje się logowanie.
A w logowaniu, szczególnie gdy tropimy błąd przydaje się taki oto banalny kawałek kodu:
Niby nic, a cieszy ;-) Wiemy już kto wywołał nasz kawałek kodu.
Czasem przydaje się też wędrówka po stack trace'ie:
Czasem potrzebujemy też wiedzieć jakie wątki odwołują się do naszego kawałka kodu, wtedy używamy równie znanego:
Możemy go wypisać:
Albo użyć jako klucza w mapie:
Wyobraźmy sobie sytuację, że otwieramy połączenie i zamykamy je, ale nie chcemy mając jedno otwarte połączenie z danego wątku otwierać drugiego i kolejnych. W wytropieniu takiego czegoś pomóc nam może:
Jak widać jest to wszystko proste, a na dodatek skuteczne.
Zwykle do logowania nie używamy też
Na koniec jeszcze przykład jak można logować w trakcie tropienia błędu nieobsłużone wyjątki:
Oczywiście takie ustrojstwa mają sens w kodzie w trakcie developmentu, a nie na produkcji, choć to zależy chyba tylko od naszego wyboru :-)
[edit 01/03/2008 11:34: zmieniłem HashMap'e w Hashtable'a, bo walnąłem babola ;-) To Hashtable jest bezpieczne wątkowo, nie HashMap'a]
Podobne postybeta
Sztuczki tropiciela błędów - breakpoint na sterydach ;-)
Potfór ;-) czyli generator z yield w Java'ie
Przepływ sterowany danymi - A takie Java'owe coś ;-)
wait() i notify()/notifyAll() - najbardziej nierozumiane metody klasy Object ;-)
IE suxx ;-)
Jednak gdy mowa o aplikacji która pracuje wielowątkowo [a takich jest coraz więcej] nie zawsze jest to podejście najlepsze.
Wtedy przydaje się logowanie.
A w logowaniu, szczególnie gdy tropimy błąd przydaje się taki oto banalny kawałek kodu:
Throwable tr = new Throwable();
tr.printStackTrace();
Niby nic, a cieszy ;-) Wiemy już kto wywołał nasz kawałek kodu.
Czasem przydaje się też wędrówka po stack trace'ie:
public static void logStackTrace() {
Throwable tr = new Throwable();
StackTraceElement[] elements = tr.getStackTrace();
String str = "";
// zaczynamy od 1 żeby nie było widać wołania tej metody ;-)
for (int idx=1; idx<elements.length; idx++) {
str+=elements[idx]+" ";
}
System.out.println(str);
}
Czasem potrzebujemy też wiedzieć jakie wątki odwołują się do naszego kawałka kodu, wtedy używamy równie znanego:
Thread.currentThread();
Możemy go wypisać:
System.out.println(Thread.currentThread();
Albo użyć jako klucza w mapie:
// Używamy Hashtable'a bo jest bezpieczniejsza w przypadku wielu wątków
Map<Thread,Throwable> map = new Hashtable<Thread,Throwable>();
[....]
map.put(Thread.currentThread(), new Throwable());
Wyobraźmy sobie sytuację, że otwieramy połączenie i zamykamy je, ale nie chcemy mając jedno otwarte połączenie z danego wątku otwierać drugiego i kolejnych. W wytropieniu takiego czegoś pomóc nam może:
// Używamy Hashtable'a bo jest bezpieczniejsza w przypadku wielu wątków
public static Map<Thread,Throwable> map = new Hashtable<Thread,Throwable>();
public void openSomething() {
Throwable tr = new Throwable();
// używamy get, bo nie ufam contains, choć tutaj by świetnie zadziałało ;-)
if (map.get(Thread.currentThread())!=null) {
System.out.println("PROBLEM!!!!!");
tr.printStackTrace();
}
map.put(Thread.currentThread(), new Throwable());
[...]
}
public void closeSomething() {
map.remove(Thread.currentThread());
[....]
}
Jak widać jest to wszystko proste, a na dodatek skuteczne.
Zwykle do logowania nie używamy też
System.out
a czegoś bardziej sexy ;-) ale to już inna bajka.Na koniec jeszcze przykład jak można logować w trakcie tropienia błędu nieobsłużone wyjątki:
Runnable r = new Runnable() {
@Override
public void run() {
while (true) {
Object o = null;
try {
o.wait();
} catch (InterruptedException ie) {
ie.printStackTrace();
}
}
}
};
Thread t = new Thread(r);
t.setUncaughtExceptionHandler(new UncaughtExceptionHandler() {
@Override
public void uncaughtException(Thread t, Throwable e) {
System.out.println(t);
e.printStackTrace();
}
});
t.start();
Oczywiście takie ustrojstwa mają sens w kodzie w trakcie developmentu, a nie na produkcji, choć to zależy chyba tylko od naszego wyboru :-)
[edit 01/03/2008 11:34: zmieniłem HashMap'e w Hashtable'a, bo walnąłem babola ;-) To Hashtable jest bezpieczne wątkowo, nie HashMap'a]
Podobne postybeta
Sztuczki tropiciela błędów - breakpoint na sterydach ;-)
Potfór ;-) czyli generator z yield w Java'ie
Przepływ sterowany danymi - A takie Java'owe coś ;-)
wait() i notify()/notifyAll() - najbardziej nierozumiane metody klasy Object ;-)
IE suxx ;-)
Subskrybuj:
Posty (Atom)