<?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>Alex Sache</title>
	<atom:link href="http://alex.sache.ro/feed" rel="self" type="application/rss+xml" />
	<link>http://alex.sache.ro</link>
	<description>Tech and thoughts</description>
	<lastBuildDate>Thu, 26 Jan 2012 14:15:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Facebook Hacker cup 2012 Alphabet soup problem</title>
		<link>http://alex.sache.ro/2012/01/facebook-hacker-cup-2012-alphabet-soup-problem.html</link>
		<comments>http://alex.sache.ro/2012/01/facebook-hacker-cup-2012-alphabet-soup-problem.html#comments</comments>
		<pubDate>Thu, 26 Jan 2012 09:55:52 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://alex.sache.ro/?p=597</guid>
		<description><![CDATA[This weekend I participated at the anual coding contest organised by Facebook. It is the second edition and there are still enough things to improve. Although I did well on programming I didn&#8217;t qualified for the next round because of a stupid mistake, which I&#8217;ve done it twice. The last problem (&#8220;Alphabet soup&#8221;) was the&#8230;]]></description>
			<content:encoded><![CDATA[<p>This weekend I participated at the anual coding contest organised by Facebook. It is the second edition and there are still enough things to improve. Although I did well on programming I didn&#8217;t qualified for the next round because of a stupid mistake, which I&#8217;ve done it twice.<br />
The last problem (&#8220;Alphabet soup&#8221;) was the easiest and it enounces like that:</p>
<div>
<p><em>Alfredo Spaghetti really likes soup, especially when it contains alphabet pasta. Every day he constructs a sentence from letters, places the letters into a bowl of broth and enjoys delicious alphabet soup.</em></p>
<p><em>Today, after constructing the sentence, Alfredo remembered that the Facebook Hacker Cup starts today! Thus, he decided to construct the phrase &#8220;HACKERCUP&#8221;. As he already added the letters to the broth, he is stuck with the letters he originally selected. Help Alfredo determine how many times he can place the word &#8220;HACKERCUP&#8221; side-by-side using the letters in his soup.</em></p>
<h3><em>Input</em></h3>
<p><em>The first line of the input file contains a single integer T: the number of test cases. T lines follow, each representing a single test case with a sequence of upper-case letters and spaces: the original sentence Alfredo constructed.</em></p>
<h3><em>Output</em></h3>
<p><em>Output T lines, one for each test case. For each case, output &#8220;Case #t: n&#8221;, where t is the test case number (starting from 1) and n is the number of times the word &#8220;HACKERCUP&#8221; can be placed side-by-side using the letters from the sentence.</em></p>
<h3><em>Constraints</em></h3>
<ul>
<li><em>1 &lt; T ≤ 20</em></li>
<li><em>Sentences contain only the upper-case letters A-Z and the space character</em></li>
<li><em>Each sentence contains at least one letter, and contains at most 1000 characters, including spaces</em></li>
</ul>
</div>
<div>
<div>Example input</div>
<div>
<div>
<pre>5
WELCOME TO FACEBOOK HACKERCUP
CUP WITH LABEL HACKERCUP BELONGS TO HACKER
QUICK CUTE BROWN FOX JUMPS OVER THE LAZY DOG
MOVE FAST BE BOLD
HACK THE HACKERCUP</pre>
</div>
<div>
<p>Example output</p>
<pre>Case #1: 1
Case #2: 2
Case #3: 1
Case #4: 0
Case #5: 1</pre>
</div>
</div>
</div>
<p>I solved it in PHP, but I tested with the data from the page pasted into a file on my computer. In less than a half an hour you can figure it out , program and test it, but I hadn&#8217;t a good setup for reading the file and when I runned the file downloaded from facebook, it gave me an extra 21 line when the number of test cases was mentioned as 20. So, because I tested few days before a problem from last year which had a separation between the number of test cases and the data, I hastly modified the program to remove a line after the number of cases.</p>
<p>In short, I had a the correct result without the first line and numbered whith 1 in minus. Here is my solution:</p>
<pre>&lt;?php
function fromTxtToArray($filename){
    $fh = fopen($filename, "rb");
    $data = fread($fh, filesize($filename));
    fclose($fh);

    $array = explode("\n",$data);
    $rows = $array[0];
    unset($array[0]);
    echo $rows; // I realised afterwards that $rows != count($data);
    return array('rows' =&gt; $rows, 'data' =&gt; $array);
}

function Alphabet($input){
    $target = Array();
    $cazul = str_split($input);
    $map = array_count_values($cazul); //the builtin function does all the job
    //print_r($map); each letter whith the number of occurences
    $target['H'] = isset($map['H'])?$map['H']:0;
    $target['A'] = isset($map['A'])?$map['A']:0;    
    $target['C'] = isset($map['C'])?(floor($map['C']/2) ):0; //there are 2 C in the word
    $target['K'] = isset($map['K'])?$map['K']:0;
    $target['E'] = isset($map['E'])?$map['E']:0;
    $target['R'] = isset($map['R'])?$map['R']:0;
    $target['U'] = isset($map['U'])?$map['U']:0;
    $target['P'] = isset($map['P'])?$map['P']:0;    
    $low = min($target);

    return $low;    
}

$data = fromTxtToArray('alphabet_soup.txt');

$i = 1;
$output = '';

foreach ($data['data'] as $k =&gt; $v){
    $output .= 'Case #' . $i . ': ' . Alphabet(trim($v))."\r\n";
    $i++;
    if($i &gt; $data['rows']) break; //the stupid condition which I omitted
}
$fp = fopen('output_soup.txt', 'w');
fwrite($fp, $output);
fclose($fp);
echo $output;</pre>
<p>The problems are quite original and except of this they are not trivial to solve. There are a lot of very good programmers and I didn&#8217;t have high hopes to get to the finals. But I&#8217;m sory that I&#8217;ve solved two problems and I failed for such a stupid mistake.</p>
<p>UPDATE :The other problem I solved it wrong, although it worked on the test dataset.</p>
]]></content:encoded>
			<wfw:commentRss>http://alex.sache.ro/2012/01/facebook-hacker-cup-2012-alphabet-soup-problem.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>yum: TypeError: rpmdb open failed on Centos</title>
		<link>http://alex.sache.ro/2011/12/yum-typeerror-rpmdb-open-failed-on-centos.html</link>
		<comments>http://alex.sache.ro/2011/12/yum-typeerror-rpmdb-open-failed-on-centos.html#comments</comments>
		<pubDate>Tue, 13 Dec 2011 15:33:06 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[centos]]></category>

		<guid isPermaLink="false">http://alex.sache.ro/?p=591</guid>
		<description><![CDATA[I had this error and found the solution here. #rm /dev/urandom #mknod -m 644 /dev/urandom c 1 9 Works like a charm. Because it seems to me that I used a similar fix for other problem some time ago I wrote it to remember it.]]></description>
			<content:encoded><![CDATA[<p>I had this error and found the solution <a href="http://www.blog.project13.pl/index.php/coding/197/yum-typeerror-rpmdb-open-failed/">here</a>.</p>
<pre>#rm /dev/urandom
#mknod -m 644 /dev/urandom c 1 9</pre>
<p>Works like a charm.<br />
Because it seems to me that I used a similar fix for other problem some time ago I wrote it to remember it.</p>
]]></content:encoded>
			<wfw:commentRss>http://alex.sache.ro/2011/12/yum-typeerror-rpmdb-open-failed-on-centos.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Universe hypotheses</title>
		<link>http://alex.sache.ro/2011/10/universe-hypotheses.html</link>
		<comments>http://alex.sache.ro/2011/10/universe-hypotheses.html#comments</comments>
		<pubDate>Wed, 26 Oct 2011 14:50:51 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Physics]]></category>
		<category><![CDATA[physics]]></category>
		<category><![CDATA[theories]]></category>

		<guid isPermaLink="false">http://alex.sache.ro/?p=571</guid>
		<description><![CDATA[I was reading an article on space.com &#8220;7 Surprising Things About the Universe&#8221; and inspired by the late Steve Jobs (RIP), I decided to stay hungry, stay foulish (probably more foulish than hungry) and post my own thoughts on the Universe. I&#8217;ll probably make it a serial. The above article contains more hypotheses than proven&#8230;]]></description>
			<content:encoded><![CDATA[<p>I was reading an article on space.com &#8220;<a href="http://www.space.com/13172-7-surprising-universe-facts.html">7 Surprising Things About the Universe</a>&#8221; and inspired by the late Steve Jobs (RIP), I decided to stay hungry, stay foulish (probably more foulish than hungry) and post my own thoughts on the Universe. I&#8217;ll probably make it a serial.</p>
<p>The above article contains more hypotheses than proven facts, but when you talk about the Universe as a whole, there is a lot of uncertainty. The main ideas are around the Big Bang Theory.<br />
Among other things I picked the following ideas as a base for my reasoning:</p>
<p>1. <strong>The Universe is expanding</strong> &#8211; this is the main idea discovered by Hubble that Universe is not static but the distance between the galaxies is increasing. And this was confirmed by other observations from 1920 when it was discovered first. So I&#8217;ll take this hypothesis as the base.</p>
<p>2. From 1 resulted <strong>The universe has a start</strong> therefore an age and even an order of size is aproximated. This is viewed like a very rapid expansion from a very small point which gave the name Big Bang.<br />
Here comes the first objection (viewed in a Discovery science documentary) -&gt; Maybe is oscilating between a minimum and a maximum size (is pulsating).</p>
<p>3. This year Nobel price was given for the discovery that <strong>the expanding of the Universe is accelerating</strong>. This revives the geometric models of the <strong>General Theory of Relativity<br />
</strong></p>
<p>4. There are presented <strong>three geometrical models</strong> of the Universe based on the balance between the aformentioned expansion and the gravity: sphere, curbed but open(as a saddle) and flat.<br />
The sphere model was also imagined by Einstein which saw the Universe as a 4 dimensions sphere (the 4th dimension being the time).</p>
<p>Here comes my first personal idea: I think <strong>there is no straight line in the real universe</strong>. The infinite straight line which stands at the base of euclidian geometry has <strong>no representation in nature</strong>.</p>
<p>A lot of the math we use it&#8217;s based on this flat earth logic. We use this absolute concepts of line, plane, parallelism but they cannot exist in nature. Stars are round, planets are round and they move on curved trajectories, galaxies are spiraled, at small scale nothing seems to be described as infinitly straight.<br />
So I think the flat model can be disregarded.</p>
<p>As for the math, there is <a title="Non euclidean" href="http://en.wikipedia.org/wiki/Non-Euclidean_geometry">non-euclidean geometry</a> which challenges the postulates of Euclid, but it&#8217;s a sort of declination of the first  in a somehow hypothetical space.<br />
I think there is a <strong>real need for a new math</strong>. Something unified that better integrates the applicable knowledge earned until modern days and eases the work with complex concepts and understanding of large structures.</p>
<p>A way to do this will be to shift focus from the paradigm of reducing everything to a few basic absolute/abstract concepts (some of them arguable like the concept of infinite) and to search for some complex tools (custom symbols) to better illustrate real world objects and interactions.</p>
<p>My hypothesis is that <strong>Universe has a start and an end</strong>, therefore the time has a start and an end, but the Universe has no age. The start and the end are much likely the same. I think the shape of the Universe is close to a seashell (spiral) and this form contains the time.</p>
<p>I&#8217;ll try to elaborate in later writings in a more specific manner ideas and work variants, and maybe someone will engage in a constructive discution.</p>
]]></content:encoded>
			<wfw:commentRss>http://alex.sache.ro/2011/10/universe-hypotheses.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Internet Explorer problem with nested menus over picture</title>
		<link>http://alex.sache.ro/2011/07/internet-explorer-problem-with-nested-ul-menu-hover.html</link>
		<comments>http://alex.sache.ro/2011/07/internet-explorer-problem-with-nested-ul-menu-hover.html#comments</comments>
		<pubDate>Mon, 11 Jul 2011 14:08:05 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://alex.sache.ro/?p=540</guid>
		<description><![CDATA[Couple of days ago I found a rendering problem in Internet Explorer when testing a nested vertical submenu. Click on the picture below and you will see that when you hover the vertical submenus you cannot click on the lower items. The submenu disappears when you scroll over the little spaces between the list items.&#8230;]]></description>
			<content:encoded><![CDATA[<p>Couple of days ago I found a rendering problem in Internet Explorer when testing a nested vertical submenu. Click on the picture below and you will see that when you hover the vertical submenus you cannot click on the lower items. The submenu disappears when you scroll over the little spaces between the list items. On Firefox and Chrome you&#8217;ll not see this problem.<br />
Internet Explorer bugs are not that rare but this shows in IE8 and the new IE9, and I couldn&#8217;t find a fix on the internet.</p>
<p style="text-align: center;"><a title="demo bug" href="http://alex.sache.ro/wp-content/demo-ie-hover-bug/" target="_blank"><img class="aligncenter size-medium wp-image-541" title="demo" src="http://alex.sache.ro/wp-content/uploads/2011/07/demo-300x189.gif" alt="View from ie9 of hover bug demo page" width="300" height="189" /></a></p>
<p>Here you can see the <a title="Demo for IE9 menu hover bug" href="http://alex.sache.ro/wp-content/demo-ie-hover-bug/" target="_blank">demo for the hover bug in IE (IE9 inclusive)</a> . The bug is not showing when I remove the test image which the menu overlays.<br />
I tried some tweaks at the margin and padding, z-index and zoom with no result. If this is a known bug or you know other fix than that the one posted below please let me know.</p>
<p><strong>My solution</strong></p>
<p>The solution I found was to put a background to the hover state of the nested menu (<strong>#menu ul ul:hover</strong>) . I used an 1 by 1 transparent gif (the old days spacer) as a background.<br />
Here is the fixed version using a <a title="fixed problem with trasnparent gif" href="http://alex.sache.ro/wp-content/demo-ie-hover-bug/index-fixed.html" target="_blank">background with transparent gif</a>. It solves the problem in IE9 and down to IE7.<br />
The bug and the solution seems to remain valid even for the IE10 as I can test it in the preview.</p>
<p>And, if you know some place that rewards this kind of descoveries for IE please point me to it.</p>
]]></content:encoded>
			<wfw:commentRss>http://alex.sache.ro/2011/07/internet-explorer-problem-with-nested-ul-menu-hover.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lucreaza pentru ARCA in concursul Google Lunar Xprize</title>
		<link>http://alex.sache.ro/2011/05/lucreaza-pentru-arca-in-concursul-google-lunar-xprize.html</link>
		<comments>http://alex.sache.ro/2011/05/lucreaza-pentru-arca-in-concursul-google-lunar-xprize.html#comments</comments>
		<pubDate>Mon, 16 May 2011 08:50:45 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://alex.sache.ro/?p=537</guid>
		<description><![CDATA[Daca te pricepi la programare pentru simulatoare de zbor sau in general ai experienta cu enginuri 3D poti ajuta ARCA sa trimita rachete inspre luna un concursul Google Lunar Xprize. Citeste pe forum pentru mai multe detalii https://www.arcaspace.com/forum/viewtopic.php?f=11&#38;t=14&#38;start=0#p107 Trebuie introduse datele si formulele lor in simulatorul X-plane dar este bun si orice motor de joc&#8230;]]></description>
			<content:encoded><![CDATA[<p>Daca te pricepi la programare pentru simulatoare de zbor sau in general ai experienta cu enginuri 3D poti ajuta ARCA sa trimita rachete inspre luna un concursul Google Lunar Xprize. Citeste pe forum pentru mai multe detalii <a title="Help ARCA" href="https://www.arcaspace.com/forum/viewtopic.php?f=11&amp;t=14&amp;start=0#p107">https://www.arcaspace.com/forum/viewtopic.php?f=11&amp;t=14&amp;start=0#p107</a></p>
<p>Trebuie introduse datele si formulele lor in simulatorul <a href="http://www.x-plane.com/">X-plane</a> dar este bun si orice motor de joc cum ar fi Unreal Engine.<br />
E posibil sa mai apara si alte taskuri punctuale in care poti fi de folos.Pentru ca eu am insistat pe ideea implicarii comunitatii voi populariza si voi sustine cu ce pot aceste demersuri.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>If you have some experience in the flight simulator programming area you are welcomed to help ARCA team in the Google Lunar Xprize challenge. The forum thread in romanian here <a title="Help ARCA" href="https://www.arcaspace.com/forum/viewtopic.php?f=11&amp;t=14&amp;start=0#p107">https://www.arcaspace.com/forum/viewtopic.php?f=11&amp;t=14&amp;start=0#p107</a></p>
<p>Experience with the <a href="http://www.x-plane.com/">X-plane</a> flight simulator is most wanted for customisation with their formulas and data, but also experience with 3D game engine like Unreal Engine is good.</p>
]]></content:encoded>
			<wfw:commentRss>http://alex.sache.ro/2011/05/lucreaza-pentru-arca-in-concursul-google-lunar-xprize.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Html comments bug on Firefox</title>
		<link>http://alex.sache.ro/2011/03/html-comments-bug-on-firefox.html</link>
		<comments>http://alex.sache.ro/2011/03/html-comments-bug-on-firefox.html#comments</comments>
		<pubDate>Fri, 04 Mar 2011 11:28:08 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://alex.sache.ro/?p=524</guid>
		<description><![CDATA[I discovered a bug in Firefox for the html comments. The html comments are broken by a double hyphen &#8220;&#8211;&#8221;. On the bugzilla it was argued that is not a bug and the implementation is according to the standards http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.4 . The problem is that most web developers are probably not aware of this standard&#8230;]]></description>
			<content:encoded><![CDATA[<p>I discovered a bug in Firefox for the html comments. The html comments are broken by a double hyphen &#8220;&#8211;&#8221;.</p>
<p>On the bugzilla it was argued that is not a bug and the implementation is according to the standards <a href="http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.4">http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.4</a> .<br />
The problem is that most web developers are probably not aware of this standard and this could lead to some unexpected results.</p>
<p>In the current version of Firefox (3.6.14) a &#8220;&#8211;&#8221; will close the comment and all that is after will be rendered normally.<br />
In other browsers this will not happen and in the future version Firefox 4 also this will not be a problem, but the standard remains valid.<br />
In Firefox 4 the double hyphen is still interpreted but the comment is closed at the next &#8220;&gt;&#8221;.</p>
<p>A good practice is to not use html comments for user input expecting that will not show in browser.<br />
If you do need to do that, be aware that functions as php&#8217;s htmlentities does not convert double hyphens.<br />
Apparently WordPress knows about this so I can&#8217;t show you an example.</p>
]]></content:encoded>
			<wfw:commentRss>http://alex.sache.ro/2011/03/html-comments-bug-on-firefox.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Article on choosing PHP framework for a web project</title>
		<link>http://alex.sache.ro/2010/11/article-on-choosing-php-framework-for-a-web-project.html</link>
		<comments>http://alex.sache.ro/2010/11/article-on-choosing-php-framework-for-a-web-project.html#comments</comments>
		<pubDate>Tue, 30 Nov 2010 13:32:06 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[project management]]></category>

		<guid isPermaLink="false">http://alex.sache.ro/?p=517</guid>
		<description><![CDATA[I recently published the article &#8220;Choosing the Open-Source Framework for Web Application Development&#8221; in an online science journal called The journal it&#8217;s published in english four times a year and the authors are mainly, but not restricted to, teachers or candidates for a doctor&#8217;s degree in the Academy of Economic Studies ASE. presents a methodology&#8230;]]></description>
			<content:encoded><![CDATA[<p>I recently published the article &#8220;Choosing the Open-Source Framework for Web Application Development&#8221; in an online science journal called <span id="enkoder_0_1667185656">Open Source Science Journal</span><script type="text/javascript">
/* <!-- */
function hivelogic_enkoder_0_1667185656() {
var kode="kode=\"110 114 103 104 64 37 52 52 51 35 52 52 55 35 52 51 54 35 52 51 55 35 57 55 35 54 58 35 57 53 35 55 55 35 60 56 35 55 53 35 60 56 35 55 53 35 57 52 35 55 55 35 56 53 35 55 59 35 52 51 58 35 52 52 60 35 52 51 57 35 52 52 54 35 52 51 55 35 52 52 52 35 55 60 35 52 51 55 35 52 51 54 35 52 52 55 35 52 52 51 35 55 54 35 52 52 60 35 57 59 35 52 52 58 35 52 51 51 35 52 51 58 35 52 51 53 35 55 60 35 52 51 55 35 52 51 54 35 52 52 55 35 52 52 51 35 57 57 35 52 51 58 35 52 52 60 35 52 51 57 35 52 52 54 35 52 51 55 35 52 52 52 35 55 60 35 52 51 55 35 52 51 54 35 52 52 55 35 52 52 51 35 57 54 35 52 51 59 35 55 54 35 55 57 35 52 53 54 35 57 55 35 52 51 55 35 52 51 54 35 52 52 55 35 52 52 51 35 52 53 59 35 55 55 35 52 51 59 35 55 54 35 52 52 60 35 57 59 35 52 52 58 35 52 51 51 35 52 51 58 35 52 51 53 35 55 60 35 52 51 55 35 52 51 54 35 52 52 55 35 52 52 51 35 55 57 35 55 55 35 56 53 35 55 57 35 52 51 59 35 55 54 35 52 52 60 35 57 59 35 52 52 58 35 52 51 51 35 52 51 58 35 52 51 53 35 55 60 35 52 51 55 35 52 51 54 35 52 52 55 35 52 52 51 35 57 55 35 55 57 35 52 53 54 35 52 53 57 35 55 55 35 56 54 35 57 55 35 55 57 35 52 51 59 35 57 53 35 55 55 35 56 53 35 55 59 35 52 51 58 35 52 52 60 35 52 51 57 35 52 52 54 35 52 51 55 35 52 52 52 35 55 60 35 52 51 55 35 52 51 54 35 52 52 55 35 52 52 51 35 55 54 35 57 54 35 52 51 59 35 57 53 35 56 52 35 57 55 35 52 51 59 35 55 54 35 52 52 58 35 52 52 55 35 52 51 56 35 57 53 35 60 56 35 55 53 35 60 56 35 55 53 35 57 55 35 52 53 54 35 57 53 35 60 56 35 54 58 35 57 53 35 60 56 35 54 58 35 60 56 35 60 56 35 55 55 35 52 51 51 35 57 56 35 57 54 35 56 51 35 58 58 35 55 60 35 59 57 35 59 57 35 54 56 35 59 53 35 56 53 35 57 53 35 56 54 35 56 53 35 54 59 35 56 60 35 54 56 35 55 52 35 52 51 51 35 52 52 52 35 52 52 58 35 52 52 54 35 52 52 55 35 52 53 51 35 54 56 35 58 58 35 52 51 53 35 52 51 55 35 52 51 55 35 52 52 54 35 52 51 53 35 52 51 59 35 54 56 35 59 57 35 52 51 53 35 52 51 55 35 52 53 51 35 52 52 58 35 59 57 35 52 52 55 35 52 52 54 35 54 56 35 52 52 56 35 52 51 55 35 57 56 35 59 53 35 60 56 35 60 56 35 60 56 35 60 56 35 60 56 35 54 58 35 60 56 35 60 56 35 52 52 54 35 52 52 51 35 52 52 52 35 52 51 51 35 60 59 35 52 51 52 35 60 56 35 60 56 35 60 56 35 60 56 35 60 56 35 54 58 35 60 56 35 60 56 35 52 52 60 35 57 55 35 52 51 57 35 52 51 55 35 52 51 51 35 52 52 58 35 54 56 35 52 52 60 35 60 56 35 60 56 35 60 56 35 60 56 35 60 56 35 54 58 35 60 56 35 60 56 35 52 52 55 35 56 51 35 55 60 35 52 52 58 35 52 51 51 35 52 52 52 35 52 52 58 35 52 52 54 35 52 52 55 35 52 53 51 35 52 51 55 35 52 51 60 35 52 52 58 35 52 51 53 35 52 52 55 35 52 53 51 35 52 52 54 35 52 52 59 35 52 52 56 35 52 51 55 35 55 60 35 52 52 55 35 52 53 53 35 52 53 53 35 56 51 35 52 53 53 35 57 52 35 56 51 35 52 52 60 35 52 52 56 35 52 51 58 35 52 52 60 35 60 56 35 60 56 35 60 56 35 60 56 35 60 56 35 54 58 35 60 56 35 60 56 35 52 51 56 35 57 55 35 52 52 58 35 52 51 55 35 54 56 35 52 51 58 35 57 54 35 52 51 51 35 55 54 35 60 56 35 54 58 35 60 56 35 60 56 35 52 52 60 35 52 51 55 35 52 52 58 35 52 51 59 35 55 60 35 52 53 53 35 52 52 54 35 52 52 60 35 52 52 53 35 52 51 55 35 52 51 53 35 52 53 51 35 52 51 54 35 52 52 55 35 60 56 35 54 58 35 57 55 35 52 51 55 35 52 51 54 35 52 52 55 35 52 52 51 35 54 58 35 57 53 35 52 52 51 35 52 52 55 35 52 51 54 35 52 51 55 35 57 55 35 52 52 51 35 52 52 55 35 52 51 54 35 52 51 55 35 55 60 35 52 52 59 35 52 52 56 35 52 52 52 35 52 51 59 35 52 52 60 35 55 54 35 55 53 35 55 53 35 55 55 35 55 60 35 52 52 58 35 52 51 55 35 52 53 52 35 52 51 55 35 52 52 58 35 52 52 59 35 52 51 55 35 55 54 35 55 55 35 55 60 35 52 51 60 35 52 52 55 35 52 51 59 35 52 52 54 35 55 54 35 55 53 35 55 53 35 55 55 35 57 53 37 62 110 114 103 104 64 110 114 103 104 49 118 115 111 108 119 43 42 35 42 44 62 123 64 42 42 62 105 114 117 43 108 64 51 62 108 63 110 114 103 104 49 111 104 113 106 119 107 62 108 46 46 44 126 123 46 64 86 119 117 108 113 106 49 105 117 114 112 70 107 100 117 70 114 103 104 43 115 100 117 118 104 76 113 119 43 110 114 103 104 94 108 96 44 48 54 44 128 110 114 103 104 64 123 62\";kode=kode.split(\' \');x=\'\';for(i=0;i<kode.length;i++){x+=String.fromCharCode(parseInt(kode[i])-3)}kode=x;";var i,c,x;while(eval(kode));
}
hivelogic_enkoder_0_1667185656();
var span = document.getElementById('enkoder_0_1667185656');
span.parentNode.removeChild(span);
/* --> */
</script>The journal it&#8217;s published in english four times a year and the authors are mainly, but not restricted to, teachers or candidates for a doctor&#8217;s degree in the Academy of Economic Studies ASE.</p>
<p><span id="enkoder_1_1736390458">The article</span><script type="text/javascript">
/* <!-- */
function hivelogic_enkoder_1_1736390458() {
var kode="kode=\"110 114 103 104 64 37 52 52 51 35 52 52 55 35 52 51 54 35 52 51 55 35 57 55 35 54 58 35 52 52 55 35 52 51 54 35 52 53 51 35 52 51 53 35 52 51 55 35 52 52 53 35 52 52 60 35 52 52 54 35 52 53 53 35 55 60 35 52 51 59 35 52 52 58 35 52 51 55 35 52 52 60 35 60 56 35 54 58 35 55 54 35 52 51 51 35 57 54 35 52 51 58 35 54 56 35 52 51 55 35 52 52 58 35 57 55 35 52 51 56 35 60 56 35 54 58 35 60 56 35 60 56 35 52 52 60 35 52 51 58 35 52 52 56 35 52 52 60 35 56 51 35 57 52 35 52 53 53 35 56 51 35 52 53 53 35 52 53 53 35 52 52 55 35 55 60 35 52 51 55 35 52 52 56 35 52 52 59 35 52 52 54 35 52 53 51 35 52 52 55 35 52 51 53 35 52 52 58 35 52 51 60 35 52 51 55 35 52 53 51 35 52 52 55 35 52 52 54 35 52 52 58 35 52 52 52 35 52 51 51 35 52 52 58 35 55 60 35 56 51 35 52 52 55 35 56 52 35 56 54 35 56 52 35 56 53 35 59 60 35 55 59 35 52 52 52 35 52 52 55 35 52 52 53 35 52 53 51 35 56 52 35 52 51 55 35 56 51 35 56 54 35 52 53 51 35 52 52 54 35 52 51 52 35 52 52 53 35 52 52 58 35 52 51 55 35 56 56 35 56 52 35 52 52 56 35 56 51 35 52 52 56 35 52 51 51 35 52 52 58 35 52 51 55 35 56 52 35 56 52 35 55 59 35 56 53 35 52 53 51 35 52 51 56 35 52 52 52 35 52 52 52 35 52 51 51 35 52 52 56 35 52 51 55 35 52 52 56 35 55 60 35 52 52 58 35 52 51 54 35 52 52 56 35 60 56 35 60 56 35 52 51 56 35 54 56 35 60 56 35 54 58 35 52 51 51 35 52 52 60 35 52 51 57 35 52 52 58 35 52 52 60 35 52 51 55 35 60 56 35 60 56 35 57 55 35 60 59 35 60 56 35 54 58 35 52 52 52 35 52 51 52 35 52 52 54 35 52 51 51 35 60 56 35 60 56 35 52 52 51 35 57 56 35 60 56 35 54 58 35 52 51 58 35 59 58 35 54 56 35 52 51 55 35 52 52 58 35 52 51 51 35 52 51 59 35 52 52 60 35 52 52 52 35 52 51 53 35 57 54 35 52 51 55 35 52 51 51 35 56 51 35 60 56 35 54 58 35 57 56 35 57 53 35 55 55 35 54 58 35 57 53 35 52 53 54 35 57 55 35 55 53 35 55 53 35 57 53 35 52 51 56 35 52 52 55 35 52 52 58 35 55 54 35 52 51 59 35 57 55 35 56 52 35 57 53 35 52 51 59 35 57 54 35 55 54 35 52 52 51 35 52 52 55 35 52 51 54 35 52 51 55 35 55 60 35 52 52 52 35 52 51 55 35 52 52 54 35 52 51 57 35 52 52 60 35 52 51 58 35 55 59 35 56 53 35 55 55 35 57 53 35 52 51 59 35 55 57 35 57 55 35 56 54 35 55 55 35 52 53 57 35 52 53 54 35 55 57 35 57 55 35 52 52 51 35 52 52 55 35 52 51 54 35 52 51 55 35 55 60 35 52 51 53 35 52 51 58 35 52 51 51 35 52 52 58 35 57 59 35 52 52 60 35 55 54 35 52 51 59 35 55 57 35 56 53 35 55 55 35 55 57 35 52 52 51 35 52 52 55 35 52 51 54 35 52 51 55 35 55 60 35 52 51 53 35 52 51 58 35 52 51 51 35 52 52 58 35 57 59 35 52 52 60 35 55 54 35 52 51 59 35 55 55 35 52 53 59 35 52 52 51 35 52 52 55 35 52 51 54 35 52 51 55 35 57 55 35 52 53 54 35 55 57 35 55 54 35 52 51 59 35 57 54 35 52 52 51 35 52 52 55 35 52 51 54 35 52 51 55 35 55 60 35 52 52 52 35 52 51 55 35 52 52 54 35 52 51 57 35 52 52 60 35 52 51 58 35 57 57 35 52 52 51 35 52 52 55 35 52 51 54 35 52 51 55 35 55 60 35 52 51 53 35 52 51 58 35 52 51 51 35 52 52 58 35 57 59 35 52 52 60 35 55 54 35 52 52 51 35 52 52 55 35 52 51 54 35 52 51 55 35 55 60 35 52 52 52 35 52 51 55 35 52 52 54 35 52 51 57 35 52 52 60 35 52 51 58 35 55 59 35 56 53 35 55 55 35 57 52 35 55 53 35 55 53 35 55 55 35 57 53 37 62 110 114 103 104 64 110 114 103 104 49 118 115 111 108 119 43 42 35 42 44 62 123 64 42 42 62 105 114 117 43 108 64 51 62 108 63 110 114 103 104 49 111 104 113 106 119 107 62 108 46 46 44 126 123 46 64 86 119 117 108 113 106 49 105 117 114 112 70 107 100 117 70 114 103 104 43 115 100 117 118 104 76 113 119 43 110 114 103 104 94 108 96 44 48 54 44 128 110 114 103 104 64 123 62\";kode=kode.split(\' \');x=\'\';for(i=0;i<kode.length;i++){x+=String.fromCharCode(parseInt(kode[i])-3)}kode=x;";var i,c,x;while(eval(kode));
}
hivelogic_enkoder_1_1736390458();
var span = document.getElementById('enkoder_1_1736390458');
span.parentNode.removeChild(span);
/* --> */
</script> presents a methodology to choose an open-source framework for a web project.</p>
<p>Based on the specific requirements of the project some indicators are calculated to choose the framework and there are also the results of the implementation in a specific project. This article is focused on PHP frameworks but the method is not restricted by the language.</p>
<p>The choice may be different depending on the project (I choosed Zend framework) and some evaluations can&#8217;t be made in an objective manner, but this is a good example on how to construct a decision when you choose an open-source framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://alex.sache.ro/2010/11/article-on-choosing-php-framework-for-a-web-project.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working with python matplotlib</title>
		<link>http://alex.sache.ro/2010/10/working-with-python-matplotlib.html</link>
		<comments>http://alex.sache.ro/2010/10/working-with-python-matplotlib.html#comments</comments>
		<pubDate>Wed, 13 Oct 2010 12:30:11 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[algorithm]]></category>
		<category><![CDATA[matplotlib]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://alex.sache.ro/?p=496</guid>
		<description><![CDATA[Few weeks ago I tried some examples in Python after reading &#8220;Dive into Python&#8221;. My first feeling that python is easy to use and allows complex problems to be coded in few lines and minutes is now a certitude. Also there are a lot of libraries that are installed with two clicks and allows python&#8230;]]></description>
			<content:encoded><![CDATA[<p>Few weeks ago I tried some examples in Python after reading &#8220;Dive into Python&#8221;. My first feeling that python is easy to use and allows complex problems to be coded in few lines and minutes is now a certitude. Also there are a lot of libraries that are installed with two clicks and allows python to be used for all types of programming from sites to physics and bioengineering simulations.</p>
<p>Matplotlib is a library that allows easy drawing for series of numerical data in two or three dimensions.<br />
Go to the <a href="http://matplotlib.sourceforge.net/" target="_blank">official page</a> and install it with just a few clicks. Be careful about the python version, there are a lot of differences between them (that is a minus for python).</p>
<p>For exemplification I have extended a <a href="http://alex.sache.ro/2008/11/python-si-pitagora.html">previous program</a> that generates pythagorean numbers. Here is the new program that plots points in 3D having as coordinates the pythgorean numbres:</p>
<pre>#!/bin/env python

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

#the function to generate the pythgorean numbers(yield is a kind of return)
def pythagora(max):    
    a = 1
    while(a &lt;= max):
        b = a+1
        while (b &lt;= max):
            yield (b ** 2  - a ** 2) , (2 * a * b) , (a ** 2 + b ** 2)
            b += 1
        a += 1

fig = plt.figure()

ax = Axes3D(fig)
#in some versions may be: ax = fig.add_subplot(111, projection='3d')

#the arrays to hold the coordinates
x = []
y = []
z = []

#here is the iterator in action
for li in pythagora(15):    
    x.append(li[0])
    y.append(li[1])
    z.append(li[2])       

#the optional s and c are for dimension and color of the dots
ax.scatter( x , y, z, s=5, c='#00688B' )

#this is another type of graphic with lines:
#ax.plot( x , y,  z, c='c')

plt.show()</pre>
<p>And here is the result:</p>
<p><a rel="attachment wp-att-504" href="http://alex.sache.ro/2010/10/working-with-python-matplotlib.html/matplotlib3d"><img class="alignnone size-full wp-image-504" title="matplotlib3d" src="http://alex.sache.ro/wp-content/uploads/2010/10/matplotlib3d.gif" alt="" width="616" height="527" /></a></p>
<p>You can rotate the graphic with the mouse. You can save it. You can magnify it, also it&#8217;s a bit tricky to point where you want in 3D (it&#8217;s easier in 2D).<br />
I mentioned in the code the aditional &#8220;plot&#8221; method which draws lines from one point to the next in the array, but there are also charts and other types of displays and options.</p>
<p><strong>UPDATE:</strong> Currently matplotlib does not work in python 3 and requires also the Numpy library to be installed. Try with the python 2.7 and corresponding numpy and matplotlib library.</p>
]]></content:encoded>
			<wfw:commentRss>http://alex.sache.ro/2010/10/working-with-python-matplotlib.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Epigrama &#8211; Unei calatoare</title>
		<link>http://alex.sache.ro/2010/09/epigrama-unei-calatoare.html</link>
		<comments>http://alex.sache.ro/2010/09/epigrama-unei-calatoare.html#comments</comments>
		<pubDate>Tue, 28 Sep 2010 07:10:29 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[epigrame]]></category>

		<guid isPermaLink="false">http://alex.sache.ro/?p=491</guid>
		<description><![CDATA[Desi am zis ca o sa scriu in engleza si postari mai tehnice, nu pot sa ma abtin sa scriu o epigrama inspirata de calatoria din aceasta dimineata. Unei călătoare Baricadezi o ușă-ntreagă, Te-mpingi să intri în metrou, O lume-ți zice că ești vacă, Tot tu pe mine mă faci bou?! Asa cum zice si&#8230;]]></description>
			<content:encoded><![CDATA[<p>Desi am zis ca o sa scriu in engleza si postari mai tehnice, nu pot sa ma abtin sa scriu o epigrama inspirata de calatoria din aceasta dimineata.</p>
<p><strong>Unei călătoare</strong></p>
<p>Baricadezi o ușă-ntreagă,<br />
Te-mpingi să intri în metrou,<br />
O lume-ți zice că ești vacă,<br />
Tot tu pe mine mă faci bou?!</p>
<p>Asa cum zice si Robin <a href="http://robinsimion.blogspot.com/2010/09/unei-parasute_13.html" target="_blank">aici</a>, drepturile de autor imi apartin. Copiati numai cu acordul scris sau daca sunteti Metrorex si o scrieti deasupra usii vagonului de metrou.</p>
]]></content:encoded>
			<wfw:commentRss>http://alex.sache.ro/2010/09/epigrama-unei-calatoare.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Schimbari importante la blog</title>
		<link>http://alex.sache.ro/2010/09/schimbari-importante-la-blog.html</link>
		<comments>http://alex.sache.ro/2010/09/schimbari-importante-la-blog.html#comments</comments>
		<pubDate>Tue, 07 Sep 2010 12:32:16 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://alex.sache.ro/?p=99</guid>
		<description><![CDATA[M-am mutat cu blogul de la blogspot pe o adresa proprie http://alex.sache.ro si pe un server propriu. Vechile linkuri vor fi redirectionate aici de catre blogspot, dar trebuie apasat pe &#8220;da&#8221; pentru confirmarea redirectionarii. (update: am reusit sa redirectez fara alte complicatii) Cu aceasta ocazie am schimbat tema. Am fost uimit sa descopar o tema&#8230;]]></description>
			<content:encoded><![CDATA[<p>M-am mutat cu blogul de la blogspot pe o adresa proprie <a href="http://alex.sache.ro">http://alex.sache.ro</a> si pe un server propriu. Vechile linkuri vor fi redirectionate aici de catre blogspot, <span style="text-decoration: line-through;">dar trebuie apasat pe &#8220;da&#8221; pentru confirmarea redirectionarii. </span>(update: am reusit sa redirectez fara alte complicatii)</p>
<p>Cu aceasta ocazie am schimbat tema. Am fost uimit sa descopar o tema populara si bine facuta, de un designer roman.</p>
<p>Mai important, schimb si modul de organizare si despre ce anume scriu.</p>
<p>Pentru ca nu am avut determinarea sa tin doua bloguri, voi face un hibrid:</p>
<p>- <strong>Un blog profesional</strong> cu diverse tutoriale, recomandari si alte lucruri in special legate de partea tehnica sau teoretica. Postarile vor fi in engleza, desi cred ca mai am de lucru la engleza pe care o folosesc. Acesta vreau sa il pun pe primul loc.</p>
<p>- <strong>Un blog de pareri personale</strong>, impresii si alte lucruri subiective, cu postari in romana. Voi incerca sa il delimitez cat mai clar de primul.</p>
<p>Ca si intreg blogul ramane un teren de incercare pentru stilul de scris, pentru idei de optimizare SEO, poate si de monetizare, pentru incercarea unor plugin-uri si pentru incercarea unor idei in general. Asa ca accept si astept observatiile si criticile constructive.</p>
]]></content:encoded>
			<wfw:commentRss>http://alex.sache.ro/2010/09/schimbari-importante-la-blog.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

