Americani sub apă
Iată că nu numai românii au probleme cu inundațiile. Oare și la ei autoritățile au fost luate prin surprindere?
Iată că nu numai românii au probleme cu inundațiile. Oare și la ei autoritățile au fost luate prin surprindere?
Am văzut zilele trecute niște lucruri care m-au “tulburat”. Un cuplu își plimba câinele pe trotuar. La un moment dat, animalul vrea să-și facă nevoile. După ce termină, ce credeți? Tipa scoate o lopățică și un săculeț de plastic și adună în el fecalele câinelui și le aruncă la coș. Este prima oară când am văzut în România un astfel de fenomen. Mi-am zis că dacă toți posesorii de potăi de apartament ar face la fel, ar fi mai puțin rahat de animal pe stradă, dar e și ăsta un început. Felicitări!
Acum, făcând o mică analogie, să ne gândim un pic la tevatura cu reducerea numărului de parlamentari și efectul acestei acțiuni asupra corupției. Foarte mici, dar totuși mai scade un pic. Oricum acest lucru nu se va întâmpla niciodată în România.
Iată și o fotografie de pe străzile Prăgii unde se găseau din loc în loc astfel de stâlpi cu pungi de hârtie.
Citind cartea despre care v-am vorbit într-un articol anterior, am descoperit niște clase despre care nu mai auzisem până acum: interceptorii.
Prezentarea lor începe cu o scurtă introducere despre AOP, noțiune nouă pentru mine. După cum am înțeles, AOP înseamnă să “decorezi” logică refolosibilă, în general, cu diferite funcționalități, fără aduce modificări asupra logicii menționate. De exemplu, AOP ar putea fi transformarea ușoară a unui Session Bean într-un web service sau într-un RESTful service.
În Java EE “aspectele” sunt numite interceptori. Un interceptor este o clasă cu o metodă adnotată și are controlul complet asupra execuției unei metode. Un interceptor este “atașat” unei clase cu ajutorul adnotării @Interceptors({interceptori}). Între acolade este o listă de clase de interceptori.
Iata un exemplu scurt de interceptor:
1: public class InterceptorDeTest {
2:
3: @AroundInvoke
4: public Object interceptM(InvocationContext ic) {
5:
6: //fă ceva
7: return ic.proceed();
8: }
9: }
Și o clasă care are atașat un interceptor:
1: @Stateless
2: @Interceptors({InterceptorDeTest.class})
3: public class ClasaDeTest{
4: public String helloWorld() {
5: return "HelloWorld!";
6: }
7: }
În momentul în care este apelată metoda helloWorld firul execuției va trece mai întâi prin interceptor. Acesta execută prelucrările sale și apelează metoda proceed() care are ca efect trecerea la executarea codului următorului interceptor din listă, dacă există, sau a metodei interceptate (în cazul nostru, metoda helloWorld()).
Interceptorii pot fi folosiți pentru diferite inițializări sau validări înainte sau după execuția unei metode. În cartea lui Adam Bien e și un exemplu cu interceptori în care se pot redenumi firele de execuție a unei aplicații în funcție de metoda pe care o execută, pentru o mai bună observare într-un profiler sau într-un dump, scăpând astfel de numele random și lipsite de înțeles date firelor de execuție.
PS: Un articol general despre utilizarea interceptorilor și cel cu redenumirea thread-urilor.

După cum poate ați aflat, săptămâna asta au apărut primele 2 episoade din sezonul 6 al celebrului serialul. Tot ce vă pot spune e că veți vedea, mai ales în partea a doua, un cu totul altfel de House. Sunt curios dacă va rămâne așa și în episoadele viitoare pentru că nu sunt chiar convins că un House mai “uman” înseamnă un House mai bun.
Pentru amatorii de bijoouri deosebite “hand-made” țineți minte adresa asta. Vă înțelegeți voi cu producătorul la detalii.
Încă o dată vestul e cu un pas înainte. Admirabilă inițiativa, sper să fie susținută pe termen lung. Nu știu cum e traficul în Cluj, dacă se poate circula cu bicicleta sau nu dar nu cred că mai există vreun fenomen mai mare sau la fel ca București la capitolul trafic în România. Mai, mai că m-aș muta în Cluj…
Huh?!? Google scoate un plugin de Internet Explorer care înlocuiește engine-ul lui IE cu cel al Chrome. Motivația celor de la Google este că au pus la dispoziție acest plugin pentru a permite dezvoltatorilor să testeze aplicații ce folosesc HTML5 și alte tehnologii implementate de Google chiar și pe Internet Explorer, care nu suportă tehnologiile respective. Paginile care “declanșează” pluginul din Internet Explorer trebuie să includă un tag meta special.
PS: Pluginul se cheamă Google Chrome Frame
Există o procedură care poate reda unei persoane oarbe vederea prin intermediul unui implant realizat dintr-un dinte al acelei persoane. Dintele asigură că implantul nu va fi respins de organism. Destul de ciudată procedura, dar vederea este foarte prețioasă.
Citit pe Engadget.
Dețin o pereche de căști Grado SR80 și, deși sunt aproape cele mai “proaste” din gama de căști Grado, se aud excelent. Am înțeles că sunetul poate fi îmbunătățit semnificativ în combinație cu un amplificator pentru căști, bineînțeles tot marca Grado, dar până una, alta, îmi face cu ochiul vârful de gamă al seriei Prestige, SR325i.