Rodiq » Archive of 'Nov, 2007'

prizonierii strazilor

Ma trezesc la 6:45 ca sa ajung inaintea zugravilor si a dl. instalator (planificati la 8, pt montatul cazii). La 7:20 ca o floare am plecat cu masinuta directia Floreasca. La capul strazii, surpriza, deja era aglomerat. Cu rabdare, pe scurtaturile obisnuite, incet incet ajung in Floreasca la 7:55. Am ajuns prima. Am urcat, am inspectat un pic apartamentul, am mai masurat diverse.

Apar si zugravii, discutam un pic despre diferentele dintre un Logan diesel de 10.o00 Eur si Toyota Yaris de 11.000 Eur. Dl. instalator, pentru prima data, intarzie. Pe la 8:15 ma suna, are pana. Si are si roata de rezerva pana, nu stie exact cat dureaza pana rezolva, dar cel putin o ora. Profit sa merg pe Fabrica de Glucoza unde mi se pregatesc usile de interior, pentru a stabili culoarea. Pe drum trec rapid prin Tei (strada Pargari, raiul depozitelor de materialelor de constructii) si umplu porbagajul cu saci de nisip si tenco.

La 8:45 sunt in atelier. Manerele ingropate achizitionate cu o zi inainte din Pipera, cu pretul unui ambuteiaj de 2 ore, nu sunt bune (au nevoie si de niste suruburi pentru a fi prinse, care raman vizibile pe partea opusa a usii). Sunt un pic nervoasa. Merg pentru culoare, intr-un atelier mixaj intre o bucatarie si o camera de vrajitorii. Un dop de colorant galben turnat intr-o oala mare neagra, unul de colorat rosu, un pic de diluant, o proba, inca un varf de rosu, inca o proba si se ajunge la culoarea dorita pe mostra de furnir. Intre timp baietilor le vine o idee salvatoare, sa gaureasca manerele ingropate ca sa le prinda cu surub arginitiu ramas ingropat in shield. Nu arata extraordinar, nici rau insa. Decat sa mai stau inca 2 ore in ambuteiaj pt alte manere, dau ok-ul. Pentru montaj mai trebuie doar dyo marin – las baietilor banii ca sa nu mai merg eu dupa el, si geamurile, mi se recomanda un geamgiu in aviatiei. Il sun pe instalator – sigur va mai dura – asa ca directia aviatiei la geamgiu.

Ma hotarasc sa scrutez pe Gheorghe Titeica, surpriza insa la capat strada dispare si devine o ulita plina de noroi. Niste muncitorii care lucreaza la un sant pe marginea drumului ma incurajeaza sa o tin inainte, se poate iesi in strada mare. Cu grija sa nu mi se opreasca motorul si sa nu raman blocata in noroi, inaintez cu viteza constanta. Pe masura ce inaintez, noroiul este si mai amenintator. Ma minuneaza blocurile cu apartamente de lux de pe stanga ulitei. Cu masina complet mozolita de noroi, ies in calea Floreasca.

La 9:45 am ajuns la geamgiu. Au geam mat, mi-l taie imediat, platesc, mai e doar problema cum sa il duc in Floreasca (sunt doua geamuri de 1 metru jumate lungime, si vreo 40-50 cm latime). Aveam ruleta cu mine, merg in masina sa masor. Cu bancheta spate rabatata si scaun pasager dat la maxim in fata, mai ar fi nevoie de vreo 3 cm. Plus sacii de nisip si tenco (de care uitasem) … Clar nu intra in masina, ramane sa le duc mai tarziu. Deja in zona era plin de masini, asa ca o tai destul de periculos (si interzis) pe stradute printre blocurile din aviatiei.

Ora 10:15. Am ajuns in Floreasca. Zugravii urca sacii cu nisip. Il sun pe instalator – sigur mai dureaza. Ma hotarasc sa iau masina unui prieten din 1 Mai, mai mare, sa merg cu ea sa iau geamurile. Incet incet o iau spre 1Mai. La intersectia Glinka cu Floreasca, ambuteiaj mare. Santul perpendicular pe drum la marginea intersectiei s-a adancit pana la punctul in care masinile cu garda mai mica ating asfaltul. Ma manifest in diverse moduri la adresa primarilor bucurestilor din 90 incoace. In sfarsit intru in intersectie. O dacie papuc plina cu geamuri ignora culoarea rosie a semaforului si imi taie fata. Pun frana brusca, si dubita din spatele meu la fel. Se opreste la mai putin de 1 cm de mine si incepe sa claxoneze… In sfarsit, trec de floreasca si ajung pe stradute dincolo de dorobanti (pt cunoscatori: din floreasca, pe banu antonache, apoi pe tudor stefan, travesez piata dorobanti si apoi pe andrei muresanu). Teoretic, ar trebui sa ajung in 1Mai in 6 minute. Teoretic, totul e posibil. Surpiza insa, pe andrei muresanu se sta. si se sta. si se sta …. Incepe sa imi pulseze capul de nervi, deja am trecut de faza in care zic diverse despre iubitii nostrii primari. Imi vine sa apas pe acceleratie si sa intru in masina din fata. Mai am un pic si explodez. Imi aduc aminte cu tristete de repetitia paradei de 1 dec – exact de asta mai aveam nevoie! Ma hotarasc sa fac cale intoarsa in floreasca – e absolut imposibil de mers mai departe. Astept inca 10 minute pana ne taraim in dreptul unei stradute pe unde pot sa o iau la stanga, si fac cale intoarsa. Sunt plina de nervi si cum e imposibil sa ajung la servici, ma hotarasc sa merg cu yarisul dupa geamuri – poate totusi intra, daca nu mai am sacii de nisip in portbagaj.

Ora 11:15 Sunt iar la geamgiu. Am rabatat bancheta spate, am dat scaunul pasagerului la maxim in fata, si am mai castigat si cativa centimetri aplecandu-l la maxim in fata. Geamurile intra la marele fix. Sunt bucuroasa ca macar am reusit sa rezolv ceva. o tulesc spre floreasca – prin labirintul stradutelor dintre blocuri, ca soarecele dupa cascaval.

Ora 11:30 Geamurile au fost urcate cu multa grija de zugravi, si puse la adapost. Il sun pe dl. instalator, este undeva prins in trafic de partea cealalta a repetitiei pt parada de 1 dec, estimeaza cu mare aproximatie ca in 15-20 minute ajunge. Ma hotarasc sa plec la munca – deja este foarte tarziu. Sunt inspirata si din piata Dorobanti nu o mai iau spre 1Mai, ci pe Paris, spre piata Victoriei. Paris e ambuteiat la capat, astept vreo 10 semafoare – dar macar ne miscam…. Pe calea Victoriei este full, o iau spre romana, apoi dacia, mircea vulcanescu … am iesit la liman

Ora 12:00 Au trecut mai mult de 5 ore de cand m-am trezit. Ma apuc de treba dar sunt cu nervii la pamant si nu imi prea iese nimica. Ma suna zugravii, a venit si dl instalator si s-au apucat de montat cada. Au venit si gunoierii sa ia sacii cu moloz :)

Ora 15:40 Ma suna zugravii, s-a terminat montatul cazii, au terminat si ei tot ce puteau sa lucreze astazi, trebuie sa merg in Floreasca sa vad rezultatul si sa incui. Imi dau seama ca nu imi mai rezista nervii in ambuteiaj, iar la ora asta, la intoarcere, o sa fie jale. Pentru prima data de cand am inceput reparatiile, nu am materiale de carat, e si soare afara, si ma hotarasc sa iau bicicleta. Cam frigut, dar am manusi smechere si banderola de polar pt urechi. Si rotile nu sunt dezumflate.

Ora 15:47 O tulesc pe bicla spre Floreasca. Am o energie fantastica, si o voiosie de care uitasem. Este destul de liber si deja stiu toate scurtaturile.

Ora 16:21 Am ajuns. Not bad, 30 min. Mai repede decat as fi ajuns cu masinuta, in conditii obisnuite de trafic. Zugravii sunt veseli (credeau ca nu mai ajung …) Cada este aproape perfecta. Tot mai e nevoie de un sac de materiale, dar ma hotarasc sa il aduc maine dimineata cu masina. La intoarcere o iau prin 1 mai, sa imi iau ceva de la minunata patiserie de la piata. S-a cam aglomerat si merg cu grija. Se intuneca, imi dau drumul la dinam.

Ora 17:10 Inapoi la munca. Un pic mai optimista. Cand sa intru pe scara, ma intalnesc cu un vecin care imi tine usa sa aduc bicicleta. Vorbim un pic despre trafic – a facut 3 or e din Pipera cu masina. Socotesc ca parintii mei ajung mai repede din Rm Valcea la Bucuresti cu autocarul. Stam si ne intrebam, dupa ce ca ne trezim dimineata la 6 si stam o juma de zi in trafic, meritam sa fim facuti lenesi de toti crainicii pe toate canalele?

o zi obisnuita

7:10 suna alarma

7:11 deschid un ochi si mult alarma la 7:20, adorm instant

7:20 suna alarma, deschid un ochi, ma trezesc, ma spal pe dinti si ma apuc de curatenie prin casa

7:50 sunt gata, iau haina din cuier, cheia de la masina, telefonul si gentuta si o tulesc.

7:51 am curatat parbrizul de bruma si deja am iesit de pe strada, imi aduc aminte ca am uitat sa imi iau laptopul si router-ul ca sa testez internetul care va veni azi, o iau inapoi

7:59 gata am luat si laptopul, si inca o data ies de pe strada mea si ma avant cu vitejie in trafic

8:31 am ajuns pe Bach, dau sa parchez, dar nu am voie – azi se asfalteaza, dau coltul si parchez o strada mai departe

8:34 intru pe usa, zidarii au venit de mult si lucreaza – deja e gletuit primul colt de la dormitor. si-au luat singuri si au terminat deja cafeluta. din vorba in vorba, aflu si eu care e tehnica pt gletuit colturi frumoase si aparent drepte.

8:50 ma hotarasc sa cobor la magazinul de pe colt, sa fac copii xerox la buletin (va trebui probabil pt contract intenet) si pt un refill de cola light.

9:00 sunt gata la panda langa geam pt echipa de la romtelecom, au zis ca vin intre 9 si 10. strada se goleste incet incet de masini. suna la usa sa ne intrebe daca nu suntem noi cu bmv-ul cu numar de constanta.

9:03 sun sa aranjez pt a doua zi, sa se intalneasca zugravii cu domnul care se ocupa de instalatia sanitara, pt a se pune de acord asupra aspectelor tehnice din baie.

9:04 – 10:05 astept ca pe jar sa imi vina netul, deja a trecut o luna de asteptare am socotit eu, netul a fost primul thread pornit. intre timp am terminat electrica, tevile, deja se zugraveste, si se termina si strada de asfaltat! – dar numarul de fix inca nu a venit…

10:06 ma hotarasc sa iau masuri, sun un prieten sa imi dea un numar de la romtelecom, sa verific daca va veni cineva.

10:20 dupa 10 minute de asteptat pe fir, ma las pagubasa.

10:25 m-am hotarat, daca nu vin cu netul pana la 10:30, o iau spre servici, macar sa ajung la 11.

10:30 am luat-o din loc

11:03 am ajuns la birou, instalez laptopul, imi iau mailul, nimic urgent de rezolvat. o colega a inceput o teleprezentare importanta si sunt atenta.

11:05 ma suna zugravii, a venit domnul de la romtelecom sa imi instaleze netu, le promit ca vin in 20-25 de minute sa semnez contractul

11:06 ma hotarasc sa ma las si eu asteptata si savurez o gogoasa si un rulou cu vanilie

11:10 am iesit pe usa, fara laptop de data asta

11:40 am ajuns pe Bach, totul e gata, mi se face proba practica de ton, semnez pe nv un teanc de hartii, mi se da o cutie mare in brate “kitul de instalare” si gata. profit sa ma uit cum au mai progresat lucrarile la pereti – nu e rau de loc sunt gata 4 colturi, si o iau din loc

11:44 alerg pe strada cu cutia in brate spre masina, ma saluta adminul, schimbam doua vorbe in fuga (stiu cine e cu bmv-ul cu numar de constanta?) si o tulesc iar

12:15 am ajuns iar la birou, dupa ce scap ca prin minune neatinsa din trafic. tocmai se termina teleprezentarea. ma asteapta mai multe urgente de rezolvat

12:16 – 18:00 telefoane peste telefoane, probleme peste probleme. un proiect mai vechi are nevoie de un feature nou. un proiect mai nou se instaleaza azi la client si nu merge ceva, fix-uiesc pe loc, si trimit release live direct la client. s-au strans si cateva incidente de suport. ma suna intre timp oamenii care imi fac usa la intrare, vor sa masoare si ei usa, si ramane sa vina a doua zi.

18:01 o tulesc la masa

19:00 gata masa, directia bach

19:14 sunt pe bach, noroc ca nu sunt singura – len imi mufeaza cele 2 fire care ies din doza de telefon, dar ca sa mearga tot imi mai trebuie un username si o parola.

19:59 dupa 20 min de asteptat la telefon, renuntam si o lasam pe alta data.

20:01 inchidem sigurantele si am luat-o din loc

20:34 opresc la nik pentru inca un refill de cola light

20:40 ajung acasa, sun la suportul clicknet si las telefonul pe masa cu volumul la maxim, imi vad de treburi

20:52 imi raspunde cineva la telefon, aflu username si parola

20:55 ma hotarasc sa scriu pe blog, am insa mintea incetosata, asa ca merg pe varianta naratiunii directe

10:21 gata blogul

10:22

tabula rasa

How to develop perfect jasper reports with iReport insainly fast, working offline

After years of struggling with report design (using jasperreports and ireport) for web applications, I finally set up a method for fast development of reports. I was loosing lots of time changing and testing the reports (after each report compilation i had to recompile and redeploy my web application, then to access the web page containing the report).

The ideea: to have the report input in a file, to set it as an xml datasource in iReport and to run the report on real test data in iReport interface.

My environment: java 1.5, iReport 2.0.2 (compatible with JasperReports 2.0.2)

1. Parameter values

First, all report parameters must have a default value, and the “Use as a prompt” option unchecked – so that the default value is used without a confirmation popup window at runtime.

Parameter default value, not for prompt

2. Field values from an xml datasource

To set up an xml datasource, create an xml file like in the example below (the node that is repeating corresponds to a detail line of the report):

<?xml version=”1.0″ encoding=”UTF-8″?>
<ComandaX>
<Product>
<code>ITEM1001</code>
<description>Descriere produs</description>
<cond>1 buc</cond>
<quant>10</quant>
<unitprice>10.10</unitprice>
<totalprice>1010</totalprice>
<no>1</no>
</Product>

<Product>
<code>ITEM1002</code>
<description>Descriere produs 2</description>
<cond>1 buc</cond>
<quant>20</quant>
<unitprice>20.10</unitprice>
<totalprice>4040</totalprice>
<no>2</no>
</Product>
</ComandaX>

Then in iReport, add an xml datasource with the expression /ComandaX/Product (corresponding to the xml above – the path to the node that is repeating):

xml datasource

For this to work and the report to be filled with data, you must also fill for each field the description (the field description must match the field name):

field description

3. Path to images

A trick is necessary to see report resources both in iReport and in production environment. For a web application, a resource loaded from classpath is named relatively, for instance: “/../../resources/logo.jpg” (always with a leading slash). In iReport environment the path to the image can not contain a leading slash (for instance “/opt/resources/logo.jpg”. One solution: to define a report parameter that has default value “/opt/resources/logo.jpg” (used in iReport) and initialized in production environment with another value (for instance “/../../resources/logo.jpg”), and to set the image path using this parameter.

4. Enjoy!

Set the datasource created above as the default datasource and run the report (Execute with active connection). Report changes will take seconds, report designs will only take minutes :) Also, it is much easier to test multiple cases (larger reports for instance), and to develop reports independently (in time, resources) than the rest of the application.

Full example (report template, pdf report, xml datasource)

MARELE PLAN – Progrese vizibile

Dupa cum ati ghicit, cu mult optimism (si mult ajutor din toate partile) am inaintat vizibil: adio cada de fonta (a fost spintecata in doua si data la fiare vechi), adio tevi ciuruite de plumb, adio fire mancate si comutatoare scurcircuitande. Mai exact: s-au schimbat toate tevile, si toate cablurile electrice, si tin sa multumesc pt ajutor oamenilor care m-au ajutat!

Si mai nesperat, “a venit caldura”, asa ca s-au pus robinete si s-au schimbat si tevile de la calorifere.

Si intr-un final, dupa o cautare de durata, am batut palma cu o echipa de zugravi, ramane sa vad saptamana viitoare cum vor progresa lucrarile.

Vorbind de noroc: care este probabilitatea sa ploua atat de tare incat electricienii sa nu poata pleca sa sape gropi pt impamantare la alti clienti, deci sa ramana sa termine la mine? Si exact cand au terminat lucrarea, sa cada un copac pe 2 masini, a lor fiind la cativa cm mai incolo parcata?

Despre optimism

Nu stiu exact de ce, imi vine sa zambesc fara motiv, si sa vad motive de optimism in orice. Nedormita de nu stiu cand (si cand nu dorm, sunt un animal tacut si periculos), obosita, stresata, cu un todo list lung cat lumea, sunt in continuu optimista. Si progresez. De aici intrebarea mea: oare exista o legatura intre optimism si noroc? Sau poate intre noroc si bunavointa? Oare se poate considera 100% ca e mai bine sa fii optimist (fara motiv), iar motivele nu vor inceta sa apara? Decat pesimist, si atunci si motivele nu vor intarzia sa apara?