Doua scurte

Unu: azi e IPv6 day, asa ca am pus principalele servicii lug.ro (ftp-ul si site-urile) si pe v6, pana acum am cam 1% din hits pe v6, not bad. Probabil or sa ramana asa. Urmeaza IRC-ul si emailul.

Doi: m-am decis ca maine seara sa prezint ceva mai de incepatori (pentru ca trebuie sa recunosc, subiectele exotice ii lasa reci pe majoritatea). M-am hotarat sa zic doua vorbe despre awk (pentru ca ma intristeaza cand lumea il foloseste doar ca pe un soi de cut). Pana maine incropesc eu niste slide-uri, dar daca aveti sugestii let me know.

Of course, profit de ocazie sa va reamintesc ca aveti datorii morale fata de comunitatea asta (in general, nu la RLUG ma refer). Asa ca primul pas ar fi sa participati (la evenimentul asta daca vreti si puteti, sau la altul daca nu va place de noi din motive geografice, politice sau estetice).

dedicatii

Ok, joia asta e editia iunie 2011 a intalnirilor lunare RLUG (zomg, ne apropiem vertiginos de 2 ani!). Vad ca lumea nu se inghesuie sa participe si cu atat mai putin sa prezinte stuff (in pofida apelurilor mele sentimentale).So, as vrea sa ma "sacrific" si sa mai prezint ceva, dar nu-mi trece nici un subiect decent prin cap (iar ultimele cateva idei pe care le-am avut nu au avut parte de prea mult entuziasm).

Ca atare, propuneti-mi un subiect si incerc sa fac ceva lightning talk pe baza lui (sau macar sa fac pe moderatorul intr-o discutie libera in jurul subiectului ala). Prima conditie e sa fie legat de Linux / Open Source. A doua e ca cel care propune sa participe ;) A treia, in masura in care am de ales, ar fi sa ma pricep cat de cat la tema propusa :)

Anyway, shoot. In comments sau pe twitter sau pe liste sau pe adresa privata sau pe telefon, porumbei calatori sau semnale de fum. Marti seara ma hotarasc despre ce o sa fie.

A, da, si inscrieti-va pe wiki pentru comedy show :P

Pay it forward!

Daca citesti articolul asta, probabil esti interesat intr-o mai mare sau mica masura de Linux si/sau OpenSource. Am publicat in general chestii tehnice, asa ca ma astept ca cei cativa zeci de abonati la RSS sa fi pierdut pe cei care ma urmareau doar pentru ca ma cunosteau, in plus mai sunt inscris in cateva agregatoare cu subiect similar, deci probabil vorbesc de 100-200 de oameni (yeah, my e-peen is that low). Daca in continuare citesti chestii de-astea de Linux ma astept sa ai niste cunostinte cat de cat mai sus de genunchiul broastei (sa zicem ca nu te mai sperie instalarea unui sistem nou sau nu ti-e asa frica sa citesti manpages sau poti scrie un shellscript de 5 randuri). Din observatiile pe care le-am facut pe cei pe care ii cunosc in aceeasi situatie, sunt mari sanse sa-ti folosesti aceste cunostinte in meserie (sau pur si simplu sa fii foarte pasionat de subiect). In orice caz, stii mult mai mult decat nimic.

Cum ai invatat astea? Poate partial la scoala (pe la Automatica se cam predau chestii de Linux, probabil si pe la alte facultati similare), dar majoritatea le-ai cautat de unul singur. Pe forumuri, liste de discutii, IRC, manpages, carti, cod sursa. Toate aceste chestii au fost scrise de voluntari (poate cu exceptia cartilor, dar din cate stiu autorii de carti nu prea fac profit, cel putin cea la care am fost coautor nu a facut). In orice caz, trebuie sa admiti ca, de bine de rau, datorezi o buna parte acunostintelor pe care le ai in acest domeniu unei intregi multimi de oameni care au sacrificat macar un dram de timp si efort pentru asta.

Eu unul imi datorez o foarte mare parte a cunostintelor in domeniu listelor lug.ro pe care activez de vreo 10-11 ani si prietenilor pe care mi i-am facut acolo, astfel incat de ceva vreme incerc sa-mi platesc datoriile morale contribuind la intretinerea serverelor pe care sunt listele si mirrorurile lug.ro, mai dau cu mailul pe liste din cand in cand, contribui cum pot la Prolinux (ong-ul care a fost creat in jurul listelor) si mai nou incerc sa ridic de la sol o serie de intalniri "real life" (despre care am mai mentionat).

Aici intervine apelul meu. Din toti care cititi asta, sunt convins ca o foarte buna parte e in stare sa ajunga cel putin o data la doua luni la aceste intalniri (sunt in seara fiecarei a doua joi din luna, in ultima vreme le-am tinut in incinta Facultatii de Automatica si Calculatoare, in Politehnica). Din acea foarte buna parte (mai bine de jumatate, I bet), fiecare poate sa zica ceva interesant. Da, si intrebarile se pun, nu doar prezentari ca la carte. Putem face o sesiune speciala de "intrebari de la nou-veniti" daca va deranjeaza statutul de prezentatori. Cu siguranta va fi in sala un newbie in domeniul respectiv caruia sa-i fie utile informatiile, asa cum si tie ti-a lamurit niste chestii o prezentare sau un mail sau un blog post al cuiva acum X ani.

Be that guy (or girl)! Pay it forward!

PS: daca sunteti atat de egoisti incat sa nu fiti miscati de argumentul asta, o sa fiu nevoit sa fac concurs cu premii :D

I’m in it for the lulz

Am gasit zilele trecute pe reddit o descriere a motivatiei care ne impinge pe noi astia din zona Linux si trebuie sa spun ca e printre cele mai la obiect comentarii. Originalul este la http://i.imgur.com/jqIcv.jpg, dar transcriu si textul, pentru ca nu-s sigur cat va fi valid linkul:

We tell people we use Linux because it's secure. Or because it's free, because it's customizable, because it's free (the other meaning), because it has excellent community support...

But all of that is just marketing bullshit. We tell that to non-Linuxers because they wouldn't understand the real reason. And when we say those false reasons enough, we might even start to believe them ourselves.

But deep underneath, the real reason remains.

We use Linux because it's fun.

It's fun to tinker with your system. It's fun to change all the settings, break the system, then have to go to recovery mode to repair it. It's fun to have over a hundred distros to choose from. It's fun to use the command line.

Let me say that again. It's fun to use the command line.

No wonder non-Linuxers wouldn't understand.

The point with Linux fans is we use Linux for its own sake. Sure, we like to get work done. Sure, we like to be secure from viruses. Sure, we like to save money. But those are only the side effects. What we really like is playing with the system, poking around, and discovering fascinating facts about the software that lies underneath it.

Cred ca am face bine cu totii sa constientizam ceva mai mult lucrurile astea ;)

laptop blocat pe 800 MHz

(Sa mi se scuze titlul SEO-ist, e pentru o cauza nobila, really. Daca te doare tare problema asta, sari la ultimul paragraf).

Din cauza ca simteam nevoia sa stric ceva si nu voiam sa pun pe altii sa munceasca, mi-am upgradat laptopul la Debian Testing (aka. Wheezy). De obicei stau pe testing pana la release, cand raman asa pe stable inca vreo luna doua sa se potoleasca apele.

A mers foarte smooth (cu exceptia prietenului meu network-manager care a decis sa o ia razna nitel, evident), ar mai fi un bug foarte haios cu driverul nouveau (dar stau pe nvidia non-free pana una alta). Singura problema care mi-a dat ceva batai de cap era procesorul care insista sa stea pe 800MHz, cea mai joasa frecventa disponibila.

Dupa multe cautari pe net se pare ca problema e ca nu-i place de adaptorul AC (iarasi, e al treilea adaptor pe care il stric) si bios-ul insista sa tina procesorul in 800 MHz pana imi iau carger sau baterie sau mai stiu eu ce de la Dell.

Solutia, pana una alta, a fost sa adaug ca parametru de kernel umatoarea treaba: "processor.ignore_ppc=1" (in Debian, l-am adaugat la GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub.conf , YMMV), care din cate m-am prins ii spune kernelului sa nu ia in considerare plansetele biosului ref. la frecvente. Ramane de vazut daca imi strica :D . Hope this helps.

CLI tricks

Sunt invitat duminica viitoare sa tin o prezentare "despre orice" (when will people learn I'm an indecisive lazy bum?), asa ca tinand cont ca publicul e cel putin knowledgeable in ale shell scriptingului, ma gandesc sa fac o lista de console tricks (shortcuts, shell features, stiluri de lucru care iti fac viata mai usoara).

Planul de principiu e sa imi amintesc care anume din micile mele scamatorii zilnice de readline sau vim sunt remarcate de catre shoulder-surferii ocazionali, dar probabil n-or sa ajunga pentru ~45 min cat am alocat, asa ca fiti bineveniti sa-mi povestiti ce trickuri va fac lucrul in consola mai productiv.

Din cate stiu, evenimentul nu e public, dar probabil se va gasi iar cineva sadic sa ma filmeze si sa ma puna pe net. Ca atare, ma tot gandesc cum sa fac elegant sa alternez intre terminal si prezentare, as aprecia niste linkuri la prezentari cu fragmente interactive, sa pot fura meserie :)

Si ca sa fie putin mai competitiv, castigatorul cu cea mai interesanta sugestie va primi dreptul sa sustina un lightning talk de 5 minute despre un subiect OSS-related la urmatoarea intalnire RLUG (14 aprilie) si o bere (sau cola, suc de portocale, whatever) de la subsemnatul in seara aceleiasi zile :D

sa ne jucam de-a cloudul

Azi am avut ocazia sa imi pun contul de EC2 la contributie pt. ceva concret (un setup demo cu 2 webservere si 1 loadbalancer), asa ca notez cum am facut pt. ultimii 2 oameni de pe planeta care nu au mai facut asa ceva. Scuze pentru stilul dezlanat, e mai mult pentru a-mi nota mie pasii. In functie de interes, o sa mai piaptan articolul si-l pun pe wiki.

Pasul 0: sign up for EC2 la http://aws.amazon.com/ec2/ , enjoy the phone.

Pasul 1: Get the certificates. aws.amazon.com, sign it to aws console, account, security credentials, access credentials, x509 certificates, create new. Downloadeaza si cheia privata si certificatul. Fa un director ~/.ec2 in care sa le salvezi. Pentru siguranta, chmod -R go-rwx ~/.ec2 . (Atentie mare cu certificatul ala ca are acces direct la credit card ;) ).

Pasul 2: Downloadeaza utilitarele de consola de ec2 de la http://s3.amazonaws.com/ec2-downloads/ec2-api-tools.zip . Extrage bin si lib din el si muta-le in ~/.ec2. Daca n-ai sun-java6-jre, instaleaza-l.

Pasul 3: Environment-ul. Pune-ti undeva in ~/.bashrc sau unde iti pui variabile de mediu urmatoarele:

# environment variables for EC2
export EC2_HOME=~/.ec2
export PATH=$PATH:$EC2_HOME/bin
export EC2_PRIVATE_KEY=$EC2_HOME/pk-XXXXXXXXXXXXXXXXXXXXXXXX.pem
export EC2_CERT=$EC2_HOME/cert-XXXXXXXXXXXXXXXXXXXXXXXX.pem
export EC2_URL=https://ec2.eu-west-1.amazonaws.com
export JAVA_HOME=/usr/lib/jvm/java-6-sun

"XXX"-urile se inlocuiesc cu numele certificatului si cheii luate in pasul 1. De notat ca mi-am setat EC2_URL astfel incat daca nu specific regiunea sa foloseasca by default regiunea eu-west-1, unde prefer sa-mi fac instantele. In lipsa acestei variabile, va prefera ec2.amazonaws.com care este us-east-1. Diferentele probabil nu conteaza. JAVA_HOME trebuie setat daca nu l-a facut Java la instalare, trebuie sa dea in directorul care contine jre/bin/java.

Test time: Source the profile (sau deschide un terminal nou) si ruleaza 'ec2-describe-regions'. Daca nu merge, you skipped a step. Daca merge, trebuie sa apara o lista cu regiunile de ec2 (la ora actuala, 1 europa, 2 america si 2 asia). Da, e normal sa dureze >5s , get used to it :)

Pasul 4: Cheie de ssh.

ec2addkey RPETRE > ~/.ec2/RPETRE.pem
chmod 600 ~/.ec2/RPETRE.pem

(Ofc, in loc de RPETRE poti utiliza alt identificator al cheii).

Pasul 5: Pornirea unei instante noi.

Dat fiind ca Ubuntu de ceva vreme face release-uri si in cloud, am decis sama joc cu o imagine de la ei. La http://uec-images.ubuntu.com/releases/lucid/release/ sunt AMI-urile oficiale pentru 10.04 LTS, in toate regiunile, pe 32 si 64 biti. Eu am notat ami-311f2b45, varianta 32bit din eu-west-1. De notat ca AMI-urile nu sunt valide decat in regiunea aleasa via EC2_URL.

ec2-run-instances ami-311f2b45 --instance-type t1.micro -k RPETRE

Comanda de mai sus o sa returneze numele instantei (i-xxxxxx) si statusul "pending".

ec2-describe-instances i-xxxxxxx va returna starea instantei, dureaza cateva minute pana se transforma din "pending" in "running". Cand e "running", va avea un nume foarte lung, care se termina in compute.amazonaws.com. Ala e IP-ul pe care se poate face SSH. But first...

Editeaza ~/.ssh/config si adauga urmatorul paragraf:

host *.amazonaws.com
User root
StrictHostKeyChecking no
IdentityFile ~/.ec2/RPETRE.pem
UserKnownHostsFile ~/.ssh/ec2_hosts

Asta ca sa nu se planga la fiecare noua instanta ca n-a mai vazut-o si sa nu polueze known_hosts cu catralioanele de instante viitoare. Pentru cei paranoici care vor sa verifice fingerprintul cheii de ssh (bravo!), scoateti linia cu keycheck si tineti minte comanda ec2-get-console-output.

Ok, acum ar trebui ca ssh ubuntu@numefoartelungdeinstanta.compute.amazonaws.com sa mearga seamlessly (cu cheia cu care a fost creata instanta).

Cand te-ai plictisit de instanta, ruleaza ec2-terminate-instances i-xxxxxx si cateva minute mai tarziu o sa dispara. Atentie, billingul se face cu ora, incepand din momentul in care s-a lansat instanta, practic daca ii dai terminate in primele 55 de minute de cand ai pornit-o, ai de plata 2.5 centi, daca depasesti 60 de minute inca 2.5 centi, samd. (plus costul de bandwidth).

Mno, cam atat deocamdata. Daca ma mai joc, o sa mai pomenesc si despre security groups si load balancer, poate si despre storage.

atelier rlug februarie – call for help

Desi sunt din ce in ce mai alergat zilele astea, ma bucur ca am apucat sa programez "atelierul" lunii februarie, sambata viitoare de la ora 13 (tot in Poli, tot in laboratorul EG306 din Automatica).

Deocamdata nu am nici o idee de tema de discutie, please join in si propuneti una. Ne vedem acolo (or else!)

muzichii

(Da, am niste idei noi privind cum o sa utilizez site-ul asta, da' despre ele intr-un post ceva mai incolo pana mi le cristalizez sau imi trece).

Sa parcurgem impreuna o inlatuire de piese care mi-au cantat in cap si in computer zilele astea:

  • Sinead O'Connor - mai intai Thank You for Hearing Me, urmat de niste You Made Me The Thief of Your Heart, care cumva mi-a adus aminte nu stiu cum de
  • Peter Gabriel, in primul rand cu o anumta versiune a Come Talk to Me si de Lay Your Hands On Me, care m-a obsedat toata ziua, si care in mod normal ar fi fost urmata de Signal to Noise (s-a priceput la showuri de tanar si s-a perfectionat cu varsta). Instead, probabil datorita unor persoane apropiate care trec prin niste momente de cumpana, am simtit nevoia sa reascult Solsbury Hill si mai ales Don't Give Up (Kate bush rulez!), si am ajuns asa la
  • Phil Collins, in primul rand cu In The Air Tonight(mi-ar place ca in viitorul apropiat sa invat sa bat piesa asta, macar ca gorila ;) ), dupa care cu un pic de Against All Odds, dupa care trebuie sa ascultam si the real thing adica
  • Genesis,in principal cu Mama si nitel Follow You, Follow Me (oi fi incult, dar nu m-a prins perioada Gabriel)
  • ... si cam atat deocamdata, pentru ca nu gasesc continuare care sa se potriveasca la piesa asta (as putea trisa sa zic ca in clipul ala Tony Banks arata ca J.M. Jarre in perioada "Equinoxe", dar n-am chef de muzica electronica acum...)

Eh, asta e doar unul din modurile in care pierd vremea pe internet cand nu pot sa dorm :) Data viitoare, something completely different.

wrap-up atelier ipv6

Saptamana asta a fost atelierul RLUG editia ianuarie 2011, cu tematica IPv6, unde s-au lamurit cateva chestii:
- mai devreme sau mai tarziu, va trebui sa ne familiarizam cu totii cu tehnologia, or else;
- e mai complicat decat IPv4, however multe lucruri sunt automagice si e posibil sa mearga fara sa-ti bati mult prea tare capul;
- partea proasta e ca atunci cand nu merg, e putin mai dificil sa te prinzi de la ce fara sa intelegi corect toate conceptele;
- dupa cum s-a vazut, nici eu nu inteleg prea bine toate conceptele, m-a mai salvat cmatei din ignoranta, da' setupurile dual-stacked sunt destul de complicat de debugat;
- fara DNS esti mort (vreau si eu un echivalent ipv6 al 4.2.2.2 sau 8.8.8.8, pretty please);
- 6to4 te ajuta sa-ti tragi v6 in reteaua proprie, putand sa produci 65k de subneturi fara sa ai nevoie decat de un ip(v4) public, cu niste mici dezavantaje (asymmetric routing, lipsa de reverse delegation (Update: mint, exista o metoda), prea mult automagic de nu mai stii daca esti pe v4 sau pe v6);
- pt. hardcore users care vor doar v6, se poate folosi tayga + totd pt. nat64 respectiv dns64 (sunt si eu curios de success/horror stories)

Una peste alta, a fost suficient de fun incat sa trebuiasca sa hackerim diverse chestii si sa nu vorbesc eu de unul singur (finally a inceput sa se prinda lumea ca nu-s vreun mare specialist) si sper sa fi produs un numar mai mare de experimente cu v6 (daca am timp, incerc sa strang pe o paginuta pe wiki ce-am invatat).

Si dat fiind ca am dat saptamana asta de minim 3 insi care imi citesc blogul (zomg!), va invit sa propuneti teme de discutii pt. ateliere viitoare, altfel va mai plictisesc cu alte chestii sysadminoide la care nu ma pricep (ca sa invat si eu ceva, ce pisici).