Customizare prompt Bash

Posted on April 12th, 2008 in Linux, Developer | 2 Comments »

Iată o chestie marfă, cu care m-am jucat zilele trecute instalând Debian pe un sistem şi lovit de nevoia de a customiza prompt-ul de Bash - prompt-ul care totally kicks ass este cel din Gentoo, user@host cu light green si apoi calea full cu light blue şi separatorul $. Iată codul mai jos pentru asta:

export PS1=’\033[1;32m\u@\h\033[0m \033[1;34m\w\033[0m \$ ‘

Dude, WTF? Ce trebuie să ştii este că:

  • sunt mai multe secvenţe escape care înlocuiesc: user-ul (\u), numele statiei (\h), ultimul director (\W), calea lungă (\w), timpul (\t), data (\d), contoare comenzi (\# şi \!) şi altele;
  • pentru a defini formatarea, începi secvenţa de control cu \033[ şi o termini cu m - chiar aşa, gândeşte-l ca un tag de început, iar atributele se scriu cu ; între ele;
  • “atributele” permise sunt nişte coduri ce definesc (un număr limitat de) culori pentru text (e.g. 32, 34), culori pentru fundalul textului, blinking text ş.a.;
  • “tag-ul” pereche pentru încheierea definiţiei de stil are atributul 0; dacă nu închizi un tag, tot outputul viitor va fi formatat corespunzător, până shell-ul întâlneşte un bloc de reset (e.g. \033[0m);
  • PS1 vine de la Prompt Shell 1, prompt-ul principal.

Linia descrisă mai sus se introduce în ~/.bashrc -ul fiecărui user. În funcţie de distribuţia folosită poţi găsi tot felul de variaţii, uneori un stil pentru root şi altul pentru userii obişnuiţi sau mai poţi găsi secvenţele substituite cu comenzi de genul $(whoami) sau $(hostname) sau variabile gândite anterior formării string-ului; de exemplu, am văzut un prompt unde calea curentă era scurtată cu (un script folosind) puncte de suspensie atunci când era prea mare. E OK daca veniţi cu propria definiţie pentru PS1 mai târziu în fişier şi suprascrieţi precedenta, nu uitaţi să daţi export din nou. Tot în funcţie de distribuţie, definiţia pentru PS1 poate fi în altă parte (în ~/.bash_profile, pentru toţi userii în /etc/profile etc.)

Pentru testing purposes, poţi emite definiţia la care lucrezi direct în shell şi astfel va fi valabilă doar în shell-ul curent (eu cream un subshell cu su intrând din nou cu userul meu şi daca ceva nu ieşea bine, făceam exit). Dar atenţie, jucându-te în shell cu aşa ceva poate să-ţi dea bătăi de cap pentru că shell-ul nu cunoaşte numărul exact de caractere din query-ul tău şi te trezeşti cu el intercalat pe ecran (o să-ţi dai seama despre ce vorbesc) şi atunci îmbraci tag-ul cu \[ şi \] indicându-l astfel ca non-printing character, ca mai jos:

export PS1=’\[\033[1;32m\]\u@\h\[\033[0m\] \[\033[1;34m\]\w\[\033[0m\] \$ ‘ # text posibil infasurat (wrapped)!

Pentru mai multe, poţi citi în documentaţia pentru Bash (vezi capitolele 2 şi 6), conţine şi o galerie de prompt-uri (unele au mult scripting în spate), mai spre sfârşit.

Notă: E posibil ca nu toate terminalele să recunoască toate secvenţele (deci posibil niciunul), caz în care nu sunt interpretate sau sunt output-ate ca atare pe ecran (nu am testat astfel de situaţii). Ca un fapt divers, în Putty nu este activat blinking text by default.

1 Star2 Stars3 Stars4 Stars5 Stars (7 votes, average: 5 out of 5)
Loading ... Loading …

Popularity: 24%

What is XPS?

Posted on March 4th, 2008 in De pe web, Reviews, Developer | No Comments »

Am căutat o soluţie gratuită (şi legală) de virtualizare pentru calculatorul de la serviciu şi m-am oprit (surprinzător) la MS Virtual PC. Ce să citesc eu Virtual PC 2007 Technical Overview, că îmi zice de formatul ăsta nou, XPS, şi e musai să am un decoder - pe mine mă interesa Virtual PC, deci nu XPS, dar cu chibzuită subtilitate mi se recomandă un viewer (asta dacă nu am Office 2007, şi nu am), politica obişnuită care se poartă azi pentru a pusha o nouă tehnologie - nu puteam şi citi în format HTML Overview-ul in browser?

XPS un format pentru documente portabile (când am zis portabil şi document v-aţi gândit imediat la PDF, este?) bazat pe XML, pentru desktop viewing, printing şi alte device-uri înfometate de aşa ceva. E a doua tehnologie Microsoft concurentă cu tehnologii deja mainstream (şi anume PostScript şi PDF, sau mai puţin cunoscutul FlashPaper ce generează documente swf pentru device-uri capabile de conţinut Flash, e.g. your browser), asta după ce anul trecut a cunoscut şi lansarea lui Silverlight.

Am consultat jucăria asta mişto de care v-am mai zis şi iată ce a ieşit (e drept, XPS de-abia a fost introdus cu Windows Vista).

Google Trends - XPS vs. PDF - imagine generată la data scrierii acestui articol

XPS, PDF; Graficul este generat automat de Google Trends, pe ultimele 12 luni, de la data scrierii acestui articol, pe baza volumului de căutări în Google şi apariţii în news.

1 Star2 Stars3 Stars4 Stars5 Stars (6 votes, average: 5 out of 5)
Loading ... Loading …

Popularity: 26%

4 luni, 3 săptămâni şi 2 zile

Posted on January 11th, 2008 in Reviews | No Comments »

4 luni, 3 saptamani si 2 zile (4 months, 3 weeks and 2 days)Am văzut şi eu mult lăudatul 4 luni, 3 săptămâni şi 2 zile, filmul lui Cristian Mungiu, şi chiar am găsit că mi-a plăcut, cel mai mult cum a fost implementat suspansul acela - mă aşteptam ca din moment în moment să îi ridice Miliţia, să vină o cameristă peste fete, să iasă totul la iveală. Şi actorii joacă foarte bine: mi-a plăcut în special recepţionista de la primul hotel, care nu găsea rezervarea.

Pentru cine nu ştie, filmul este despre punerea la cale a unui avort, acţiunea petrecându-se înainte de ‘89 (mare sursă de inspiraţie acei ani pentru scenografi!).

Filmul nu are cine ştie ce coloană sonoră (nu ştiam ce mă deranja) - multe scene au un zgomot de fond foarte annoying, neprelucrat. Deşi ajută la suspans, recunosc, nu ar fi stricat nişte melodii drăguţe. Am surprins o mică scăpare, la o fază când Găbiţă stătea în pat şi Otilia stătea în faţa patului, iar camera de filmat o surprindea pe cea din urmă dinspre pat, în televizor se reflectau şi alte mişcări în afară de persoana ce stătea în pat.

Cea mai sfredelitoare fază (nu îmi găsesc cuvintele la ora asta) a fost când Otilia vine la baie să se spele, de abia atunci am înţeles ce s-a întamplat şi m-a întristat, la fel de mult pe cât m-a uluit.

Este genul de film pe care l-aş revedea!

1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 5 out of 5)
Loading ... Loading …

Popularity: 14%

Bee

Posted on October 4th, 2007 in Reviews, Adobe, Developer | 3 Comments »

Bee este un blog editor, construit pe platforma Adobe® AIR™. Cu Bee poţi foarte uşor gestiona blogul tău bazat pe WordPress, dar te poţi conecta şi la contul de Flickr. Legătura dintre cele două servicii este că poţi adăuga rapid poze de pe Flickr sau le poţi încărca acolo atunci când ai de scris un post.

Cu Bee poţi să…

  • adaugi posturi, editezi posturi şi categorii, ştergi posturi din blogul tău WordPress, cauţi în posturile gestionate de Bee;
  • descarci tema blogului tău şi să vezi postul înainte de publicare;
  • faci toate cele de mai sus offline, pentru că Bee se sincronizează permanent cu server-ul blogului tău, iar la revenirea conexiunii, schimbările sunt actualizate şi pe blog;

Bee - BlogView

  • adaugi poze din contul de Flickr în postul editat, upload-ezi poze multiple pe Flickr prin drag & drop chiar în timp ce scrii un post, cauţi în pozele proprii sau ale comunităţii Flickr, adaugi poze la postul curent editat sau ştergi poze din contul tău de Flickr;
  • îţi ajuţi bunica să blogeze mai uşor, pentru că este localizat şi în română şi este foarte simplu de folosit;
  • gestionezi multiple conturi de WordPress sau Flickr
    (pentru maniacs ).

Cum a luat naştere Bee

Bee este proiectul la care am lucrat împreuna cu colegii mei de internship la Adobe Systems România. Aceştia sunt Alex, Cami, Andrei, Alex şi iar… Alex (50% şanse să îţi răspundă unul din noi dacă strigi Alex!). Echipa noastră a fost construită dupa modelul unei echipe tipice din Adobe şi cred că fiecare s-a integrat foarte bine în rolul său.

Bee - PhotoView

Ce mi-a plăcut mie cel mai mult este că am învăţat tot felul de best practices, am lucrat organizat şi am devenit mai organizat. Am avut şi mulţi critici de nădejde pe parcurs, dar ne-am descurcat şi am luat totul ca pe un feedback necesar şi constructiv. La aplicaţie am mai putea lucra luni bune de acum încolo şi tot nu am termina ce ne-am propus la început (cunoscătorii ştiu şi zâmbesc acum).

Ce este AIR?

AIR (Adobe Integrated Runtime, cunoscut şi ca Apollo) este o platformă Adobe ce permite dezvoltatorilor web să creeze aplicaţii pentru desktop, folosindu-se de tehnologiile şi uneltele cu care sunt obişnuiţi: HTML / Ajax sau Flash / Flex. Aplicaţiile AIR sunt portabile şi în acest moment poţi lansa aplicaţii atât pentru Windows cât şi pentru OS X fără eforturi suplimentare.

Când scriu acest articol, sunt două zile de când AIR Beta 2 a ieşit public la Adobe MAX 2007, în Chicago, USA. Tot acum câteva zile, a fost lansat pe Adobe Labs şi Bee ca aplicaţie demonstrativă pentru noul AIR.

Noul AIR vine cu suport drag & drop, integrare nativă cu sistemul de operare (icon în system tray, native menu), HTML security, îmbunătăţiri ale performanţelor şi sute de bug-uri reparate. Mai multe pe pagina AIR de pe Adobe Labs.

Download Bee

Pentru a rula Bee, trebuie să ai runtime-ul AIR instalat. Pentru a le instala automat pe amândouă, mergi acum la pagina de download.

Enjoy!

1 Star2 Stars3 Stars4 Stars5 Stars (6 votes, average: 5 out of 5)
Loading ... Loading …

Popularity: 34%

Wurbe #2

Posted on October 3rd, 2007 in Events, Adobe, Developer | 1 Comment »

A doua ediţie a Wurbe (web urbe), întâlnirea dezvoltatorilor web din Bucureşti (deşi am vorbit şi cu nişte tovarăşi care erau din Timişoara), a avut loc pe 1 octombrie, meeting găzduit de Adobe România. Prezenţi au fost peste 60 de oameni (nu pot şti exact), s-au suţinut cinci prezentări şi alte lightning talks (unele chiar am impresia că au fost postponed, pentru că oricum se făcuse târziu, iar prezentatorii şi prezentările lor erau asaltate cu păreri şi dezbateri). În pauze, s-a socializat la pizza şi suc din partea gazdei.

S-a discutat despre MonoRail (alternativă la RubyOnRails pentru dezvoltatorii .NET), prezentare susţinută de Justin Kadima de la Kondiment. Cristi Bălan (a.k.a. evil chelu) a prezentat o serie de tehnici şi hacks CSS (image replacement, reset.css etc.). A mai fost şi o prezentare susţinută într-un stil mai haios despre GTD (Getting Things Done), dar mi s-a părut destul de simplist ca model (deşi unele clasificări le faceam deja într-un fel sau altul) şi am reţinut doar că dacă o acţiune ia mai mult de două minute, faci delegate (sau am reţinut prost). Prezentatorul a propus implementarea lui şi anume: îţi trimiţi singur e-mail-uri din Thunderbird pe care le filtrezi GTD după subiect şi pe care le marchezi citite când task-urile sunt finalizate.

Spre final am asistat la o scurtă discuţie foarte la obiect pe tema Flex vs. OpenLaszlo. Cu ocazia asta am aflat şi despre un serviciu Google de care nu ştiam şi anume Google Trends, o sculă care analizează search trends (poţi enumera mai multe keywords cu virgulă pentru a le prezenta comparativ), de exemplu Flex, OpenLaszlo.

Click-uri diverse: wurbe.ro, Wurbe #2, program Wurbe #2, poze Wurbe #2 de Viorel Mocanu.

P.S.: Sugestii pentru organizatori:

  • am văzut că au fost mulţi pozari - ar fi ideal să existe un loc comun unde aceştia să-şi uploadeze fotografiile ca să le putem lua pe toate deodată automatizat;
  • cum cred că a mai zis cineva, prezentările ar trebui să intre într-o ordine care corespunde unei popularităţi ce a fost votată pe site-ul Wurbe.
1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 5 out of 5)
Loading ... Loading …

Popularity: 30%