Suna de cacat, dar mi-am pus la munca un background switcher: John’s Background Switcher … adica un soft care din cand in cand iti schimba backgroundul.
De ce? Pai de multe ori, sincer, ma plictisesc, si e mai interesant sa ai o alta poza pe background cand te uiti ca prostul si cauti ce sa mai citesti pe net, sau sa vezi pe youtube.
Ceea ce e marfa e ca am gasit, dupa multe cautari (nici nu listez aici alti pretendenti care i-am instalat, pentru ca sunt mult prea varza), softul asta, care permite utilizarea unor surse multiple de poze: flickr, inclusiv contul tau, facebox, picasa, yahoo, google se
arch (!), filtrate dupa ce vrea pula ta, plus .. ceea ce vroiam eu, fluxuri rss de poze.
asta inseamna ca de ex poti sa-ti adaugi ultimele poze interesante din flickr, sau diferite combinatii de poze populare de pe deviantart .. pretty pizda. Are si un mod care se cheama scrapbook, in care iti face ceva de genu asta:
In afara de asta, poti de ex sa-l opresti din treaba cand ruleaza anumite programe (aka te joci), cand esti pe baterie, poti sa-l pui sa-ti puna un calendar, plm, tot felu’.
“You know, minimum security prison is no picnic. I had a client in there once. He said the trick is: kick someone’s ass the first day, or become somebody’s bitch. Then everything will be alright.”
Ce poti face cu 11 euro si putin timp liber?
Poti sa-ti cumperi de pe amazon The Office Space Kit. Exact …
Adica, pentru a retrai experienta, poti sa utilizezi urmatoarele urmatoarele:
O superba cana initech, ca sa poti folosi, “the power of the mug”, de exemplu poti zice:
“Milt, we’re gonna need to go ahead and move you downstairs into storage B. We have some new people coming in, and we need all the space we can get. So if you could just go ahead and pack up your stuff and move it down there, that would be terrific, OK?”
Un stapler Swingline, care, toata lumea stie, e mult mai bun decat Boston …
Un set de formulare T.P.S., care trebuie completate cu strictete dupa fiecare aplicatie rulata sau testata.
Un banner, “Is this good for the COMPANY?” care il voi afisa intr-un loc vizibil pentru ca toti colaboratorii / colegii sa actioneze in acest spirit.
In plus ar mai fi:
– un covoras “jump to conclusions”, pe care nu l-am fotografiat din lipsa de spatiu (e mare)
– un sticker “PC LOAD LETTER” (cine stie cunoaste)
– o brosura detaliata cu indicatii de utilizare.
Pentru a urma instructiunile si a intra in spiritul corporatist al companiei, mi-am permis sa completez primul TPS Report:
P.S. In final sa rememoram impreuna cateva faze importante din film sau legate de el
1. Celebra scena cu faxul
A fost destul de greu sa gasesc originalul printre zecile de filme facute de amatori cu aceasta scena 🙂
Deci plm, cam asa arata o amenda care o iei daca te parchezi in fata la Billa si te duci la ski, adica clar stai mai mult de cele 2h permise. Desi sigur nu sunt primul cu ideea asta stralucita, probabil ca amenda se da cu prioritate celor care oricum stau la 7 -8 minute pe jos de telecabina, dar sunt prea lenesi sa vina pe jos …
Totusi, sa revin la subiect: prin decembrie 2008, ca sa taie nodul gordian al eternelor noastre nehotarari si amanari, Relu hotareste sa ma anunte ca deja au platit ei rezervarea la cazare, so no way back. De ce Ischgl? pai au un site misto, cica vreo 215 km de partii (in Silvretta arena), in plus poti sa skiezi si in Elvetia, pe partea cealalta a muntilor, pentru ca de fapt se cheama zona de ski Ischgl – Samnaun, de unde cica poti sa-ti iei tigari mai ieftine fiind duty free-uri pe la cabane. A … si in plus, am auzit ca foarte multa lume e acolo venita pusa pe distractie, lucru nu foarte apreciat de unii membri ai expeditiei.
Facand o paranteza legata de partii, intotdeauna m-a uimit modul de calcul al sutelor de km cu care se lauda fiecare statiune. Probabil ca fac si niste permutari acolo si calculeaza toate combinatiile pe care le poti face, pentru ca, desi zona de ski este imensa, tot skiezi si in zare se vad alte si alte teleskiuri si telescaune, nu cred ca partiile efective au totalizat mai mult de … sa zicem 30 – 40 km. Si asta cred ca e prea mult …
Traseul de apropiere a fost ceva mai bizar, dar economic in orice caz: pentru ca eu si M eram deja relativ aproape, in sudul Frantei, am plecat cu masina si i-am luat pe R & R de la Bergamo, unde aterizeaza zborurile low cost wizzair, fiind chiar pe traseu. De acolo, in vreo 4 ore eram la vila unde eram cazati, la Haus Bergfrieden.
Vila asta este genu de pensiune familiala in care nu se vorbeste decat germana, dar ne-am descurcat pana la urma, cu danke-uri si bitte shon-uri. Camerele erau decente pentru cat am platit (42 euro de persoana cu mic dejun) , chiar daca dusul si toaleta erau pe hol, nu era mare bataie pentru ca erau 4 camere pe etaj, si 2 dusuri/toalete si oricand te puteai duce la alt etaj. Cu aceasta ocazie am putut constata ca atat nemtii cat si nemtoaicele (originali nu austrieci) au obiceiul sa se deplaseze din camera si pana la dus, goi, pentru a nu mai cara si hainele.
Camerele aveau o panorama ok spre statiune, de exemplu puteam face poze gen
In plus, cu rezervarea am obtinut o reducere de 1 zi la inchirieri pentru fiecare dintre noi, plus preturi un pic mai mici la cablu.
Pe la jumatea saptamanii ne-a vizitat si J, venit pentru cateva zile pentru un targ de turism cica, la Munchen. El ne-a demonstrat ca se pot lua 2 amenzi de radar una dupa alta, aveam dubii serioase inainte.
Cat am stat acolo a nins in fiecare zi, mai incet sau mai tare, dar instalatiile nu au fost oprite/partii inchise, cu foarte mici exceptii. Am vazut cateva dintre traseele de freeride (mai mult despre asta mai incolo) inchise o zi sau doua, dar doar atat. Dar majoritatea pozelor misto sunt facute intr-o singura zi, cand a fost un cer fara nori si soare, numai bun pt poze tipice, gen
Zona de ski, arata cam asa:
Destul de impresionant, (click pentru detaliu), si arata si mai impresionant in realitate. Ski passul pentru 6 zile costa 231 euro in full sezon cum am fost noi, destul de scump dar Ischgl e cunoscuta ca o statiune scumpa, so, nimic de zis.
De skiat am skiat cam pe 60 – 70 % din partii, unele cum ar fi ruta de intoarcere in fiecare zi. Pentru ca ninsese si ningea mult, nu am avut probleme cu zapada, ceea ce a fost bine pentru ca eu eram cu venerabilele mele volkl carver axis, cu canturile varza, chiar daca le-am mai ascutit eu, asa ca gheata era total de evitat. Asa ca, in afara de ruta de coborare care era infecta si plina de gheata (oare cum ma descurcam inainte la predeal ? :)) ), si unde eram obligat sa merg numai prin padurea de alaturi, partiile au fost foarte bune.
In general, o zi de ski incepea cu gondola A2, care ne ducea in zona superioara de ski, si de acolo ne alegeam o vale pe care o skiam cu variatele scaune si teleskiuri aflate la dispozitie. In afara de A2 mai existau si A1, si A3, alte gondole care duceau in zona de ski din variate zone ale statiunii. A1 este chiar impresionanta, o gonodola pe 2 cabluri, un fel de minitelecabina, in care incap cel putin 10 oameni, zic eu, desi nu am urcat cu ea.
Principalul nod de transport era in Idalp, pe un platou, unde erau si cateva restaurante imense, snowparkuri, si o duzina de telescaune care duceau care incotro.
Aici au loc si tot felul de concerte de calibru, gen Pink, Kyle Minogue, Sting, etc etc, dar cand am fost noi nu erau, ma gandesc eu ca sunt in general vara 🙂
Partiile erau pt toate gusturile, si f usoare, si greute, si freeride damate/marcate, si freeride pe_unde_vrea pula_ta. Totusi nivelul general era unu comercial, adica mediu spre usor, nu am intalnit o partie caCarpul, dar pana una alta poate caCarpul nu e partie …
Iata de exemplu marturia lui Relu despre ascensiunea si coborarea lui pe cel mai inalt varf din zona, Palinkopf Spitze, 2664 m.
coborare pe Palinkopf Spitze
Dpdv, freeride, am prins niste powder-uri pizda, mai ales in partea elvetiana. Oricum puteai sa skiezi ce vrei, stanci, vai, abrupturi, padure, si nici nu erau greu de gasit, ca urmele de skiuri te ghidau. Snowparkul era misto, dar cu skiuri de 1.91 nu prea e recomandat :). Ceilalti aveau skiuri inchiriate, dar eu m-am ambitionat sa skiez cu ale mele, in primul rand pentru ca e mai kewl cu skiuri mari, si in al doilea rand din motive sentimentale, anul asta fiind planificata pensionarea doamnelor volkl.
Daca tot veni vorba de partea elvetiana, aici treci f simplu, pe creasta sunt niste semne gen asta:
unde probabil iti faci si o poza, gen
si incepi sa skiezi in partea elvetiana.
Aici, mie personal mi-a placut mai mult: mai putina lume, mult mai mult powder si zone accesibile de freeride.
Noi am skiat doar intr-o mica parte din Samnaun, in jurul cabanei “La Marmotte”, care desi are un nume frantuzesc, e in zona germana, deci se vorbea iarasi, doar germana. Un alt lucru bun era muzica, care era o variatie de la muzica specifica austrica, “de ski”, cunoscatorii stiu despre ce e vorba.
aici am gasit si o ruda mai indepartata a marmotei, cum se poate vedea in filmul de mai jos:
Elvetienii sunt mai old school, pe un versant spre statiunea din vale se aflau 2 telecabine, care era de fapt singurul mod de access in zona skiabila. Poate insa ca terenul este de asa natura incat nu permite instalarea gondolelor.
Tot aici se gasesc cica “duty free”-uri. Exista chiar un duty free run. Curios, m-am dus si eu sa vad ce e asta
si teapa, era o camera de 3×3, in care puteai sa-ti iei tigari ceva mai ieftine, cateva marci dubiose de wiskey si niste insigne. Totusi este de apreciat incercarea.
Traseul de intoarcere era destul de spectaculos, gen stanci si mici scurgeri (de zapada) gen
Mancarea era in general buna, si nu foarte scumpa, in sensul ca pretul de la restaurant de jos = pretul de la unul din multele restaurante de pe partie. Care, ca tot veni vorba, erau in fiecare vale mai mare, echipate cu tot ce vrei tu (de obicei autoserviri). De exemplu uite ce se putea manca cu 25 de euro:
Destul de ok. Supa de gulash e garantata pentru mine la orice excursie in Austria :).
In Ischgl exista si un dorftunnel care face trecerea de la A2 si A3 la zona mai comerciala / alcoolica a statiunii (pusa pe distractie). Tunelul are lifturi si chiar un trotoar rulant gen aeroport, gen
La intoarcere, pentru ca aveam ceva timp in plus pana la avionul de intoarcere, ne-am oprit sa mancam si sa vizitam un pic Innsbruck, care are un centru istoric f misto. Pacat de avioanele care trec din 5 in 5 minute, gen Nice.
Deci in pula mea, eram ieri la servici, pe la pranz, si ma ia A-C, sefa mea cu ea la etajul 1 (nu sa-i dau o muie cum poate va gandeati) ci pentru o “reuniune”. Reuniunea de fata insemna de fapt ca am intrat in biroul unuia si ne-am asezat pe niste scaune, el urmand sa ne prezinte, si apoi sa ne predea un maret backoffice de moderare. Backofficeul asta, teoretic, ar trebui sa ma scuteasca pe mine de sarcina de a scrie unul noul pentru proiectul la care lucrez, asa ca putea fi util, daca era adaptabil.
Ok, individul intoarce monitorul si ne arata cum se logheaza el, cu vede niste inregistrari, si le “modereaza”. Adica alege daca sunt spam sau nu, evident. Aplicatia are un aer invechit si arata destul de naspa, dar, ni se precizeaza, a fost utilizata intensiv de echipele care fac moderarea, deci sunt deja obisnuite cu modul de utilizare. In plus, si aici devin brusc interesat, este scrisa foarte curat, obiectual, si poate fi extinsa/adaptata usor pentru a obtine ce avem nevoie.
“Perfect”, imi zic, hai sa vedem codul ala. Reunionistul deschide pspad (intotdeaua mi s-au parut dubiosi programatorii care folosesc pspad, intre noi fie vorba), si imi arata structura de clase. “E arhitectura MVC”, ma asigura el triumfator. Asa cum aveam deja sentimentul, mvc la el inseamna ca are un fisier, index.php, in care foloseste un switch pentru a selecta codul care se va executa. Exact asa si era …
Restul codului era intr-un folder separat de “clase”, si inca unul de “functii”. Ok, zic eu, arata-mi “clasele” tale.
Clasele erau de fapt bucati de cod care se executau pentru fiecare pagina a siteului, si care tratau tot fluxul, de la intrare pana la template-ul smarty. As face aici o paranteza, legat de smarty. Smarty este un cacat inutil, utilizat de fraieri ca sa dea impresia ca sunt mari programatori si separa “codul” de “view”. De fapt obti acelasi rezultat daca scri un template in php (php este in esenta pulii lui un limbaj de template-uri!) si ii pasezi argumentele intr-un array. La fel de usor ajungi sa bagi business logic in template si in smarty si in php. Si aici inchid paranteza.
Asadar, fiecare pagina avea codul ei,100 % procedural, jalnic inchis intre o declaratie de clasa si paranteza de inchidere corespunzatoare.
Dar asta nu e tot, continua programatorul. Exista si un (simulacru) de sistem de mostenire, pe un nivel: toate clasele mostenesc o clasa de baza pentru a mosteni niste functii comune (si destul de dubioase) de autentificare si acces la baza de date. Pentru ca, da, nici macar o abstractizare BD calumea nu a fost implementata, pentru ca, imi explica el usor jenat, nu a reusit sa gestioneze problema cele 2 servere BD (unul pentru citit, frontul si altul master, pentru scris). “Deci ai facut o treaba de cacat” imi zic eu in gand, apoi zambesc protocolar, pentru ca urma sa-l mai intalnesc pe individ la cafea.
Si acum partea didactica pentru toti pularaii care au deschis un editor si au inceput sa “programeze” in PHP, in principal pentru ca ca are bariera de intrare foarte joasa.
In cuvinte simple, model view controller este un pattern care ar trebui in principiu sa izoleze logica aplicatiei, cum s-ar zice Business Model-ul, de interfata, de afisare. Asta inseamna ce … de exemplu daca ai de implementat afisarea listei de sefi carora trebuie sa le sugi pula ca sa ajungi un sef mai mic, in modelul aplicatiei incarci lista, din baza de date sa zicem, o prelucrezi, aplici reguli specifice (sa zicem ca ai o filtrare, numai sefi cu acelasi etaj cu tine sa va intalniti la aceeasi toaleta), dupa care pasezi aceste informatii, intr-un format neutru, afisarii. Si cine paseaza datele si face legatura intre model si afisare (view) ? Controllerul.
Aici este momentul in care fraierul cade in plasa … o regula foarte ignorata este TC-FM (thin controller – fat model), adica controllerul trebuie sa faca STRICT doar interfata intre cele 2, sa nu contina business logic. Dar, este mult mai usor sa bagi la greu cod in asa zisa ta “clasa” care devine un fat controller curand singleton curand o mare laba.
In poza de sus, in partea acoperita de pula, scrie “encapsulates application logic” si “exposes functionality”. Adica … adica ofera un acces selectiv la sistemul care e modelat. Deci fara query-uri in controller, desi pare mai usor. Izolarea scopului, asta e esential.
Muirea continua cu viewul: intr-o aplicatie web nivelul view este de fapt o combinatie intre codul server side care prepara afisarea, codul client side care o modifica/afiseaza (html + javascript care manipuleaza html) + browserul web, exact cois… Daca vrei sa fi ortodox nu faci query-uri in template-uri php sau altceva, nu prelucreazi informatie in view si nimic altceva. Doar afisezi, faci un for chestii de genu asta.
Mult mai ingrijorator este persistenta acestei abordari, daca pot macar sa-i zic asa, in framework-uri cu pretentii. Un trist exemplu este Zend Framework care nu ofera absolut nici un suport pentru partea de model, parca incearca sa fie o continuare a “traditiei” scriptkiddies legata atat de des de PHP.
Ca sa revin la intrebarea initiala: “unde pula mea e modelul?”
P.S.
Dupa amiaza m-am intalnit la o tigara cu Mikael, din celula de securitate, care mi- a zis ca cunoaste backoffice-ul respectiv, ca e “un truc de merde” dpdv securitate, si tradus mai pe scurt, ca “isi baga pula, el nu aproba utilizarea lui in aplicatie”.
Una din ultimele initiative mai de cacat d-ale mele este sa-mi pun pozele asa zis misto pe flickr. Numele web 2.0 agramat, recunosc, ma irita, dar pana l-a urma am facut cont acolo. Deci cum ar fi, aici ar fi http://www.flickr.com/photos/deodorel/.
Anyway, alataieri ma gandeam daca exista cumva un plugin decent gen sidebar care sa-l pun usor in site. Si oarecum exista … iata testul meu:
Pluginul se instaleaza clasic, prin dezarhivare/copiere, si apoi il poti trage in sidebar. E destul de complet, merge inclusiv sa-ti bagi numele de utilizator si sa iti gaseasca el streamul. Singurul lucru care nu mi-a placut este formatarea stangace, trebuie sa intru in css chiar si pentru tema default deci nu aveam chef.
Pana la urma asta a fost alegerea castigatoare, care se vede in dreapta. Iti bagi rssul, cate poze vrei, daca pune sau nu caption si aia e, cois. Arata normal in template, nu vreau mai mult. Ce pula mea …