środa, grudnia 31, 2008

Pomysły są, realizacji brak ;-)

Wiecie jaki jest największy problem przychodzący z wiekiem?

Kiedyś myślałem, że chodzi o brak nowych pomysłów.

Błąd.

Pomysły są, brak tylko chęci by je realizować ;-)

Może nie tylko chęci, chodzi chyba też o to, że często jest tak, że ogólna koncepcja jest prosta i ciekawa, ale pełna nudnych i kłopotliwych szczegółów, lub co też częste, problem wydaje się tak prosty do rozwiązania, że nawet nie warto się nad nim pochylać ;-)
I realizowane są głównie te pomysły, które albo są proste, albo wydają się być bardzo, ale to bardzo ciekawe.

Podobne postybeta
TVP HD - najsmutniejszy program TV
Czego nie lubię w Kalifornii?
O promowaniu ;-)
Komunizma!=Faszyzm
Inbox Zero, Pecha Kucha, Agile

niedziela, grudnia 28, 2008

OOo2GD 1.3.1

Mała poprawka do OpenOffice.org2GoogleDocs.

Od teraz odznaczenie "ptaszka" do zapamiętywania hasła będzie oznaczało skasowanie z dysku pliku z tym hasłem.

Zapraszam do pobierania.

Jednocześnie zapraszam do ankiety:




Podobne postybeta
Pytania o sen odbierają mi sen ;-)
Nowy Gadacz v0.5.1
OOo2GD 1.4.2
OOo2GD 1.8.2
Tak czy nie?

Poprawiamy JDK7 ;-)

Ciekawe ;-) Czytając dziś trochę o Java 7 stwierdziłem, że przecież mogę pomóc, szczególnie przy prostszych błędach mogę się przydać.

Ale nie jest to takie proste ;-)

Najpierw trzeba poprosić o przydzielenie roli jdk.Researcher [tutaj], następnie gdy już dostaniemy przydział [ja jeszcze czekam ;-)] trzeba podpisać Sun Contributor Agreement i wysłać go do Sun'a [tego jeszcze nie zrobiłem ;-)].

A wszystko po to by móc sobie wybrać bug'a z listy startowej i zacząć się nim bawić :-)

Ja swoją ofiarę znalazłem w bug'u 4930166 i jak na razie nie wytrzymałem tej całej procedury i wkleiłem rozwiązanie do komentarza ;-)

Podejrzewam, że ta procedura to takie zabezpieczenie Sun'a przed gorącymi głowami takimi jak ja ;-)


Podobne postybeta
The Giver - kolejny świat, który się nie domyka....
A różne takie...... czyli Fork-Join w JDK7, Azule i podobne :-)
Się mnie poprzestawiało....
Ludzie nie potrafią czytać...
Ekonomia w praktyce ;-) czyli jak zniechęcić kieszonkowców

sobota, grudnia 27, 2008

IT Gumisie ;-)

Parę lat temu będąc u jednego z klientów w trakcie przygotowań do wdrożenia naszego systemu [oprogramowanie dla Centrum Powiadamiania Ratunkowego, a wszystko działo się w naprawdę dobrym szpitalu w pewnym mieście na R ;-)] przekonałem się, że ludzie w branży IT nie są w pełni normalni ;-)

Jednym z najchętniej słuchanych utworów przez grono adminów i ogólnie tamtejszych specjalistów od IT była piosenka z Gumisów ;-)

 

[wpis opublikowany przy pomocy Windows Live Writer’a… jednak chyba wolę standardowy edytor w Blogger’ze :-)]




Podobne postybeta
Kryzys istotności ;-)
Tydzień 27 (jeżeli dobrze liczę ;-))
4 dniowy tydzień pracy - idea piękna... ale obawiam się, że tylko zwiększy rozwarstwienie
Kraków a Dolina Krzemowa
Google Music - wrażenia

piątek, grudnia 26, 2008

czwartek, grudnia 25, 2008

Nie taka Java wolna jak ją opisują...

W poście o cieniowaniu metodą Gourada napisałem, że mój applet nie jest zbyt prędki.

W mojej ocenie [a pewnie i tych, którzy czytali tamten post ;-)] winę za to ponosiła niewydolność Java'y w obliczeniach... i tu okazuje się, że się myliłem :-)

Okazuje się, że prawie 10 razy więcej czasu zabiera stworzenie obrazka z pikseli przekazanych do metody setRGB(int, int, int, int, int[], int, int) niż wyliczenie wartości tych pikseli...... OK, trochę zamotane ;-)

Na wejściu mamy 550 punktów w przestrzeni 3D, te punku wchodzą w składa 1039 trójkątów [zwanych w kodzie facetami ;-) od face ;-)]. Program dokonuje obliczeń na 550 punktach obracając je w przestrzeni 3D, w tym celu używa 9 mnożeń [standardowo powinno być 12, ale gdy wykorzysta się macierz obrotów to okazuje się, że niektóre czynniki się powtarzają i można zredukować ilość mnożeń z 12 do 9 [niestety nie wpadłem na to sam]], mając nowe położenia punktów program rzutuje je na powierzchnię ekranu. Teraz mając już zestaw punktów na płaszczyźnie przechodzi do rysowania. W tym celu używa 1039 trójkątów, które zawierają w sobie numery wchodzących w ich skład punktów. Dzięki temu można dla każdego z trójkątów poznać współrzędne na płaszczyźnie ekranu [potrzebne do narysowania trójkąta w odpowiednim miejscu] i współrzędne w 3D [potrzebne do wyliczenia wektora normalnego, a przez to koloru punktu]. Rysowanie trójkątów to nie jest takie hop-siup, bo trzeba po pierwsze wyliczyć kolory ich wierzchołków [używając wektora normalnego], po drugie wyliczyć ich z-index, posortować je wg. z-index'u [tak żeby najpierw rysować dalsze trójkąty, a później bliższe] a później spróbować narysować te trójkąty tak by przejścia kolorów między wierzchołkami na całej powierzchni trójkąta były znośne. Z tym, że rysowanie odbywa się w buforze, w którym każdy punkt składa się z 3 liczb [po jednej na kolory czerwony, zielony i niebieski].
I okazuje się, że na maszynie na której to teraz piszę cały ten proces zajmuje od 1.46 do 3 ms. Czyli w najgorszym wypadku mogę takich "rysunków" narysować od ponad 300 do blisko 700 na sekundę. Z ilością klatek średni czas maleje [w chwili obecnej przy ponad 4500 klatek czas na jedną klatkę wynosi około 1.37 ms, a po 5000 klatek jest to już 1.33 ms].
Za to przerobienie tego bufora z rysunkiem, za które to przerobienie odpowiada już sama Java zajmuje około 21-22 ms... Czyli trwa od 10 do 17 razy dłużej niż narysowanie rysunku...
Żeby było zabawniej, zmiana typu rysunku z TYPE_3BYTES_RGB na TYPE_INT_RGB spowodowała przyśpieszenie z 21-22 ms do około 14-15 ms :-)


Podobne postybeta
Gouraud = Pseudo Phong :-)
Chrome, Firefox, IE9 preview i cieniowanie Gouraud'em w JavaScript
WebGL - dalsze zabawy
Cieniowanie Gourauda w JavaScript part 2 - przyśpieszamy :-)
Na śpiocha....

poniedziałek, grudnia 22, 2008

Jak czytać kod...

Mamy taki kod:
int func(int[] A,int p, int r) {
int x = A[r];
int i=p-1;
for (int j=p; j<r; j++) {
if (A[j]<=x) {
i++;
int tmp = A[i];
A[i] = A[j];
A[j] = tmp;
}
}
int tmp = A[i+1];
A[i+1] = A[r];
A[r] = tmp;
return i+1;
}

Umiecie patrząc tylko na ten kod, bez użycia kartki i pamięci ;-) stwierdzić co będzie wynikiem jego działania?

Ja nie do końca...

Najpierw rysuję sobie ten kod w głowie:



W rzeczywistości nie tyle sobie wyobrażam rysunek, co na moment "ślepnę" na pewne fragmenty kodu i staram się je analizować bez zbędnych warunków...

Zaczynam od analizy prostszego przypadku, czyli sytuacji gdy w warunku wewnątrz pętli wynikiem jest FALSE, czyli aktualny element fragmentu tablicy jest większy od ostatniego elementu:


Czyli puki A[j]>x to przechodzimy po kolejnych elementach tablicy...
Aż do momentu gdy aktualnie przetwarzany element jest mniejszy bądź równy ostatniemu elementowi tablicy...


Wtedy przesuwamy się o 1 do przodu po naszym dodatkowym indeksie i, który po tym manewrze zacznie wskazywać na 1 element tablicy, a w razie kolejnych przesunięć będzie wskazywał kolejne elementy... i zamieniamy ten wskazywany element z elementem, aktualnie przetwarzanym....

I tu się gubię ;-)

Niby już wiem co robi kod, ale trudno mi zgadnąć co się stanie z tablicą i co będzie opisywać wynik... [czyli indeks i zwiększony o 1].

Nawet analiza jak się będzie zachowywać tablica jest problemem gdy robi się to w głowie... Bo od biedy można operować powiedzmy tablicą 4, no może 5 elementów... do tego dochodzą 2 indeksy... A trzeba zapamiętać nie tylko wartości tych 6-7 liczb, ale jeszcze pozycję w tablicy...

Pomaga mi dopiero wizualizacja:



I wtedy widzę, że wartość zwrócona z tej funkcji to nic innego jak numer indeksu dzielącego tablicę na 2 części, w pierwsze części tablicy znajdują się elementy mniejsze od ostatniego elementu tablicy, a w drugiej większe bądź równe temu elementowi...

OK, to jest metoda partition wykorzystywana w qucik sort.

A teraz kluczowe pytanie ;-)

Macie pomysły, bądź sztuczki które pozwalają na przeczytanie takiego kodu/algorytmu bez babrania się w kartki i inne takie?

Mówiąc inaczej :-)

Ktoś chętny do podzielenia się swoim sposobem analizy kodu? :-)


Ja próbuję od jakiegoś czasu w wolnych chwilach, gdy nie mam innego pomysłu ;-) pisać sobie narzędzie do wizualizacji kodu [o którym już tu kiedyś pisałem].
Jak na razie efekty jego działania nie porażają ;-)



Docelowo chciałbym żeby wyglądało to mniej więcej tak:




Podobne postybeta
HashMap - Z klawiaturą wśród struktur danych
Zdradliwa Java i 8 królowych ;-)
HeapSort, a MergeSort i QuickSort :-) - od strony "chytrości" ;-)
Spectre powinno działać nawet w Java'ie ;-)
Regresja liniowa w Google Docs

Gouraud = Pseudo Phong :-)

Gdy ponad 8 lat temu napisałem cieniowanie Gourauda ;-) strasznie to przeżywałem ;-)
Byłem dumny jak paw ;-)



Teraz w ramach zabaw z Java'ą przełożyłem sobie mój stary program w C na Java'ę :-)
Niestety prędki nie jest ;-)

Cieniowanie Gourauda to coś w stylu cieniowania Phong'iem. Dla oryginalnego cieniowania Phong'a należałoby liczyć, a dokładniej przybliżać wektor normalny dla każdego elementu powierzchni, i na podstawie tego wektora wyliczać oświetlenie punktu.
Ja trochę oszukuje, liczę wektor normalny tylko dla wierzchołków każdego z trójkątów z których zbudowany jest model, po czym wyliczam mniej więcej znormalizowaną odległość wektora normalnego ;-) od wektora oświetlenia [powinienem kąt], i ta odległość jest mapowana na kolor, a kolor jest liczony w oparciu o funkcję sinus ;-) Dzięki temu każdy wierzchołek trójkąta ma swój kolor, a wszystkie inne punktu otrzymują swój kolor poprzez interpolację między wartościami dla wierzchołków.
Z tego co pamiętam, do takiego sposobu dotarłem metodą prób i błędów.

Szczerze przyznam, że wykłady z analizy matematycznej na których mieliśmy elementy geometrii analitycznej były bardzo przydatne ;-) Zresztą, akurat wtedy gdy mieliśmy te wykłady wpadłem na pomysł napisania tego ;-)

Osoby o wolnych komputerach przepraszam, użyjcie może AdBlocka do zablokowania appletu.


Podobne postybeta
Nie taka Java wolna jak ją opisują...
Pierwsze próby z WebGL
WebGL - dalsze zabawy
Chrome, Firefox, IE9 preview i cieniowanie Gouraud'em w JavaScript
Cieniowanie Gourauda w JavaScript :-)

niedziela, grudnia 21, 2008

Da sie ;-)





Nie jest źle :-)
Rzeczywiście można w Java'ie robić animację :-)

Nie jest porywająca, ale przecież to tylko kilka linii i kropek.... a wszystko przez to, że znów próbuję zrozumieć Swinga ;-)


Podobne postybeta
Zimistrz
Widoczki ;-)
Alice... i nie tylko....
Jak "okradłem" Google Readera ;-)
Zima

sobota, grudnia 20, 2008

Niewychowawczy klasyk

Dziś w telewizorze pokazali pierwszy odcinek "Ogniem i Mieczem" i od razu rzucił mi się w ucho dialog między Podbipiętą, a Skrzetuskim, w którym to Podbipięta mówi o swoim przyrzeczeniu ścięcia 3 głów tak jak jego przodek. Z kontekstu wynika, że najlepiej jakby to były niechrześcijańskie głowy, i że po dwie to już mu się zdarzało ściąć.....
A najlepsze jest to, że to wszystko żeby lędźwiom dać upust.......

No ładny mi wzorzec osobowy ;-)

Btw. możliwe, że moje uprzedzenie wynika z niechęci do Trylogii, której mimo próbom nie mogłem nawet zbyt dokładnie zacząć czytać.


Podobne postybeta
Python - można i tak ;-)
Mistrzowie political fiction
Kilogram i ile to jest? To jest dopiero spór :-)
Patrzajcie w kod a znajdziecie ;)
"Wpadka" Radka

"Drzewo" ;-)

Narysowałem sobie moją hierarchię firm w których mógłbym lub chciał pracować ;-)
Im firma wyżej, tym bardziej chciałbym lub mógłbym w niej pracować ;-) W środku górnej chmurki jest moja obecna firma.



Na dole trzy firmy z polskiego rynku, które nie są moim ideałem, ale i tak jakieś 100 ekranów niżej jest pewna firma w której pracowałem przez jakieś 8 miesięcy ;-) W połowie między dołem tego rysunku, a tą firmą na dnie są urzędy państwowe ;-)

Nie umieściłem na tym rysunku firm o których nie mam zdania.

Jakieś komentarze? ;-) A może ktoś ma swoją hierarchię? :-)


Podobne postybeta
Chmurka prawdopodobieństwa
Terminy
OS X, ładny cholernik jest.... ale nie idealny ;-)
Eclipse vs. NetBeans
Kosmici i ich gospodarka ;-)

czwartek, grudnia 18, 2008

OpenOffice.org2GoogleDocs 1.3 beta 1 - updatujemy dokumenty w Google Docs :-)

Ha! Udało mi się :-)
Wersja 1.3 beta 1 OpenOffice.org2GoogleDocs potrafi już updatować pliki na Google Docs.

Jak na razie nie jestem zadowolony z wyglądu interfejsu użytkownika, który nie jest zbyt prosty ;-) dlatego tutaj krótka instrukcja obsługi ;-)

Zaczynamy jak zwykle od kliknięcia na ikonkę eksportu do Google Docs:



W okienku eksportu pole tekstowe do wprowadzania nazwy zmieniło się w ComboBox, i tutaj najważniejsza różnica, jeżeli chcemy uploadować plik to zostawiamy nazwę w spokoju lub ją edytujemy [dla zwykłego eksportu pliku i stworzenia nowego elementu w Google Docs NIE WYBIERAMY NICZEGO Z ROZWIJANEJ LISTY]:



Jeżeli jednak chcemy zupdatować istniejący plik, wybieramy jego nazwę z listy, nasz plik zostanie wyeksportowany do Google Docs i stanie się nową wersją wybranego z listy dokumentu:



Gdy wszystko się uda powinniśmy zobaczyć:



I w końcu sukces :-) mamy kolejną wersję dokumentu:



Zapraszam do pobierania :-)

Pobierz wersję 1.3b1 rozszerzenia OpenOffice.org2GoogleDocs

Ta wersja może stworzyć kilka niepotrzebnych plików w katalogu użytkownika...


Podobne postybeta
Wersja 2.0.0 OOo2GD już jest :-)
OOo2GD 3.0.0 - eksportowanie do Google Docs bez konwersji :-)
Podejrzanie szybko....
OOo2GD (OpenOffice.org2GoogleDocs) 1.2.2
A taki sobie nowy ficzer - filtrowanie :-)

środa, grudnia 17, 2008

ASUS EEE PC - szpanujemy wyniki ;-)

Dziś o ciekawych narzędziach od Asusa :-)Eee PC ShrinkerJak można domyśleć się po nazwie służy do zmniejszania rozmiaru danych na dysku... ale nie przez kompresję, a proste kasowanie niepotrzebnych plików :-)Dzięki użyciu Eee PC Shrinkera nie trzeba już ręcznie męczyć się z szukaniem katalogów gdzie Windows zostawił nam jakieś pliki "tak na wszelki wypadek". Dzięki automatyzacji nie musimy bawić się w kasowanie ręczne, które zabiera czas i zawsze niesie za sobą ryzyko tego, że skasujemy za dużo ;-)AutoC2DWe wcześniejszych wersjach program starał się przenieść domyślną lokalizację katalogu C:\Program Files na dysk D:\, jednak w trakcie tego procesu konieczne było użycie dysków odzyskiwania i cała procedura nie była zbyt miła.Wersja 3.0 to znaczący postęp :-) Z użyciem mechanizmu NTFS junction najpierw kopiuje pliki z C:\Program Files do D:\Program Files, a następnie tworzy link między katalogiem C:\Program Files a D:\Program Files tak by wszystkie programy pracowały tak jakby nigdy nic.W instrukcji mowa jest o tym, że tych zmian nie można odwrócić co nie jest do końca prawdą bo można to zrobić ręcznie.Eee Storage UtilityNarzędzie konieczne do skorzystania z usługi EEE Storage, czyli on-line'owego składowiska dokumentów dla posiadaczy EEE PC.Poprzez Centrum Aplikacji mamy dostęp do pewnego zestawu zasobów, takich jak gry, filmy, muzyka, zdjęcia i tapety [z czego media są w mniejszym lub większym [zwykle] stopniu z EEE PC ;-)], najciekawszy jest katalog Utlities w którym znaleźć można dwa programy, o których wyżej ;-)Co do funkcji składowania danych, to działa dość znośnie, choć sam mimo wszystko wykorzystuje raczej sporadycznie ;-)ASUS Update UtilityPrzydatnym narzędziem może być ASUS Update Utility, czyli program pozwalający na updatowanie BIOSu w EEE PC. Te zmiany BIOSów są całkiem przyjemną rzeczą, np. przechodząc z wersji 802 do 902 zyskałem jakieś 6 sekund na starcie EEE PC :-)Wszystkie programy można znaleźć na stronie Asusa, gdzie wybieramy odpowiedni produkt [EEE Family, EEE PC, i w moim przypadku EEE PC/900]Dwa pierwsze programy powinny być w stanie pracować również na innych komputerach, choć możliwe, że związane to będzie z łamaniem ich licencji.


Podobne postybeta
Przenosimy .NET'a na inny dysk :-)
Naprawdę nienawidzę...
CosmoPlayer w Google Chrome
Asus EEE 900 - Tips & Tricks ;-)
Gadające Gadu-Gadu

wtorek, grudnia 16, 2008

Bio&quot;etyka&quot;

Od dłuższego czasu zastanawia mnie co to jest właściwie ta bioetyka....Ostatnio stada bioetyków protestowały przeciwko temu by w celach badawczych naukowcy mogli pobrać sobie komórkę np. skóry i wprowadzić jej jądro do pozbawionej jądra komórki zwierzęcej, a później hodować taką komórkę tak by zbudowała sobie około 200 pobratymców...Sęk w tym, że takie coś nazywa się hybrydą ludzko zwierzęcą, a nawet [o zgrozo!] hybrydowym embrionem ludzko zwierzęcym....A jak wiadomo słowo embrion jest dla bioetyków święte.Zresztą patrząc na reakcje naszych polityków na projekt ustawy "bioetycznej" można odnieść wrażenie, że największymi ekspertami od bioetyki i biologii jako takiej są w naszym kraju znawcy tematyki przedstawionej w zbiorze utworów literackich sprzed ponad 3 tysięcy lat [które to bazują na takich sprzed 5 tysięcy lat]. Jak łatwo się domyśleć ten kawał literatury nie zawiera wzmianek o sprawach takich jak in-vitro, czy nawet o takich podstawach jak komórka... O torbaczach tam też nic nie ma, co chyba oznacz że nie istnieją [i Australię diabli wzięli...]. Co ciekawe przedstawiciele tej samej firmy, którzy teraz są ekspertami od bioetyki byli kiedyś ekspertami od fizyki i astronomii i potrzebowali tylko 359 lat by stwierdzić, że jednak niesłusznie protestowali przeciwko heliocentryzmowi....Wracając do tematu, w słowie bioetyka zadziwia mnie połączenie biologii z filozofią.Biologia to nauka przyrodnicza bazująca na metodzie naukowej, co w wolnym tłumaczeniu oznacza obserwację, przeprowadzanie eksperymentów i budowanie w oparciu o ich wyniki teorii. Czyli teoria musi tłumaczyć obserwowane zjawiska w sposób przewidywalny i nie powinna opierać się na żadnych nie udowodnionych założeniach.Filozofia to proces w którym filozof zaczyna do jakichś przyjętych a priori założeń i buduje na nich swoje wnioski. Etyka to ta część filozofii, która zajmuje się zasadami moralnymi, czyli tym co jest dobre, a co złe.Biologia swój warsztat i swoje metody stosuje od góra 150 lat i odpowiedziała już na wiele pytań. Pokazała np., że praktycznie wszyscy ludzie na Ziemi mają "wbudowany" zestaw zasad moralnych. Pokazała również, że podobne zasady mają "wbudowane" także inne zwierzęta.Etyka swój warsztat wymyśliła jakieś 4000-5000 lat temu i od wtedy go stosuje próbując ciągle wyprowadzić zasady moralne z przyjmowanych przez etyków założeń. Stąd mamy całe mnóstwo etyk i zasad moralnych, które gdyby je próbować narysować zwykle byłyby zbiorami rozłącznymi.Mamy więc z jednej strony bio czyli coś związanego z biologią i próbą obiektywnego opisywania świata, z drugiej zaś strony etykę czyli zestaw zasad wywiedzionych z całkowicie subiektywnych założeń.To tak samo jakby istniała matematyko-etyka, której czynnik etyczny decydowałby czy dany zestaw działań matematycznych jest moralnie dopuszczalny, czy też nie. Stąd np. grupy przemienne zostałyby uznane za dobre, a grupy które przemienne nie są stałyby się złe.Absurdalny pomysł z tą matematyko-etyką, prawda? A mimo swojej absurdalności takie połączenie dwóch różnych światów, czyli bioetyka jest tak ważna, że pisze się o niej całe ustawy.I to jest dopiero absurd skoro zamiast być dziełem biologów i lekarzy, którym asystowaliby etycy, ustawa ta jest wynikiem dyskusji między politykami i znawcami literatury sprzed 3000 lat, którym co jakiś czas jakiś lekarz czy biolog próbował bezskutecznie wytłumaczyć różnicę miedzy komórką diploidalną a haploidalną albo to o co właściwie biega z tymi eukariotami.Już kończę ;-)Pozdrawiam,Wasz oddany organizm wielokomórkowy ;-)

Podobne postybeta
No i mamy wyrok
Déjà vu...
Oddajcie robota!!!
ChromoPaskudztwo ;-) - czyli, pisanie aplikacji dla Chrome to pikuś :-)
Internacjonalizacja

NTFS junction - jak zrobić i dlaczego ;-)

Dziś z serii użyteczne narzędzia ;-) Narzędzie o nazwie JUNCTION, czyli skrzyżowanie.
Jest to programik napisany przez Marka Russinovich'a z SysInternals. Pozwala on na tworzenie na dyskach NTFS "linków" do katalogu, które dla programów widoczne są jako oddzielne katalogi.

Można np. sprawić by katalog "C:\My Documents" wskazywał na rzeczywisty katalog "C:\Documents and Settings\user\My Documents" dzięki czemu wszystkie pliki z tego drugiego katalogu będą dostępne w pierwszym katalogu.
Poniżej rysunek pokazujący jak katalog z Chrome, który domyślnie znajduje się na dysku C można przenieść na dysk D ;-)



Sam program jest bardzo prosty w użyciu. Wystarczy uruchomić go z linii poleceń:
>junction [-d] katalog_montowania [katalog_docelowy]
gdzie katalog_montowania to katalog pod którym chcemy podlinkować katalog_docelowy.
A program zrobi wszystko za nas ;-)

Teraz pytanie "po co to?"

Odpowiedź pierwsza - bo można ;-)
Odpowiedź druga - bo czasem może się przydać. Np. gdy jakiś program upiera się przy swoim, a my naprawdę chcielibyśmy zmusić go do działania w innym katalogu. Np. taki Google Chrome choć sam może zostać skopiowany i będzie działał z prawie każdej lokalizacji na dysku, nie pozwala jednak na przeniesienie plików z danymi i nawet podmiana wszystkich ciągów w rejestrze nie pomaga.
Inną sytuacją może być chęć przeniesienia jakiegoś programu na inny dysk, przy jednoczesnym uniknięciu jego reinstalacji. Chociaż akurat w tej sprawie zawsze twierdziłem, że tu obowiązuje zasada, że każdy dobry program pozwala na przeniesienie się w inną lokalizację przez proste skopiowanie ;-)

UWAGA!!! Windows zależnie od metody dostępu do takiego "linka" czy "skrzyżowania" może stosować różne metody obsługiwania kasowania, inaczej będzie się zachowywać gdy skorzystamy z Explorera, inaczej z linii poleceń, a jeszcze inaczej np. z Total Commandera. Więc nie należy przesadzać ;-) więcej szczegółów można znaleźć w Wikipedii w artykule o NTFS junction point.


Podobne postybeta
Przenosimy .NET'a na inny dysk :-)
Naprawdę nienawidzę...
ASUS EEE PC - szpanujemy wyniki ;-)
Google Chrome - update server not available (error 7)
Za co naprawdę, ale to naprawdę nienawidzę Microsoftu?

niedziela, grudnia 14, 2008

Najprostszy OCR ;-)

Będzie o najprostszym OCR, które ma każdy kto ma na swoim komputerze zainstalowane MS Office 2003 [w moim przypadku jest to firmowy MS Office 2003].
Właśnie z niego korzystałem tworząc poprzedni wpis.

Na początku potrzebować będziemy jakiegoś tekstu w postaci pliku TIF.
Akurat osadzony poniżej obrazek to PNG, ale to tylko przez to, że Blogger nie lubi TIFa ;-)


Niech nasz plik TIF nazywa się scaned003.tif, wtedy kod poniższego skryptu:

var modi = WScript.CreateObject("MODI.Document");
modi.Create("scaned003.tif");
var doc = modi.OCR();
WScript.Echo(modi.Images.Item(0).Layout.Text);


Da nam w rezultacie wynik:
17. NIat Va, JAJUZilSIa tS life-style? Flashy and lavish, nodest or spartan? Did he flaunt his pr and eutflorlty? Did h ever abuSe the pcIMP of his Position? .IpIes?
It wild be difficult to describe SAflRSl 'S life-style as Spartan, thaigh certainly In cavparIson with Other digliltarlas Of such level, his Style ,as rather fltde,t. lie had no social or t.nhIy I Fe. Ie Spent Inst Of his turn ..nrlclng in his office or participated in a variety of conference or the Party, foverlilnent and tfle military. (easiorIslly, he ,q1ld visit military bases Jring larger exercises. H. begs.. his daily Crk around 9 am. and exetudir1 a two-hourih period 4Iich he generally spent at hn, he worked until late at night not Infrequently until S am. Before the work he participated in all physleal exercises, planned for the leading cadre of the I.te. He liked to Iwlirl in these hour,, or to play volleyball. (,oe in a saute, in the afternoon, in the IWO projection roan, he would View sale kind of film trw. the lint ,ieIu would not be ShO..w, in p4Iblia ntvle theaters.
J/.MKI did not flaunt his pr and his mithority but, though he atteupted to be polite and %11 nsnhlered taerd All. fle did Ireke an Irrpres,lon of a puffed up statue. Thccept. for the above exrple of his bmw Much Val supposedly forced on him, I know of no instance In Mulch he wause tile poser of his position.


Co gdy porówna się to z poprawioną wersją:



daje "na oko" dokładność jakichś 70-80% :-)

Wydaje mi się, że wynik nie jest zły ;-)

Chcąc użyć "ręcznej" wersji, która potrafi tworzyć pliki dla MS Word, należy wejść do Menu Start i "Microsoft Office" -> "Microsoft Office Tools" -> "Microsoft Office Document Imaging".
Następnie wybieramy z menu File opcję Import i ładujemy interesujący nas obrazek:

Klikamy na ikonkę "Send Text to Word":



Wybieramy gdzie chcemy zachować wynikowy dokument:



Zgadzamy się na czasochłonną operację ;-)



Która przebiega w naszym przypadku dość szybko:




I w końcu dostajemy tekst w MS Word ;-)



Zrobione :-)


Podobne postybeta
Generał Jaruzelski wg. Kuklińskiego
Automatyczne tłumaczenie 2 - Translatica vs. Google Translate ;-)
Zmarł Arthur C. Clarke :-(
Tydzień z Google Home
Jak nauczyć się żonglować? ;-)

Generał Jaruzelski wg. Kuklińskiego

W piątek i wczoraj było głośno o tym, że CIA odtajniła część dokumentów przekazanych przez Kuklińskiego. Pojawiły się nawet komentarze, że te materiały pogrążają generała Jaruzelskiego [jak zwykle Onet].

Kukliński to zdecydowanie nie moja bajka i nadal mam mieszane odczucia co do niego, ale tutaj kilka wypisów z jednego z jego raportów.

Zacznę od tego, że wielu przeciwników Jaruzelskiego zarzuca mu, że był bardzo pazerny i nadużywał władzy dla własnych celów.

17. What was JARUZELSKI’S life-style? Flashy and lavish, modest or spartan? Did he flaunt his power and authority? Did he ever abuse the per of his position? Examples?

It would be difficult to describe JARUZELSKI's life—style as spartan, though certainly in comparison with other dignitaries of such level, his style was rather modest.. He had no social or family life. He spent most of his time working In his office or participated in a variety of conference of the Party, government and the military. Occasionally, he would visit military bases during larger exercises. He began his daily work around 9 a.m.,and excluding a two-hour period which he generally spent at home, he worked until late at night not infrequently,until 3 a.m. Before the work he participated in all physical exercises, planned for the leading cadre of the MND. He liked to swim In these hours, or to play volleyball. Once in a while, in the afternoon, in the MND projection room, he would view same kind of a film from the West which would not be shown in public movie theaters.
JARUZELSKI did not flaunt his power and his authority but, though, he attempted to be polite and wall mannered toward all, he did make an impression of a puffed up statue. Except for the above example of his home which was supposedly forced on him, I know of no instance in which he would abuse the power of his position.


Co po przetłumaczeniu przy pomocy Google Translate i lekkim wygładzeniu wygląda tak:

17. Jaki był styl życia JARUZELSKIEGO? Błyszczący i rozrzutny, skromny lub spartański? Czy popisywał się swoją potęgą i władzę? Czy kiedykolwiek ich nadużył? Przykłady?

Byłoby trudno opisać styl życia JARUZELSKIEGO jako spartański, choć z pewnością w porównaniu z innymi dygnitarzami takiego poziomu, jego styl był raczej skromny .. Nie miał życia rodzinnego ani towarzyskiego. Spędzał większość swego czasu w pracy w jego biurze lub uczestniczył w różnych konferencji państwowych, rządowych i wojskowych. Czasami zdarzało się, że odwiedzał bazy wojskowe podczas większych ćwiczeń. Zaczynał swoją codzienną pracę ok. 9 rano, i bez dwóch godzin, przerwy obiadowej którą spędzał na ogół w domu, pracował do późnych godzin wieczornych, nie rzadko aż do 3 rano. Przed pracą uczestniczył we wszystkich ćwiczeniach fizycznych, zaplanowanych dla kadry głównej MON. W tym czasie lubił pływać, lub grać w siatkówkę. Raz na jakiś czas, w godzinach popołudniowych, w sali projekcyjnej MON oglądał jakieś filmy z Zachodu, które nie były wyświetlane w publicznych kinach.
JARUZELSKI nie afiszował się swoją potęgą i władzą, ale mimo, że starała się być uprzejma i dobrze wychowany w stosunku do wszystkich, sprawiał wrażenie wypchanej kukły. Z wyjątkiem wcześnie wspomnianego przykładu z domem, do którego przyjęcia został zmuszony, nie wiem o żadnych przypadkach w których miałby on nadużywać władzy swojego stanowiska.


Laurka to nie jest, ale raczej daleko temu opisowi do kreowanego przez wielu prawicowców obrazu kacyka, który żyje kosztem swojego narodu.

Jeszcze ciekawszy jest fragment w którym Kukliński opisuje dlaczego Jaruzelski miał prawo bać się w 1981 roku wejścia wojsk ZSRR.

There is no doubt, though, that he arrived at a conviction, not without certain basis, as it appeared from the veiled comments of his closest friend SIWICKI, that the USSR is to repeat in the PPR, one of its scenarios from Hungary, Czechoslovakia or Afganistan. This conviction solidified with JARUZELSKI still more in 1981 when the USSR undertook further preparations in this direction. One of these was for instance the concentration of a Soviet armoured unit around Warsaw, without prior agreement of the official Polish authorities. This unit was In position to reach in only 20 minutes, the buildings of the Central Committee of the PUWP, Council of Ministers and the Council of State. Another special unit was designated to take over the Radio-Television Center within the same period of time. Also, without the knowledge and agreement of the Polish side, the Russians set-up on the territory of the PPR a special radio communications system system to direct the operations of the Combined Armed Forces. In addition they undertook a systematic air delivery of troops and equipment to various parts of Poland. The pilots of the Soviet aircraft and helicopters did not subordinate themselves to the Polish Civil Aviation Service thus endangering even the civil aviation traffic. The height of contempt and disrespect or perhaps only blackmail, was the transmittal behind his back of tasks to the Polish Civil Aviation Service to secure the overflights and loading on the territory of Poland of over 300 Soviet transport aircraft five hours before the intended start by them of three airlift bridges with the USSR. The Russians waent so far, in their contempt that the Soviet commanders in the Western military districts of the USSR, and even in the Moscow military district began to designate buildings in the whole territory of Poland which would be taken by their military commands.

   All reports of the General Staff in such instances (and there were many more) were accepted by JARUZELSKI without comments while he maintained a good face in a bad play. He always attempted to rationalize and to justify the Soviet action. There was, however, no doubt that under the influence of these facts he could conclude that the actual danger to the Polish State’s separateness even with a limited sovereignity constitutes the USSR.


Co po polskiemu idzie tak [tym razem z Translatica'ą bo Google Tlanslator trochę kręci ;-)]

Nie ma jednak wątpliwości, iż doszedł do przekonania, nie bez podstaw, co potwierdzały pewne zawaluowane komentarze jego najbliższego przyjaciela SIWICKIEGO, że ZSRR może powtórzyć w PRL jeden ze swoich scenariuszów z Węgier, Czechosłowacji albo Afganistanu. W tym przekonaniu JARUZELSKI utwierdził się jeszcze bardziej w 1981 gdy ZSRR podjął się dalszych przygotowań w tym kierunku. Jednym z nich była na przykład koncentracja radzieckich sił pancernych w okolicach Warszawy, bez wcześniejszej zgody polskich władz. Ta jednostka była gotowa by w ciągu 20 minut dotrzeć do budynków Komitetu Centralnego, Rady Ministrów i Rady Państwa. Inna specjalna jednostka została wyznaczona do przejęcia centrum radiowotelewizyjnego (radiokomitetu?) w takim samym czasie. Również bez wiedzy i zgoda strony polskiej, Rosjanie organizowali na terenie PRL specjalny system łączności radiowej do kierowania połączonymi siłami zbrojnymi. W dodatku rozpoczęli oni systematyczne loty w których dostarczali żołnierzy i wyposażenie do różnych części Polski. Piloci radzieckich samolotów i helikopterów nie podporządkowali się polskiej kontroli powietrznej w ten sposób zagrażając nawet cywilnemu ruchowi powietrznemu.
Szczytem pogardy i braku szacunku albo może tylko szantażem, było przekazywanie za jego plecami poleceń do polskiej cywilnej kontroli powietrznej zabezpieczenia przelotu i lądowania na terytorium Polski ponad 300 radzieckich samolotaów transportowych pięć godzin przed zamierzonym ustanowieniem przez nich trzech mostów powietrznych z ZSRR. Rosjanie doszli tak daleko w ich pogardzie że radzieccy dowódcy z zachodnich regionów wojskowych ZSRR, i nawet z Moskiewskiego regionu wojskowego zaczęli wskazywać budynki na całym terytorium Polski, która zostałby zajęte przez ich centra dowodzenia.

   Wszystkie raporty sztabu generalnego w takich przypadkach (było ich o wiele więcej) zostały zaakceptowane przez Jaruzelskiego bez żadnych komentarzy, gdy jednocześnie utrzymał twarz do złej gry. Zawsze próbował usprawiedliwić i racjonalizować radzieckie działania. Nie było jednak żadnych wątpliwości, że pod wpływem tych faktów, mógłby stwierdzić, że istnieje rzeczywiste zagrożenie dla odrębności państwa polskiego i jego ograniczonej suwerenności ze strony ZSRR.


Czyli Kuliński stwierdza, że w 1981 roku działania ZSRR mogły wywołać w Jaruzelskim uzasadnione podejrzenie, że ZSRR wkroczy.

Zadajmy sobie pytanie: kto przy zdrowych zmysłach kto widział jak ZSRR rozwiązało sprawę na Węgrzech czy w Czechosłowacji widząc działania ZSRR takie jak budowa niezależnego systemu łączności radiowej, koncentrację wojsk w okolicach Warszawy, ponadplanowe transporty ludzi i sprzętu, oraz przekazywane za plecami polecenia by przygotować możliwość szybkiego ustanowienia mostów powietrznych z ZSRR wierzył w zapewnienia ZSRR że nie wkroczy na terytorium Polski?
Przecież teraz gdy Rosja nie robi żadnej z tych rzeczy, wielu prawicowych politykierów i felietonistów jest bliskich tego by uważać, że Rosja planują inwazje.

A co miał myśleć Jaruzelski?

Dlatego ja jestem w 44% populacji które uważają, że wprowadzenie Stanu Wojennego miało swoje racjonalne podstawy i jestem przeciwny ściganiu generała Jaruzelskiego.

Podobne postybeta
Najprostszy OCR ;-)
Czy LLMy umieją wnioskować? Test :-)
Seks w ujęciu informatycznym ;-) - rozmnażanie ;-)
Automatyczne tłumaczenie 2 - Translatica vs. Google Translate ;-)
Jak VHDL obalił komunizm

Isaura po śląsku

Oto dowód, że stara telenowela może nabrać dużo uroku po przetłumaczeniu ;-)
Poniżej urywek serialu "Isaura po śląsku" z TV Silesia :-)


Sam serial jest chyba tak samo nudny jak był te 20 lat temu, ale śląski dubbing czyni go dość zabawnym :-)


Podobne postybeta
HD według TVN ;-)
Anioł Ciemności - polskie DVD :-)
"Chiba widziałem Księżyc" ;-)
Ikonki złe ;-)
Dziwna konkurencja

czwartek, grudnia 11, 2008

Map - mój ulubiony interfejs :-)

Właśnie zdałem sobie sprawę z tego, że moim najulubieńszym interfejsem w Java'ie jest Map :-)A z jego konkretnych implementacji HashMap.Mój ranking interfejsów przedstawia się tak:1) Map2) List3) RunnableJeśli chodzi o ficzery języka to:1) Klasy wewnętrzne2) Anonimowe klasy wewnętrzne3) Generyki / delegowanie przy pomocy 1) i 2) ;-)


Podobne postybeta
Nie taka klasa konkretna straszna....
Okropiczne ja!
Java na Raspberry Pi zaskakuje ;-)
Czytanie w śnie - to nie działa ;-)
Java 32 bit vs. Java 64 bit

środa, grudnia 10, 2008

Wścibskość ludzka nie zna granic, czyli jak ludzie prześladują węgiel ;-)

Ktoś trafił przed chwilą na mojego bloga po wpisaniu do Google tekstu "pochodzenie węgla w kosmosie"......
Ludzie! Nie wasz interes skąd pochodzi węgiel!
Będzie chciał to sam powie!
Jako jeden z przedstawicieli form życia opartych o węgiel [azot i tlen też są ważne] chciałbym zaprotestować przeciwko tej wścibskości.
A jak ktoś już koniecznie musi wiedzieć, to w wielkim skrócie cały węgiel pochodzi z wnętrza supernowych, które w ekstatycznym wybuchu pozbyły się większości swoich produktów, wśród których był węgiel.
A skąd węgiel w gwiazdach? A z syntezy jądrowej. W jądrach gwiazd jest tak okropnie gorąco i gęsto, że latające w koło atomy wodoru wpadają na siebie z takimi prędkościami, że zamiast się odbijać łączą się. Z dwóch rozbieganych atomów wodoru powstaje jeden równie rozbiegany atom helu i energia. Ta energia jest stąd, że tak się ciekawie składa, że masa dwóch atomów wodoru jest ociupinkę wyższa niż masa atomu helu..... i ten nadmiar masy w momencie syntezy zmienia się w energię na mocy słynnego wzoru E=mc2, gdzie m to nic innego jak masa tej różnicy.
W taki sam sposób hel może łączyć się z innym helem, albo wodorem i powstają coraz to cięższe pierwiastki......
OK, jest jeszcze kilka miejsc gdzie może powstać węgiel. Może powstać np. w laboratorium jeśli ktoś opanuje syntezę jądrową, lub szybciej w wybuchu termojądrowym....

poniedziałek, grudnia 08, 2008

Choinka :-)

Kilka dni temu w budynku Bumy, gdzie znajduje się Sabre pojawiła się choinka :-)Ładna, nie? ;-)


Podobne postybeta
Umowa :-)
Semi-Automated Business Research Environment
Beautiful Liar
Moja ciężarówka ;-)
Moje stanowisko pracy ;-)

Przepis na szybkie programy ;-)

Znalazłem dziś banalnie prosty przepis na szybkie oprogramowanie dla komputerów.Wystarczy wszystkim osobom zaangażowanym w produkcję oprogramowania dawać wolne maszyny ;-)Okazuje się, że to działa ;-) Dwa przykłady:W poprzedni piątek i dziś walczyłem z pewnym problemem związanym z genialną bazą Oracla, niestety problem występował tylko na bazie będącej na innym kontynencie, a wszystkie bliższe były od niego wolne. Niestety "rozmowa" z taką bazą zabiera dużo czasu, więc chcąc sprawdzać swoje rozwiązania na tej odległej bazie musiałem czekać... a gdy czekałem to zacząłem przyglądać się kodowi w koło problemu który naprawiłem i okazało się, że było tam kilka miejsc gdzie można inaczej i co najważniejsze szybciej ;-) Dzięki temu kod przyśpieszył o jakieś 40% ;-) [po prostu te 40% czasu biedaczek spędzał czekając na odpowiedź od bardzo odległego serwera].Inny dowód to BuffyPedia ;-) Gdy ją tworzyłem te 8 lat temu moim jedynym medium dostępu do Internetu był modem pracujący z prędkością 47 kbps czy jakoś tak. Przez to nie mogłem sobie pozwolić na to by każda strona z listą bohaterów i podstawowymi informacjami na ich temat ściągała się za każdym razem... więc ściąga się tylko raz, a JavaScript po stronie klienta generuje odpowiednią treść strony. Dzięki temu zamiast za każdym razem ściągać po kilkanaście kb, wystarczy raz ściągnąć około 40 kb, a później tylko po kilkaset bajtów.Choć z drugiej strony...

Podobne postybeta
Kombatanctwo JavaScript'owe ;-)
Czas porzucić Java'ę?
Nieznane skarby JDK - JConsole :-)
Nie podoba mi się idea "wszystko jest aplikacją webową"
Ulotny twór - software ;-)

Tak tworzy się przyszłość

Info sprzed paru miesięcy ;-) Ale albo wcześniej przegapiłem, albo nie zwróciłem uwagi.
300 tysięcy szczurzych neuronów steruje małym robotem.
Może wydawać się to niczym niezwykłym, ale oznacza, że istnieje możliwość połączenia elektroniki z neuronami tak by odbywała się między nimi dwukierunkowa komunikacja. Robot z filmu porusza się ponieważ takie polecenia wydają mu neurony, które nauczyły się omijać przeszkody o których dowiadują się dzięki czujnikom ultradźwiękowym, które przesyłają do nich swój sygnał.
Na razie są to neurony pobrane ze szczurzego płodu potraktowane później enzymami tak by się rozdzieliły, które zostały następnie umieszczone w układzie z 80 elektrodami.
Ale w przyszłości jest szansa, że uda się połączyć do działającego mózgu....
A wtedy będzie czad :-)
Więcej szczegółów w New Scientist


Podobne postybeta
Ile wart jest Księżyc? ;-)
Potęga lokalności
Rewolucja w fizyce?
W końcu otwarli :-)
Jak się topologicznie wprowadzać ;-)

niedziela, grudnia 07, 2008

Kamerka + Java

Tak sobie eksperymentuje z Java'ą i kamerką z EEE PC.A może uda mi się zrobić cosia, który będzie potrafił śledzić ruch twarzy lub przedmiotów w różnych kolorach? :-)Parę osób już to zrobiło ;-)A tutaj mój autoportret ze średnią wartością pikseli ;-) Jak łatwo zauważyć twarz jest głównie czerwona ;-)Mogę wyglądać dziwnie, ale jest teraz 3:50 w nocy ;-)


Podobne postybeta
Czy się stoi czy się siedzi.... kamerka w laptopie jako detektor tego czy biurko jest w trybie stand czy sit ;-)
Ergonomizujemy
Ludzie nie umieją w maski...
USB-C w iPhonie dobra rzecz :-)
Telefon marzeń

To były czasy ;-)

Na polecenie Anne założyłem sobie konto na Flickr i szukam zdjęć, które mógłbym tam wrzucić ;-)
Tak przeglądając zdjęcia znalazłem filmik pokazujący pierwszą poważną aplikację nad którą pracowałem :-)



Ach, jakież to było przeżycie ;-)
Dla zainteresowanych ;-) To była lokalizacja pojazdów, a filmik pokazuje program który był właśnie zasilany danymi z paru godzin w ciągu 30 sekund ;-)

Jeśli mnie pamięć nie myli to kwiecień 2004 :-)


Podobne postybeta
Buffy ma 40 lat....
A380 out
Czas zmienić miejsce pracy ;-)
W jakim ja kraju żyję?
Autobus ze skrzydłami...

sobota, grudnia 06, 2008

Cyniczne pytanie

Cynicznie będzie ;-)

Ktoś z Was wie dlaczego rodzice małych dzieci są najbardziej dumni z najbardziej podstawowych osiągnięć ich dzieci? Takich osiągnięć które są osiągane przez praktycznie wszystkie inne dzieci?
Czemu wszyscy są dumni z pierwszego kroku, skoro przytłaczająca liczba dzieci to osiąga? Czemu są dumni z pierwszego słowa, skoro przytłaczająca liczba dzieci to potrafi? ;-)


OK, wiem czemu, sam się będę cieszył i pęczniał z dumy gdy moje przyszłe dziecko lub dzieci osiągnie którąś z tych rzeczy, ale mimo wszystko to ciekawe, że takie powszechne osiągnięcia wywołują aż taką dumę ;-)


Podobne postybeta
Dwa spostrzeżenia na dziś ;-)
No comment
Edukator ;-)
Cyniczne ja ;-)
Wrócić na Naszą Klasę? ;-)

piątek, grudnia 05, 2008

Przemyślenia autostradowe

Ciekawa sprawa. Na autostradzie moja prędkość chwilowa jest funkcją gęstości ruchu ;-)I co dziwne, im więcej samochodów, tym ja szybciej jadę...Gdy nie widzę żadnego auta to jadę wolniutko i spokojnie 100-110 km/h.Gdy w oddali jest jakiś samochód to zwykle przyśpieszam żeby go wyprzedzić, czyli prędkość to 110-120 km/h.Ale gdy aut jest dużo i na prawym pasie jest sznur aut to zaczyna się jazda 140-150 km/h, choć próbuje się ograniczać do 130 ;-)Nie ma pojęcia czemu tak mam. Przypuszczam, że przyśpieszam za każdym razem żyjąc nadzieją, że jak wyprzedzę te wszystkie samochody, które mi przeszkadzają i robią tłum to tam dalej jest puściutka droga na której można zwolnić ;-)Tak, btw. kochani współkierowcy i współkierowczynie, kodeks drogowy mówi co prawda, że należy jechać po prawym pasie.... ale na miłość bogów i krasnoludków! Nic, a nic, nie mówi o tym, że należy tam zjeżdżać natychmiast. Podciągnij jeszcze trochę, i zjedź na ten nieszczęsny prawy pas gdy wyprzedzany samochód jest za tobą z 20-30 metrów. No chociaż z 10-15 metrów. A nie już zaraz.A jak wyprzedzasz po lewym pasie, a widzisz, że auto na prawym pasie przed Tobą zbliża się do ciężarówki to albo zwolnij żeby to auto mogło też wyprzedzić tą ciężarówkę, albo przyśpiesz i wyprzedź je tak by kierowca tego auta miał miejsce na lewym pasie.A jak masz głupi zwyczaj jechania po lewym pasie choć za Tobą jest coś szybszego, a Ty masz wolny prawy pas to znaczy, że jesteś KRETYNEM! I tłumaczenie, że jedziesz 130 Cię wcale nie tłumaczy. A jak jeszcze gdy kierowca za Tobą rezygnuje z oczekiwania na Twoją grzeczność i zaczyna Cię wyprzedzać z prawej to się NIE ŚCIGAJ!


Podobne postybeta
Myślenie = Szybka jazda
Metoda na idiotę, czyli sposób pokonywania autostrady we mgle
Wszystko kłamie ;-)
120 km/h, czyżby nowe 140 km/h? ;-)
Dlaczego jeszcze nie kupiłem samochodu? ;-)

Wyrocznia od siedmu boleści

Oracle to jedna wielka... powiedzmy, że ściema.

Baza która sławiona jest przez wielu jako super, hiper, ekstra wydajna, przemyślana i stabilna....

Spróbuj jednak zapisać coś długiego jednocześnie do pola będącego typu VARCHAR2 i pola typu CLOB. A ujrzysz piękną ORA'e [czyli błąd Oraclowy]. Gdy jednak spróbujesz zapisać do jednego pola, a później do drugiego to wszystko działa.

Zaryzykuj ustawienie wartości CLOBa przy pomocy setString z JDBC, a zapewne utracisz polskie znaki i tym podobne sprawy.

Bądź na tyle przebiegły by w WHERE użyć kolumny, której nie ma w SELECT...

Spróbuj zrobić to co poprzednio w ORDER BY...

A może użyć raz nazwy tabeli, a drugim razem jej aliasu? Też się nie da ;-)

Ale to jeszcze nic. Od DBA Oraclowego, a nawet od DBA'ki usłyszałem kiedyś, że to dziwne używać ORDER BY, bo to strasznie obciąża serwer i aplikacja powinna sama sobie posortować. Stronicowanie też lepiej zrobić samemu, bo serwer sobie może z tym nie radzić.

Do tego urocza zasada, że wrzucenie pustego Stringa do tabeli oznacza wrzucenie tam NULLa... Ale jak to możliwe, że kiedyś sam widziałem w takim polu nic innego jak pustego Stringa? ;-)

Koniec narzekania.

Swoją drogą w bazach danych zabawne jest tylko pisanie ich ;-)


Podobne postybeta
Jak wnuk za babcię płaci ;-)
"Arystokraci" od siedmiu boleści
OOo2GD 3.0.0 - eksportowanie do Google Docs bez konwersji :-)
Inercja i koło wielokrotnego wynajdywania, czyli radosne macki piekieł w kodzie [alem pojechał w tytule ;-)]
[lifehack] Najprostszy sposób priorytetyzacji

czwartek, grudnia 04, 2008

UI - koszmar powraca? ;-)

Znalazłem chyba rozwiązanie moich rozterek co do tego jak dodać w miarę najmniej kłopotliwie możliwość updatowania dokumentów przy pomocy OOo2GD.


Choć nadal nie jest to to co bym chciał.
Może coś takiego, czyli też lista, ale użytkownik ma możliwość wpisania własnej nazwy.



To drugie jest chyba lepsze.

Jakieś uwagi? ;-)
Czy znów mam sam wymyślać?


Podobne postybeta
Google Analytics i odwiedzacze
Kupię sobie jednak Copilota
Choroba technologiczna
Google Docs dojrzewa :-)
Czemu od 30 godzin nie piję Coli - Eksperyment ;-)

Okropiczne ja!

Będzie samokrytyka.Łyso mi. Właśnie zdałem sobie sprawę z tego, że tramwaje traktuję lepiej niż ludzi ;-)Nie było chyba randki na którą bym się nie spóźnił - jeden plus one zawsze czekały. Za to na tramwaj czy autobus jestem zawsze o czasie...Zły Przemek!!!!!Wszystkie zainteresowane przepraszam. Nie we wszystkim mogę być idealny ;-)


Podobne postybeta
Map - mój ulubiony interfejs :-)
Roman....
Warto dla 57 złotych?
Czytanie w śnie - to nie działa ;-)
Randki w ujęciu Bayesowskim ;-)

środa, grudnia 03, 2008

Pirates of the Caribbean - Klaus Badelt

Kolega mi w pracy sprzedał to się dzielę :-)


Podobne postybeta
Patrol katechetyczny do walki z ateizmem ;-)
Journaling pt2 ;-)
2b||!2b - programistyczny Shakespeare ;-)
Checklista ofertowa ;-)
Psikusy ;-)

Google Friend Connect - pierwszy "test" ;-)

Po długim oczekiwaniu [jeśli mnie pamięć nie myli to ponad pół roku] dostałem zaproszenie do skorzystania z Google Friend Connect.

O zaproszenie poprosiłem bo chciałem się dowiedzieć o co właściwie w tym chodzi.

Teraz gdy mam taką możliwość postanowiłem wzbogacić o aspekt społecznościowy moją pierwszą stronę - BuffyPedię ;-)


Pierwsza próba nie razi jakimś szczególnym pięknem po oczach ;-)

Gorsza sprawa, że nie razi też chyba użytecznością. Użytkownik w zamian za ujawnienie swoich danych dostaje nagrodę w postaci możliwości oceny strony i wyrażenia swoich opinii o niej... Dodatkowo może w ramach strony zbudować grupę przyjaciół... Od razu pojawiają się pytania, po co miałby to robić i chyba pytanie istotniejsze kto miałby z tego korzystać?
Zaryzykuje stwierdzenie, że 99% internautów jest bierna, tylko konsumuje treść [dla tego bloga w poprzednim miesiącu tylko 1.8% odwiedzin skończyło się komentarzami]. Dodatkowo patrząc na dane moich stron od 50% do 80% odwiedzających wpada na stronę, szybko ją ogląda i idzie dalej. Dziwnie dobrze się to zresztą pokrywa ze stosunkiem nowych odwiedzających do powracających ;-)

Można więc przypuszczać, że odpowiedzią na pytanie "dla kogo" to jest, będzie dla tego 1.8% aktywnych użytkowników + 2-3% użytkowników aktywnie obserwujących.
Pytanie "Po co?" jest trudniejsze.
Z punktu widzenia użytkownika nie wiem, z punktu widzenia autora strony powodem może być to by dążyć do celu jakim jest dłuższy czas użytkowników na stronie.


Podobne postybeta
Chyba czas na cyfrowy detoks ;-)
Dart - to działa i ma sens :-)
Socjalne Google - czego brakuje?
Google Analytics i odwiedzacze
Trzy wielkie zagadki ;-)

poniedziałek, grudnia 01, 2008

Social Spy ;-)

Jeszcze jeden przykład użycia wykrywania odwiedzanych stron ;-)

Skoro odwiedzasz jakiś serwis społecznościowy to pewnie masz tam konto, możliwe że ja też mam :-) Więc zapraszam do kontaktów ;-)

Także to bazuje na skrypcie pozwalającym wykryć odwiedzane strony.

Podobne postybeta
OpenOffice Gadacz dla Expressivo v0.01
Journaling pt2 ;-)
Social media są dla demagogów
Piszemy serwis społecznościowy w Google App Engine
Pamięć podręczna

Prywatność? A co to? ;-)

Proszę, dzięki prostej sztuczce polegającej na sprawdzeniu stylu linku można łatwo stwierdzić na jakich stronach bywa odwiedzający nas użytkownik.

Wszystko w oparciu o wpis o wykrywaniu stron społecznościowych, które odwiedziliśmy.


Podobne postybeta
Przepowiednia ;-)
MOCAK nie taki mocny ;-)
Linko skrótacze
Rewolucja w fizyce?
Google zabij już Google+