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.


joi, 2 septembrie 2010

The American Way

Can I carry weapons in my vehicle across Hoover Dam?

Yes, as long as their transport complies with state and federal standards, i.e. guns must be unloaded and in compliance with concealment laws. Also, no more than 1000 rounds of ammunition may be transported across the dam.

Adica asa de un macel mic... de un razboi n-ar ajunge.

Pt. conformitate: http://www.usbr.gov/lc/hooverdam/crossingguide.pdf

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!

vineri, 12 martie 2010

jukefly

Nu stiu cit, cum si cit de mult ati aflat despre jukefly, dar daca nu, sau nu prea mult, simt o nevoie imperioasa sa va spun eu.
Smecheria cu pricina este un player de muzica. Etete mare smecherie! Mare intr-adevar, pentru ca face cam tot ce (mi)-ar trece mie prin capatzina ca ar trebui sa faca. Mai precis:
- cinta (doh!)
- are un search ultra, xtra, cashcaval care chiar functioneaza iar rezultatele sint grupate dupa artist, album si inca paishpe mii de criterii
- afiseaza versurile melodiei curente
- afiseaza biografia trupei/artistului
- arata si un video clip al melodiei respective sau macar citeva poze
- are linkuri catre magazine online pentur cumparat albumul cu pricina
- salveaza liste de preferinte muzicale; listele se pot trimite/share-ui (oops!)
- interfata e superba si mai suporta si teme

Acuma de unde are domne jukefly-ul asta atita muzica si informatii pe masura?! Pai asta e mishto: totul e din surse publice de pe web! Adica muzica propriuzisa vine de la youtube si last.fm, versurile de la x site-uri care le au stocate pe undeva, informatiile despre formatii de la last.fm, wikipedia, etc, etc, etc. Carevasazica jukefly face cam ce ar face o persoana reala interesata de o piesa muzicala: ar asculta bucata respectiva si ar mai obtine si o multime de info despre formatia care o cinta, eventual versuri, albumul pe care a aparut, etc.
Sincer mie mi se pare un mash-up de info extraordinar de util si bine facut. Ca sa nu mai zic de interfata!

Plus, fix aceleasi servicii le poti avea si pentru colectia de muzica de pe calculatorul propriu si personal. Adica face streaming la muzica ta si o poti asculta oriunde ai acces la net. Mare brinza, nu? Streaming media servere sint destule! Da, dar halelalte nu prea pot lucra offline! Adica, poti sa asculti la birou muzica de acasa fara sa ai calculatorul de acasa deschis... Cum? Pai serverul de streaming are grija ca atunci cind esti online sa incarce metadate despre colectia ta muzicala pe serverele jukefly si sa iti asigure redarea acelorasi melodii, din surse publice (sau de la peers? - probabil ca nu), cind esti offline! OK, nu o sa functioneze pentru ascultat ultima creatie pe care ai inregistrat-o azi dimineata cind urlai in dus, dar daca vrei muzica o sa mearga :)

Inca un plus: taman au scos o aplicatie si pt iPhone pentru accesul la jukefly. (De ce aplicatie? Pentur ca Stve Jobs zice ca Flash-ul e un caca maca si nu s-a deranjat sa-l puna pe iPhone). OK, la cit imi place mie de Apple ma mai gindesc daca asta e un plus...

Ce urmeaza? Pai zic chiar ei: concert information, chat, fan-clubs, internet-radio, etc. Etc-ul ala imi place cel mai tare :)

P.S.: pentru cei cu inclinatii mai tehinice jucaria are interfata grafica in Flex si backend-ul in RoR

marți, 16 februarie 2010

Uite cine vorbeste

Se facea ca primesc un telefon, relativ inflamat, de la o tanti. Tanti cu pricina e "property manager" la casa in care stau. Property manager e un fel de tampon intre proprietar si chirias, adicatelea proprietaru are bani si case si nu are timp si chef... sa se ocupe de chiriasi. Asa ca tanti se baga pe fir, vorbeste cu mine si da mai departe pe goarna la nenea obez care joaca golf si inchiriaza case. Pe parcurs face si o sumedenie de bani. Zic io, ca am vazut-o ca se da intr-un Lexus. C-asa-i moda americaneasca: si femeia de servici se numeste floor manager.

Anyways, tanti se bosumflase pe motiv ca nu i-a ajuns cecul cu chiria. Acuma io is uituc rau si in mod normal nu m-ar fi mirat sa fi uitat sa-l trimit, dar de data asta aveam martori famelia personala ca mersesem in grup organizat la banca. Zic tanti nu se pune, fii atent ce hitrtiutza faina am eu de la banca care a emis cecul meu - zice clar pe ea ca cecul a fost varsat in contul destinatarului!
Mai verifica tanti cu burtosul, de proprietar, mai da ceva telefoane, si vine triumfatoare inapoi: Bai! Vezi ce draq facura aia la banca cu cecu tau ca in cont la burotsu n-a ajuns!

Mama ce m-am enervat pe doamna banca! Iete asa de tare ca m-am urcat in taraboanta din dotare si tzushti in coltzul strazii la pezevenghii cu pricina. Ma reped vertignos pe usa hotarit sa ma infig in ala de la ghiseu si sa chem si cel putin un superviser. Daca nu chiar doi.
In hol elanul mi se diminuaza. Nimeni la ghiseu. Liniste deplina. Si o voce: Domnu, matalutza cu ce problema pe la noi? Posesoarea de voce, o tanti cu fatza de gospodina, intre doua virste, pitita intr-un cubicul cu geamuri fumurii. Pe geam scrie Personal Banker.

Imi creste iar inimioara, cu adrenalina cu tot si dau sa ma reped in tanti. Ii explicitez modulu cum ca sa vezi ca cecul meu a ajuns cine stie unde, convins ca o fac praf si in cepe sa plinga de simpatie. Iete insa ca madama nu se emotioneaza deloc. Zice: da chitanta de la depozit ai matale? N-am! Ca nu mi-ati dat! Etete! ba ti-am dat, noi dam chitante la toata lumea la toate operatiunile! Uite ca mie nu mi-ati dat! Si stii dece ca am facut depozitul la drive-in!

(Nota tehnica: Bancaritul la drive-i ne cam asa: daca vrei banutzi e un ATM la care ajungi frumos sa butonezi daca scoti mina pe geam, daca vrei altceva - depozite, facturi, etc si etc - apare frumos un tub de transport pneumatic, d-ala de-al lui Big Brother in cartile lui Orwell, unde viri matale frumos ce ai de virit si el pleaca lelea in sus pe o tzava)

Nici asa n-am emotionat-o pe cucoana. S-o crezi mata ca la drive-in nu se da chitanta! Pina la urma a inceput sa-mi para asa de rau ca nu am chitanta ca am inceput sa-mi caut tot soiul de scuze si sa o intreb rugator pe tanti daca nu se poate face ceva si fara chitanta.

Stai sa vedem! M duc sa verific! si pleaca suveran cu copia cecului meu in mina, cu aere de regina care acorda favoruri supusilor nedemni. Si sta.... Si sta. Si sta.
Si imi stau si mie nervii in git. Din ce, in ce. Si imi aduc aminte ca eu sint de fapt pagubitul, ca ei au facut o timpenie si ca e imposibil sa nu aiba si ei vreun fel de copie a depozitului. Si ca toata mascarada cu chitanta a fost ca sa ma puna la punct. Si ca au reusit :D

Vine. Tanti. Cu inca citeva hirtiutze in mina in plus fata de cele cu care plecase. O fi de bine?!

Este. L-am gasit!, zice. Stim ce s-a intimplat. A fost facut depozitul i nalt cont decit trebuia. Pai de ce?! intreb anemic. NU l-am scris eu corect? Nooo, a facut o greseala casierul si a dublat o cifra din numarul de cont. OK, zic, e omeneste se intimpla, sinteti si voi obositi... Mdea... Da' acuam sa vedem cu mfacem sa recuperam banii.
Pai e simplu nu? Ii scoti din contul prost si ii pui in ala bun.

Zis... si in cele din urma facut. In cele din urma adica dupa inca o jumatate de ora de parlamentari telefonice. Parlamentari folositoare la numeroase chestii: prima fiind ca tanti a invatat sa foloseasca bucata relevanta situatiei din softul pe care il foloseste banca, alta fiind ca a luat aprobare pentru mutarea banilor de la vreo 3 insi - ultimul fiind ditai managerul, altele mci si mai marunte, inclusiv ce parola ii trebuie ca sa se conecteze la nu-s ce baza de date unde poate sa vada daca s-a facut transferul.
Si pentru mine a fost folositor timpul asta. Am invatat de exemplu ca exista un Help Desk special pentru manageri. Adica suni acolo si musai iti raspunde un manager. Help Deskul cu pricina e util cind tre sa faci ceva si managerul tau nu e linga tine.
Apoi am invatat ca intr-o banca american si ca sa te duci la buda trebuie sa ai aprobare de la un manager. Apoi am intles si de ce: fonctinarul bancar obisnuit nu are trainingul necesar ca sa se duca la buda de capul lui. Iete ca dovada nenea care a facut greseala cu cecul meu. Daca intreba un manager nu se prindea ala de greseala? Cum? indraznesc sa intreb. NU STIU! Eu nu sint manager!, imi raspunde doamna binevoitoare.

Toate astea mi le-a explicat doamna dragutza cu fatza de gospodina intre doua virste. Pe un ton foarte asemanator cu cel pe care il folosesc chiar eu cind ii explic copilului de ce sa ii dai colegului de gradinitza cu scaunul in cap nu e idee chiar buna. Asta desi la Tom si Jerry miscarea cu pricina e de referinta.

De fapt toata polologhia de mai sus a fost ca sa va descriu cum mi-am petrecut Simbata dimineata. Si cum merg lucrurile intr-o banca americana. Si ca banca se numeste Chase. Si ca e una din cele mai mari din lume.

Si ca, printe altele, din acelasi holding mai face parte si agentia de credit Morgan Stanley. Care pune note altora la cit de eficienti sint economic. Oare de filiala Chase Bank de la intersectia Custer Av cu Stacy Rd s-or fi ocupat vreodata?

P.S.: Oare ce nivel de manager de la Chase Bank se poate prinde ca intre numele scris pe cec si titularul contului in care se face un depozit exista o diferenta?!