Blog do projektu Open Source JavaHotel

niedziela, 11 lipca 2010

Byliśmy na koncercie

Byliśmy na koncercie 10 lipca 2010 roku w ramach 3 Praskiego Festiwalu Muzyki Kameralnej i Organowej, podobało nam się bardzo.
Bach dokonał dziewięciu transkrypcji koncertów Vivaldiego, z czego trzy na organy. Niektóre transkrypcje zyskały sobie nawet większą popularność niż ich oryginały, zazwyczaj w opracowaniu Bacha mają ciekawsze muzyczne brzmienie. Teraz, w wykonaniu Jana Bokszczanina, wysłuchaliśmy koncertu d-moll (BWV 596) dla którego pierwowzorem był "Concerto grosso op.3 nr 11" Vivaldiego. Tutaj  i opracowanie Bacha jest bardzo staranne i także pierwowzór bardzo wartościowy.
W dalszej części bardzo efektownie zabrzmiała piękna aria "Ombra soi fu" z opery Handla Xerxes, jako solista wystąpił Rafał Siwek oraz "Where you walk" z opery Semele, gdzie zaśpiewała Magdalena Andreew.
Mendelssohn pisał bardzo różnorodną muzykę, teraz słuchaliśmy jednej z sonat organowych. Mendelssohn odkrył ponownie muzykę Bacha, ale nie sposób się oprzeć wrażeniu, że w twórczości organowej nie mógł się wydobyć spod wpływu swojego poprzednika, pomimo tego, że w jego czasach obowiązywały całkowicie odmienne gusta muzyczne. Tylko w środkowej części "Alegretto" zaznaczył się indywidualny wpływ Mendelssohna, szkoda, że cała sonata nie została stworzona w tym stylu.
Bardzo pięknie zabrzmiały trzy krótkie utwory Mariana Sawy, choćby z tego powodu warto było wysłuchać tego koncertu. W ramach Praskiego Festiwalu bardzo często jest przypominana muzyka tego kompozytora, na pewno jest warta szerszego rozpowszechnienia.
Reklamy nie potrzebuje muzyka Gabriela Faure i Gaetano Donizettego,  jaką wysłuchaliśmy na koniec. Ale wykonane utwory były niestety zbyt krótkie, zanim dobrze zabrzmiały już się zakończyły. Może zamiast trzech drobnych utworów warto było wykonać jeden dłuższy ?

Byliśmy na koncercie

Byliśmy na koncercie 3 lipca 2010 roku w ramach 3 Praskiego Festiwalu Muzyki Kameralnej i Organowej, podobało nam się bardzo.

Suity wiolonczelowe Bacha przez długi czas uważane były za dziwactwo, w książce Alberta Schweitzera (wydanej w 1908 roku) niewiele o nich znajdziemy. Ale w książce Ernesta Zavarskiego (1971) zajmują poczesne miejsce.
Jest to muzyka bardzo wymagająca, i dla wykonawcy, i dla słuchacza. Wymaga dużego skupienia, w przeciwnym czasie łatwo zgubić wątek i melodia rozbija się na pozornie chaotycznie ciągi dźwięków. Andrzej Bauer jest cenionym wiolonczelistą i miałem okazję pierwszy raz na żywo wysłuchać Suity nr 5 w znakomitym wykonaniu.
Drugą część koncertu wypełniły utwory organowe bardziej współczesnych kompozytorów wykonywane przez Bartosza Jakubczaka. Jest to muzyka o zupełnie odmiennej estetyce niż muzyka Bacha. Potężne dźwięki improwizacji Charles Tournemire całkowicie wypełniły ogromne wnętrze katedry warszawsko-praskiej. Dwa utwory Marian Sawy były bardziej wyciszone, ale słuchało się także z przyjemnością.

Byliśmy także na następnym koncercie 4 lipca 2010 w ramach tego samego festiwalu, ale wyszliśmy z mieszanymi uczuciami.

Z kilku koncertów na trąbkę Telemanna zachował się jeden, tutaj wysłuchaliśmy tego utworu w wykonaniu trębacza Dmitry Makarevicha i kwartetu Con Forza. Zbiegiem okoliczności ten sam koncert Telemanna kilka dni wcześniej mogłem wysłuchać na BBC 3 i na pewno melodyjna pierwsza część i bardzo dynamiczna druga utrwaliła mi się w pamięci. Telemann był bardzo płodnym kompozytorem, część jego twórczości jest wykonywana chętniej, część popadła w zapomnienie, ale koncert na trąbkę na pewno należy do tej pierwszej części.
Następnie wysłuchaliśmy fragmentów Stabat Mater Boccheriniego, solową partię wykonywała Justyna Stępień. Jest zadziwiające, że chociaż Boccherini był prawie współczesny Mozartowi, to przecież jest to muzyka w całkowicie odmiennym stylu. Można sobie w ten sposób uświadomić jak Mozart był głęboko związany z tradycją środowiska, z którego się wywodził.
Na koniec miało miejsce wykonanie Kantaty nr 51 Bacha i tutaj doznaliśmy rozczarowania.  Według Alberta Schweitzera jest to "wspaniały utwór koloraturowy na sopran i trąbkę, pełen porywającego życia", ale niczego takiego nie dało się usłyszeć.  Na dodatek siedzieliśmy po tej stronie, gdzie grał trębacz i gdy włączała się trąbka, to zupełnie nie słyszeliśmy solistki. Kwartet Con Forza bardzo dobrze się odnajdywał w subtelnej i delikatnej muzyce Boccheriniego, ale kantata Bacha wymaga bardziej dynamicznego i energicznego grania. Końcowe, radosne "Alleluja" powinno słuchaczy wręcz podrywać na nogi. Czegoś tutaj zabrakło, może za mało prób, lepszego przemyślenia koncepcji wykonawczej czy po prostu muzycy porwali się na repertuar, w którym się nie czują najlepiej. A wielka szkoda, gdyż to rzadka okazja wysłuchać na żywo kantatę Bacha w Warszawie, może następnym razem będzie lepiej.

poniedziałek, 5 lipca 2010

Cesarz

"Cesarz"
W czasie tej imprezy musiałem poszukać spokojnego miejsca, a nie wiedziałem, gdzie ono jest. Wyszedłem z Wielkiej Sali bocznymi drzwiami na dwór. była ciemna noc, siąpił drobny deszcz, majowy, ale chłodny. Od tych drzwi zaczynał się łagodny stok, a kilkadziesiąt metrów niżej stał źle oświetlony barak, bez ścian. Od bocznych drzwi, którymi wyszedłem, aż do baraku stali rzędem kelnerzy i podawali sobie półmiski z odpadkami z biesiadnego stołu. Na tych półmiskach płynął w stronę baraku strumień kości, ogryzków, roztaplanych sałatek, rybich łbów i mięsnych ochłapów. Poszedłem w stronę baraku
ślizgając się w błocie i w resztkach porozrzucanego jedzenia. Przy samym baraku zauważyłem, że ciemność, która jest za nim, porusza się, że coś w tej ciemności przesuwa się, mruczy i chlupoce, wzdycha i mlaszcze. Zaszedłem na tył baraku. W gęstwinie nocy, w błocie i w deszczu stał zbity tłum bosonogich żebraków. Pracujący w baraku pomywacze rzucali im resztki z półmisków. Patrzyłem na tłum, który jadł ogryzki, kości i rybie łby pracowicie i ze skupieniem. W biesiadowaniu tym byŁa uważna, skrupulatna koncentracja, nieco gwałtowna i zapominająca się biologia, głód zaspokajany w napięciu,
w natężeniu, w ekstazie.
Niezwykle plastyczna scena, jedyny problem, że całkowicie zmyślona. Tak jak w Polsce półmiski z jedzeniem po przyjęciu u prezydenta w Pałacu Namiestnikowskim na Krakowskim Przedmieściu (kiedyś miałem okazję być) nie są wylewane na głowy żebraków i nędzarzy skłębionych  w kącie ogrodu pałacowego, tak samo w Etiopii cesarz nie kazał rzucać resztek jedzenia ze stołów na swoich wygłodzonych poddanych. Jak się wyzbyć pychy białego człowieka wobec Murzynów z Afryki, to staje się to oczywiste.

Wcześniej przywoływany jest autorytet Evelina Waugha, znakomitego angielskiego pisarza.
Niestety, budowy wlokły się w nieskończoność i kiedy oglądałem stojące w różnych punktach miasta rusztowania i pracujących tam ludzi, przypomniała mi się scena, którą opisał Evelyn Waugh, kiedy w roku 1930 przyjechał do Addis Abeby obejrzeć koronację  cesarza: "Wydawało się, że dopiero teraz przystąpiono do budowy miasta. Na każdym rogu stały na pół ukończone budynki. Niektóre już porzucono, przy innych pracowały gromady oberwanych tubylców. Pewnego popołudnia widziałem dwudziestu lub trzydziestu takich ludzi, którzy pod kierunkiem majstra Ormianina usuwali stosy gruzu i kamieni zalegające dziedziniec przed główmym wjazdem do pałacu. Praca polegała na tym, że musieli oni napełnić gruzem drewniane nosidła i następnie opróżnić je na usypisku znajdującym się pięćdziesiąt jardów dalej. Majster krążył między ludźmi trzymając w rękach długi kij. Jeżeli musiał na chwilę odejść, wszystko natychmiast ustawało. Nie oznaczało to, że ludzie zaczynali siadać, rozmawiać, rozkładać się na ziemi, nie, oni po prostu zamierali w tym miejscu, w którym znajdowali się, nieruchomieli jak krowy na pastwisku, czasem zapadali w letarg trzymając w rękach jedną cegłę. Wreszcie zjawiał się majster i wówczas znowu zaczynali poruszać się, ale bardzo ospale, jak postacie na zwolnionym filmie. Kiedy tłukł ich kijem, nie wzywali pomocy, nie protestowali, tylko nieco  przyspieszali swoje ruchy. Ciosy ustawały i wtedy wracali do powolnego tempa, a gdy majster ponownie odchodził, natychmiast nieruchomieli i zamierali".
To zdanie pochodzi z wydanej w 1931 książki "Remote People", w Ameryce znanej pod tytułem "'They were Still Dancing". Tyle tylko, że Waugh jest znany raczej jako tzw. "storyteller"  i  jest nonsensem traktowanie tego pisarza jako autorytatywnego źródła informacji o Etiopii. Na bazie doświadczeń z podróży do Etiopii na koronację Haile Selassie powstała satyra Black Mischief, którą według współczesnych kryteriów politycznej poprawności można zakwalifikować jako rasistowską.
Ale nasz "reporter stulecia" nie przekazał swoim czytelnikom tych informacji. Czytelnik się tylko dowiaduje, że w Etiopii panowały bardzo dziwaczne obyczaje i mentalność w 1930 roku, co potwierdza autorytet "zachodniego" pisarza, i równie dziwaczne obyczaje zaobserwował Kapuściński w 1963 roku.

Selenium

It is high time to start creating regression testing suite for my GWT application. The choice is Selenium, well known framework for testing web application. I decided also to use Python and PythonUnit together with my BoaTester as RC testing framework. For some mysterious reason NetBeans plugin for Python does not work with PythonUnit in debugging mode, cannot set breakpoint inside unittest classes. But a little ancient IDLE framework for Python behaves nicely, it is enough for a such small development.
As for every GUI application the main challenge is to locate GUI objects on the screen - a nightmare for every test automation engineer. Instead of fighting with constant changing object description on the screen I decided simply to tune my application that every "selectable" object should have it's distinct name or id.
It can be accomplished by setting proper value for every object. For instance: for buttons following command should be applied:
Button but;
.... 
but.getElement().setId(bId);
Another challenge is of course to synchronize test with RPC. For the time being this synchronization is accomplished by time.sleep(5) command (wait 5 seconds), but obviously more sophisticated method should be devised in near future.
Another challenge was the selecting rows in a table - I'm using Google Visualization Table. For some reason clicking on the row is not captured by Selenium IDE so I could not use it as an advice. But finally Selenium command :
s = "xpath=//table[@class='google-visualization-table-table']/tbody/tr[" + str(no) + "]/td"
sel.mouse_over(s)
resolved that issue.
I also found that preparing test case is very time consuming effort and can be accomplished mostly by method "try and fix". Preparing a test containing 10-15 steps and 3-4 verification points takes 2-3 hours and I don't have any idea how to make this task simpler.
May be the solution is to create a solution that will replace Python sequence like:
        sel.click(self.TESTOWYREJBUTTON)
        time.sleep(5);
        sel.click(self.ADDBUTTON)
       
        sel.type(self.TEXT1, "aa")
        sel.type(self.TEXT2, "aa")
        sel.type(self.KWOTA, "35")
        sel.click(self.ACCEPT);
        time.sleep(5)
        sel.mouse_over(self.TEXT1)
        mess = sel.get_text("xpath=/html/body/div[3]/div/div")
        print mess
        self.failUnless(mess.find("Obydwa napisy") != -1)
        sel.type(self.TEXT2, "a")
        sel.click(self.ACCEPT);
        time.sleep(5)
with a simple text file which will read all steps and verification points from flat text file thus avoiding this hard code Python programming.

sobota, 3 lipca 2010

Cesarz

"Cesarz"
Mój przyjacielu, można by spisać bibliotekę donosów, jakie latami spływały do cesarskiego ucha przeciwko najbliższej postawionej mu osobie, ministrowi pióra - Walde Giyorgisowi. Była to najbardziej przewrotna, odpychająca i skorumpowana postać, jaką kiedykolwiek nosiły parkiety naszego pałacu. Samo złożenie donosu na tego człowieka groziło skrajnie ponurymi konsekwencjami. Jakże musiało być już źle, skoro mimo to - donosili. Ale ucho pańskie było zawsze zamknięte. Walde Giyorgis mógł robić, co chciał, a rozpasanie jego nie miało granic. Jednakże zaślepiony w swojej bucie i bezkarności wziął raz udział w zebraniu frakcji spiskowej, o czym wywiad pałacowy powiadomił czcigodnego pana. Pan czekał, aż Walde Giyorgis powie mu o tym postępku sam, ale ten nie wspomniał o sprawie ani słowem, czyli - inaczej mówiąc - złamał zasadę lojalności.
Cała ta informacja jest mocno dziwaczna. Wolde Guiorguis był wieloletnim, zaufanym współpracownikiem Haile Selassie (towarzyszył mu na wygnaniu w Wielkiej Brytanii), ale nic nie wiadomo o tym, żeby miał być osobistością "przewrotną, odpychającą i skorumpowaną ... zaślepioną w bucie i bezkarności".   Jako człowiek z ludu posiadający ogromny wpływ na monarchę na pewno był obiektem niechęci arystokratów. W pewnym momencie jego przemożne wpływy stały się niewygodne dla samego Haile Selassie i wykorzystując ten fakt, bracia Makonnen i Aklilou, także zazdrośni o jego pozycję nakłonili cesarza do zdymisjonowania Wolde Guiorguisa.

czwartek, 1 lipca 2010

ODBC 64 bit and DB2

Finally I installed ODBC DB2 64 bit for Linux. Nothing special, all what what is needed to do is to modify /etc/odbcinst.ini file (or use ODBConfig tool) with driver definition like:

[DB2]
Description        =
Driver        = /opt/ibm/db2/V9.7/lib32/libdb2.so
Driver64        = /opt/ibm/db2/V9.7/lib64/libdb2.so
Setup        =
Setup64        =
UsageCount        = 1
CPTimeout        =
CPReuse        = 
Next step is to define data source. Unfortunately ODBCConfig tool does not work for this purpose (probably because setup driver is not accessible). But it is enough to modify /etc/odbc.ini (or local odbc.ini) file, ODBConfig is nothing more than GUI tool for modifying those files.

I added section like:
[SAMPLE]
DESCRIPTION = Connection to DB2
DRIVER = DB2
Database = SAMPLE
And from time on ODBC connection to DB2 world is open and ready to use.


$ isql SAMPLE db2inst1 db2inst1
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> select * from emp where JOB = 'MANAGER'+-------+-------------+--------+----------------+---------+--------+--------------------+---------+--------+----+--------------------+------------+------------+------------+| EMPNO | FIRSTNME    | MIDINIT| LASTNAME       | WORKDEPT| PHONENO| HIREDATE           | JOB     | EDLEVEL| SEX| BIRTHDATE          | SALARY     | BONUS      | COMM       |+-------+-------------+--------+----------------+---------+--------+--------------------+---------+--------+----+--------------------+------------+------------+------------+| 000020| MICHAEL     | L      | THOMPSON       | B01     | 3476   | 2003-10-10 00:00:00| MANAGER | 18     | M  | 1978-02-02 00:00:00| 94250,00   | 800,00     | 3300,00    || 000030| SALLY       | A      | KWAN           | C01     | 4738   | 2005-04-05 00:00:00| MANAGER | 20     | F  | 1971-05-11 00:00:00| 98250,00   | 800,00     | 3060,00    || 000050| JOHN        | B      | GEYER          | E01     | 6789   | 1979-08-17 00:00:00| MANAGER | 16     | M  | 1955-09-15 00:00:00| 80175,00   | 800,00     | 3214,00    || 000060| IRVING      | F      | STERN          | D11     | 6423   | 2003-09-14 00:00:00| MANAGER | 16     | M  | 1975-07-07 00:00:00| 72250,00   | 500,00     | 2580,00    || 000070| EVA         | D      | PULASKI        | D21     | 7831   | 2005-09-30 00:00:00| MANAGER | 16     | F  | 2003-05-26 00:00:00| 96170,00   | 700,00     | 2893,00    || 000090| EILEEN      | W      | HENDERSON      | E11     | 5498   | 2000-08-15 00:00:00| MANAGER | 16     | F  | 1971-05-15 00:00:00| 89750,00   | 600,00     | 2380,00    || 000100| THEODORE    | Q      | SPENSER        | E21     | 0972   | 2000-06-19 00:00:00| MANAGER | 14     | M  | 1980-12-18 00:00:00| 86150,00   | 500,00     | 2092,00    |+-------+-------------+--------+----------------+---------+--------+--------------------+---------+--------+----+--------------------+------------+------------+------------+SQLRowCount returns -17 rows fetched
Next step to 64 bit world taken.

Byliśmy na koncercie

Byliśmy na "Weselu Figara" 19 czerwca 2010 roku w Warszawskiej Operze Kameralnej wystawionym w ramach tegorocznego Festiwalu Mozartowskiego.
"Wesele Figara" to dzieło powszechnie znane, lubiane, chętnie wystawiane i nagrywane, chociaż była to dla nas pierwsza okazja zobaczenia tej opery na żywo. Na pewno się nie rozczarowaliśmy, było to bardzo udana i dobrze przygotowana realizacja. Wszyscy soliści stanęli na wysokości zadania, chociaż nie da się powiedzieć, żeby któraś z ról specjalnie zapadła w pamięć. Trudno uważać to jednak za wadę przedstawienia, "Wesele Figara" to sztuka o skomplikowanej strukturze rozgrywającej się między postaciami z których każda pełni istotną rolę w całej intrydze. Potrzebna jest równa praca całego zespołu wykonawców, gdy ktoś zawodzi, to cała układanka się rozsypuje i żadne gwiazdorskie popisy nic nie pomogą. 
Andrzej Klimczak bardzo dobrze, i wokalnie i aktorsko poradził sobie z tytułową rolą Figara, chociaż słynna aria "Non più andrai" (ta sama która zagwizdał Leporello w Don Giovannim) nie zebrała burzy oklasków.  Podobała się Zuzanna w wykonaniu Marty Boberskiej, tak samo Witold Żołądkiewicz jako fałszywy i podstępny hrabia Almaviva. Tatiana Hempel jako szlachetna hrabina Almaviva może trochę wypadła zbyt pompatycznie. Bardzo się także podobała Julita Mirosławska jako Cherubin.
Scenografia, jak na skromną scenę Warszawskiej Opery Kameralnej była bardzo bogata, udanie został ujęty kontrast między skromną izbą Figara w I akcie a przepychem hrabiowskiego pałacu w II i III.
Warto także dodać, że w przedstawieniu pojawiły się często pomijane arie Marceliny i Don Basilia na początku IV aktu.

W sztuce Beaumarchais Figaro w ostatniej scenie gwałtownie mówi:
"Ponieważ jesteś (hrabio Almaviva) wielki panem wyobrażasz sobie również, że jesteś geniuszem. Ale w jaki sposób ? Ja się stałeś tak bogatym i możnym, hrabio Almviva ? Tak naprawdę, jedyny wysiłek jaki w to włożyłeś, to wyłącznie, że się urodziłeś !"
W operze Mozarta, ze względów cenzuralnych, te antyfeudalne wątki zostały zamienione. W ostatnim akcie Figaro również śpiewa z wielką pasją, ale tutaj obiektem krytyki jest ktoś inny:
Otwórzcie oczy, zabiegani i ogłupiali mężczyźni,
I spójrzcie na te kobiety, jakimi są naprawdę,
Owe "boginie", jak podpowiadają oczarowane zmysły,
Którym osłabiony rozum składa hołdy,
Ale to czarownice rzucające zaklęcia ku naszej zgubie,
Syreny, które śpiewają aby nas zwieść,
Sowy, który chcą nas oskubać,
Komety, które zwodzą pozorem światła,
Róże najeżone kolcami,
Lisice, które nas wabią,
Uśmiechają się, ale niczym niedźwiedzice,
Złowrogie gołębice,
Mistrzynie zwodzenia,
Przyjaciółki kłopotów i trosk,
Kłamią i oszukują,
Próżno szukać w nich miłości,
Ani litości,
Myślę, że nie trzeba już mówić nic więcej,
Gdyż wszyscy znają to świetnie.
Mozart na pewno nie był rewolucjonistą, nie marzył o tym, żeby znosić bariery klasowe, ale żeby w ówczesnej strukturze społecznej podnieść się do góry chociaż o jeden szczebel. Trudno powiedzieć, czy mu się udało czy nie, ale na szczęście dzisiaj oceniamy go według zupełnie innej skali.
Czy da się jednak zamiast walki klas wypatrzyć w tej operze tak modną współcześnie walkę płci ? Raczej trudno, z jednej strony jest tutaj wyraźnie skontrastowany świat kobiet i świat mężczyzn, ale na końcu się okazuje, że mimo różnic wszyscy mają ten sam cel, czyli osiągnięcie szczęścia.
Chyba najlepiej nie szukać w tej operze rzeczy, których tam nie ma, i po prostu znaleźć przyjemność w słuchaniu pięknej muzyki doskonale oddającej niebłahą intrygę i razem z bohaterami cieszyć się szczęśliwym zakończeniem.