<?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>Ahmed El Gamil &#187; Programming</title>
	<atom:link href="http://www.blog.manhag.org/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.blog.manhag.org</link>
	<description></description>
	<lastBuildDate>Thu, 13 Oct 2011 10:54:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
<image>
<link>http://www.blog.manhag.org</link>
<url>http://www.blog.manhag.org/wp-content/mbp-favicon/favicon.ico</url>
<title>Ahmed El Gamil</title>
</image>
	<atom:link rel='hub' href='http://www.blog.manhag.org/?pushpress=hub'/>
		<item>
		<title>Redefining the “Systems Engineer”</title>
		<link>http://www.blog.manhag.org/2010/12/redefining-the-systems-engineer/</link>
		<comments>http://www.blog.manhag.org/2010/12/redefining-the-systems-engineer/#comments</comments>
		<pubDate>Thu, 09 Dec 2010 16:34:19 +0000</pubDate>
		<dc:creator>Ahmed El Gamil</dc:creator>
				<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[UNIX/Linux]]></category>
		<category><![CDATA[DevOps Systems UNIX LinkedIn]]></category>

		<guid isPermaLink="false">http://www.blog.manhag.org/?p=567</guid>
		<description><![CDATA[I usually come across stuff on the web and just post it to my twitter account, but i was browsing the other day and came across a fantastic article by Ben Rockwood (@Benr) which he gave a title of &#8220;Devops: The Re-emergance of Systems Engineering as a Discipline&#8221;, Let&#8217;s quote some words of wisdom from [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_silver" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.blog.manhag.org%252F2010%252F12%252Fredefining-the-systems-engineer%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Fg5LFAX%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Redefining%20the%20%E2%80%9CSystems%20Engineer%E2%80%9D%22%20%7D);"></div>
<p><a href="http://www.blog.manhag.org/wp-content/uploads/2010/12/Octopus-operator.jpg"><img class="aligncenter size-full wp-image-577" title="Octopus-operator" src="http://www.blog.manhag.org/wp-content/uploads/2010/12/Octopus-operator.jpg" alt="" width="450" height="346" /></a></p>
<p>I usually come across stuff on the web and just post it to <a href="http://www.twitter.com/ahmedelgamil" target="_blank">my twitter account</a>, but i was browsing the other day and came across a fantastic article by Ben Rockwood (<a href="http://www.twitter.com/benr" target="_blank">@Benr</a>) which he gave a title of <em>&#8220;Devops: The Re-emergance of Systems Engineering as a Discipline&#8221;, </em>Let&#8217;s quote some words of wisdom from this article:</p>
<blockquote><p>The people that I met that seems to &#8220;get&#8221; the devops culture are devs.   But not that kind&#8230; You see, they profess years in administration or  ops, but they more excited by JSON and AMQP than they are by the next  release of their favorite OS or chip architecture.  These people no  longer see computers as autonomous entities, rather they see the  protocols to link them.  They are more excited by NoSQL databases that  can house metrics than they are in the commands and interfaces they can  get them from.  Spending time learning every little feature of an OS  isn&#8217;t exciting, but optimizing inter-system communication is.</p></blockquote>
<p>That&#8217;s interestingly true !, When NoSQL was trending, i saw it on the UNIX/Sysadmins blogs more than on the developers blogs, some of us just like to follow the new/alternative to the software models we have been using in operations because we already experienced the bottle necks of performance for the old systems and kept inventing workarounds to get those systems up and running in production efficiently.</p>
<blockquote><p>What I&#8217;m driving at is that the most interesting artifact of the  &#8220;devops&#8221; movement is that its bringing a new generation of Systems  Engineers out of the closet.  They are devs in an ops world.  Not dev  for dev sake&#8230; not ops for ops sake&#8230; but rather dev for the sake of  ops.</p></blockquote>
<p>Take a look at the new tools in our market:</p>
<ul>
<li>Configuration Management -&gt; created by Sysadmins turned Developers for the sake of managing the configuration of a large amount of systems</li>
<li>Servers Orchestration/ Command &amp; Control -&gt; Also created by Ops sick of SSHing into each server and doing the same thing over and over again, therefor they created frameworks for orchestrating their servers.</li>
<li>Examples here are simply endless ! &#8230;.</li>
</ul>
<p>But making a culture change like this in a job that most of it is based around routine processes (Monitoring, Provisioning, Deploying the same stuff over and over again) is not that easy, Especially for people who entered the Systems world seeking a &#8220;stable&#8221; job, those guys must think again about their jobs, one day they may be in an &#8220;Evolve or Die&#8221; situation:</p>
<blockquote><p>As the good news of &#8220;devops&#8221; spreads it first enlightens, then brings  excitement, then dread.  If your one of those &#8220;specialists&#8221;, you can  easily feel that your now out-dated.  Consider that there is now pride  within the devops elite that CIO&#8217;s are now talking about having a  &#8220;devops strategy&#8221;.  Some even suggest a (I&#8217;m paraphrasing) &#8220;evolve or  die&#8221; scenario for operations teams.  If your a sysadmin who uses Borne  or Korn shell instead of Ruby, look out!  I don&#8217;t think that&#8217;s fair, nor  do I think its true for all.  Instead, it all makes more sense when you  see it as three camps instead of two, with a the culture over the  three&#8230; that is, applications developers (traditional &#8220;dev&#8221;), system  administrators (traditional &#8220;ops&#8221;), with a new role in the middle of  Systems Engineers that helps glue the camps together.  Some of your  Systems Engineers will emerge from the dev side, some from the ops side,  always having hidden their secret urges to do both.  And, as with any  emergent role, many will aspire to it but simply not be cut out for it.</p></blockquote>
<p>And that&#8217;s all folks ! <img src='http://www.blog.manhag.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , I see this as a real enlightenment for the Systems Engineer, Our jobs are almost being redefined right now.</p>
<p>You can read the whole article that Ben wrote on his blog: <a href="http://www.cuddletech.com/blog/pivot/entry.php?id=1149" target="_blank"><em>Devops: The Re-emergance of Systems Engineering as a Discipline</em></a></p>

]]></content:encoded>
			<wfw:commentRss>http://www.blog.manhag.org/2010/12/redefining-the-systems-engineer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Automatic syntax checking for your puppet manifests</title>
		<link>http://www.blog.manhag.org/2010/10/automatic-syntax-checking-for-your-puppet-manifests/</link>
		<comments>http://www.blog.manhag.org/2010/10/automatic-syntax-checking-for-your-puppet-manifests/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 12:03:51 +0000</pubDate>
		<dc:creator>Ahmed El Gamil</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Puppet]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Sysadmin]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[growl]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[puppet]]></category>

		<guid isPermaLink="false">http://www.blog.manhag.org/?p=541</guid>
		<description><![CDATA[So i write a lot of puppet code these days to automate infrastructure stuff that i do, and it came to me that every time i have to make an addition/change to my puppet code i always run syntax checking with the &#8220;puppet apply&#8221; command, so why not automate this procedure and use the beautiful [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_silver" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.blog.manhag.org%252F2010%252F10%252Fautomatic-syntax-checking-for-your-puppet-manifests%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2Fdg4WSX%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Automatic%20syntax%20checking%20for%20your%20puppet%20manifests%22%20%7D);"></div>
<p>So i write a lot of <a href="http://www.puppetlabs.com" target="_blank">puppet</a> code these days to automate infrastructure stuff that i do, and it came to me that every time i have to make an addition/change to my puppet code i always run syntax checking with the &#8220;puppet apply&#8221; command, so why not automate this procedure and use the beautiful <a href="http://growl.info/" target="_blank">Growl</a> notifications on my Mac in order to get instant desktop notification with the output of puppet manifests syntax checking <img src='http://www.blog.manhag.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><span style="font-size: medium;">Introducing <a href="http://github.com/AhmedElGamil/puppet-growl" target="_blank">Puppet-growl</a></span></p>
<p><span style="font-size: medium;"><a href="http://www.blog.manhag.org/wp-content/uploads/2010/10/puppet-growl.tiff"><img class="aligncenter size-full wp-image-542" title="puppet-growl" src="http://www.blog.manhag.org/wp-content/uploads/2010/10/puppet-growl.tiff" alt="" /></a><a href="http://www.blog.manhag.org/wp-content/uploads/2010/10/puppet-growl.tif"><img class="aligncenter size-full wp-image-543" title="puppet-growl" src="http://www.blog.manhag.org/wp-content/uploads/2010/10/puppet-growl.tif" alt="" /></a><a href="http://www.blog.manhag.org/wp-content/uploads/2010/10/puppet-growl.jpg"><img class="aligncenter size-full wp-image-545" title="puppet-growl" src="http://www.blog.manhag.org/wp-content/uploads/2010/10/puppet-growl.jpg" alt="" width="301" height="129" /></a><br />
</span></p>
<ul>
<li> <strong>Puppet-growl</strong> is a ruby script that watches if there is  any changes to your puppet manifests (by monitoring .pp files) and sends  notifications to your desktop if the puppet manifest you just  created/edited passes the syntax checks or not.</li>
<li>It aims to facilitate the development of puppet code by sending instant notifications to your OS X desktop.</li>
<li>puppet-growl uses <a href="http://github.com/eventmachine/eventmachine/wiki" target="_blank">eventmachine</a>, <a href="http://github.com/mockko/em-dir-watcher" target="_blank">em-dir-watcher</a> and <a href="http://segment7.net/projects/ruby/growl/" target="_blank">ruby-growl</a></li>
</ul>
<p>For installation/configuration, please visit the puppet-growl on github: <a href="http://github.com/AhmedElGamil/puppet-growl" target="_blank">http://github.com/AhmedElGamil/puppet-growl</a></p>
<p>I would love to see someone hack the script to add <a href="http://library.gnome.org/devel/libnotify/" target="_blank">libnotify</a> support for the Linux desktop.</p>
<p>Thanks for <a href="https://twitter.com/worksilently" target="_blank">Mohammed Safwat</a> and <a href="https://twitter.com/#!/Karim_Allah" target="_blank">Karim Allah Ahmed</a> for hacking around the code with me.</p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">http://growl.info/</div>

]]></content:encoded>
			<wfw:commentRss>http://www.blog.manhag.org/2010/10/automatic-syntax-checking-for-your-puppet-manifests/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>chmod -x chmod</title>
		<link>http://www.blog.manhag.org/2010/10/chmod-x-chmod/</link>
		<comments>http://www.blog.manhag.org/2010/10/chmod-x-chmod/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 19:16:11 +0000</pubDate>
		<dc:creator>Ahmed El Gamil</dc:creator>
				<category><![CDATA[Open Source Technologies]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[UNIX/Linux]]></category>
		<category><![CDATA[chmod]]></category>
		<category><![CDATA[Geeky]]></category>

		<guid isPermaLink="false">http://www.blog.manhag.org/?p=535</guid>
		<description><![CDATA[What do you think will happen if you remove the executable flag from the chmod binary itself ? chmod -x chmod]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_silver" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.blog.manhag.org%252F2010%252F10%252Fchmod-x-chmod%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FbziQiP%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22chmod%20-x%20chmod%22%20%7D);"></div>
<p>What do you think will happen if you remove the executable flag from the chmod binary itself ? <img src='http://www.blog.manhag.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<div id="__ss_4968763" style="width: 425px;"><strong style="display: block; margin: 12px 0 4px;"><a title="chmod -x chmod" href="http://www.slideshare.net/cog/chmod-x-chmod">chmod -x chmod</a></strong></div>
<p style="text-align: center;"><object id="__sse4968763" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" 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://static.slidesharecdn.com/swf/ssplayer2.swf?doc=chmod-forslideshare-100814060123-phpapp01&amp;stripped_title=chmod-x-chmod&amp;userName=cog" /><param name="name" value="__sse4968763" /><param name="allowfullscreen" value="true" /><embed id="__sse4968763" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=chmod-forslideshare-100814060123-phpapp01&amp;stripped_title=chmod-x-chmod&amp;userName=cog" name="__sse4968763" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>

]]></content:encoded>
			<wfw:commentRss>http://www.blog.manhag.org/2010/10/chmod-x-chmod/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing Egypt’s DevOps</title>
		<link>http://www.blog.manhag.org/2010/07/announcing-egypts-devops/</link>
		<comments>http://www.blog.manhag.org/2010/07/announcing-egypts-devops/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 19:42:10 +0000</pubDate>
		<dc:creator>Ahmed El Gamil</dc:creator>
				<category><![CDATA[Open Source Technologies]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[UNIX/Linux]]></category>
		<category><![CDATA[ConfigurationManagement]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[Sysadmin LinkedIn]]></category>

		<guid isPermaLink="false">http://www.blog.manhag.org/?p=492</guid>
		<description><![CDATA[Assalamu Alykom Everybody, I know that this blog has almost been dead and you can only see my twitter updates laying around (seen this line before ?! well, it is the most famous line that bloggers write when they stop writing for some time, &#8212; Back to the topic chatty !! &#8211;) So i have [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_silver" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.blog.manhag.org%252F2010%252F07%252Fannouncing-egypts-devops%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FaHAyAK%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Announcing%20Egypt%E2%80%99s%20DevOps%22%20%7D);"></div>
<p style="text-align: center;">
<p style="text-align: center;"><a href="http://www.blog.manhag.org/wp-content/uploads/2010/07/Sysadmin-voodoo.png"><img class="aligncenter size-full wp-image-500" title="Sysadmin-voodoo" src="http://www.blog.manhag.org/wp-content/uploads/2010/07/Sysadmin-voodoo.png" alt="" width="311" height="386" /></a></p>
<p>Assalamu Alykom Everybody,</p>
<p>I know that this blog has almost been dead and you can only see my twitter updates laying around (seen this line before ?! well, it is the most famous line that bloggers write when they stop writing for some time, &#8212; Back to the topic chatty !! &#8211;)</p>
<p>So i have been working in the Egyptian market for quite some time now in the field of UNIX-like/Linux Systems administration, dealt with a lot of technologies like: web operations/scalability, Infrastructure management, web farms,VoIP, Security systems and whole bunch of stuff, which gave me some idea on how do sysadmins (or systems engineers whatever you like <img src='http://www.blog.manhag.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  ) do and achieve their goals.</p>
<p>The point is, I DON&#8217;T LIKE IT, WE ARE BEING KILLED BY OUR JOBS, Systems are evolving and we are not ?! ..</p>
<p>Virtualization and Cloud Computing brought a whole lot of machines, and we still manage them using &#8220;almost&#8221; the same technologies ?! ..</p>
<p>If you are like me and have been searching for a solution for the past year or two, You will see around the internet that people are talking about &#8220;Agile Systems Administration&#8221;, &#8220;Infrastructure As Code&#8221; , &#8220;Command and Control&#8221;, &#8220;Configuration Management&#8221;, &#8220;Server Orchestration&#8221; and &#8220;DevOps&#8221;.</p>
<p>So I started asking people working on our industry, and there is almost NOBODY individually or an enterprise in Egypt that started working with those technologies, just some tiny trials and i just cannot stand the time/power we are wasting on managing our servers &#8220;Old School&#8221;. (If your Enterprise is using some of the technologies mentioned above, please tell us in the comments or mail me personally, I would love to have a chat about that.)</p>
<p>So within the next days isA, i will start doing some steps to get us out of the misery <img src='http://www.blog.manhag.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> , may be creating some collaboration channels, contacting key professionals on that topic, who knows may be even making and event/sessions about it ..</p>
<p>But first I need your trusty comments, What do you think of the technologies mentioned ? Do you see it applicable at your employer ? Did you start using it ?</p>

]]></content:encoded>
			<wfw:commentRss>http://www.blog.manhag.org/2010/07/announcing-egypts-devops/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Stars were glowing at JDC 2010</title>
		<link>http://www.blog.manhag.org/2010/02/stars-were-glowing-at-jdc-2010/</link>
		<comments>http://www.blog.manhag.org/2010/02/stars-were-glowing-at-jdc-2010/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 21:46:08 +0000</pubDate>
		<dc:creator>Ahmed El Gamil</dc:creator>
				<category><![CDATA[Computer.Assistant.Team]]></category>
		<category><![CDATA[Open Source Technologies]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[EGJUG]]></category>
		<category><![CDATA[Egypt]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JDC]]></category>
		<category><![CDATA[LinkedIn]]></category>

		<guid isPermaLink="false">http://www.blog.manhag.org/?p=414</guid>
		<description><![CDATA[Since this blog was starting to be full of ghosts, i said that i must break the silence by some quick post. Last Saturday I attended the JDC 2010 (Java Developer Conference) which is organized by EGJUG , I attended the last JDC which was at 2008 and it was pretty good and after looking [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_silver" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.blog.manhag.org%252F2010%252F02%252Fstars-were-glowing-at-jdc-2010%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Stars%20were%20glowing%20at%20JDC%202010%22%20%7D);"></div>
<p>Since this blog was starting to be full of ghosts, i said that i must break the silence by some quick post.</p>
<p>Last Saturday I attended the <a href="http://jdc2010.egjug.org" target="_blank">JDC 2010</a> (Java Developer Conference) which is organized by <a href="http://egjug.org" target="_blank">EGJUG</a> , I attended the last JDC which was at 2008 and it was pretty good and after looking at the agenda of 2010, i just couldn&#8217;t resist <img src='http://www.blog.manhag.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Most of the sessions were quite interesting, i got to know some of the new technologies and made some good contacts with great people in the industry here in Egypt.</p>
<p>I also bought an excellent book <a href="http://ridingthecrest.com/" target="_blank">&#8220;Secrets of the Rock Star Programmers&#8221;</a> by <a href="http://twitter.com/edburns" target="_blank">Ed Burns</a> who was a speaker at the conference (and he was also a speaker at 2008), and he signed it for me <img src='http://www.blog.manhag.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> , Thanks Ed.</p>
<p><a href="http://www.blog.manhag.org/wp-content/uploads/2010/02/27022010285.jpg"><img class="aligncenter size-thumbnail wp-image-415" title="27022010285" src="http://www.blog.manhag.org/wp-content/uploads/2010/02/27022010285-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>After the conference we had a quick visit to Google <img src='http://www.blog.manhag.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.blog.manhag.org/wp-content/uploads/2010/02/27022010286.jpg"><img class="aligncenter size-thumbnail wp-image-417" title="27022010286" src="http://www.blog.manhag.org/wp-content/uploads/2010/02/27022010286-150x150.jpg" alt="" width="150" height="150" /></a>Actually that was at the Google Booth <img src='http://www.blog.manhag.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> , Some of the Google guys were there like <a href="http://twitter.com/mardinix" target="_blank">AbdelKarim Mardini</a> showing the new Nexus one and some other cool stuff.</p>
<p>A lot of interesting people was there like Sang Shin, Fred Sauer, also from Egypt <a href="http://twitter.com/melrefaey" target="_blank">Mohammed El-Refaey</a> whom i really enjoyed talking to.</p>
<p>So in the end, it was a pretty good day and meeting a lot of my friends added a tasty flavour to the mixture, JAK Shabab.</p>
<p>Time to move on and finish that piles of work to do !</p>

]]></content:encoded>
			<wfw:commentRss>http://www.blog.manhag.org/2010/02/stars-were-glowing-at-jdc-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Auto-completion in Ruby IRB</title>
		<link>http://www.blog.manhag.org/2009/02/auto-completion-in-ruby-irb/</link>
		<comments>http://www.blog.manhag.org/2009/02/auto-completion-in-ruby-irb/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 03:32:16 +0000</pubDate>
		<dc:creator>Ahmed El Gamil</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[UNIX/Linux]]></category>
		<category><![CDATA[.irbrc]]></category>
		<category><![CDATA[auto-completion]]></category>

		<guid isPermaLink="false">http://www.blog.manhag.org/?p=317</guid>
		<description><![CDATA[الحمد لله و كفى وصلاة و سلاماً على عباده الذين اصطفى ثم أما بعد.. فبينما أقوم بتجربة لغة البرمجة Ruby كلغة بديلة لل Bash Scripting للقيام ببعض أعمال اداره نظم التشغيل (System Administration) (والتى تبين لى انها قوية جداً فى هذا المجال و يبدو أنى سأستخدمها من الان فصاعداً), اذ تعرضت لل Interactive Ruby او [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_silver" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fwww.blog.manhag.org%252F2009%252F02%252Fauto-completion-in-ruby-irb%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Auto-completion%20in%20Ruby%20IRB%22%20%7D);"></div>
<p style="text-align: center;" dir="rtl">الحمد لله و كفى وصلاة و سلاماً على عباده الذين اصطفى ثم أما بعد..</p>
<p style="text-align: right;" dir="rtl">فبينما أقوم بتجربة لغة البرمجة <a href="http://ruby-lang.org/" target="_blank">Ruby</a> كلغة بديلة لل Bash Scripting للقيام ببعض أعمال اداره نظم التشغيل (System Administration) (والتى تبين لى انها قوية جداً فى هذا المجال و يبدو أنى سأستخدمها من الان فصاعداً), اذ تعرضت لل Interactive Ruby او ما يسمى أختصاراً  Irb و هو عبارة عن نوع من ال Shells و لكنه للتعامل مع لغة Ruby نفسها لتجربة بعض الطرق البرمجية قبل استخدامها فعلياً فى برامجك..</p>
<p style="text-align: right;" dir="rtl">المشكلة التى قابلتنى هى انى وجدت Irb لا يقوم بعملية الاكمال التلقائى (Auto completion) لل Class &amp; Methods و هذا شىء صعب للغاية على مدمن Shells مثلى !  <img src='http://www.blog.manhag.org/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> </p>
<p style="text-align: right;" dir="rtl">و بعد البحث عن الموضوع مع العملاق <a href="http://www.google.com" target="_blank">جوجل</a> وجدت انه يجب عليك ان تقوم بضبط بعض الخواص فى ملف ال Configuration الخاص ب Irb و الذى يوجد فى مجلد ال Home بأسم <strong>irbrc.</strong> حتى يكون الملف كالاتى</p>
<blockquote>
<pre><strong>IRB.conf[:AUTO_INDENT] = true
IRB.conf[:USE_READLINE] = true
IRB.conf[:LOAD_MODULES] = []  unless IRB.conf.key?(:LOAD_MODULES)
unless IRB.conf[:LOAD_MODULES].include?('irb/completion')
  IRB.conf[:LOAD_MODULES] &lt;&lt; 'irb/completion'
end</strong></pre>
</blockquote>
<p style="text-align: right;" dir="rtl">و هكذا ترى النتيجة بعد الانتهاء من هذا التعديل البسيط  <img src='http://www.blog.manhag.org/wp-includes/images/smilies/icon_cool.gif' alt='8-)' class='wp-smiley' /> </p>
<p style="text-align: right;" dir="rtl"><img class="aligncenter size-full wp-image-320" title="irb" src="http://www.blog.manhag.org/wp-content/uploads/2009/02/irb.png" alt="irb" width="665" height="245" /></p>
<p style="text-align: center;" dir="rtl">سبحانك الله و بحمدك..أشهد ان لا اله إلا أنت..أستغفرك و أتوب إليك</p>

]]></content:encoded>
			<wfw:commentRss>http://www.blog.manhag.org/2009/02/auto-completion-in-ruby-irb/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

