<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>bogdan_constantinescu</title>
	<atom:link href="http://www.bogdanconstantinescu.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bogdanconstantinescu.com</link>
	<description>idei binare</description>
	<lastBuildDate>Thu, 08 Mar 2012 13:29:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Software development-ul de Romania &#8211; partea 1</title>
		<link>http://www.bogdanconstantinescu.com/2011/04/21/software-developmentul-de-romania-partea-intai/</link>
		<comments>http://www.bogdanconstantinescu.com/2011/04/21/software-developmentul-de-romania-partea-intai/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 22:08:13 +0000</pubDate>
		<dc:creator>Bogdan Constantinescu</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[software development]]></category>

		<guid isPermaLink="false">http://www.bogdanconstantinescu.com/?p=221</guid>
		<description><![CDATA[Incep acest articol prin a puncta ca nicidecum nu imi doresc sa reinventez roata si sa scriu despre software development in general, lucru pe care l-au facut mai bine multi altii inaintea mea. Vreau sa fac o lista cu problemele (&#8230;)</p><p><a href="http://www.bogdanconstantinescu.com/2011/04/21/software-developmentul-de-romania-partea-intai/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Incep acest articol prin a puncta ca nicidecum nu imi doresc sa reinventez roata si sa scriu despre software development in general, lucru pe care l-au facut mai bine multi altii inaintea mea. Vreau sa fac o lista cu problemele intalnite de mine in software development-ul din Romania.<br />
Desi nu-mi plac intotdeauna generalizarile, sunt convins ca peste 80% dintre developerii romani se confrunta cu aceste probleme in fiecare zi.</p>
<p><span id="more-221"></span></p>
<p>In cei 6 ani de cand lucrez in aceasta industrie am avut ocazia sa vad mai multe greseli, aparent minore, care fac viata unui software developer un adevarat infern. </p>
<p>O sa vorbesc azi despre unul dintre factorii majori in development: calitatea "sculelor".</p>
<h2>Hardware-ul</h2>
<p>Problema eterna cand vine vorba de scris cod este <strong>hardware-ul</strong>. Fie insuficient, fie vechi, hardware-ul este probabil cea mai mare greseala pe care o fac firmele care dezvolta software. Nu are absolut nici o relevanta daca faci scripting sau compilezi, intotdeauna se va putea rezolva acel task mai repede. Din punctul meu de vedere, hardware-ul ar trebui sa fie in primele 3 locuri pe lista investitiilor pentru absolut orice firma.</p>
<p><em>Software developerii nu sunt contabile!</em></p>
<p>In experienta mea am avut neplacerea sa aflu ca lucram pe un sistem din care un individ de la client service luase o placa de RAM ca "avea si el nevoie ca i se misca incet PC-ul". Si uite asa, client service - software developer (1 - 0). Eu dezvoltam pe un sistem cu 1GB RAM si client service-ul se uita pe YouTube cu 2GB. E foarte placut cand astepti sa se deschida Exporer-ul dupa un dublu-click, nu? Am avut zile in care ma uitam la clepsidra din Windows cel putin 30 de minute. Productivitate? Sigur ca da, sky high!</p>
<p>Ca si numar de locuri de munca unde am avut sisteme top notch, la mine cifra magica este <strong>2</strong>, iar la unul dintre ele imi foloseam laptopul personal. Ca sa fiu absolut corect si sa nu pun la socoteala laptopul meu, atunci ramanem la <strong>1</strong>: un singur angajator mi-a oferit <em>the best things money can buy</em>.</p>
<p>La actualul loc de munca lucrez pe un sistem decent, dar cu prea putin RAM: 2GB. Am facut request-ul la IT si astept cu mare interes zilele mai fericite si mai lipsite de "Not Responding", "Mozilla Crash Reporter" si de eterna clepsidra redesenata din Windows 7, dupa ce voi avea 4GB memorie instalata in PC.</p>
<h3>Efectul asupra productivitatii: -3</h3>
<p>Pe o scara de la 1 la 10, 1 fiind minimul iar 10 maximul, o ora de lucru pe un sistem care nu se comporta cum as vrea eu, productivitatea mea scade de la un maxim de 10 la 7.</p>
<h3>Concluzia</h3>
<p>Software developer-ul trebuie sa piarda cat mai putin timp pretios si nu trebuie sa-si faca nervi lucrand pe un sistem cu specificatii mai slabe decat un aparat de facut cafea! Developerii <strong>trebuie</strong> sa aiba statii de lucru top notch!</p>
<p>Urmatorul post din seria <em>Software development de Romania</em> are ca subiect o alta problema des intalnita in firmele care dezvolta software.</p>
<h4>Crezi ca stii care este urmatorul subiect?</h4>
<p>Atunci raspunde in formularul de mai jos! O sa las si un ajutor in descoperirea lui <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Geek hint: <em>EAscFQsABxEeUwgTUwYbAQsH</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogdanconstantinescu.com/2011/04/21/software-developmentul-de-romania-partea-intai/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>A fost odata Firedive&#8230;</title>
		<link>http://www.bogdanconstantinescu.com/2010/11/01/a-fost-odata-firedive/</link>
		<comments>http://www.bogdanconstantinescu.com/2010/11/01/a-fost-odata-firedive/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 20:53:44 +0000</pubDate>
		<dc:creator>Bogdan Constantinescu</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[firedive]]></category>

		<guid isPermaLink="false">http://www.bogdanconstantinescu.com/?p=163</guid>
		<description><![CDATA[Dupa ultimele zile in care m-am tot gandit daca sa scriu sau nu acest post, dupa cele cateva drafturi care zac pe blog, m-am hotarat sa-l public. Asta e ultima varianta pe care o scriu si o sa-i dau `Publish` (&#8230;)</p><p><a href="http://www.bogdanconstantinescu.com/2010/11/01/a-fost-odata-firedive/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Dupa ultimele zile in care m-am tot gandit daca sa scriu sau nu acest post, dupa cele cateva drafturi care zac pe blog, m-am hotarat sa-l public. Asta e ultima varianta pe care o scriu si o sa-i dau `Publish` cand voi termina.</p>
<p>Pentru mine Firedive a inceput in toamna lui 2006, tocmai terminasem liceul si tot vorbind cu <a href="http://www.alexbuga.com">Alex</a> am ajuns sa ma duc la un interviu, desi nu-mi faceam mari sperante c-o sa-mi gasesc un job. Si asa am ajuns pe strada <i>Austrului 12, casa 3</i>. Acolo i-am cunoscut pe <a href="http://www.summertwin.com">Loredana</a> si pe <a href="http://www.andistancu.eu">Andi</a>. In mare, ideea e ca m-am angajat la Firedive dupa o scurta discutie si de aici a inceput intreaga poveste a postului pe care tocmai il scriu.</p>
<p><span id="more-163"></span></p>
<p>Stateam si ma gandeam in ultimele zile ce a insemnat pentru mine Firedive si care au fost lucrurile pe care le-am facut pentru prima data acolo si lista e probabil interminabila. Acolo m-am jucat prima data mai serios cu un Mac (sa stii Andi, cand citesti asta, fostul eu din trecut inca te uraste ca aveai PowerBook G4 <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_lol.gif' alt=':lol:' class='wp-smiley' />  ), acolo mi-am luat primul laptop, acolo am stat pentru prima data peste noapte sa lucrez; dupa ce i-am imbolnavit pe toti cu World of Warcraft, acolo a fost prima data cand am stat peste noapte ca sa ne jucam WoW. Inca imi aduc aminte de shaormeria de la Popa Nan colt cu Pache Protopopescu care facea niste pui shanghai deliciosi, de Fabaria unde am mai mers de fiecare data cand am avut ocazia (parca batea si netul wireless din Austrului acolo <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  ). Prima pizza de la Trenta. Imi aduc aminte de Volkswagenul transporter pe care l-am umplut cu mobila cand ne-am mutat pe Madrid; eram cu Capi in spate si Andi ne cara ca pe niste saci cartofi.</p>
<p>Madrid. Primul XBox pe care ne jucam ceva cu snowboard. Wii-ul la care intotdeauna imi faceam exercitii zilnice si care zicea ca toon-ul meu e fit (ca eu n-as prea crede ca se referea la mine); meciurile obositoare de tenis, box, golf; 2lamai; vertex; $foo[0][0]; Firefox 2 la care m-au `fortat` sa trec (mie imi placea 1.5 <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ); prima oara cand am lucrat pe scari cu laptopul in brate; noptile de scris la vertex v2 si berile baute pe ascuns (you didn't know that, did you? <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  )</p>
<p>Primii pasi seriosi cu javascript; script.aculo.us; AJAX; plimbarile nocturne in Clio-ul lui Capi; prima data cand am lovit usa masinii cuiva de un stalp (I'm sorry, Andi); Cola la comun si mesele improvizate din random food; SVN; primul "framework" la care am lucrat...</p>
<p>M-am gandit in sfarsit sa public postul asta care a fost inceput pe 7 iulie 2009 dupa ultima intalnire cu Andi si cu Lori si dupa recenta schimbare de job care m-a facut, ca fiecare la randul ei, sa-mi aduc aminte de vremurile petrecute in Firedive.<br />
Pentru mine Firedive a fost primul loc in care am lucrat serios, cu placere si alaturi de niste super-colegi si sunt convins ca azi nu as fi fost aici si acelasi daca nu as fi trecut prin acea perioada care m-a schimbat personal si profesional.</p>
<p>Cu nostalgie,<br />
Un Firediver</p>
<p><em>PS: mai multe lucruri despre Firedive puteti afla din cele cateva posturi de pe <a href="http://andistancu.eu/category/firedive/">blogul lui Andi</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogdanconstantinescu.com/2010/11/01/a-fost-odata-firedive/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How To Web</title>
		<link>http://www.bogdanconstantinescu.com/2009/10/21/how-to-web/</link>
		<comments>http://www.bogdanconstantinescu.com/2009/10/21/how-to-web/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 07:54:26 +0000</pubDate>
		<dc:creator>Bogdan Constantinescu</dc:creator>
				<category><![CDATA[Intamplari de peste zi]]></category>

		<guid isPermaLink="false">http://www.bogdanconstantinescu.com/?p=178</guid>
		<description><![CDATA[Am aflat că Sâmbată, 31 Octombrie 2009 are loc evenimentul ”How To Web”. M-am uitat peste program și la speakeri și deja am fost captivat. Dacă ești interesat de fenomenul web, de workshop-uri bazate pe acest domeniu, vino și tu. (&#8230;)</p><p><a href="http://www.bogdanconstantinescu.com/2009/10/21/how-to-web/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Am aflat că Sâmbată, 31 Octombrie 2009 are loc evenimentul <a href="http://www.how-to-web.net/">”How To Web”</a>. M-am uitat peste program și la speakeri și deja am fost captivat. Dacă ești interesat de fenomenul web, de workshop-uri bazate pe acest domeniu, vino și tu. O să ai ocazia să înveți de la profesioniști ce înseamnă să pornești o afacere în acest domeniu și ajungi de succes. Printre invitații la microfon se numără <a href="http://vladstan.com/">Vlad Stan</a> care o să ne povestească despre <strong>anteprenoriat</strong> (ce n-aș fi dat să aflu și eu niște sfaturi de la el in urmă cu 2-3ani), <a href="http://vladimiroane.com/">Vladimir Oane</a> de la UberVU care va vorbi printre altele despre <strong>real time search</strong> (un subiect interesant după părerea mea, pe care îl aștept cu interes) și <a href="http://lemnaru.com/">George Lemnaru</a> care va vorbi despre <strong>jocurile on-line</strong> (eRepublik m-a fascinat destulă vreme și chiar pare interesant subiectul de jocuri on-line, prezentat de unul dintre cei care au avut succes cu ele).</p>
<p>O să învățăm acolo despre social media, user experience design și multe altele. Iar după putem să și petrecem, că e Halloween!</p>
<p>Detalii despre eveniment <a href="http://www.how-to-web.net/">aici</a>.</p>
<p>Așa că ne vedem acolo! <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogdanconstantinescu.com/2009/10/21/how-to-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery: traversing</title>
		<link>http://www.bogdanconstantinescu.com/2009/04/06/jquery-traversing/</link>
		<comments>http://www.bogdanconstantinescu.com/2009/04/06/jquery-traversing/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 12:49:16 +0000</pubDate>
		<dc:creator>Bogdan Constantinescu</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[traversing]]></category>

		<guid isPermaLink="false">http://www.bogdanconstantinescu.com/?p=153</guid>
		<description><![CDATA[Având în vedere că scriu foarte rar din cauza timpului limitat pe care îl am, m-am gândit să vă explic puțin despre liste și cum le parcurgem cu jQuery în caz de necesitate. Eu le-am folosit foarte mult în ultima (&#8230;)</p><p><a href="http://www.bogdanconstantinescu.com/2009/04/06/jquery-traversing/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Având în vedere că scriu foarte rar din cauza timpului limitat pe care îl am, m-am gândit să vă explic puțin despre liste și cum le parcurgem cu jQuery în caz de necesitate. Eu le-am folosit foarte mult în ultima perioada pentru versatilitatea de care dau dovada. Exemplul pe care se poate aplica foarte usor este un playlist.</p>
<p>În primul rând o să fac o listă cu necesitățile pentru a face chestia să funcționeze:</p>
<ul>
<li>ultimul <a title="jQuery" href="http://jquery.com/" target="_blank">release jQuery</a> (in acest moment v1.3.2)</li>
<li>vreo 20minute libere</li>
</ul>
<p><span id="more-153"></span></p>
<p>Bun, acum trebuie să facem o simplă listă neordonată. Asta ar arăta în felul următor:</p>
<pre>&nbsp;
&lt;ul id=&quot;unordered_list&quot;&gt;
&lt;li class=&quot;current&quot;&gt;Item 0&lt;/li&gt;
&lt;li&gt;Item 1&lt;/li&gt;
&lt;li&gt;Item 2&lt;/li&gt;
&lt;li&gt;Item 3&lt;/li&gt;
&lt;li&gt;Item 4&lt;/li&gt;
&lt;/ul&gt;
&nbsp;</pre>
<p>ID-ul listei si clasa primului element din listă ne vor folosi puțin mai târziu când ne vom "plimba" prin listă cu Javascript, așa că luați-le "as is". Și dacă tot ne vom juca prin elemente ar fi bine să definim o clasă de CSS pentru elementul curent. Eu am fost puțin mai interesat de subiect decât de felul în care arată așa că am făcut următoarea clasă:</p>
<pre class="css"><span style="color: #6666ff;">.current</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #000000; font-weight: bold;">background</span>: <span style="color: #993333;">yellow</span>; <span style="color: #66cc66;">&#125;</span></pre>
<p>Bun, acum nu ne mai trebuie decât 4 butoane: pentru a adăuga elemente, pentru a șterge elemente, pentru a trece la elementul următor și la cel precedent. Asta s-ar traduce prin:</p>
<pre>&nbsp;
&lt;input id=&quot;add&quot; type=&quot;button&quot; value=&quot;Add new item&quot; /&gt;
&lt;input id=&quot;remove&quot; type=&quot;button&quot; value=&quot;Remove item&quot; /&gt;
&lt;input id=&quot;prev&quot; type=&quot;button&quot; value=&quot;Previous item&quot; /&gt;
&lt;input id=&quot;next&quot; type=&quot;button&quot; value=&quot;Next item&quot; /&gt;</pre>
<p>În acest moment suntem gata să scriem Javascript. Două funcții importante pe care le vom folosi în exemplul de mai jos sunt cele care îmi vor întoarce numarul elementelor din listă și poziția elementului curent.</p>
<pre class="javascript"><span style="color: #003366; font-weight: bold;">function</span> ul_size<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> size = $<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;#unordered_list&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">children</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'li'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">size</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;.size&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">text</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'Size: '</span>+size<span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #000066; font-weight: bold;">return</span> size;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #003366; font-weight: bold;">function</span> ul_pos<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> current_pos = $<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;.current&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">prevAll</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">length</span>;
	$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;.current_pos&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">text</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'Current: '</span>+current_pos<span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #000066; font-weight: bold;">return</span> current_pos;
<span style="color: #66cc66;">&#125;</span></pre>
<p>Puteți ignora momentan metoda <em>.text()</em>. Pe scurt, funcția <em>ul_size()</em> numără elementele de tip <em>li</em> din lista noastră, iar funcția <em>ul_pos()</em> numără toate elementele dinaintea celui curent. Acum mai trebuie doar să adăugăm acțiuni pe cele 4 butoane de care vorbeam mai sus.</p>
<pre class="javascript">$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;#add&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">click</span><span style="color: #66cc66;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> size = $<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;#unordered_list&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">children</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'li'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">size</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;#unordered_list&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">append</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'
&lt;li&gt;Item '</span>+size+<span style="color: #3366CC;">'&lt;/li&gt;
&nbsp;
'</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	ul_size<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;#remove&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">click</span><span style="color: #66cc66;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #66cc66;">&#40;</span>ul_size<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> != <span style="color: #CC0000;">1</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#123;</span>
		$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;#unordered_list li:last&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">remove</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		ul_size<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;#prev&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">click</span><span style="color: #66cc66;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #66cc66;">&#40;</span>ul_pos<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> != <span style="color: #CC0000;">0</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#123;</span>
		$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;.current&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">removeClass</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'current'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">prev</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'li'</span><span style="color: #66cc66;">&#41;</span>
                     .<span style="color: #006600;">addClass</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'current'</span><span style="color: #66cc66;">&#41;</span>;
		ul_pos<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;#next&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">click</span><span style="color: #66cc66;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #000066; font-weight: bold;">if</span><span style="color: #66cc66;">&#40;</span>ul_size<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> &amp;gt; <span style="color: #66cc66;">&#40;</span>$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;.current&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">prevAll</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">length</span><span style="color: #66cc66;">&#41;</span><span style="color: #CC0000;">+1</span><span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#123;</span>
		$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;.current&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">removeClass</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'current'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">next</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'li'</span><span style="color: #66cc66;">&#41;</span>
                     .<span style="color: #006600;">addClass</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'current'</span><span style="color: #66cc66;">&#41;</span>;
		ul_pos<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</pre>
<p>Am pregătit și un exemplu pe care îl puteți vedea <a title="jQuery Traversing example" href="http://bogdanconstantinescu.com/jquery/traversing/index.html">aici</a>.</p>
<p>Dacă aveți întrebări, comentarii sau sugestii, folosiți formularul de mai jos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogdanconstantinescu.com/2009/04/06/jquery-traversing/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>UPC, adevăratul internet cărat cu roaba!</title>
		<link>http://www.bogdanconstantinescu.com/2009/02/18/upc-adevaratul-internet-carat-cu-roaba/</link>
		<comments>http://www.bogdanconstantinescu.com/2009/02/18/upc-adevaratul-internet-carat-cu-roaba/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 21:43:17 +0000</pubDate>
		<dc:creator>Bogdan Constantinescu</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[frustrari]]></category>
		<category><![CDATA[internet carat cu roaba]]></category>
		<category><![CDATA[net]]></category>
		<category><![CDATA[upc]]></category>

		<guid isPermaLink="false">http://www.bogdanconstantinescu.com/?p=142</guid>
		<description><![CDATA[În general nu prea îmi scriu eu frustrările de zi cu zi pentru că probabil aș ajunge să am o listă destul de impresionantă, dar a venit momentul când pur si simplu nu mai suport. Azi este o zi ca (&#8230;)</p><p><a href="http://www.bogdanconstantinescu.com/2009/02/18/upc-adevaratul-internet-carat-cu-roaba/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignleft" style="width: 119px"><img title="UPC, adevaratul internet carat cu roaba!" src="http://www.bogdanconstantinescu.com/wp-content/uploads/2009/02/upc_logo.png" alt="UPC, adevaratul internet carat cu roaba!" width="109" height="95" /><p class="wp-caption-text">UPC, adevaratul internet carat cu roaba!</p></div>
<p>În general nu prea îmi scriu eu frustrările de zi cu zi pentru că probabil aș ajunge să am o listă destul de impresionantă, dar a venit momentul când pur si simplu nu mai suport. Azi este o zi ca oricare alta, cel puțin pentru mine. M-am trezit, m-am dus la job, mi-am făcut datoria față de cei care au grijă ca și mâine să-mi pot procura cele necesare pentru a trai, iar apoi am ajuns acasă. Acasă însemnând micul meu apartament cu 2 camere în care îmi petrec serile liniștite și diminețile agitate de alarma telefonului. Îmi place aici. Nu e încă așa cum îmi doresc, dar sunt pe drumul cel bun.</p>
<p><span id="more-142"></span></p>
<p>Și se face că într-o frumoasă zi de septembrie a anului care tocmai s-a încheiat mi-am făcut un abonament de internet. Sunt un geek. De când am descoperit ce-i aia internet și cu ce se mănâncă am facut cam tot ce mi-a stat în putință să fiu on-line. Încă îmi aduc aminte de nopțile pierdute rugându-mă de dial-up-ul de la XNET să meargă și să se conecteze mai repede, de facturile kilometrice pe care le primeau ai mei de la Romtelecom și de momentele când improvizam ca sa fentez taierea cablului care facea legatura între priza telefonică și minunatul meu modem. Good ol' days.</p>
<p>Timpul a trecut, apa din Dâmbovița a tot curs și iata-ne în 2009. În continuare programez, în continuare internetul a ramas aceeași nevoie zilnică (poate sună ciudat și obsesiv, dar ăsta e adevărul și nu am de ce să mă ascund). Revenind, în acea frumoasă zi de septembrie mi-am vândut sufletul la UPC pentru un abonament "Large" (20Mbps) din motive simple: nu aveam alta opțiune în zonă exceptând Clicknet de care sunt oarecum rezervat și care nu mi se pare o alternativă prea bună. Cu întârzierea de rigoare minunatul internet mi-a fost montat. Happy, happy, joy, joy! Numai că unul din cabluri n-a fost montat corect in cutie, așa că am mai așteptat câteva zile să vină cineva să-l pună corect, că deh, la UPC toată lumea din teren e ocupată. Mă rog, cert e că după ce a fost montat corect, netul a început să meargă. Încet, dar mergea.</p>
<p>Așa că am făcut o a doua sesizare, însă problema nu s-a rezolvat, totul era bine, însă de mers tot prost mergea (la început 1Mbps, adică dacă aveam noroc downloadam ceva cu peste 100KB/s și în câteva minute poate se încărca un clip de pe YouTube). Parcă era SF. Toți ziceau că modemul e ok, totul e ok și ar trebui sa-mi meargă cel puțin decent. Însă nu o facea. Și acest lucru s-a repetat de câteva ori...</p>
<p>Ceea ce ne aduce în ziua de azi, minunata zi de azi...când după ultima intervenție de ieri am vazut pentru prima data în 5 luni de zile într-un speedtest metropolitan o valoare in kbps de 5 cifre (in jur de 17mbps pe <a title="Alsys Speedtest" href="http://cache.alsys.ro" target="_blank">Alsys</a>). Este evident că aseară când m-am întors acasă se "reglase" la obisnuitul 2500-3000kbps. Dar astăzi...astăzi n-a mai mers deloc. Rectific, nu mai merge deloc! (pentru ca acum scriu de pe un Orange 3G, care, vă vine să credeți sau nu, merge de multe ori mai bine ca "Large"-ul de la UPC). Bun, deci nu merge netul, hop pe telefon și să formăm numarul magic 031 1000 872 urmând shortcut-ul 133 (deh, când sun aici mă simt ca acasă pentru că nu mai am mult și cred că o să ies la bere cu băieții/fetele de la support). Aici mi se spune că într-adevăr modemul meu e picat (complex dom'ne, nu mi-aș fi dat seama) și că e o problemă pe zonă.</p>
<p>Bun, trecem mai departe, parcă m-ar mânca să renunț la contractul ăsta, prea multe bătai de cap, poate mai bine îmi pun un net business sau pe lânga abonamentul de date de la Orange caruia îi fac tethering pe laptop îmi iau unul numai pentru laptop și am terminat povestea (pe scurt, sunt client Orange de peste 4ani și nu cred că am sunat niciodată la ei pentru o problemă). Așa că încerc să mă informez care sunt clauzele în cazul în care renunț la contract: platesc 400RON, câte 200 pentru fiecare serviciu pe care îl am (TV și net, ca net fără TV nu se poate), după care o întreb frumos pe domnișoara de la UPC să-mi zică și mie câte reclamații valide am făcut eu de când sunt abonat UPC, și dacă nu cumva numărul lor influențează suma de plătit în favoarea mea. Mi-a zis că nu știe dacă mă ajută la ceva, dar <strong>numărul lor este de 17</strong>, fără să punem la socoteală pe cea pe care tocmai o desfășuram. Mișto nu? <strong>Asta înseamnă 3.6 reclamații/lună, adică aproape o reclamație pe săptămână...</strong></p>
<p>Acum o să vă dau niște bucăți dintr-un mail pe care un angajat al lor de la support mi l-a dat referitor la discuțiile asupra uneia din sesizările mele, destul de recentă. Mulțumesc cu această ocazie domnului Claudiu Corches.</p>
<blockquote><p>From: 	Claudiu.Corches@upc.ro<br />
Subject: 	explicatii<br />
Date: 	February 15, 2009 8:14:32 PM EET<br />
Received: 	from mx2.upc.ro (mx2.upc.ro [86.105.68.243]) by mx.google.com with ESMTP id 22si3742292bwz.110.2009.02.15.10.14.33; Sun, 15 Feb 2009 10:14:34 -0800 (PST)</p>
<p>** PHONE LOG 24-01-2009 12:03:31 dilea<br />
Clientul reclama nefunctionarea internetului in parametri. Va rog verificati si contactati clientul pentru confirmare.Multumesc frumos.</p>
<p>*** NOTES 26-01-2009 12:26:46 rfalnicu Action Type: Comments<br />
retea ok, diferenta mare intre CNR si SNR pls reglati si nivele semnal modem Rx sa fie aproape de 0 dBmV<br />
SNR NOD US phy MER(SNR)_estimate for good packets - 32.3012 dB<br />
TxPower                   = 53.7 dBmV<br />
RxPower                   = 11.8 dBmV<br />
Signal to Noise Ratio     = 37.9 dB<br />
CNR Modem Upstream Power : 0.00 dBmV (SNR = 24.47 dB)<br />
Total Time Online                   : 1d10h5m<br />
<strong>la un flood pe modem abia atinge 11Mbps din 20</strong></p>
<p>*** NOTES 27-01-2009 18:11:55 ccepoi Action Type: Comments<br />
<strong>Semnalele pe acel modem sunt ok, incarcarea nodului insa nu, este incarcat aproape 100%, de aceea intra in congestie si nu ii functioneaza nici clientului cu 20Mbps</strong></p></blockquote>
<p>Așa că priviți și voi ce zice UPC-ul: nodul e atât de încărcat încât nici când au dat flood în IP-ul meu n-au reușit mai mult de 11Mbps, dar eu totuși platesc 20Mbps (best effort) și de obicei îmi merge cam la 10% din capacitate. Asta e din seria "noi luăm banii, dă-l în mă-sa pe client".</p>
<p>Și uite că așa am ajuns și la concluzia din titlu: <strong>UPC, adevăratul internet cărat cu roaba!</strong></p>
<p>Vă las să vă delectați mai jos cu un speedtest făcut cu București într-una din zilele obișnuite. Și nu uitați: UPC SUNT CEI MAI TARI! <strong>NOT!!!</strong></p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_145" class="wp-caption aligncenter" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://www.bogdanconstantinescu.com/wp-content/uploads/2009/02/picture-3.png"><img class="size-medium wp-image-145" title="Viteza UPC 20Mbps" src="http://www.bogdanconstantinescu.com/wp-content/uploads/2009/02/picture-3-300x187.png" alt="Viteza UPC 20Mbps" width="300" height="187" /></a></dt>
</dl>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bogdanconstantinescu.com/2009/02/18/upc-adevaratul-internet-carat-cu-roaba/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Punct și de la capăt!</title>
		<link>http://www.bogdanconstantinescu.com/2009/01/24/punct-si-de-la-capat/</link>
		<comments>http://www.bogdanconstantinescu.com/2009/01/24/punct-si-de-la-capat/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 22:02:21 +0000</pubDate>
		<dc:creator>Bogdan Constantinescu</dc:creator>
				<category><![CDATA[Intamplari de peste zi]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[revenire]]></category>

		<guid isPermaLink="false">http://www.bogdanconstantinescu.com/?p=138</guid>
		<description><![CDATA[Revin după o absență de câteva luni cu un post în care vă urez succese maxime în 2009, și vă asigur că îmi voi reîncepe tutorialele de jQuery (pentru că am observat că toți apreciază acele mici și fermecatoare chestii (&#8230;)</p><p><a href="http://www.bogdanconstantinescu.com/2009/01/24/punct-si-de-la-capat/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Revin după o absență de câteva luni cu un post în care vă urez succese maxime în 2009, și vă asigur că îmi voi reîncepe tutorialele de jQuery (pentru că am observat că toți apreciază acele mici și fermecatoare chestii pe care le poate face Javascript, numai că eu voi spune lucrurilor pe nume cu "cherry ( jQuery ) on top" <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
<p>Și ca să nu vă fac să așteptați prea entuziasmați (glumesc <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ), primul tutorial va fi de jQuery și php, un mic și eficient sistem de chat. Poate nu pare prea impresionant, dar o să vă conduc prin toată logica din spatele lui. Pentru fanii de engleză (și sigur se vor gasi câțiva), voi încerca să pun și o versiune în "english" a articolelor, poate mai vor și vorbitorii de alte limbi să învețe niște lucrușoare interesante! <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>În altă ordine de idei, urmează să vedeți pe aici și niște screencasturi destul de interesante (zic eu) despre un framework foarte inteligent de php, companionul meu de zi cu zi în ultimele luni.</p>
<p>Acestea fiind zise, dacă aveți sugestii sau idei pe care am putea să le dezvoltăm împreună și mai apoi să le prezentăm "disecate" publicului, folosiți cu încredere formularul de mai jos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogdanconstantinescu.com/2009/01/24/punct-si-de-la-capat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Băgaţi la cap!</title>
		<link>http://www.bogdanconstantinescu.com/2008/11/23/bagati-la-cap/</link>
		<comments>http://www.bogdanconstantinescu.com/2008/11/23/bagati-la-cap/#comments</comments>
		<pubDate>Sun, 23 Nov 2008 16:37:37 +0000</pubDate>
		<dc:creator>Bogdan Constantinescu</dc:creator>
				<category><![CDATA[Intamplari de peste zi]]></category>

		<guid isPermaLink="false">http://www.bogdanconstantinescu.com/?p=132</guid>
		<description><![CDATA[Campania asta ar trebui promovată prin toate mijloacele posibile. Pe lângă faptul că mesajul transmis de Ovidiu Uscat e total adevărat e şi amuzant pe deasupra. ) Enjoy!]]></description>
			<content:encoded><![CDATA[<p>Campania asta ar trebui promovată prin toate mijloacele posibile. Pe lângă faptul că mesajul transmis de Ovidiu Uscat e total adevărat e şi amuzant pe deasupra. <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</p>
<p>Enjoy!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/ps2_U4P6NC0&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/ps2_U4P6NC0&amp;hl=en&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogdanconstantinescu.com/2008/11/23/bagati-la-cap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tu ce ai in cutia poştală?</title>
		<link>http://www.bogdanconstantinescu.com/2008/11/12/tu-ce-ai-in-cutia-postala/</link>
		<comments>http://www.bogdanconstantinescu.com/2008/11/12/tu-ce-ai-in-cutia-postala/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 19:33:41 +0000</pubDate>
		<dc:creator>Bogdan Constantinescu</dc:creator>
				<category><![CDATA[Intamplari de peste zi]]></category>

		<guid isPermaLink="false">http://www.bogdanconstantinescu.com/?p=117</guid>
		<description><![CDATA[Timp de o săptămână am încercat să fac un fel de test şi acum vă voi dezvălui care e ideea şi care sunt rezultatele obţinute de mine... M-am gândit săptămâna trecută, fiind în plină campanie electorală, să fac un mic (&#8230;)</p><p><a href="http://www.bogdanconstantinescu.com/2008/11/12/tu-ce-ai-in-cutia-postala/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Timp de o săptămână am încercat să fac un fel de test şi acum vă voi dezvălui care e ideea şi care sunt rezultatele obţinute de mine... M-am gândit săptămâna trecută, fiind în plină campanie electorală, să fac un mic efort şi să ignor cutia mea poştală timp de 7zile. Eram curios ce voi găsi acolo la sfârşitul acestei perioade, deşi am mai tras uşor cu ochiul prin fanta de introdus corespondenţa <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Azi a fost ziua cea mare: verificarea "prăzii". Am găsit nu mai puţin de <strong>18 lucruşoare</strong> acolo dintre care amintesc: 1 bucată scrisoare cu promoţie de la ING (banca ale cărei servicii le folosesc cel mai des), 2 x cereri de închiriere/cumpărare apartament în bloc iar restul de 15 erau pur si simplu <strong>SPAM</strong>.<br />
Ca să fiu mai bine înţeles puteţi vedea mai jos concluzia micului meu test.</p>
<p><div id="attachment_123" class="wp-caption alignleft" style="width: 210px"><a href="http://www.bogdanconstantinescu.com/wp-content/uploads/2008/11/dsc00165.jpg"><img src="http://www.bogdanconstantinescu.com/wp-content/uploads/2008/11/dsc00165-300x225.jpg" alt="Continutul cutiei postale" title="Continutul cutiei postale" width="200" height="170" class="size-medium wp-image-123" /></a><p class="wp-caption-text">Continutul cutiei postale</p></div> <div id="attachment_126" class="wp-caption alignright" style="width: 210px"><a href="http://www.bogdanconstantinescu.com/wp-content/uploads/2008/11/dsc00167.jpg"><img src="http://www.bogdanconstantinescu.com/wp-content/uploads/2008/11/dsc00167-300x225.jpg" alt="Profilul SPAM-ului" title="Profilul SPAM-ului" width="200" height="170" class="size-medium wp-image-126" /></a><p class="wp-caption-text">Profilul SPAM-ului</p></div></p>
<p>Acestea fiind zise, eu aş vrea să văd rezultatele acestui test şi la voi! Oricine vrea să încerce, doar lasaţi-mi un semn ca să văd şi eu ce veţi avea voi in cutiile poştale dupa 7zile.<br />
O să "dau mai departe" la <a href="http://www.alexbuga.com/">Alex Buga</a>, <a href="http://www.andistancu.eu/">Andi Stancu</a>, <a href="http://beavy.wordpress.com/">Beavy</a>, <a href="http://www.brayn.ro/">Brayn</a> şi <a href="http://blog.sorinvasilescu.ro/">Sorin Vasilescu</a> rugămintea de a realiza experimentul şi aştept cu nerabdare să văd rezultatele! <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogdanconstantinescu.com/2008/11/12/tu-ce-ai-in-cutia-postala/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ultimele noutăţi</title>
		<link>http://www.bogdanconstantinescu.com/2008/10/26/ultimele-noutati/</link>
		<comments>http://www.bogdanconstantinescu.com/2008/10/26/ultimele-noutati/#comments</comments>
		<pubDate>Sun, 26 Oct 2008 09:13:03 +0000</pubDate>
		<dc:creator>Bogdan Constantinescu</dc:creator>
				<category><![CDATA[Intamplari de peste zi]]></category>
		<category><![CDATA[noutati]]></category>

		<guid isPermaLink="false">http://www.bogdanconstantinescu.com/?p=114</guid>
		<description><![CDATA[În ultima vreme am fost destul de ocupat, aşa că azi o să vă las un preview la ceea ce urmează să apară pe dragul meu blog. Între timp am ieşit "semifinalist" la concursul făcut de Big Lazy SysAdmin cu (&#8230;)</p><p><a href="http://www.bogdanconstantinescu.com/2008/10/26/ultimele-noutati/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>În ultima vreme am fost destul de ocupat, aşa că azi o să vă las un preview la ceea ce urmează să apară pe dragul meu blog. <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Între timp am ieşit "semifinalist" la concursul făcut de <a href="http://big.lazyadmin.ro" title="Big Lazy Sysadmin">Big Lazy SysAdmin</a> cu <a href="http://www.bogdanconstantinescu.com/2008/09/26/wireless-si-slax/">tutorialul meu de wireless pentru Slax</a>, iar momentan lucrez la noi tutoriale şi ca bonus nişte screencast-uri în limba română de care sigur nu mai găsiţi în altă parte <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Aşa că staţi pe aproape!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogdanconstantinescu.com/2008/10/26/ultimele-noutati/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tabele cu jQuery</title>
		<link>http://www.bogdanconstantinescu.com/2008/10/02/tabele-cu-jquery/</link>
		<comments>http://www.bogdanconstantinescu.com/2008/10/02/tabele-cu-jquery/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 12:40:06 +0000</pubDate>
		<dc:creator>Bogdan Constantinescu</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://www.bogdanconstantinescu.com/?p=89</guid>
		<description><![CDATA[Pentru că a trecut ceva vreme de când am scris ultimul post referitor la jQuery, am revenit cu un mic tutorial, dar foarte eficient după părerea mea, despre tabele. Ştiu că nu mai sunt "la modă", dar mi se pare (&#8230;)</p><p><a href="http://www.bogdanconstantinescu.com/2008/10/02/tabele-cu-jquery/">Read the rest of this entry &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Pentru că a trecut ceva vreme de când am scris ultimul post referitor la jQuery, am revenit cu un mic tutorial, dar foarte eficient după părerea mea, despre tabele. Ştiu că nu mai sunt "la modă", dar mi se pare relativ stupidă folosirea <em>&lt;div&gt;</em>-urilor pentru afişarea informaţiilor care necesită un tabel.</p>
<p>Acestea fiind zise, astăzi o să facem următoarele:</p>
<ul>
<li>o să stilizăm un tabel obişnuit (CSS aplicat cu jQuery)</li>
<li>o să-i dăm o notă mai accentuată rândului pe care ne poziţionăm mouseul</li>
<li>o să-i adăugăm un selector</li>
</ul>
<p>Bun, să începem cu tabelul. Eu am făcut un tabel obişnuit cu nişte valori random. Rezultatul îl puteţi vedea mai jos.<br />
<span id="more-89"></span></p>
<pre class="html4strict">&nbsp;
<span style="color: #009900;"><a href="http://december.com/html/4/element/table.html"><span style="color: #000000; font-weight: bold;">&lt;table&gt;</span></a></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/tbody.html"><span style="color: #000000; font-weight: bold;">&lt;tbody&gt;</span></a></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/tr.html"><span style="color: #000000; font-weight: bold;">&lt;tr&gt;</span></a></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/th.html"><span style="color: #000000; font-weight: bold;">&lt;th&gt;</span></a></span>first name<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/th&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/th.html"><span style="color: #000000; font-weight: bold;">&lt;th&gt;</span></a></span>last name<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/th&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/th.html"><span style="color: #000000; font-weight: bold;">&lt;th&gt;</span></a></span>city<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/th&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/tr&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/tr.html"><span style="color: #000000; font-weight: bold;">&lt;tr&gt;</span></a></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/td.html"><span style="color: #000000; font-weight: bold;">&lt;td&gt;</span></a></span>john<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/td.html"><span style="color: #000000; font-weight: bold;">&lt;td&gt;</span></a></span>doe<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/td.html"><span style="color: #000000; font-weight: bold;">&lt;td&gt;</span></a></span>the &quot;big apple&quot;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/tr&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/tr.html"><span style="color: #000000; font-weight: bold;">&lt;tr&gt;</span></a></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/td.html"><span style="color: #000000; font-weight: bold;">&lt;td&gt;</span></a></span>anne<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/td.html"><span style="color: #000000; font-weight: bold;">&lt;td&gt;</span></a></span>robinson<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td&gt;</span></span>
<span style="color: #009900;"><a href="http://december.com/html/4/element/td.html"><span style="color: #000000; font-weight: bold;">&lt;td&gt;</span></a></span>the city of angels<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/td&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/tr&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/tbody&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/table&gt;</span></span>
&nbsp;</pre>
<p>Bun. Acum o să facem câteva clase CSS pentru tabelul nostru. În primul rând ne trebuie o clasă pentru rândurile pare şi una pentru rândurile impare ca să-i dăm un mic contrast să poată fi citit cu uşurinţă. ( Ca sugestie, încercaţi să faceţi abstracţie de culori pentru că nu prea sunt "pe domeniul meu" <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  )</p>
<pre class="css"><span style="color: #6666ff;">.odd</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #000000; font-weight: bold;">background</span>: <span style="color: #cc00cc;">#D1E6E7</span>; <span style="color: #66cc66;">&#125;</span>
<span style="color: #6666ff;">.even</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #000000; font-weight: bold;">background</span>: <span style="color: #cc00cc;">#94d1e6</span>; <span style="color: #66cc66;">&#125;</span></pre>
<p>Acum să facem ceva ca să dăm o notă mai accentuată rândului peste care ţinem mouseul. Voi denumi această clasă <em>mouseover</em>.</p>
<pre class="css"><span style="color: #6666ff;">.mouseover</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #000000; font-weight: bold;">background</span>: <span style="color: #cc00cc;">#fff395</span>; <span style="color: #66cc66;">&#125;</span></pre>
<p>Şi suntem aproape gata...ne mai trebuie totuşi o ultimă clasă care să ne permită "selectarea" rândului dorit. O să-i spunem <em>click</em>.</p>
<pre class="css"><span style="color: #6666ff;">.click</span> <span style="color: #66cc66;">&#123;</span> <span style="color: #000000; font-weight: bold;">background</span>: <span style="color: #cc00cc;">#feb40c</span>; <span style="color: #000000; font-weight: bold;">font-weight</span>: <span style="color: #993333;">bold</span>; <span style="color: #66cc66;">&#125;</span></pre>
<p>Ok, acum deţinem tot CSS-ul de care avem nevoie, urmează să-l convingem pe jQuery să facă treaba în locul nostru <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  În principiu azi o să folosim funcţiile <em>addClass()</em>, <em>removeClass()</em>, <em>mouseover()</em>, <em>mouseout()</em> şi <em>toggle()</em>. Documentaţie pentru ele găsiţi pe <a title="jQuery documentation" href="http://docs.jquery.com/Main_Page" target="_blank">documentaţia jQuery</a>.</p>
<p>Să ne gândim cam ce ar trebui să facem noi cu jQuery...în primul rând să asociem clasele <strong>odd</strong> şi <strong>even</strong> rândurilor de care aparţin (în speţă, cele impare şi cele pare), să punem clasa <strong>mouseover</strong> pe aceste rânduri când trece mouseul, şi s-o scoatem când nu mai e mouseul deasupra. Acest lucru se face cam aşa:</p>
<pre class="javascript"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;tr:even&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">addClass</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;even&quot;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">.<span style="color: #006600;">mouseover</span><span style="color: #66cc66;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> $<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">addClass</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;mouseover&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">.<span style="color: #006600;">mouseout</span><span style="color: #66cc66;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> $<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">removeClass</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;mouseover&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;tr:odd&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">addClass</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;odd&quot;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">.<span style="color: #006600;">mouseover</span><span style="color: #66cc66;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> $<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">addClass</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;mouseover&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">.<span style="color: #006600;">mouseout</span><span style="color: #66cc66;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> $<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">removeClass</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;mouseover&quot;</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</div></li></ol></pre>
<p>Ne mai rămâne să facem "selectorul". Ideea e simplă: când dai click pe un rând îşi schimbă culoarea, iar când faci al doilea click pe acelaşi rând revine la normal. jQuery are implementată o funcţie care se cheamă <em>toggle()</em> şi care face exact ce ne trebuie! <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  Haideţi să vedem cum arată...</p>
<pre class="javascript"><ol><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;tr&quot;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">toggle</span><span style="color: #66cc66;">&#40;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	$<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">addClass</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;click&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span>,</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#123;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">	$<span style="color: #66cc66;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">removeClass</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;click&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#125;</span></div></li><li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;"><div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #66cc66;">&#41;</span>;</div></li></ol></pre>
<p>Şi cam asta a fost tot! Nu-mi spuneţi că vă aşteptaţi să fie mai complicat <img src='http://www.bogdanconstantinescu.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   E destul de simplu când foloseşti o librărie care-şi uşurează munca.</p>
<p>Ok, acum haideţi să vă arăt şi <a title="jQuery table enchancement" href="http://www.bogdanconstantinescu.com/jquery/table/" target="_blank">rezultatul final</a>. Pentru a vedea mai multe detalii nu vă rămâne decât să vă uitaţi peste sursă. Pentru alte detalii, formularul de jos vă aşteaptă să-l folosiţi!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bogdanconstantinescu.com/2008/10/02/tabele-cu-jquery/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

