<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-22038946</atom:id><lastBuildDate>Wed, 20 Jul 2011 08:08:08 +0000</lastBuildDate><category>testare</category><category>wurbe</category><title>Andrei Baragan</title><description /><link>http://andlei.blogspot.com/</link><managingEditor>noreply@blogger.com (Andrei Baragan)</managingEditor><generator>Blogger</generator><openSearch:totalResults>16</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/andreibaragan" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="andreibaragan" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-1055971871190276878</guid><pubDate>Mon, 06 Apr 2009 14:52:00 +0000</pubDate><atom:updated>2009-04-08T16:53:19.309+03:00</atom:updated><title>2Parale pentru Wordpress</title><description>In ultimele zile am lucrat la un plugin Wordpress pentru &lt;a href="http://2parale.ro/"&gt;2Parale&lt;/a&gt; (2Parale este un program de marketing bazat pe performanta).&lt;br /&gt;&lt;br /&gt;Pluginul permite inserarea de produse din magazinele 2Parale in posturile Wordpress. Acesta cuprinde un browser pentru vizualizarea / cautarea produselor in magazinele afiliate.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Instalare&lt;/h3&gt;1. Downloadati pluginul de pe &lt;a href="http://wordpress.org/extend/plugins/2parale-for-wordpress/"&gt;http://wordpress.org/extend/plugins/2parale-for-wordpress/&lt;/a&gt; si extrageti continutul in folderul /wp-content/plugins&lt;br /&gt;&lt;br /&gt;2. Activati pluginul din meniul Plugins.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Configurare&lt;/h3&gt;In meniul Options va aparea optiunea 2Parale. Pe acea pagina va puteti configura utilizatorul si parola 2Parale.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4GL24AJaamc/SdxqnEdHO8I/AAAAAAAAAIg/UU5qZ5T7ozs/s1600-h/2parale_screenshot_configuration.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 208px;" src="http://2.bp.blogspot.com/_4GL24AJaamc/SdxqnEdHO8I/AAAAAAAAAIg/UU5qZ5T7ozs/s320/2parale_screenshot_configuration.png" alt="" id="BLOGGER_PHOTO_ID_5322246079088376770" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;Folosire (pluginul apare la editarea/inserarea unui post/pagina)&lt;br /&gt;&lt;/h3&gt; 1. Selectati un magazin din lista de magazine. (Pentru a adauga in acea lista mergeti pe siteul 2Parale si inscrieti-va la campanii).&lt;br /&gt;&lt;br /&gt;2. Introduceti termeni de cautare (sau lasati gol pentru afisarea tuturor produselor) si click pe Search. Puteti cauta in bannere (produse cu imagine) sau in linkuri text.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4GL24AJaamc/SdxrB07W8rI/AAAAAAAAAIo/ole6Cx5vyE0/s1600-h/2parale_screenshot_initial.png"&gt;&lt;img style="cursor: pointer; width: 314px; height: 170px;" src="http://4.bp.blogspot.com/_4GL24AJaamc/SdxrB07W8rI/AAAAAAAAAIo/ole6Cx5vyE0/s320/2parale_screenshot_initial.png" alt="" id="BLOGGER_PHOTO_ID_5322246538776736434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. Gasiti produsul care va intereseaza, si alegeti una din cele 3 optiuni:&lt;br /&gt;&lt;b&gt;Add to post&lt;/b&gt; - insereaza produsul in post (imagine / link text, dupa caz). Produsul inserat contine linkul de afiliat.&lt;br /&gt;&lt;b&gt;Add url&lt;/b&gt; - insereaza in post linkul de afiliat (pentru a putea fi folosit dupa bunul plac)&lt;br /&gt;&lt;b&gt;View original&lt;/b&gt; - arata produsul pe siteul original al magazinului&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4GL24AJaamc/SdxrQ4GtgKI/AAAAAAAAAIw/KTiIiQqNXJU/s1600-h/2parale_screenshot_products.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 258px;" src="http://3.bp.blogspot.com/_4GL24AJaamc/SdxrQ4GtgKI/AAAAAAAAAIw/KTiIiQqNXJU/s320/2parale_screenshot_products.png" alt="" id="BLOGGER_PHOTO_ID_5322246797327696034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Pentru intrebari/etc lasati comentariu la acest post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-1055971871190276878?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2009/04/2parale-pentru-wordpress.html</link><author>noreply@blogger.com (Andrei Baragan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_4GL24AJaamc/SdxqnEdHO8I/AAAAAAAAAIg/UU5qZ5T7ozs/s72-c/2parale_screenshot_configuration.png" height="72" width="72" /><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-6312580543278372979</guid><pubDate>Wed, 27 Aug 2008 06:53:00 +0000</pubDate><atom:updated>2008-08-27T10:08:35.078+03:00</atom:updated><title>Problema traducere in Mozilla Ubiquity</title><description>Mozilla a lansat &lt;a href="https://wiki.mozilla.org/Labs/Ubiquity"&gt;Ubiquity pentru Firefox&lt;/a&gt;. Cea mai buna comparatie pe care o gasesc e "un Quicksilver pentru Firefox". Urmareste introducerea de mai jos pentru a iti da seama ce face Ubiquity.
&lt;br /&gt;&lt;object width="395" height="295"&gt;	&lt;param value="true" name="allowfullscreen"/&gt;	&lt;param value="always" name="allowscriptaccess"/&gt;	&lt;param value="http://www.vimeo.com/moogaloop.swf?clip_id=1561578&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=cc6600&amp;amp;fullscreen=1" name="movie"/&gt;	&lt;embed width="395" height="295" allowscriptaccess="always" allowfullscreen="true" type="application/x-shockwave-flash" src="http://www.vimeo.com/moogaloop.swf?clip_id=1561578&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=cc6600&amp;amp;fullscreen=1"/&gt;&lt;/object&gt;
&lt;br /&gt;
&lt;br /&gt;Mie imi place idea, si m-am hotarat sa il instalez. Un feature pe care asteptam sa il folosesc destul de des era comanda translate. Dar, in mod ciudat, &lt;a href="http://getsatisfaction.com/mozilla/topics/different_languages_in_nountypes_js_than_builtincmd_js_used_for_translate_command"&gt;limba romana nu functiona&lt;/a&gt;. 
&lt;br /&gt;
&lt;br /&gt;Ok, deschidem fisierul cu comenzile incluse &lt;abbr title="/Users/andrei/Library/Application Support/Firefox/Profiles/mrjdgrwc.default/extensions/ubiquity@labs.mozilla.com/chrome/content/" style="text-decoration: underline;"&gt;buildincmd.js&lt;/abbr&gt;, ne uitam la comanda translate si vedem un array cu limbi, intre care e prezenta si limba romana. Dar de ce totusi nu merge?
&lt;br /&gt;
&lt;br /&gt;In definitia functiei translate, vedem ca primeste un parametru (textul) si doi modificatori (from language and to language). Modificatorii sunt de tipul noun_type_language, tip pe care il gasim definit in nountypes.js (din acelasi director), unde surpriza, avem o alta lista de limbi, care nu include si limba romana (linia 174). 
&lt;br /&gt;
&lt;br /&gt;Pentru a avea translate in limba romana, modificati nountypes.js, var languages astfel incat sa contina si limba 'Romanian'.
&lt;br /&gt; 
&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-6312580543278372979?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/08/problema-traducere-in-mozilla-ubiquity.html</link><author>noreply@blogger.com (Andrei Baragan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-1001736930994197908</guid><pubDate>Mon, 28 Jul 2008 16:13:00 +0000</pubDate><atom:updated>2008-07-28T19:17:29.403+03:00</atom:updated><title>symfony interactive shell *standalone version*</title><description>&lt;a href="http://code.google.com/p/symfony-interactive-shell/"&gt;symfony interactive shell&lt;/a&gt; e acum si in varianta standalone, fara dependinte de PEAR.&lt;div&gt;Postul initial despre symfony interactive shell il gasiti &lt;a href="http://andlei.blogspot.com/2008/01/symfony-interactive-shell-cateva-ore.html"&gt;aici&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-1001736930994197908?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/07/symfony-interactive-shell-standalone.html</link><author>noreply@blogger.com (Andrei Baragan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-5182845683218478177</guid><pubDate>Wed, 11 Jun 2008 13:12:00 +0000</pubDate><atom:updated>2008-06-11T16:27:16.731+03:00</atom:updated><title>Trying out uberVU</title><description>&lt;a target="_blank" href="http://www.ubervu.com/"&gt;&lt;img style="float: left; margin-right: 10px" border="0" src="http://www.ubervu.com/img/ubervu.jpg" /&gt;&lt;/a&gt;&lt;a target="_blank" href="http://www.ubervu.com/"&gt;uberVU&lt;/a&gt; este un serviciu din care poti publica continutul tau pe o multitudine de platforme.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Serviciul este in beta, dar am primit invitatia destul de repede. Mai am 3 disponibile, cine vrea sa incerce - lasati un comentariu cu adresele de mail. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Am reusit sa testez publicarea de posturi (blogger) cat si de imagini (flicker). Totul a functionat cum trebuia. O singura chestie a fost mai ciudata, dupa ce am selectat poza ma asteptam sa fiu intrebat daca vreau sa o public, sau o confirmare. Ei nu, poza s-a dus direct in flickr, fara sa am posibilitatea de a ma razgandi.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ce imi place:&lt;ul&gt; &lt;li&gt;interfata&lt;/li&gt; &lt;li&gt;tot continutul tau este centralizat&lt;/li&gt; &lt;li&gt;poti urmari comentariile intr-un singur loc (cu ocazia asta am vazut ca am un comentariu la o poza de pe flickr)&lt;/li&gt;&lt;li&gt;cont pe &lt;a href="http://getsatisfaction.com/ubervu"&gt;getsatisfaction&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;Singurul dezavantaj *momentan* este lipsa mai multor canale de distributie, deocamdata continutul se limiteaza la posturi, imagini si video. In viitor se vor adauga social-networks, microblogging, platforme CMS. Eu unul abia astept.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Update: in timp ce scriam acest post (de pe uberVU) am observat ca daca schimbi intre editarea Visual si cea Code, si te intorci la Visual atunci paragrafele se pierd. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Posted with &lt;a target="_blank" href="http://www.ubervu.com/"&gt;uberVU&lt;/a&gt; - say hello to the whole world&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-5182845683218478177?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/06/trying-out-ubervu.html</link><author>noreply@blogger.com (Andrei Baragan)</author><thr:total>6</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-2698828698725946418</guid><pubDate>Tue, 03 Jun 2008 15:10:00 +0000</pubDate><atom:updated>2008-06-03T18:15:42.328+03:00</atom:updated><title>Live like you suck</title><description>Vesti buni pentru curentul emo de la &lt;a href="http://trizle.com/"&gt;Trizle&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;"Why?&lt;br /&gt;&lt;br /&gt;Happiness makes you complacent with $$$.&lt;br /&gt;Instead of trying to improve yourself, you settle for "This is who I am! I am so proud of myself!"&lt;br /&gt;So, you continue doing what you're doing -- never really improving on how you financially live your life."&lt;br /&gt;&lt;br /&gt;Cu cat esti mai nefericit, cu atat iti vei da seama cum sa castigi mai mult pe plan financiar.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://learn.trizle.com/posts/1068-how-happiness-makes-you-poor"&gt;Articolul original aici&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-2698828698725946418?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/06/live-like-you-suck.html</link><author>noreply@blogger.com (Andrei Baragan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-1881331666735342807</guid><pubDate>Wed, 16 Apr 2008 10:03:00 +0000</pubDate><atom:updated>2008-04-16T13:04:32.182+03:00</atom:updated><title>Cautam coleg</title><description>Căutăm indivizi perfecționiști care doresc să-și etaleze capacitățile ultrasenzaționale de maimuțe gânditoare prin proiecte indubitabil interesante.&lt;br /&gt;&lt;br /&gt;Restul pe &lt;a href="http://www.jobber.ro/job/1134/code-monkey-la-brainient/"&gt;http://www.jobber.ro/job/1134/code-monkey-la-brainient/&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-1881331666735342807?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/04/cautam-coleg.html</link><author>noreply@blogger.com (Andrei Baragan)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-946621511269630885</guid><pubDate>Fri, 14 Mar 2008 19:55:00 +0000</pubDate><atom:updated>2008-03-14T22:57:29.306+02:00</atom:updated><title>Am intrat in beta - eOk.ro</title><description>&lt;script type="text/javascript" charset="utf-8" src="http://beta.eok.ro/js/widget.php?wp=1&amp;wca=0x0066CC&amp;wcb=0xffffff&amp;wcc=0xEFEFEF&amp;wcd=0x6A6A6A&amp;wt=102_103_104_105_106_107_108_109_110_111_112_113_114_115_116_117_118_119_120_121_122_123_124_125_126_127_128_129_130_131_132_133_134_135_136_137_138_139_140_141_142_143_144_145_146_147_286_325_358_390_541_1545_2169_2170_2171_2172_2173_2174_2175_2176_2177_2178_2179_2180_2181_2182_2183_2184_2185_2186_2187_2188_2189_2190_2191"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-946621511269630885?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/03/ceva-de-demult.html</link><author>noreply@blogger.com (Andrei Baragan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-2704837661815317630</guid><pubDate>Thu, 28 Feb 2008 13:45:00 +0000</pubDate><atom:updated>2008-02-28T15:50:41.096+02:00</atom:updated><title>Usability in spam</title><description>&lt;div style="border: 1px solid #000"&gt;VlshAGRA $1 .15 www.containerc-heat.com&lt;br /&gt;Remove '-' from the domain name to make it work ;)&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Si pe deasupra www.containerc-heat.com era un link care ducea la domeniul cu liniuta - deci cel care nu functioneaza. &lt;br /&gt;&lt;br /&gt;Sigur ca acum toata lumea care primeste emailul va stea sa dea copy, deschida o fereastra noua, apoi paste, apoi sa scoata liniuta si apoi sa dea Enter. Mai bine il prindea filtrul de spam decat asa User Experience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-2704837661815317630?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/02/usability-in-spam.html</link><author>noreply@blogger.com (Andrei Baragan)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-8566620420969297088</guid><pubDate>Wed, 27 Feb 2008 16:41:00 +0000</pubDate><atom:updated>2008-02-27T18:57:57.571+02:00</atom:updated><title>Backup pe Amazon S3</title><description>Task: Se da serverul unui client, pe care e ruleaza o aplicatie symfony. Sa se faca backup la acea aplicatie (fisiere cam 10 GB, baza de date cam 25 MB).&lt;br /&gt;&lt;br /&gt;Nu o sa insist pe motivele alegerii Amazon S3, o sa zic doar ca:&lt;br /&gt;- e ieftin + platesti numai ce consumi&lt;br /&gt;- datele sunt stocate pe mai multe servere deci practic nu ai cum sa le pierzi&lt;br /&gt;- viteze ok de transfer&lt;br /&gt;&lt;br /&gt;Fisierele in S3 sunt stocate intr-un bucket (galeata); fiecare cont poate avea una/mai multe bucketuri.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Cum am facut eu&lt;/span&gt;:&lt;br /&gt;- fisiere php batch (care se ruleaza din linia de comanda) pastrate in folderul batch din symfony&lt;br /&gt;- am folosit clasa lui Donovan Schonknecht de aici &lt;a href="http://undesigned.org.za/2007/10/22/amazon-s3-php-class"&gt;http://undesigned.org.za/2007/10/22/amazon-s3-php-class&lt;/a&gt;&lt;br /&gt;- se face backup la fisierele din web/uploads care sunt arhivate cu tar si gzip (arhiva pastreaza directoarele); arhiva poarta in filename ziua in care s-a facut backupul&lt;br /&gt;- pentru baza de date se face mysqldump mysqldump -u root --password=\"parola_de_root\" numele_bazei_de_date &gt; db.sql, se arhiveaza si se uploadeaza pe S3&lt;br /&gt;- fisierele php sunt apelate din cron, o data pe zi pentru baza de date si o data pe saptamana pentru fisiere&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Cod pentru salvarea bazei de date:&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;include('backup_config.php');&lt;br /&gt;$f = fopen("backup.log", "a");&lt;br /&gt;$date = date("Y-m-d");&lt;br /&gt;&lt;br /&gt;exec("mysqldump -u root --password=\"parola_de_root\" numele_bazei_de_date &gt; db_{$date}.sql");&lt;br /&gt;exec("tar czf db_{$date}.tgz db_{$date}.sql");&lt;br /&gt;if ($s3-&gt;putBucket(BUCKET, S3::ACL_PUBLIC_READ)) &lt;br /&gt;{&lt;br /&gt;  if ($s3-&gt;putObjectFile("db_{$date}.tgz", BUCKET, "db_{$date}.tgz")) &lt;br /&gt;  {&lt;br /&gt;    fputs($f, "{$date} File copied: db_{$date}.tgz\n");&lt;br /&gt;  }&lt;br /&gt;  else&lt;br /&gt;  {&lt;br /&gt;    fputs($f, "{$date} *** Failed to copy: db_{$date}.tgz\n");&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;  fputs($f, "{$date} *** Cannot create bucket " . BUCKET ."\n");&lt;br /&gt;}&lt;br /&gt;fclose($f);&lt;br /&gt;unlink("db_{$date}.sql");&lt;br /&gt;unlink("db_{$date}.tgz");&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Cod pentru salvarea fisierelor:&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;include('backup_config.php');&lt;br /&gt;&lt;br /&gt;//Archive web/uploads&lt;br /&gt;$dir = '../web/uploads';&lt;br /&gt;&lt;br /&gt;$dir_name = basename($dir);&lt;br /&gt;$date = date("Y-m-d");&lt;br /&gt;$archive = "{$dir_name}_{$date}.tgz";&lt;br /&gt;&lt;br /&gt;exec("tar czf {$archive} {$dir}");&lt;br /&gt;&lt;br /&gt;$f = fopen("backup.log", "a");&lt;br /&gt;&lt;br /&gt;if ($s3-&gt;putBucket(BUCKET, S3::ACL_PUBLIC_READ)) &lt;br /&gt;{&lt;br /&gt;  if ($s3-&gt;putObjectFile($archive, BUCKET, $archive)) &lt;br /&gt;  {&lt;br /&gt;    fputs($f, "{$date} File copied: ".basename($archive)."\n");&lt;br /&gt;  }&lt;br /&gt;  else&lt;br /&gt;  {&lt;br /&gt;    fputs($f, "{$date} *** Failed to copy: ". basename($archive). "\n");&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;  fputs($f, "{$date} *** Cannot create bucket " . BUCKET ."\n");&lt;br /&gt;}&lt;br /&gt;fclose($f);&lt;br /&gt;unlink($archive);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Cod pentru listarea continutului unui bucket:&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;include('backup_config.php');&lt;br /&gt;&lt;br /&gt;echo "Listing items in bucket: " . BUCKET . "\n";&lt;br /&gt;if ($files = $s3-&gt;getBucket(BUCKET))&lt;br /&gt;{&lt;br /&gt;  foreach ($files as $key =&gt; $list) &lt;br /&gt;  {&lt;br /&gt;    if ($list['size'] &lt;= 1024){&lt;br /&gt;      $size = $list['size'] . " bytes";&lt;br /&gt;    }elseif ($list['size'] &gt;= 1024 * 1024){&lt;br /&gt;      $size = intval($list['size'] /(1024*1024)). " MB";&lt;br /&gt;    }elseif ($list['size'] &gt;= 1024 * 1024 * 1024){&lt;br /&gt;      $size = intval($list['size'] /(1024*1024 *1024)). " GB";&lt;br /&gt;    }else{&lt;br /&gt;      $size = intval( $list['size'] / 1024 ) . " KB";&lt;br /&gt;    }&lt;br /&gt;    echo "\t" . $key." ($size)\n";&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;else&lt;br /&gt;{&lt;br /&gt;  echo "\tBucket does not exist!\n";&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;backup_config.php&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;error_reporting(E_ALL);&lt;br /&gt;ini_set('display_errors','on');&lt;br /&gt;&lt;br /&gt;// S3 class usage&lt;br /&gt;include('backup_s3.class.php');&lt;br /&gt;// AWS access info&lt;br /&gt;define('awsAccessKey', 'access_key');&lt;br /&gt;define('awsSecretKey', 'secret_key');&lt;br /&gt;$s3 = new S3(awsAccessKey, awsSecretKey);&lt;br /&gt;define('BUCKET', 'mybucket');&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Probleme:&lt;br /&gt;- timpul de pe server trebuie sa fie apropiat de timpul lui Amazon S3 (daca ai server in State nu poti face backup pe un cont de Europa - decat daca modifici headerele care sunt trimise :-))&lt;br /&gt;- (nu sunt sigur) daca ai server in State si incerci sa faci backup pe cont de Europa primesti Status 403 - Access denied&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-8566620420969297088?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/02/backup-pe-amazon-s3.html</link><author>noreply@blogger.com (Andrei Baragan)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-5237716292110953275</guid><pubDate>Sun, 10 Feb 2008 11:28:00 +0000</pubDate><atom:updated>2008-02-10T13:54:35.949+02:00</atom:updated><title>howto sitemap.xml</title><description>Azi am facut sitemap pentru &lt;a href="http://www.vertimo.ro/"&gt;vertimo&lt;/a&gt; (proiectul de casa de la Brainient).&lt;br /&gt;&lt;br /&gt;Generarea se face intr-un fisier batch din symfony, in cazul meu sitemap-generator.php. Scriptul se apeleaza din cron - o data pe zi.&lt;br /&gt;&lt;br /&gt;Cum avem destul de multe inregistrari (circa 20.000) nu pot fi toate bagate intr-un singur sitemap, ci se genereaza un sitemap index sitemap.xml ce contine linkuri catre fisiere aditionale results_sitemap_X.xml.&lt;br /&gt;&lt;br /&gt;Dimensiunea maxim recomandata a unui sitemap e de circa 10mb necomprimat ce poate contine maxim 50.000 url-uri. Fisierele sunt comprimate cu gzip, format recunoscut de toate motoarele.&lt;br /&gt;&lt;br /&gt;Vroiam sa va arat aici codul dar Blogger nu e de acord asa ca sitemap-generator.php e aici &lt;a href="http://pastebin.com/f40bdba35"&gt;http://pastebin.com/f40bdba35&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-5237716292110953275?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/02/howto-sitemapxml.html</link><author>noreply@blogger.com (Andrei Baragan)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-5161106297107686118</guid><pubDate>Thu, 24 Jan 2008 15:51:00 +0000</pubDate><atom:updated>2008-12-11T19:06:16.597+02:00</atom:updated><title>symfony interactive shell - cateva ore mai tarziu</title><description>Am creat un proiect pe google code de unde se poate downloada &lt;a href="http://code.google.com/p/symfony-interactive-shell/"&gt;http://code.google.com/p/symfony-interactive-shell/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Instalarea si folosirea se petrec cam asa:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;instaleaza PHP_Shell din PEAR: pear install channel://pear.php.net/PHP_Shell-0.3.0 &lt;/li&gt;&lt;li&gt;download &lt;a href="http://symfony-interactive-shell.googlecode.com/files/symfony-interactive.php" rel="nofollow"&gt;symfony-interactive.php&lt;/a&gt; si pune-l in directorul cu proiectul symfony. Exemplu: /var/www/htdocs/myapp &lt;/li&gt;&lt;li&gt;rulezi asa (in directorul proiectului): php symfony-interactive.php &lt;/li&gt;&lt;/ol&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4GL24AJaamc/R5i5x8z5ESI/AAAAAAAAAAw/AEv6w26GgYc/s1600-h/symfony_interactive_shell.jpg"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_4GL24AJaamc/R5i5x8z5ESI/AAAAAAAAAAw/AEv6w26GgYc/s320/symfony_interactive_shell.jpg" alt="" id="BLOGGER_PHOTO_ID_5159077640941408546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Acum ai access la toate obiectele Propel, clasele din symfony etc. Pentru sugestii, aplauze si critici va rog pe comentarii.&lt;br /&gt;&lt;br /&gt;Update: Versiunea care functioneaza cu symfony 1.1 e &lt;a href="http://symfony-interactive-shell.googlecode.com/files/symfony11-interactive-standalone.php"&gt;http://symfony-interactive-shell.googlecode.com/files/symfony11-interactive-standalone.php&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-5161106297107686118?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/01/symfony-interactive-shell-cateva-ore.html</link><author>noreply@blogger.com (Andrei Baragan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_4GL24AJaamc/R5i5x8z5ESI/AAAAAAAAAAw/AEv6w26GgYc/s72-c/symfony_interactive_shell.jpg" height="72" width="72" /><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-9128966961351576703</guid><pubDate>Thu, 24 Jan 2008 13:47:00 +0000</pubDate><atom:updated>2008-12-11T19:06:17.339+02:00</atom:updated><title>symfony interactive shell - a la IRB</title><description>De cand am vazut IRB din ruby si in special folosit in RoR am fost invidios ca symfony nu are asa ceva. Si nici pana acum nu am gasit.&lt;br /&gt;&lt;br /&gt;Dar am descoperit o metoda prin a rula un php shell cu access full la toate clasele din symfony. Acum e la stadiul de concept dar in viitor il voi transforma intr-un script de sine statator.&lt;br /&gt;&lt;br /&gt;Ok sa trecem la subiect. Se presupune ca aveti deja instalat PEAR, din moment ce aveti symfony.&lt;br /&gt;&lt;br /&gt;1. Se instaleaza PHP_Shell, pachet din PEAR. Cel mai optimist asa: pear install channel://pear.php.net/PHP_Shell-0.3.0&lt;br /&gt;&lt;br /&gt;2. Se ruleaza din consola php-shell.sh (sau php-shell.bat daca ai Windows)&lt;br /&gt;&lt;br /&gt;3. Se introduc urmatoarele instructiuni in terminal la promptul "&gt;&gt;" (eu le dau paste la toate o data - instructiuni specifice pentru fisierele batch din symfony)&lt;br /&gt;&lt;br /&gt;define('SF_ROOT_DIR',    '/calea/catre/radacina/aplicatiei'); #/var/www/htdocs/aplicatie &lt;br /&gt;define('SF_APP',         'frontend');&lt;br /&gt;define('SF_ENVIRONMENT', 'dev');&lt;br /&gt;define('SF_DEBUG' , true);&lt;br /&gt;&lt;br /&gt;require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR.&lt;wbr/&gt;SF_APP.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'config.php');&lt;br /&gt;&lt;br /&gt;// initialize database manager&lt;br /&gt;$databaseManager = new sfDatabaseManager();&lt;br /&gt;$databaseManager-&gt;initialize();&lt;br /&gt;&lt;br /&gt;4. Presupunand ca totul a fost ok, acum puteti face lucruri de genul:&lt;br /&gt;&lt;br /&gt;&gt;&gt; $user = UserPeer::doSelectOne(new Criteria());&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4GL24AJaamc/R5iXfsz5EPI/AAAAAAAAAAY/V2RMHKgu7kw/s1600-h/terminal_1.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_4GL24AJaamc/R5iXfsz5EPI/AAAAAAAAAAY/V2RMHKgu7kw/s320/terminal_1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5159039944013451506" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&gt;&gt; $user-&gt;getName()&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4GL24AJaamc/R5iXfsz5EQI/AAAAAAAAAAg/IHb5Gg0zWY0/s1600-h/terminal_2.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_4GL24AJaamc/R5iXfsz5EQI/AAAAAAAAAAg/IHb5Gg0zWY0/s320/terminal_2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5159039944013451522" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&gt;&gt; $user-&gt;setName('Andreius Baragan')&lt;br /&gt;&gt;&gt; $user-&gt;save()&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4GL24AJaamc/R5iY58z5ERI/AAAAAAAAAAo/4p9FlOweZe4/s1600-h/terminal_3.jpg"&gt;&lt;img style="cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_4GL24AJaamc/R5iY58z5ERI/AAAAAAAAAAo/4p9FlOweZe4/s320/terminal_3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5159041494496645394" /&gt;&lt;/a&gt;&lt;br /&gt;- lucru care, in mod surpinzator, va salva in baza de date&lt;br /&gt;&lt;br /&gt;Motivele pentru care ai vrea sa folosesti asa ceva sunt numeroase: poti updata baza de date fara sql :), poti folosi metode proprii ale modelului, samd.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-9128966961351576703?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/01/symfony-interactiv-la-irb.html</link><author>noreply@blogger.com (Andrei Baragan)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_4GL24AJaamc/R5iXfsz5EPI/AAAAAAAAAAY/V2RMHKgu7kw/s72-c/terminal_1.jpg" height="72" width="72" /><thr:total>3</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-2392066006493607971</guid><pubDate>Tue, 22 Jan 2008 13:41:00 +0000</pubDate><atom:updated>2008-01-22T15:43:14.219+02:00</atom:updated><title>Experienta mea cu jobber</title><description>De &lt;a href="http://www.jobber.ro"&gt;jobber&lt;/a&gt; nu mai imi aduc aminte de unde am auzit, cert e ca l-am retinut de prima oara de cand l-am vazut. &lt;br /&gt;&lt;br /&gt;Ce imi place cel mai mult la jobber e faptul ca nu iti sta in cale, nu ai bariere de intrare. Cauti un anunt la care vrei sa aplici, dai paste la o scrisoare de intentie, faci browse pentru cv si ai trimis. &lt;br /&gt;Rinse and repeat. &lt;br /&gt;&lt;br /&gt;Experienta mea personala cu jobber: din 6-7 pozitii la care am aplicat am reusit sa merg la 4 interviuri, un procent extraordinar de mare fata de experientele cu siteurile clasice de joburi (fara a pune in discutie bariera de intrare - trebuie completate x formulare, chestie care iti poate lua usor 1 zi). Trei din cele patru firme la care am fost la interviu au vrut sa continuam. Jobber works frate.&lt;br /&gt;&lt;br /&gt;Acum sunt Project Manager la Brainient si daca cineva vrea sa incerce experienta cu jobber o poate face aici &lt;a href="http://www.jobber.ro/job/594/developer-php-4-pozitii-la-brainient/"&gt;http://www.jobber.ro/job/594/developer-php-4-pozitii-la-brainient/&lt;/a&gt; :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-2392066006493607971?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/01/experienta-mea-cu-jobber.html</link><author>noreply@blogger.com (Andrei Baragan)</author><thr:total>1</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-1554818514305615896</guid><pubDate>Tue, 22 Jan 2008 11:14:00 +0000</pubDate><atom:updated>2008-01-22T13:20:22.630+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">wurbe</category><category domain="http://www.blogger.com/atom/ns#">testare</category><title>Wurbe #5</title><description>Am fost aseara la intalnirea cu numarul 5 a developerilor din Bucuresti. Tema intalnirii [pe langa pizza, bere &amp; networking] a fost Testarea codului.&lt;br /&gt;&lt;br /&gt;Testam, nu testam, dureaza scrierea testelor mai mult decat scrierea aplicatiei, scriem teste inainte si aplicatia dupa [weird shit] ? &lt;br /&gt;Nu prea m-am lamurit dar i-am cam promis lui &lt;a href="http://vivi.ro"&gt;Vivi&lt;/a&gt; ca o sa scriu un unit test zilele astea. Acum trebuie doar sa vad cum fac toate astea in symfony :) tinand cont ca a fost plin de rubyisti.&lt;br /&gt;&lt;br /&gt;Vivi zice: codul prima data, testele dupa; Cosmin si cu &lt;a href="http://che.lu/"&gt;Chelu&lt;/a&gt; sustin TDD/BDD (cam singura diferenta ar fi ca BDD are sintaxa "pretty"). &lt;br /&gt;Cred ca testarea codului e mai buna decat nici o testare, si ca iti poate imbunatati arhitectura aplicatiei.&lt;br /&gt;&lt;br /&gt;Alte prezentari interesante s-au legat de Browser controller testing, o modalitate foarte interesanta de a simula comportamentul unui utilizator folosind un browser real - controlat de catre soft.&lt;br /&gt;&lt;br /&gt;Mai multe detalii pe &lt;a href="http://wurbe.ro"&gt;wurbe.ro&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Cuvinte cheie (in caz ca vreti sa-l intrebati pe G): unit testing, tdd, bdd, browser controller testing, selenium, watir.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-1554818514305615896?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/01/wurbe-5.html</link><author>noreply@blogger.com (Andrei Baragan)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-1453436181147898912</guid><pubDate>Sat, 12 Jan 2008 14:03:00 +0000</pubDate><atom:updated>2008-01-12T16:08:15.064+02:00</atom:updated><title>Brainient angajeaza</title><description>&lt;a href="http://www.jobber.ro/job/594/developer-php-4-pozitii-la-brainient/"&gt;pe jobber&lt;/a&gt;. &lt;br /&gt;Astept cu nerabdare colegi noi :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-1453436181147898912?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2008/01/brainient-angajeaza_6498.html</link><author>noreply@blogger.com (Andrei Baragan)</author><thr:total>2</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-22038946.post-3129340463173840290</guid><pubDate>Tue, 06 Nov 2007 07:41:00 +0000</pubDate><atom:updated>2008-11-06T09:45:16.542+02:00</atom:updated><title>Related Content</title><description>The above article features related content&lt;br /&gt;&lt;!-- FULL PAGE CONTENT WIDGET START --&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;  var PLUCKIT_APIKEY = 'de0a9acd-7ade-481b-a329-b2d5c431a7de';&lt;br /&gt;  var PLUCKIT_WIDGET_OPTIONS = {&lt;br /&gt;    'whichPage' : '',&lt;br /&gt;    'articlePage' : {&lt;br /&gt;        'showRelatedContent' : 'true',&lt;br /&gt;        'contentType' : 'all',&lt;br /&gt;        'showThumbnail' : 'true',&lt;br /&gt;        'showAbstract' : 'true',&lt;br /&gt;        'maxResults' : '10',&lt;br /&gt;        'showComments' : 'true',&lt;br /&gt;        'showRecommendations' : 'true',&lt;br /&gt;        'adWidth' : 'narrow'&lt;br /&gt;    },&lt;br /&gt;    'topicPage' : {&lt;br /&gt;        'contentType' : 'all',&lt;br /&gt;        'showThumbnail' : 'true',&lt;br /&gt;        'showAbstract' : 'true',&lt;br /&gt;        'maxResults' : '5',&lt;br /&gt;        'showLatestComments' : 'true',&lt;br /&gt;        'showUserDiscovery' : 'true',&lt;br /&gt;        'numberOfUsers' : '18'&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;&lt;/script&gt;&lt;script type="text/javascript" src="http://pluckit.demandmedia.com/Widgets/v1/PluckItSmartWidget/generated.js?apiKey=de0a9acd-7ade-481b-a329-b2d5c431a7de"&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- FULL PAGE CONTENT WIDGET END --&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22038946-3129340463173840290?l=andlei.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><link>http://andlei.blogspot.com/2007/11/related-content.html</link><author>noreply@blogger.com (Andrei Baragan)</author></item></channel></rss>

