<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>/var/log/ajdiaz</title>
	<atom:link href="http://ajdiaz.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://ajdiaz.wordpress.com</link>
	<description>Tips and tricks for system administration</description>
	<lastBuildDate>Sun, 29 Jan 2012 22:29:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='ajdiaz.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>/var/log/ajdiaz</title>
		<link>http://ajdiaz.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://ajdiaz.wordpress.com/osd.xml" title="/var/log/ajdiaz" />
	<atom:link rel='hub' href='http://ajdiaz.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Simple way to manage lots of system users in distributed environments.</title>
		<link>http://ajdiaz.wordpress.com/2011/06/03/simple-way-to-manage-lots-of-system-users-in-distributed-environments/</link>
		<comments>http://ajdiaz.wordpress.com/2011/06/03/simple-way-to-manage-lots-of-system-users-in-distributed-environments/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 20:42:03 +0000</pubDate>
		<dc:creator>ajdiaz</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[labs]]></category>
		<category><![CDATA[libnss_map]]></category>
		<category><![CDATA[systems]]></category>

		<guid isPermaLink="false">http://ajdiaz.wordpress.com/?p=251</guid>
		<description><![CDATA[Few years ago I was working in design of a large cluster of systems to perform some actions (solving some mathematical models, sharding database&#8230;). From the point of view of the systems, I had to deal with a number of &#8230; <a href="http://ajdiaz.wordpress.com/2011/06/03/simple-way-to-manage-lots-of-system-users-in-distributed-environments/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=251&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Few years ago I was working in design of a large cluster of systems to perform some actions (solving some mathematical models, sharding database&#8230;). From the point of view of the systems, I had to deal with a number of pesky troubles. One of them was the user management.</p>
<p>Since I had more than one hundred of hosts, and this number could be grow up in short, and I&#8217;ve a number of users which need to access to all hosts, I need to think in a way to easy user management. Actually user management is, in my opinion a pain in the butt. If you ve a central user directory, you need to deal with a big and fat single point of failure, so you need to create some kind of HA service for this directory. And if you ve systems around the world, then you need to replicate the user data in different directories and keep them synchronized. If it is not the hell, it must be very similar.</p>
<p>Dealing with user managemet is a royal hassle for system administrators in every place, but in the cloud (i.e. a number of hosts distributed around the world), it&#8217;s also a punishment. So, I need to solve (almost in part) this problem before moving forward in my deployment. I do not need a full user management really, just a basic UID mapping and a way to authenticate users (for which I could use the old-and-friendly authorized_keys).</p>
<p>So, How can I manage a big number of users in a single way, and to be effective in a distributed environment? That&#8217;s not a simple questions, and of course each implementation has its own solution, from authentication services to suites of scripts. Anyway, I was looking for a simple to manage ones, cause of I was the responsible to manage the entire environment and I&#8217;m too lazy too <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Thinking about the problem, I imagine a system without any user, let&#8217;s imaging that there are just one user, and any other user is just an alias for the first one. It could be easy to manage, because we only need one UID, but we need to solve the alias mapping.<br />
Here is when <a href="http://github.com/ajdiaz/libnss_map">libnss_map</a> join into the game. The <a href="http://github.com/ajdiaz/libnss_map">libnss_map</a> is a library designed to be used with <a href="http://www.gnu.org/s/hello/manual/libc/Name-Service-Switch.html">GNU NSS</a> service. The <acronym title="Name Service Switch">NSS</acronym> allows the system to get user credentials from many sources, which can be configured easy from the <code>/etc/nsswitch.conf</code> file.</p>
<p>For example, we can configure our system in the following way:<br />
<pre class="brush: plain; light: true; pad-line-numbers: false;">
passwd:      files map
shadow:      files map
group:       files map
</pre></p>
<p>So, for each user to get credentials NSS will lookup in standard files first, and then using the <code>map</code> module (libnss_map).The map module works as the flow diagram shows.</p>
<p><a href="http://ajdiaz.files.wordpress.com/2011/05/auth.png"><img src="http://ajdiaz.files.wordpress.com/2011/05/auth.png?w=153&#038;h=300" alt="Flow diagram of how get credentials works with libnss_map" title="Get credentials flow." width="153" height="300" class="alignleft size-medium wp-image-260" /></a></p>
<p>As you can see in the diagram there are two major steps in lookup. The first one is the responsible to map an user to a virtual one. The virtual user is static, and it&#8217;s defined in <code>/etc/nssmap.conf</code>. This file has the same syntax like <code>passwd</code> does. For example:</p>
<p><pre class="brush: plain; light: true; pad-line-numbers: false;">
virtual:x:10000:10000:,,,:/home/:/secure_shell
</pre></p>
<p>Which means that any user who does not exists in <code>/etc/passwd</code> will be mapped into this one, with UID 10000.</p>
<p>Okay, sounds good, but there are a lot questions yet. What about the password? What about the home dir?</p>
<p>Well, I do not find a good solution for password, so nssmap will return a masked password (account is enabled, but password will be unpredictable), and I authenticate the user using other methods via <acronym title="Pluggable Authentication Modules">PAM</acronym>, or public keys via <acronym title="Secure SHell">SSH</acronym>. </p>
<p>Home directory is easier. The home directory field in the user definition (inside <tt>/etc/nssmap.conf</tt> file) is used as prefix, and it will be completed with the user name (the name of the user which is intended to login, not the virtual one). So, for example, for the hypothetical  user &#8220;sample&#8221;, the effective home directory will be &#8220;/home/sample&#8221;, because &#8220;/home/&#8221; is the prefix. Please note that the end slash is mandatory in current implementation.</p>
<p>Finally I need to solve another big problem: if two users has the same UID then both can change the same files, or delete the files of other &#8220;virtual&#8221; user. How can we solve it? There are not single answer, not easy afterall. In my case I use special shell, which<br />
ensure that the user cannot remove, touch or even read files in any path into /home except his own home directory, but it&#8217;s not a full solution yet.</p>
<p>Here is an example using nss map:</p>
<p><pre class="brush: plain; light: true; pad-line-numbers: false;">
host ~ # sudo su - test
No directory, logging in with HOME=/
test@host / $ id
uid=10000(virtual) gid=10000(virtual) groups=10000(virtual)
</pre></p>
<p>In the meanwhile, a basic code is available in <a href="http://github.com/ajdiaz/libnss_map">my github</a>, and I still researching in this kind of authorization. Keep in touch and enjoy! An of course, feedback is welcome <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ajdiaz.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ajdiaz.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ajdiaz.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ajdiaz.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ajdiaz.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ajdiaz.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ajdiaz.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ajdiaz.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ajdiaz.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ajdiaz.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ajdiaz.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ajdiaz.wordpress.com/251/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ajdiaz.wordpress.com/251/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ajdiaz.wordpress.com/251/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=251&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ajdiaz.wordpress.com/2011/06/03/simple-way-to-manage-lots-of-system-users-in-distributed-environments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffc718cc95b66ed168d0d4b8d88f885c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ajdiaz</media:title>
		</media:content>

		<media:content url="http://ajdiaz.files.wordpress.com/2011/05/auth.png?w=153" medium="image">
			<media:title type="html">Get credentials flow.</media:title>
		</media:content>
	</item>
		<item>
		<title>Hands on dreamplug</title>
		<link>http://ajdiaz.wordpress.com/2011/05/25/hands-on-dreamplug/</link>
		<comments>http://ajdiaz.wordpress.com/2011/05/25/hands-on-dreamplug/#comments</comments>
		<pubDate>Wed, 25 May 2011 19:29:49 +0000</pubDate>
		<dc:creator>ajdiaz</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[dreamplug]]></category>
		<category><![CDATA[plug]]></category>
		<category><![CDATA[plugcomputing]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://ajdiaz.wordpress.com/?p=209</guid>
		<description><![CDATA[Update: Óscar García gently published a similar spanish version of this article. Couple of weeks ago I received my dreamplug, from NewIT. Though I knew some software troubles in device, I remains hopeful. However when I unpacked and powered on &#8230; <a href="http://ajdiaz.wordpress.com/2011/05/25/hands-on-dreamplug/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=209&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://ajdiaz.files.wordpress.com/2011/05/dreamplug-1-2ghz-arm-pc-in-a-power-outlet1.jpg?w=150&#038;h=96" alt="A DreamPlug device" title="DreamPlug" width="150" height="96" class="alignleft size-thumbnail wp-image-240" /></p>
<p>
<strong>Update:</strong> Óscar García gently published a similar <a href="http://entropia.moire.org/2011/06/04/primeros-pasos-con-el-dreamplug/">spanish version</a> of this article.
</p>
<p>Couple of weeks ago I received my <a href="http://www.globalscaletechnologies.com/c-5-dreamplugs.aspx">dreamplug</a>, from <a href="http://newit.co.uk">NewIT</a>. Though I knew some software troubles in device, I remains hopeful. However when I unpacked and powered on the plug I got a number of problems. This is the history about these problems and their solutions. I hope that my experience can be useful for anyone who take the same model and have the same problems. Afterall, the <a href="http://www.newit.co.uk/forum/">NewIT forum</a> has a number of posts about these and other problems, so reading it is recommended.</p>
<p>The first problem that I found was a bad partition table, which is also <a href="">a well-known bug in NewIT forums</a>; and the second one is the <a href="http://www.ubuntu.com">Ubuntu</a> installation which is not very tiny by default <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Fortunately, both problems are easy to solve.</p>
<p>These are the steps that I followed to &#8220;upgrade&#8221; my dreamplug software to a cooler one. Please note that the <a href="http://www.globalscaletechnologies.com/">Globalscale</a> guys do not support other system images and installations <acronym title="as far as I know">AFAIK</acronym>, so perform this changes under your own responsibility. You are warned!.<br />
<span id="more-209"></span><br />
Anyway, that is the recipe:</p>
<p><strong>STEP ONE: Creating a bootable USB</strong></p>
<p>The first step in our process is to create a pseudo-bootable USB. The &#8220;pseudo&#8221; prefix is here because we don&#8217;t need really a bootable USB, but a USB storage with the contents of the image inside. We will use the same <tt>uImage</tt> provided in the original dreamplug or, of course, you can change the kernel image whenever you want.</p>
<p>For this USB image you can use <a href="http://www.newit.co.uk/rootfs/dreamplug/ex-factory-2011-04-24/">a factory one</a>, <a href="http://code.google.com/p/dreamplug/downloads/list">debian image</a> provided by Globalscale guys, or <a href="http://www.megaupload.com/?d=R59E1DU3">my own debian image</a> (which is my favourite one, of course). You also need to format your USB with ext2, ext3 or ext4 filesystem (the current Dreamplug kernel do not support much filesystems), and then unpack the image into it. It&#8217;s very simple step, for example, if you have <a href="http://code.google.com/p/plowshare/">plowshare</a> installed, you can follow these steps:</p>
<p><pre class="brush: plain; light: true; pad-line-numbers: false;">
$ plowdown http://www.megaupload.com/?d=R59E1DU3
$ mkfs.ext4 /dev/sdñ # or your USB unit
$ mount -t ext4 /dev/sdñ /mnt
$ tar -xvpzf dantzig-dreamplug-image.tar.gz -C /mnt
$ cp dantzig-dreamplug-image.tar.gz /mnt/root # only required for step 4.
</pre></p>
<p>In this example I suppose that device /dev/sdñ exists and it&#8217;s the USB device.</p>
<p><strong>STEP TWO: Boot from USB</strong></p>
<p>The next step  is to boot from the USB that we make in the last step. To perform well this step we also need to have attached a <acronym title="Joint Test Action Group">JTAG</acronym> unit. Without the JTAG we cannot control the boot process and we cannot force to u-boot to use the USB. The idea is to boot from the factory kernel image, but setting the root filesystem to the USB.</p>
<p>In other plug models, like <a href="http://www.globalscaletechnologies.com/t-guruplugdetails.aspx">Guruplug</a>, you can change the boot environment from the OS, so you do not require the JTAG (if everything works fine), but AFAIK, Dreamplug has u-boot code in a different flash memory which cannot be modified from the OS. If anyone knows a way to do this, please don&#8217;t keep it in secret <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>When system starts in JTAG console you can see the following lines:</p>
<p><pre class="brush: plain; light: true; pad-line-numbers: false;">
88E1121 Initialized on egiga1
Hit any key to stop autoboot: 3
</pre></p>
<p>Then you can press any key to enter in the u-boot prompt:</p>
<p><pre class="brush: plain; light: true; pad-line-numbers: false;">
Marvell&gt;&gt;
</pre></p>
<p>Then change the environment to point the root filesystem to the USB:<br />
<pre class="brush: plain; light: true; pad-line-numbers: false;">
Marvell&gt;&gt; setenv x_bootargs_root root=/dev/sdc1 rootdelay=15
Marvell&gt;&gt; boot
</pre></p>
<p>The <tt>rootdelay</tt> paramenter is required to wait while the USB bus is initializing after kernel loading. While kernel bus scan is asynchronous, you need to wait until the USB one starts successfully. You cannot control this time and it&#8217;s depends on many factor, but usually a 15 sec value is time enough.</p>
<p>Please note that we never commit the changes into the environment, we boot the kernel with the new one, but not save this environment because we do not need to start from the USB anymore.</p>
<p><strong>STEP THREE: Rebuilding partitions.</strong></p>
<p>Once the system start (will take ~30s), you can login with the root password. The password depends on the image that you use in first step, but the password <tt>nosoup4u</tt> is default one for my image and for factory ones too.</p>
<p>Once you get a prompt, is time to take a look into partition table:</p>
<p><pre class="brush: plain; light: true; pad-line-numbers: false;">
# fdisk -l /dev/sda
Disk /dev/sda: 1967 MB, 1967128576 bytes
61 heads, 62 sectors/track, 1015 cylinders
Units = cylinders of 3782 * 512 = 1936384 bytes
Disk identifier: 0xabcdef

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        1016     1920993+   6  FAT16
Partition 1 has different physical/logical endings:
     phys=(54, 61, 61) logical=(1015, 54, 24)
/dev/sdb2              56        1021     1826706   83  Linux
</pre></p>
<p>As you can see we&#8217;ve a problem with partitions. The first one is a FAT16 partition, which store the kernel in <tt>uImage</tt> format, which is loaded by u-boot when booting, but as you see in the previously output, the size is not correct. The partition (as documentation said) might have a size of 16M, that is 55 cylinders, so we need to remove the partition and create a new one:</p>
<p><pre class="brush: plain; light: true; pad-line-numbers: false;">
# fdisk /dev/sda
Command (m for help): d
Partition number (1-4): 1
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1015, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-55, default 55): 55

Command (m for help): t
Partition number (1-4): 1
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)

Command (m for help): w
The partition table has been altered!

Syncing disks.
</pre></p>
<p>Now the first partition has the correct size, but unfortunately, the second partition is incorrect too. It starts at cylinder 56, which is correct, but ends beyond the end of disk. We need to correct the size of this partition too, in the same way as we do in the last step:</p>
<p><pre class="brush: plain; light: true; pad-line-numbers: false;">
# fdisk /dev/sda
Command (m for help): d
Partition number (1-4): 2
Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (56-1015, default 56): [enter]
Using default value 56
Last cylinder, +cylinders or +size{K,M,G} (56-1015, default 1015): [enter]
Using default value 1015

Command (m for help): w
The partition table has been altered!

Syncing disks.
</pre></p>
<p>And that&#8217;s all. At this point we have the correct partition size in both partitions, and the system might work fine. We only need to reboot the system, sacrify a goat and pray. But maybe you want to delete Ubuntu and install other distribution, let&#8217;s say Debian or even better Gentoo. As my boot image is Debian based, it&#8217;s easy to delete Ubuntu and install Debian Squeeze (which is the image base)&#8230;</p>
<p><strong>STEP FOUR: Debianize</strong></p>
<p>If you remember the step one, we also copied the <tt>dantzig-dreamplug-image.tar.gz</tt> image into <tt>/root</tt>. Now we will use this targz to unpack it into sdb disk.</p>
<p>Let&#8217;s suppose that you are booting from USB image and login the system and get a root console (steps 1,2),then:</p>
<p><pre class="brush: plain; light: true; pad-line-numbers: false;">
# umount /dev/sda2 # Puesto que ha sido montado automáticamente por usbmount
# mkfs.ext4 /dev/sda2 # Formateamos con ext4
# e2label /dev/sda2 root # Etiquetamos la partición como root (opcional)
# mount -t ext4 /dev/sda2 /mnt
# tar xvzpf /dreamplug_debian_v0.2.tar.gz -C /mnt
# sync &amp;&amp; sync &amp;&amp; sync
# umount /mnt
</pre></p>
<p>At that point we must have a Debian distro installed in sdb2, and in next reboot the new system will be booted.</p>
<p>Maybe you need to know a bit more about <a href="http://www.megaupload.com/?d=R59E1DU3">dantzig-dreamplug-image.tar.gz</a>. This is the image which I created to my plugs (dreamplug and guruplug) and it works in production for <a href="http://connectical.com">connectical.com</a> site for months. This image uses <a href="http://smarden.org/runit/">runit</a> as init process and a lot of features and geek services <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Enjoy!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ajdiaz.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ajdiaz.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ajdiaz.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ajdiaz.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ajdiaz.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ajdiaz.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ajdiaz.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ajdiaz.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ajdiaz.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ajdiaz.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ajdiaz.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ajdiaz.wordpress.com/209/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ajdiaz.wordpress.com/209/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ajdiaz.wordpress.com/209/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=209&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ajdiaz.wordpress.com/2011/05/25/hands-on-dreamplug/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffc718cc95b66ed168d0d4b8d88f885c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ajdiaz</media:title>
		</media:content>

		<media:content url="http://ajdiaz.files.wordpress.com/2011/05/dreamplug-1-2ghz-arm-pc-in-a-power-outlet1.jpg?w=150" medium="image">
			<media:title type="html">DreamPlug</media:title>
		</media:content>
	</item>
		<item>
		<title>New dtools and a bit more</title>
		<link>http://ajdiaz.wordpress.com/2011/04/03/new-dtools-and-a-bit-more/</link>
		<comments>http://ajdiaz.wordpress.com/2011/04/03/new-dtools-and-a-bit-more/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 18:24:00 +0000</pubDate>
		<dc:creator>ajdiaz</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dtools]]></category>
		<category><![CDATA[whistler]]></category>

		<guid isPermaLink="false">http://ajdiaz.wordpress.com/?p=193</guid>
		<description><![CDATA[Last week was crazy. I published a new release of dtools, the 4.2, a new web site for the dtools project and a couple of patches for version 5.0 of collectd. In the last months, dtools becomes in an useful &#8230; <a href="http://ajdiaz.wordpress.com/2011/04/03/new-dtools-and-a-bit-more/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=193&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Last week was crazy. I published a new release of <a href="http://ajdiaz.github.com/dtools">dtools</a>, the 4.2, a new web site for the dtools project and a couple of patches for version 5.0 of <a href="http://collectd.org">collectd</a>.</p>
<p>In the last months, dtools becomes in an useful tool for me. I use dtools everyday for system administration in large distributed networks. So I decided to improve some functionalities and also test and retest current features, so in a couple of months I expect to launch a new release of dtools.</p>
<p>In the meantime, I still working in <a href="http://github.com/ajdiaz/whistler">whistler</a>, a XMPP bot for MUC rooms, I hope that <a href="https://github.com/fritzy/SleekXMPP">SleekXMPP</a> library, which is the XMPP engine used by whistler become to release early. At that point we must remove any dependency with the old xmpppy in the code and we will ready to release the version 2.0 of whistler.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ajdiaz.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ajdiaz.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ajdiaz.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ajdiaz.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ajdiaz.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ajdiaz.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ajdiaz.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ajdiaz.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ajdiaz.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ajdiaz.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ajdiaz.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ajdiaz.wordpress.com/193/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ajdiaz.wordpress.com/193/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ajdiaz.wordpress.com/193/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=193&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ajdiaz.wordpress.com/2011/04/03/new-dtools-and-a-bit-more/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffc718cc95b66ed168d0d4b8d88f885c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ajdiaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Integer conversions in bash</title>
		<link>http://ajdiaz.wordpress.com/2010/12/20/integer-conversions-in-bash/</link>
		<comments>http://ajdiaz.wordpress.com/2010/12/20/integer-conversions-in-bash/#comments</comments>
		<pubDate>Mon, 20 Dec 2010 19:18:50 +0000</pubDate>
		<dc:creator>ajdiaz</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://ajdiaz.wordpress.com/?p=156</guid>
		<description><![CDATA[Since version 2, bash support a single aritmethic operations. Altough bash is not a mathematical shell (use bc instead), you can perform certain conversions using the bash arithmetic logic. For example you can remove the left zeroes in a decimal &#8230; <a href="http://ajdiaz.wordpress.com/2010/12/20/integer-conversions-in-bash/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=156&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Since version 2, bash support a single aritmethic operations. Altough bash is not a mathematical shell (use <tt>bc</tt> instead), you can perform certain conversions using the bash arithmetic logic.</p>
<p>For example you can remove the left zeroes in a decimal number without require any external utility or print formats, let&#8217;s suppose that you want to strip zeroes from the number 007, which is stored in bond variable.</p>
<p><pre class="brush: bash; light: true; pad-line-numbers: false;">
$ echo $bond
007
$ let nozeros=10#$bond
$ echo $nozeros
7
</pre></p>
<p>In many forums and mailing list, people need to use ugly sed expressions, or awk invokation, but (with bash) it&#8217;s just simply <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Using the same trick, you can perform a base conversions, for example:</p>
<p><pre class="brush: bash; light: true; pad-line-numbers: false;">
$ let i=0x10
$ echo $i
16
$ let i=2#10000
$ echo $i
16
</pre></p>
<p>Or create an easy number checking:</p>
<p><pre class="brush: bash; light: true; pad-line-numbers: false;">
$ is_decimal () { let i=10#$1 2&gt;/dev/null; }
$ is_decimal 'a' || echo Nop
Nop
$ is_decimal 56 &amp;&amp; echo 'Yep'
Yep
</pre></p>
<p>Enjoy!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ajdiaz.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ajdiaz.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ajdiaz.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ajdiaz.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ajdiaz.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ajdiaz.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ajdiaz.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ajdiaz.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ajdiaz.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ajdiaz.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ajdiaz.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ajdiaz.wordpress.com/156/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ajdiaz.wordpress.com/156/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ajdiaz.wordpress.com/156/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=156&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ajdiaz.wordpress.com/2010/12/20/integer-conversions-in-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffc718cc95b66ed168d0d4b8d88f885c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ajdiaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Whistler: a new Jabber MUC bot.</title>
		<link>http://ajdiaz.wordpress.com/2010/11/01/whistler-a-new-jabber-muc-bot/</link>
		<comments>http://ajdiaz.wordpress.com/2010/11/01/whistler-a-new-jabber-muc-bot/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 15:54:59 +0000</pubDate>
		<dc:creator>ajdiaz</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[bot]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[jabber]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://ajdiaz.wordpress.com/?p=148</guid>
		<description><![CDATA[Few days ago, I start a new project called whistler. Whistler is a bot written in python using the greatest xmppy library, designed to work in XMPP networks (like jabber or GTalk. In first time I tried to use the &#8230; <a href="http://ajdiaz.wordpress.com/2010/11/01/whistler-a-new-jabber-muc-bot/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=148&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Few days ago, I start a new project called whistler. Whistler is a bot written in python using the greatest <a href="http://xmpppy.sourceforge.net/">xmppy</a> library, designed to work in XMPP networks (like <a href="http://jabber.org">jabber</a> or <a href="http://google.com/talk">GTalk</a>. In first time I tried to use the <a href="http://pypi.python.org/pypi/quinoa/0.3.1">quinoa</a> framework, and it is very usefull, but have some issues for me, for example you cannot set another server configuration, which is a problem for GTalk accounts. So, after tried a number of frameworks, I decided to create my own one. Probably not the best, but mine <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Whistler is intended to manage the <a href="http://connectical.com">connectical</a> MUC room, and only basic functionalities are provided. Obviously it is under heavy development yet.</p>
<p>The code is publicy available on <a href="http://github.com/ajdiaz/whistler">github whistler repository</a>, and you can clone as usually:</p>
<p><pre class="brush: bash; light: true; pad-line-numbers: false;">
$ git clone git://github.com/ajdiaz/whistler
</pre></p>
<p>You require xmppy to work with whistler and python &gt;= 2.5. In few days I will publish the projecti into <a href="http://pypi.python.org">pypi</a> too.</p>
<p>Enjoy and remember, any feedback is welcome <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ajdiaz.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ajdiaz.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ajdiaz.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ajdiaz.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ajdiaz.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ajdiaz.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ajdiaz.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ajdiaz.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ajdiaz.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ajdiaz.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ajdiaz.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ajdiaz.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ajdiaz.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ajdiaz.wordpress.com/148/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=148&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ajdiaz.wordpress.com/2010/11/01/whistler-a-new-jabber-muc-bot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffc718cc95b66ed168d0d4b8d88f885c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ajdiaz</media:title>
		</media:content>
	</item>
		<item>
		<title>My exheres repository</title>
		<link>http://ajdiaz.wordpress.com/2010/08/11/my-exheres-repository/</link>
		<comments>http://ajdiaz.wordpress.com/2010/08/11/my-exheres-repository/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 19:05:48 +0000</pubDate>
		<dc:creator>ajdiaz</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[exherbo]]></category>
		<category><![CDATA[exheres]]></category>
		<category><![CDATA[paludis]]></category>
		<category><![CDATA[repository]]></category>

		<guid isPermaLink="false">http://ajdiaz.wordpress.com/?p=134</guid>
		<description><![CDATA[A couple of months ago, I reinstall my PC with exherbo and now I can say that I&#8217;m a happy user (well, a happy &#8220;developer&#8221; since Exherbo do not have users). So, I decided to port a number of ebuild &#8230; <a href="http://ajdiaz.wordpress.com/2010/08/11/my-exheres-repository/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=134&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A couple of months ago, I reinstall my PC with <a href="http://exherbo.org">exherbo</a> and now I can say that I&#8217;m a happy user (well, a happy &#8220;developer&#8221; since Exherbo do not have users). So, I decided to port a number of ebuild than I use frequently to <a href="http://exherbo.org/docs/exheres-for-smarties.html">exheres</a>, and create my own exheres repository in github, called <a href="http://github.com/ajdiaz/ajdiaz-exheres">ajdiaz-exheres</a>.</p>
<p>Now I will try to  include my repo in unavailable-unofficial list&#8230; In the meanwhile, here is the configuration that you need for paludis:</p>
<p>
location = ${ROOT}/var/db/paludis/repositories/ajdiaz-exheres
sync = git://github.com/ajdiaz/ajdiaz-exheres
format = e
</p>
<p>Enjoy!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ajdiaz.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ajdiaz.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ajdiaz.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ajdiaz.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ajdiaz.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ajdiaz.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ajdiaz.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ajdiaz.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ajdiaz.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ajdiaz.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ajdiaz.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ajdiaz.wordpress.com/134/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ajdiaz.wordpress.com/134/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ajdiaz.wordpress.com/134/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=134&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ajdiaz.wordpress.com/2010/08/11/my-exheres-repository/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffc718cc95b66ed168d0d4b8d88f885c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ajdiaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Update dot files with git</title>
		<link>http://ajdiaz.wordpress.com/2010/06/12/update-dot-files-with-git/</link>
		<comments>http://ajdiaz.wordpress.com/2010/06/12/update-dot-files-with-git/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 15:17:35 +0000</pubDate>
		<dc:creator>ajdiaz</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[dotfiles]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://ajdiaz.wordpress.com/?p=110</guid>
		<description><![CDATA[For a years I was using a custom created scripts to keep my dot files updated. I had a local repository in bazaar and a script which check differences between home dot files and files stored in the repository. This &#8230; <a href="http://ajdiaz.wordpress.com/2010/06/12/update-dot-files-with-git/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=110&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For a years I was using a custom created scripts to keep my dot files updated. I had a local repository in <a href="http://bazaar.canonical.com/en/">bazaar</a> and a script which check differences between home dot files and files stored in the repository. This solutions works fine for years, but now I want to do some changes&#8230;</p>
<p>The first one is moving my dot files to git (and probably pushed them to github), and the second one is to create a hook for git to update my dot files. I known that there are a lot of similar solutions, one more complex, other more easy, but this is mine <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So, <a href="http://2tu.us/2scm">I created a post-commit hook script</a> for git, which perform the modifications that I need. Now I just only do this steps:</p>
<h3>1. Create a new git repo:</h3>
<p><pre class="brush: bash; light: true; pad-line-numbers: false;">
mkdir mydots_repo
cd my_dots_repo &amp;amp;&amp;amp; git init
</pre></p>
<h3>2. Put the hook:</h3>
<p><pre class="brush: bash; light: true; pad-line-numbers: false;">
wget -O .git/hooks/post-commit  http://2tu.us/2scm 
chmod 755 .git/hooks/post-commit
</pre></p>
<h3>3. Copy old files:</h3>
<p><pre class="brush: bash; light: true; pad-line-numbers: false;">
cp ~/old/bzr_repo/* .
git add *
 </pre></p>
<h3>4. Commit and recreate links:</h3>
<p><pre class="brush: bash; light: true; pad-line-numbers: false;">
git commit -a -m'initial import'
</pre></p>
<p>And it&#8217;s works <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ajdiaz.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ajdiaz.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ajdiaz.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ajdiaz.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ajdiaz.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ajdiaz.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ajdiaz.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ajdiaz.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ajdiaz.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ajdiaz.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ajdiaz.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ajdiaz.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ajdiaz.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ajdiaz.wordpress.com/110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=110&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ajdiaz.wordpress.com/2010/06/12/update-dot-files-with-git/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffc718cc95b66ed168d0d4b8d88f885c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ajdiaz</media:title>
		</media:content>
	</item>
		<item>
		<title>Moving to github</title>
		<link>http://ajdiaz.wordpress.com/2010/05/11/moving-to-github/</link>
		<comments>http://ajdiaz.wordpress.com/2010/05/11/moving-to-github/#comments</comments>
		<pubDate>Tue, 11 May 2010 06:34:10 +0000</pubDate>
		<dc:creator>ajdiaz</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[connectical]]></category>
		<category><![CDATA[distribute]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[infraestructure]]></category>
		<category><![CDATA[systems]]></category>

		<guid isPermaLink="false">http://ajdiaz.wordpress.com/?p=104</guid>
		<description><![CDATA[Since one week ago, we are moving the Connectical servers from old location in Virpus datacenter on Texas to our own managed infraestructure, build on the top of a GuruPlugs cluster. We are discussing now about how distribute the infraestructure &#8230; <a href="http://ajdiaz.wordpress.com/2010/05/11/moving-to-github/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=104&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Since one week ago, we are moving the <a href="http://connectical.com">Connectical</a> servers from old location in <a href="http://virpus.com">Virpus</a> datacenter on Texas to our own managed infraestructure, build on the top of a <a href="http://www.globalscaletechnologies.com/p-32-guruplug-server-plus.aspx">GuruPlugs</a> cluster.</p>
<p>We are discussing now about how distribute the infraestructure and how to keep a number of copies in remote locations up-to-date, we are exploring solutions like <a href="http://ioremap.net/projects/elliptics">elliptics</a> or some similar.</p>
<p>In the meanwhile I created <a href="http://github.com/ajdiaz">my github account</a> to still my projects under development, and also to have a backup of some projects that I really use everyday.</p>
<p>Enjoy!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ajdiaz.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ajdiaz.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ajdiaz.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ajdiaz.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ajdiaz.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ajdiaz.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ajdiaz.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ajdiaz.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ajdiaz.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ajdiaz.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ajdiaz.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ajdiaz.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ajdiaz.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ajdiaz.wordpress.com/104/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=104&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ajdiaz.wordpress.com/2010/05/11/moving-to-github/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffc718cc95b66ed168d0d4b8d88f885c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ajdiaz</media:title>
		</media:content>
	</item>
		<item>
		<title>New version of dtools</title>
		<link>http://ajdiaz.wordpress.com/2010/03/07/new-version-of-dtools/</link>
		<comments>http://ajdiaz.wordpress.com/2010/03/07/new-version-of-dtools/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 19:17:49 +0000</pubDate>
		<dc:creator>ajdiaz</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[distribute]]></category>
		<category><![CDATA[dtools]]></category>
		<category><![CDATA[floss]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[systems]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://ajdiaz.wordpress.com/?p=96</guid>
		<description><![CDATA[Today I was released a new version of dtools. Distributed tools, aka dtools is a project written in bash coding to create a suite of programs to allow running different UNIX comamnds parallelly in a list of tagged hosts. Features &#8230; <a href="http://ajdiaz.wordpress.com/2010/03/07/new-version-of-dtools/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=96&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I was released a new version of <a href="http://connectical.com/projects/dtools">dtools</a>. Distributed tools, aka dtools is a project written in bash coding to create a suite of programs to allow running different UNIX comamnds parallelly in a list of tagged hosts.</p>
<p><em>Features</em></p>
<ul>
<li>Fully written in bash, no third party software required (except ssh, obviously).</li>
<li>Based in module architecture, easy to extend.</li>
<li>Full integration with ssh.</li>
<li>Easy to group hosts by tags or search by regular expression.</li>
<li>Manage of ssh hosts</li>
<li>Parseable output, but human-readable</li>
<li>Thinking in system admin, no special development skills required to extend the software.</li>
</ul>
<p><em>Short Example</em><br />
<pre class="brush: bash; light: true; pad-line-numbers: false;">
$ dt tag:linux ssh date
okay::dt:ssh:myhostlinux1.domain:Mon Nov 16 23:54:04 CET 2009
okay::dt:ssh:myhostlinux3.domain:Mon Nov 16 23:54:04 CET 2009
okay::dt:ssh:myhostlinux2.domain:Mon Nov 16 23:54:04 CET 2009
</pre></p>
<p>As usual, you can download the code from the <a href="http://connectical.com/projects/dtools">project page</a>, or if you wish you can download the code via git:</p>
<p><pre class="brush: bash; light: true; pad-line-numbers: false;">
git clone git://git.connectical.com/ajdiaz/dtools
</pre></p>
<p>Enjoy!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ajdiaz.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ajdiaz.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ajdiaz.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ajdiaz.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ajdiaz.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ajdiaz.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ajdiaz.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ajdiaz.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ajdiaz.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ajdiaz.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ajdiaz.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ajdiaz.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ajdiaz.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ajdiaz.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=96&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ajdiaz.wordpress.com/2010/03/07/new-version-of-dtools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffc718cc95b66ed168d0d4b8d88f885c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ajdiaz</media:title>
		</media:content>
	</item>
		<item>
		<title>New htop color scheme</title>
		<link>http://ajdiaz.wordpress.com/2010/02/16/new-htop-color-scheme/</link>
		<comments>http://ajdiaz.wordpress.com/2010/02/16/new-htop-color-scheme/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 19:17:37 +0000</pubDate>
		<dc:creator>ajdiaz</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[floss]]></category>
		<category><![CDATA[look]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://ajdiaz.wordpress.com/?p=90</guid>
		<description><![CDATA[From a couple of weeks I use htop in my work to get a fast view about the system status, htop is an an interactive process viewer for Linux, similar to classic UNIX top, but with some enhancements, for example &#8230; <a href="http://ajdiaz.wordpress.com/2010/02/16/new-htop-color-scheme/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=90&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>From a couple of weeks I use <a href="http://htop.sourceforge.net/">htop</a> in my work to get a fast view about the system status, htop is an an interactive process viewer for Linux, similar to classic UNIX top, but with some enhancements, for example a more configurable view, the integration with <code>strace</code> and <code>lsof</code> programs and much more.</p>
<p>But (and it&#8217;s a big &#8220;but&#8221; for me) I really dislike the color scheme that use by default. htop comming with five color schemes, but I cannot find any beautifull one (from my personal point of view, of course), so I decided to make a new schema. I called &#8220;blueweb&#8221; theme (dont&#8217; ask) <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . And here is the result:</p>
<div id="attachment_91" class="wp-caption alignnone" style="width: 310px"><a href="http://ajdiaz.files.wordpress.com/2010/02/htop.png"><img src="http://ajdiaz.files.wordpress.com/2010/02/htop.png?w=300&#038;h=126" alt="htop with blueweb theme" title="blueweb" width="300" height="126" class="size-medium wp-image-91" /></a><p class="wp-caption-text">htop with blueweb theme</p></div>
<p>You can <a href="https://gist.github.com/raw/798935/3206d57731877798cc0e335df80e39c723529e89/htop-blueweb-theme.patch">download the patch file</a> for the htop source code. And yes, unfortunately you need to patch the code. </p>
<p>Now my htop looks nice <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Enjoy!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/ajdiaz.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/ajdiaz.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/ajdiaz.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/ajdiaz.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/ajdiaz.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/ajdiaz.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/ajdiaz.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/ajdiaz.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/ajdiaz.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/ajdiaz.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/ajdiaz.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/ajdiaz.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/ajdiaz.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/ajdiaz.wordpress.com/90/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=ajdiaz.wordpress.com&amp;blog=630003&amp;post=90&amp;subd=ajdiaz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://ajdiaz.wordpress.com/2010/02/16/new-htop-color-scheme/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/ffc718cc95b66ed168d0d4b8d88f885c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ajdiaz</media:title>
		</media:content>

		<media:content url="http://ajdiaz.files.wordpress.com/2010/02/htop.png?w=300" medium="image">
			<media:title type="html">blueweb</media:title>
		</media:content>
	</item>
	</channel>
</rss>
