Se afișează postările cu eticheta de la munca adunate. Afișați toate postările
Se afișează postările cu eticheta de la munca adunate. Afișați toate postările

miercuri, 20 octombrie 2010

Kill Em All

Discutie in chat room:
DBA: bai vedeti ca moare cpu-ul pe serverul de Oracle vorbiti cu sysadminul sa omoare ceva procese
[chatroom]: pai ce procese?


DBA-ul ruleaza glance si le da rezultatul:
User CPU % Thrd Disk Memory Block Process Name PID Name ( 800% max) Cnt IOrate RSS/VSS On
--------------------------------------------------------------------------------
cimprovagt 24371 root 786.9 17 0.0 33.8mb 38.8mb PRI
glance 2645 nbxadba 5.7 1 0.0 27.1mb 30.9mb STRMS

La care astia din chat:
[chatroom]: sysadmin, please kill glance is not needed for owr run and it is using all CPU

q.e.d.


marți, 25 mai 2010

Hai la cod, la cod, la cod! (3)

Oare cind o intelege lumea ca double-checked locking e clever but broken?! Asta ca sa nu mai vorbim de singleton in general... O fi chiar asa de greu?!

Iaca ce am gasit mai deunazi intr-o clasa care e prin definitie accesata de multiple threaduri...
Adicatelea cam ca la 1907: ar cam vrea sa impropietareasca taranii cu cite o bucatica de pamint... Numa' ca s-ar putea sa le-o cam dea pe aceeasi!

public static UHRoutingServices getInstance() throws UHException
{
if (m_instance == null)
{
synchronized (UHRoutingServices.class)
{
if (m_instance == null)
{
m_instance = new UHRoutingServices();
}
}
}
return m_instance;
}

vineri, 21 mai 2010

Hai la cod, la cod, la cod! (2)

Adicatelea cine e obectele, cine e primitivele si ce vrea ele. Se putea mai complicat?! (Java6)
public static Integer getCustomerSegment(Long i_customerID) {

Long segment = null;

segment = Long.valueOf(String,valueOf(hash(i_customerID)));
segment = Long.valueOf(String.valueOf(convertLongTo10Bit(segment)));

return new Integer(segment.intValue());
}

public static long hash(Long toHash) {
...
}

private static Integer convertLongTo10Bit(Long i_long) {
...
}

Hai la cod, la cod, la cod! (1)

Din ciclul "cine n-are un StringBuffer sa-si cumpere" sau "ce e StringBuffer-ul si la ce (nu) e bun el".
Apropos, codul e pentru Java6 si single-threaded :D


@Override
public String toString()
{
StringBuffer buffer = new StringBuffer();
buffer.append("m_processInstanceID = " + m_processInstanceID);
buffer.append(" m_firstReplicationProcessUnitID = " + m_firstReplicationProcessUnitID);
buffer.append(" m_segmentGroupID = " + m_segmentGroupID);
buffer.append(" m_cycleCode = " + m_cycleCode);
buffer.append(" m_fromSegmentID = " + m_fromSegmentID);
buffer.append(" m_toSegmentID = " + m_toSegmentID);
buffer.append(" m_custDBConnectCode = " + m_dbConnectCode);
buffer.append(" m_usageDBConnectCode = " + m_usageDBConnectCode);
return buffer.toString();
}

joi, 6 mai 2010

Mare-i America

Printre minunatele intimplari cu care imi petrec eu zilnic orele la servici se gaseste una care raspunde la numele de spotcheck. Mai precis echipele de la diverse aplicatii trebe sa isi vire nasurile in environmentele nou create sau upgradate si sa incerce sa vada daca totul e bine pe acolo. Asta in ideea ca se vor mai elimina din potentialele probleme intilnite de testeri si/sau de clienti.
Asa ca deci cum imi veni o mareata cerere de spotcheck suflec minecutzele frumos si zic sa ma apuc sa-mi cistig banutzul zilnic. Numa ca ce sa vezi pentru aplicatia mea lipseau datele environmentului din tabelul trimis. Nu-i bai tragem un mail frumos si intrebam de indicatii...

Nici un raspuns. Ne bagam pe chat intern al firmei aici e intotdeauna o gramada de lume, io nu stiu din ce draq mai traieste Facebook-ul.

De aici incolo nu mai comentez... Va las placerea lecturii... Cu spelling mistake-uri cu tot.


Radu Popa(10:56:36 AM): Heather what is the server and user/password for XACCT environment?
Radu Popa(10:56:48 AM): it is not clear at all from the meeting request
Heather Wood(10:57:18 AM): radu. why do you need to check XACCT?
Radu Popa(10:57:53 AM): because it was in the list that you sent; if you do not want to be checked, why did I get the invite?!
Heather Wood(10:58:53 AM): you are on the list of spot checkers. that is why. but, we have not had any upgrades to this application for this release.
Radu Popa(10:59:25 AM): ok... so, there is no spot check needed for XACCT? please confirm
Heather Wood(10:59:35 AM): I can't tell you what you need to check. I need you to tell me if one is needed.
Heather Wood(11:00:00 AM): upgrade on training usually only includes Enabler
Radu Popa(11:00:52 AM): I am sorry, but I do not understand you... Was an environment created or upgraded for XACCT? If this is the case it needs to be spotchecked, if not there is nothing to check
Heather Wood(11:01:23 AM): I just pulled up the chart... same one as in the emai. we do not have XACCT
Heather Wood(11:01:36 AM): that's why that column is blank
Radu Popa(11:01:41 AM): ok; thanks for clearing it up

joi, 18 martie 2010

Sincronizare intre 2 calendare Outlook

Se dau doua conturi pe servere Exchange diferite cu calendarele aferente, accesate de pe compuri diferite. Meetinguri ca la balamuc in ambele calendare. Aproape imposibil de urmarit update-urile si/sau alarmele pentru meetinguri. Concluzia: nashpa! Cam un sfert din meetinguri se duc naibii pentru ca aflu prea tirziu de spre ce se mai intimpla cu ele.

Solutia: Google Calendar Sync. Adicatelea un programel care se instaleaza pe cele 2 compuri, acceseaza calendarul Outlook (MAPI?) si il sincronizeaza cu calendarul Google. Sincronizarea poate fi uni- sau bidirectionala. Conectind ambele conturi de Exchange la acelasi cont Google am reusit sa sincronizez cele doua calendare Outlook.

What can I say? One more for Google!

joi, 12 noiembrie 2009

Out of my league

Se facea ca sint la un training. Se vorbeste despre AbInitio o scula de ETL, se pare ca cea mai rapida de pe piata. Se mai vorbeste ca ar fi de ordinul sutelor de ori mai rapida decit orice alta chestie similara. De ce doar se vorbeste si nu se stie? Pentru ca abinitio-shii astia sint de o secretoshala ceva de groaza. Pentru conformitate uitati-va doar la abinition.com. Site comercial mai sarac in informatii greu de gasit.

Cum sint eu mai circotash din fire si cum subiectul ETL-urilor ma pasioneaza de mult am (incercat sa) intrat in tot soiul de discutii cu tipii care conduc trainingul, incercind sa aflu cit mai multe. Mi s-a raspuns amabil, atit cit stiau si ei, iar cind au simtit ca nu mai stiu, sau ca nu mai vor/pot sa spuna mi-au sugerat sa trimit un email la help deskul lor.
Obisnuit cu modul in care merg treburile prin organizatiile mari am trimis in dorul lelii un mail la adresa respectiva. Mare mi-a fost mirarea cind intr-o jumatate de ora am primit si raspuns.

Frumusetea vine acuma... Deci, eu sint Gica de la firma Cucu SRL, care intr-adevar e client dar nici pe departe printre cei mai importanti, n-am nici o treaba direct cu produsul respectiv, e prima data cind apelez la HD-ul lor si, cu toate astea, primesc raspuns in jumatate de ora. Suna deja bine, nu?
Si totusi... Cel mai fain devine cind vezi cine iti raspunde la mail. Pai cine sa fie vreun amarit din Bangalore platit cu 1 dolar pe zi, care nu stie decit sa noteze ce zici tu... Ei bine de data asta nu, domnul care mi-a raspuns la email se numeste Chris Arnesen, e american get-beget, cercetator post doctorand la Carnegie Melon, doctor in Fizica la MIT si licentiat in Fizica la California Institute of Technology. (Pt. conformitate: http://www.linkedin.com/pub/chris-arnesen/a/868/606)

Asta e omul care mi-a raspuns mie la Help Desk... Oare cine face design si dezvoltare la astia?!!!

luni, 19 octombrie 2009

M-a lovit

Deunăzi m-a lovit spiritul civic. Fix in moalele capului. M-ai bine că m-a lovit spiritul, fie el şi civic, decît să mă lovească trenul.

Se făcea că mă indreptam hotărît spre autostradă. Intre mine şi bucata serioasă de asfalt o barieră. Nervoasă rău bariera cu pricina. Clipocea de mama focului, sclipeau luminile de avertizare, tot tacamul, doar doar te-oi feri şi pe tren nu l-oi nimeri. (Vedeţi ce vine rima la mine?)

Anyways, opresc liniştit şi ma pregătesc de aşteptat. Dupa ce aştept vreo 2 minute mă prind că ceva nu-i în regulă. Şi anume bariera fîlfîie, piuie dar nu se lasă. Trenul dracul ştie dacă vine. Mă strecor pîş – pîş peste calea ferată.

Şi atunci m-a lovit. Spiritul. Civic. Am sunat la un număr afişat pe lîngă barieră şi culmea că a mai şi răspuns cineva. M-aş fi mulţumit şi cu un robot, dar nu, era un omuleţ in carne şi oase. Şi amabil pe deasupra. Şi-a notat frumos povestirea mea şi a zis ca o să trimită pe cineva sa verfice.

Minunea s-a concretizat: cînd am ieşit de la servici peste cîteva ore măreaţa barieră funcţiona de mai mare dragul.


vineri, 16 octombrie 2009

Pinguinii mei cei de toate zilele

Am realizat azi ca locuiesc printre pinguini. Locuiesc printre ei cind sint la servici.

E unu chiar vis-a-vis de mine. Mare, barbos si cam negricios. Proactiv si lenes totodata; simpatic si nesuferit. Pe-asta o sa-l numesc Pinguinul Paradoxal. E paradoxal acum; inainte cind nu era, era doar proactiv si simpatic. As putea sa-l numesc si Pinguinul Smecheros, dar despre asta altadata.

Chiar pe dupa gardul (zidul?) cubiculului este Pinguina Ha' Mai Mare. E mare de tot! Chiar mareatza. Prin altceva nu prea se remarca. A, ba da! Este cel putin la fel de lenesa ca si Pinguinul Paradoxal. Numai ca nu e proactiva. Pina si eu sint mai proactiv ca asta si eu in mod cert sint Pinguinul Care Nu Se Baga. Saraca Pinguina Ha' Mai Mare are probleme pe masura. Mari adica. Prima ar fi ca habar nu are pe ce lume se afla. Nu stiu daca a avut vreodata dar acum sigur a uitat. A doua problema ar fi ca e mare. De virsta. Adica si-a pierdut din agilitate si vrajmasii o halesc mult mai usor.

Si vrajmasi are o gramada. Ca de exmplu cea mai buna pretena a ei: Pinguina Nesuferita Rau De Tot. Care teoretic face fix aceleasi lucruri pe la munca ca si Pinguina Ha' Mai Mare. Intr-adevar le face mult mai bine si in timpul liber ii si trage cit poate sub centura. Pentru ca Pinguina Nesuferita Rau De Tot e cea mai proactiva. Si daca e cea mai proactiva e totodata si cea mai bagareatza, mai fitzoasa si mai dornica sa iasa in fatza cind se impart grauntzele. Vine de pe o banchiza unde sint o gramada de pinguini - care fabrica o gramada si mai mare de pui - si prea putini peshti. Pe banchiza unde sintem acuma e densitate mica. Iar pinguinii nativi sint lenesi si cam prostanaci, moleshiti de cantitatea enorma de peste de pe aici, care se prinde atit de usor.

La asemenea adunatura selecta nu se putea sa lipseasca Pinguinul Sef. In cazul de fata se mai numeste si Pinguinul Director. Asta e tare domne, tare de tot. Ca doar nu fitecine ajunge Pinguin Sef. In primul rind e nevoie sa halesti grauntze (unii ar zice rahat) in acelashi loc ani de zile. Apoi trebuie sa ai prestantza - un accesoriu foarte potrivit pt asta este burta, dar si parul carunt ajuta. Ai burta deja pari pinguin serios. Apoi trebuie sa ai o spoiala de ce se maninca pe banchiza cu pricina - daca esti chiar pe linga se prind pinguinii mai mici, iti dau cu ciocul in cap si te detroneaza. Sa fii Pinguin Sef aduce nenumarate avantaje: loc de parcare aproape de cladire (probabil in contextul mentinerii prestantei/burtii), cuibushor cubicular putzintel mai mare, dreptul de face glume cretine si de a obtine hohote de la pinguinii mai mici, dreptul de a aproba citi pui pot sa faca, ce cuibushor se aloca, cit peste se prinde, cu cine sa vorbeasca - toate astea pt pinguinii mai mici. Pinguinul Sef care sta linga mine e un fel de centura neagra printre pinguinii sefi: reuseste sa fie pinguin sef peste vreo 5 pinguini mici fara sa fie si raspunzator de cit peste prind si cite oua fac astia.

Cum ziceam eu sint Pinguinul Care Nu Se Baga. Mai precis mi se filfiie coditza - si ce-i sub ea de altfel - de ce fac ceilalti pinguini. Da' daca tot ii vad navigind pe aici zi de zi... :D

P.S.: m-am gindit sa-mi schimb numele in Pinguinul La Care I Se Corupe... of i prea evident?!

joi, 15 octombrie 2009

Just another day....

Carevasazica doua rapoarte ruleaza bine merci, ruleaza si al treilea numai ca e gol. In log zice ca "query"-urile cu pricina n-au gasit nimic prin tabele. Nada. Zip.
OK, asa o fi... Lansam broasca (tu-i arhanghelii ma-sii lu' cui la inventat!), copy&paste la query-ul din log... Ce sa vezi?! Iaca intoarce o gramada de row-uri. Putin important ce scrie in ele, important e ca aduce ceva iar maretzul raport apare gol. Ce sa fie? Ce sa fie?

Greseala (pana) prostului? Nope, e aceeasi baza de date. Vreun sinonim aiurea? Ntzz... Draq sa-l ia de raport, devine chiar enervant. Ce ne facem fratilor ca e in productie, nu se mai poate rula inca odata... In sfirsit il generam cumva intr-un environment de test, copiem datele in productie si end-of-story.

Zici.. .Toata lumea se intreaba cum de s-a intimplat fenomenul. Toata lumea isi da cu parerea care mai de care, idei peste idei, presupuneri peste presupuneri. Rezultate: nada, zip. Binenteles, ca in orice film, apare Fat Frumos, Bruce Willis, Rambo sau cum vreti sa-i ziceti lu ala care-i bate pe toti de se aduna cadavrele cu lopata din jurul lui. In cazul de fata un viteaz Group Leader dintr-o tzara de o culoare mult mai inchisa decit cred eu ca e normal sa fie o tzara. Inca un hint: ii mai zice lumea si subcontinent. La tzara, nu la GL. Anyways, gagiul se gindeste puternic, cu totul vreo 10 minute, si debiteaza senin, cu spelling mistakes cu tot: "there is a good possibility of memory corruption affecting the variables to used to select data in for the remaining reports. Please check if you can find any cause for such behavior – that may have impacted the remaining reports".

Daca mai conteaza va mai zic si ca aplicatia cu pricina e in Java, adica asa din principiu te-ai gindi de doua ori inainte sa deschizi gura despre probleme cu memoria. Da' sa vedem cam ce zice nenishorul: "niscai omuletzi mici si verzi s-au bagat prin memoria lu programu matale si acolo i-a corupt pe bietzii bitzihsori, functionari la stat, care isi vedeau linistitzi de treaba. Matalutza, ca vajnic organ (de ordine), nu organizezi un flagrant sa-i prindem pe tradatorii de neam? Ca nenorocitii corup si restul populatiei!".
Oare cita ceatza tre sa fie in mintea - se exista oare?! - ta, ca sa debitezi asemenea elucubratzii?!

Restul e BAU...