<?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>Rusty Razor Blade &#187; linux</title>
	<atom:link href="http://www.rustyrazorblade.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rustyrazorblade.com</link>
	<description>Tech Thoughts, Mostly on LAMP - by Jon Haddad</description>
	<lastBuildDate>Wed, 21 Jul 2010 20:42:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>UIS PHP53, DOM Parsing, PHPUnit, Puppet Config Solution</title>
		<link>http://www.rustyrazorblade.com/2010/07/uis-php53-dom-parsing-phpunit-puppet-config-solution/</link>
		<comments>http://www.rustyrazorblade.com/2010/07/uis-php53-dom-parsing-phpunit-puppet-config-solution/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 20:42:03 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[puppet]]></category>

		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=1126</guid>
		<description><![CDATA[I&#8217;m using PHP53 package from the IUS Community repository.  I&#8217;ve been trying to get phpunit to install, but it gives an error that it needs DOM install.  It took me a little bit to figure this out, but I finally got it working.  What you need is the php53-xml package.  You [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m using PHP53 package from the <a href="http://iuscommunity.org/">IUS Community</a> repository.  I&#8217;ve been trying to get phpunit to install, but it gives an error that it needs DOM install.  It took me a little bit to figure this out, but I finally got it working.  What you need is the php53-xml package.  You can install it using </p>
<pre>
yum install php53-xml
</pre>
<p>or if you&#8217;re using puppet</p>
<pre>
package { ["php53-xml"]:
          ensure => present
        }
</pre>
<p>And finally, to get it to install, I used the below.   I had to make it go to multiple lines to fit on the page but I have it all on 1 line in my puppet script:</p>
<pre>
exec { "pear channel-discover pear.phpunit.de;
pear channel-discover pear.symfony-project.com;
pear install --alldeps phpunit/PHPUnit  ":
          creates => "/usr/bin/phpunit"
 }
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.rustyrazorblade.com/2010/07/uis-php53-dom-parsing-phpunit-puppet-config-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VirtualBox Guest Additions &#8211; Redhat / CentOS</title>
		<link>http://www.rustyrazorblade.com/2010/04/virtualbox-guest-additions-redhat-centos/</link>
		<comments>http://www.rustyrazorblade.com/2010/04/virtualbox-guest-additions-redhat-centos/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 21:49:24 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[virtual box]]></category>

		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=1089</guid>
		<description><![CDATA[Mount VirtualBox Additions disk through the VirtualBox UI.

yum install -y gcc kernel-devel-`uname -r`
mkdir /mnt/cdrom
mount -o ro -t iso9660 /dev/cdrom /mnt/cdrom
sh /mnt/cdrom/VBoxLinuxAdditions-amd64.run

Info found on tuxtraining.com
]]></description>
			<content:encoded><![CDATA[<p>Mount VirtualBox Additions disk through the VirtualBox UI.</p>
<pre>
yum install -y gcc kernel-devel-`uname -r`
mkdir /mnt/cdrom
mount -o ro -t iso9660 /dev/cdrom /mnt/cdrom
sh /mnt/cdrom/VBoxLinuxAdditions-amd64.run
</pre>
<p>Info found on <a href="http://tuxtraining.com/2009/01/06/install-guest-additions-in-centos-through-virtualbox">tuxtraining.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rustyrazorblade.com/2010/04/virtualbox-guest-additions-redhat-centos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash Quick Tip &#8211; Subshells</title>
		<link>http://www.rustyrazorblade.com/2010/04/bash-quick-tip-subshells/</link>
		<comments>http://www.rustyrazorblade.com/2010/04/bash-quick-tip-subshells/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 20:12:31 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=1067</guid>
		<description><![CDATA[
When you&#8217;re in a shell, and you want to do 1 or 2 commands in another brand new shell, but don&#8217;t feel like opening a new window, try using a subshell.
Here&#8217;s an example:

~ jhaddad$ pwd
/Users/jhaddad
~ jhaddad$ ( cd /tmp/; touch bacon.txt )
~ jhaddad$ pwd
/Users/jhaddad
~ jhaddad$ ls -lah /tmp/bacon.txt
-rw-r--r--  1 jhaddad  wheel   [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.rustyrazorblade.com/wp-content/uploads/2010/04/terminal-icon-512x512.png" alt="terminal-icon-512x512.png" border="0" width="120" height="120" align="right" /><br />
When you&#8217;re in a shell, and you want to do 1 or 2 commands in another brand new shell, but don&#8217;t feel like opening a new window, try using a subshell.</p>
<p>Here&#8217;s an example:</p>
<pre>
~ jhaddad$ pwd
/Users/jhaddad
~ jhaddad$ ( cd /tmp/; touch bacon.txt )
~ jhaddad$ pwd
/Users/jhaddad
~ jhaddad$ ls -lah /tmp/bacon.txt
-rw-r--r--  1 jhaddad  wheel     0B Apr 15 13:09 /tmp/bacon.txt
</pre>
<p>Why I like it: I can very quickly fire off a command that involves changing directories without having to switch back to my pwd.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rustyrazorblade.com/2010/04/bash-quick-tip-subshells/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Redhat/Centos: Control Apache Startup with Chkconfig</title>
		<link>http://www.rustyrazorblade.com/2010/01/redhatcentos-control-apache-startup-with-chkconfig/</link>
		<comments>http://www.rustyrazorblade.com/2010/01/redhatcentos-control-apache-startup-with-chkconfig/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 19:47:27 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=960</guid>
		<description><![CDATA[Copy apachectl (or symlink it) to /etc/init.d/httpd, and add these two lines at the end of the comment section:

# chkconfig: 2345 64 36
# description: script for starting and stopping httpd

chkconfig &#8211;add httpd
These commands will now work:
service httpd start
service httpd stop
Additionally, apache will start when the system boots.  You can accomplish this by using rc.local [...]]]></description>
			<content:encoded><![CDATA[<p>Copy apachectl (or symlink it) to /etc/init.d/httpd, and add these two lines at the end of the comment section:</p>
<blockquote><p>
# chkconfig: 2345 64 36<br />
# description: script for starting and stopping httpd
</p></blockquote>
<p>chkconfig &#8211;add httpd</p>
<p>These commands will now work:</p>
<blockquote><p>service httpd start<br />
service httpd stop</p></blockquote>
<p>Additionally, apache will start when the system boots.  You can accomplish this by using rc.local too, if you prefer, but I think it&#8217;s more convenient to have everything be service based where you can use chkconfig to manage startup / shutdown.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rustyrazorblade.com/2010/01/redhatcentos-control-apache-startup-with-chkconfig/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux/OSX: find out what network ports are in use</title>
		<link>http://www.rustyrazorblade.com/2010/01/linuxosx-find-out-what-network-ports-are-in-use/</link>
		<comments>http://www.rustyrazorblade.com/2010/01/linuxosx-find-out-what-network-ports-are-in-use/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 19:21:07 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=951</guid>
		<description><![CDATA[To get a quick idea of what ports you have open on your local box, you can use nmap.

~ jhaddad$ nmap localhost
Starting Nmap 5.00 ( http://nmap.org ) at 2010-01-05 11:06 PST
Interesting ports on localhost (127.0.0.1):
Not shown: 499 closed ports, 492 filtered ports
PORT      STATE SERVICE
80/tcp    open  http
88/tcp [...]]]></description>
			<content:encoded><![CDATA[<p>To get a quick idea of what ports you have open on your local box, you can use nmap.</p>
<blockquote><p>
~ jhaddad$ nmap localhost<br />
Starting Nmap 5.00 ( http://nmap.org ) at 2010-01-05 11:06 PST<br />
Interesting ports on localhost (127.0.0.1):<br />
Not shown: 499 closed ports, 492 filtered ports<br />
PORT      STATE SERVICE<br />
80/tcp    open  http<br />
88/tcp    open  kerberos-sec<br />
548/tcp   open  afp<br />
631/tcp   open  ipp<br />
3306/tcp  open  mysql<br />
3325/tcp  open  unknown<br />
5900/tcp  open  vnc<br />
9000/tcp  open  cslistener<br />
10000/tcp open  snet-sensor-mgmt
</p></blockquote>
<p>For more detailed information, try netstat:</p>
<blockquote><p>netstat -an</p></blockquote>
<p>You&#8217;ll get a breakdown of every socket open on your machine &#8211; useful for figuring out who&#8217;s connected and from where.</p>
<p>The OSX version of netstat lacks a few options &#8211; such as the useful &#8216;-p&#8217; option to display the process id (PID) &#8211; which can be useful combined with kill to get rid of unwanted connections &#8211; for instance,an SSH tunnel accidentally left open.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rustyrazorblade.com/2010/01/linuxosx-find-out-what-network-ports-are-in-use/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using Kickstart to Automate CentOS VM Creation</title>
		<link>http://www.rustyrazorblade.com/2009/10/using-kickstart-to-automate-centos-vm-creation/</link>
		<comments>http://www.rustyrazorblade.com/2009/10/using-kickstart-to-automate-centos-vm-creation/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 16:54:43 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[virtual box]]></category>

		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=884</guid>
		<description><![CDATA[I&#8217;ve done this using CentOS, but I&#8217;m pretty sure the same thing will work with RedHat the exact same way.
Virtualization is now a commodity with several free tools available from Sun, VMWare and Xen.  If you&#8217;re like me, you like to create a new, clean VM for each experiment.  However, this comes with [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve done this using CentOS, but I&#8217;m pretty sure the same thing will work with RedHat the exact same way.</p>
<p>Virtualization is now a commodity with several free tools available from Sun, VMWare and Xen.  If you&#8217;re like me, you like to create a new, clean VM for each experiment.  However, this comes with a drawback &#8211; the installation process, choosing your timezone, putting in the same password every time, etc&#8230; takes a while.  </p>
<p><img src="http://www.rustyrazorblade.com/wp-content/uploads/2009/10/Screen-shot-2009-10-24-at-1.03.24-PM.png" alt="Screen shot 2009-10-24 at 1.03.24 PM.png" border="0" hspace=10 vspace = 10 width="346" height="224" align="right" /></p>
<p>Fortunately, CentOS provides the means to automate the process via a kickstart file.  The best part is, after you do an install, you&#8217;ll have a kickstart file to start working with &#8211; it&#8217;ll save all your options in /root/anaconda-ks.cfg.  You can edit this file later to include other packages that you&#8217;d like to install, such as the GCC c++ libraries.  You can also run other commands through yum, and customize the system-wide bashrc. </p>
<p>I&#8217;m only going to go over how I did the install &#8211; for the full details check out the <a href="http://www.centos.org/docs/5/html/5.2/Installation_Guide/s1-kickstart2-howuse.html">CentOS kickstart guide</a></p>
<p>I&#8217;ve created a minimal kickstart file to do a base install without gnome, printing, and any tools I don&#8217;t find useful.  I&#8217;ve disabled X completely &#8211; I have no need to boot to a GUI.  I&#8217;ve also uncommented the lines to configure the drive settings, so I won&#8217;t be prompted for anything along the way; my VM should be completely ready to go once I reboot after the installation.  Pretty awesome.</p>
<p>There&#8217;s a convenient way to run a kickstart file off a http connection, so I&#8217;ve put it the web server on my dev box.  My dev box&#8217;s IP address is 192.168.1.5, and I copied the modified /root/anaconda-ds.cnf (which I&#8217;ve renamed to ks.cfg) to the server. At the installation boot prompt, I&#8217;d enter:</p>
<blockquote><p>
linux ks=http://192.168.1.5/ks.cfg
</p></blockquote>
<p>Then let it run.  After a bit it&#8217;ll ready to reboot and be used.  Just make sure to unmount the install DVD.</p>
<p>Obviously this has a lot more uses than just creating VMs, but I&#8217;m not a sysadmin, so I haven&#8217;t personally used it outside the desktop environment.  There&#8217;s other tools for different distros, and third party tools for CentOS/RedHat.</p>
<p>For what I&#8217;ve done so far, one could argue it&#8217;s easier just to create an image of the VM and to just clone that whenever I want a new one.  That&#8217;s a good solution if I was interested in always creating the same exact VM.  However, using the kickstart method has several advantages.  I could create a simple web app that generates new configs based on what I&#8217;ve checked off in a few lists, allowing me to quickly fire up new VMs with the right software for whatever I&#8217;m working on.  I can also upgrade the version of the OS and run the same kickstart, so I don&#8217;t have to maintain some up to date starting image.</p>
<p>If I&#8217;ve made any mistakes, please don&#8217;t hesitate to point them out.  I&#8217;m by no means a guru on the subject, I&#8217;ve just wanted to look into this topic for a while. </p>
<p>Some Other Useful resources</p>
<ul>
<li><a href="http://www.linux-mag.com/id/6747/">Linux-Mag</a></li>
<li><a href="http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/custom-guide/ch-kickstart2.html">Red Hat Kickstart Guide</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.rustyrazorblade.com/2009/10/using-kickstart-to-automate-centos-vm-creation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VirtualBox &#8211; SSH&#8217;ing into a VM from an outside machine</title>
		<link>http://www.rustyrazorblade.com/2009/10/virtualbox-sshing-into-a-vm-from-the-outside/</link>
		<comments>http://www.rustyrazorblade.com/2009/10/virtualbox-sshing-into-a-vm-from-the-outside/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 20:43:50 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[virtual box]]></category>

		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=877</guid>
		<description><![CDATA[Note: The terminology used below also applies to VMWare.  The screens are different, but the issue and the solution are the same.
When creating a new VM through VirtualBox, you might have a problem SSH&#8217;ing into the box.  You also might notice you get a 10.0.x.xx type address, even though the rest of your [...]]]></description>
			<content:encoded><![CDATA[<p><em>Note: The terminology used below also applies to VMWare.  The screens are different, but the issue and the solution are the same.</em></p>
<p>When creating a new VM through VirtualBox, you might have a problem SSH&#8217;ing into the box.  You also might notice you get a 10.0.x.xx type address, even though the rest of your network is a 192.168.xx.xxx deal.  Yes, the two are related.</p>
<p>Essentially what&#8217;s happening is the VM is sitting on it&#8217;s on little private line, where it can go out but nothing can reach it.  By default, the network setting is &#8220;NAT&#8221;.  If we want the VM to be accessible to the outside, we want to use Bridged networking.</p>
<p>This is easily solved, but requires that the VM be shut down.  Go to the network second, pick an unused adapter (likely the 2nd one), enable it, and choose Bridged.  </p>
<p>You should see this under the VM description now.</p>
<p><img src="http://www.rustyrazorblade.com/wp-content/uploads/2009/10/Screen-shot-2009-10-24-at-1.33.59-PM.png" alt="Screen shot 2009-10-24 at 1.33.59 PM.png" border="0" width="519" height="85" /></p>
<p>Go ahead and boot back into your VM.  Fire up a terminal, run /sbin/ifconfig, and you&#8217;ll see you now have an ethernet adapter with an address you can reach.  </p>
<p><img src="http://www.rustyrazorblade.com/wp-content/uploads/2009/10/Screen-shot-2009-10-24-at-1.37.58-PM.png" alt="Screen shot 2009-10-24 at 1.37.58 PM.png" border="0" width="523" height="463" /></p>
<p>Enjoy!  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.rustyrazorblade.com/2009/10/virtualbox-sshing-into-a-vm-from-the-outside/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why is Social Q&amp;A Not Embedded into Operating Systems and Applications?</title>
		<link>http://www.rustyrazorblade.com/2009/05/why-is-social-qa-not-embedded-into-osapplications/</link>
		<comments>http://www.rustyrazorblade.com/2009/05/why-is-social-qa-not-embedded-into-osapplications/#comments</comments>
		<pubDate>Sun, 03 May 2009 16:48:10 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[answerbag]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[q&a]]></category>

		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=673</guid>
		<description><![CDATA[One thing that always bothered me about complex desktop applications like Adobe Photoshop or Eclipse, or even Desktop Linux is finding out how to use the more advanced features (or, truthfully, some of the basic features).  I&#8217;ve always liked community response, so I&#8217;ve been on a number of mailing lists and it&#8217;s usually really [...]]]></description>
			<content:encoded><![CDATA[<p>One thing that always bothered me about complex desktop applications like <a href="http://www.adobe.com/products/photoshop/photoshop/">Adobe Photoshop</a> or <a href="http://www.eclipse.org/">Eclipse</a>, or even <a href="http://www.ubuntu.com/">Desktop Linux</a> is finding out how to use the more advanced features (or, truthfully, some of the basic features).  I&#8217;ve always liked community response, so I&#8217;ve been on a number of mailing lists and it&#8217;s usually really helpful. </p>
<p>What if these types of useful feedback were available within the application itself?  You could literally just type a question into your help box, and a minute later you would get answers.  This would be incredibly helpful for hundreds of new users.  </p>
<p><a href="http://www.answerbag.com/">Answerbag</a> has an available API that could be integrated this way.  There are a number of other services that are similar and could be used as well (if they have APIs), such as <a href="http://www.answers.com/">answers.com</a>, <a href='www.wikihow.com'>wikihow</a>, or <a href="http://answers.yahoo.com/">Yahoo! Answers</a>.</p>
<p>An added benefit is now there&#8217;s a website with a VERY comprehensive FAQ that&#8217;s been indexed by google, and the people who aren&#8217;t even using the built in Q&#038;A process can still find answers to their questions.  The result?  A decreased learning curve which will lead to a bigger user base.</p>
<p><strong>Advantages</strong></p>
<ul>
<li>Very fast response time</li>
<p>Answerbag was achieving about a 90% response rate on new questions within just a few minutes, and that&#8217;s just from general community.  </p>
<li>Does not rely on paid tech support, although it can be augmented this way by a company that can afford to do so.</li>
<p>Yes, you can get great answers from the community.  But sometimes an official response is appreciated. A site like answerbag could add tools so that a parter company could take ownership of a category, reviewing submitted questions and answers for correctness, and modifying or locking answers after they&#8217;ve been deemed correct.  It would be a departure from the current model of the site, but certainly an authoritative answer would be appreciated by a lot of people.  <a href="http://www.about.com/">About.com</a> has a similar model, where experts own a particular category and maintain the content there.</p>
<li>The community has more time to help people with new problems.</li>
<p>Since it would be easier to find older how-to pages, experts can spend less time solving the same problem over and over.  They&#8217;d be more likely to help people more often, since they wouldn&#8217;t be so annoyed.
</ul>
<p><strong>Disadvantages</strong></p>
<ul>
<li>Initial answers might be inaccurate</li>
<p>I think in applications with a larger use base, or more tech savvy areas, this would be less of a problem.  I&#8217;ve gotten some amazing answers on mailing lists  and IRC channels, and I don&#8217;t see why the quality of the answers would be any different.</p>
<li>Getting the first customer</li>
<p>Since no one is doing this yet, the hardest implementation will be the first.  It&#8217;s likely a company like <a href="http://www.microsoft.com">Microsoft</a> or <a href="http://www.adobe.com">Adobe</a> wouldn&#8217;t want to be the first in the pool for an idea like this, but they&#8217;re also the ones that could pull off the best implementation.  The true power of social Q&#038;A isn&#8217;t really apparent till you get your questions put in front of a few million eyeballs.</p>
<p>This would be a great opportunity for innovation in open source, in particular at the OS level.  Linux adoption is lower than it could be, and it has a lot to do with the difficultly of figuring out some of the more basic tasks.
</ul>
<p>Since I no longer work on <a href="http://www.answerbag.com">Answerbag</a>, or it&#8217;s parent company <a href="http://www.demandmedia.com/">Demand Media</a>,  I have nothing to gain at this point, except for more useful applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rustyrazorblade.com/2009/05/why-is-social-qa-not-embedded-into-osapplications/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Interesting Programmer Links</title>
		<link>http://www.rustyrazorblade.com/2009/04/interesting-programmer-links/</link>
		<comments>http://www.rustyrazorblade.com/2009/04/interesting-programmer-links/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 19:47:08 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=606</guid>
		<description><![CDATA[
Peeping into memcached.
Really interesting read about how to examine what&#8217;s stored in memcached.  
Peep uses ptrace to freeze a running memcached server, dump the internal key metadata, and return the server to a running state. If you have a good host ejection mechanism in your client, such as in the Twitter libmemcached builds, you [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://blog.evanweaver.com/articles/2009/04/20/peeping-into-memcached/">Peeping into memcached</a>.</li>
<p>Really interesting read about how to examine what&#8217;s stored in memcached.  </p>
<blockquote><p>Peep uses ptrace to freeze a running memcached server, dump the internal key metadata, and return the server to a running state. If you have a good host ejection mechanism in your client, such as in the Twitter libmemcached builds, you won&#8217;t even have to change the production server pool. The instance is not restarted, and no data is lost.</p></blockquote>
<li><a href="http://dev.mysql.com/tech-resources/articles/mysql-54.html">Quick look at MySQL 5.4</a>
</li>
<p>Highlights include scalability improvements, subquery optimizations and join improvements, improved stored procedure management, out parameters in prepared statements, and new information schema additions.</p>
<li><a href="http://www.easyvmx.com/new-easyvmx.shtml">EasyVMX</a></li>
<p>EasyVMX lets you create empty VMWare images.  Very useful when coupled with the <a href="http://www.vmware.com/products/player/">VMWare player</a>.</p>
<li><a href="http://www.atlassian.com/starter/?s_kwcid=HM_Starter">For the next 5 days you can get Jira 5 user license for $5.</a></li>
<p>I used Jira about 3 years ago at Infosearch Media, which I don&#8217;t think exists any more.  Anyway, it trounced bugzilla then and still does.  </p>
<li><a href="http://geektips.patg.net/?p=24">A cool rundown on what you can do with the information schema in MySQL.  </a></li>
<p>I like this post, it makes a few really cool points.  It explains how to get a list of all tables and their engine and how to get a list of foreign keys in your schema.  Very cool.</p>
<li><a href="http://q4m.31tools.com/">Q4M</a>, a Queue storage engine</li>
<p>Q4M looks like a pretty cool storage engine that aims to address twitter-like features.  I&#8217;ll be trying this out for myself in the near future.</p>
<blockquote><p>Q4M (Queue for MySQL) is a message queue licensed under GPL that works as a pluggable storage engine of MySQL 5.1, designed to be robust, fast, flexible. It is already in production quality, and is used by several web services (see Users of Q4M).</p></blockquote>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.rustyrazorblade.com/2009/04/interesting-programmer-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux: use lsof to find which files are open by a process</title>
		<link>http://www.rustyrazorblade.com/2008/12/linux-use-lsof-to-find-which-files-are-open-by-a-process/</link>
		<comments>http://www.rustyrazorblade.com/2008/12/linux-use-lsof-to-find-which-files-are-open-by-a-process/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 22:33:45 +0000</pubDate>
		<dc:creator>jon</dc:creator>
				<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://www.rustyrazorblade.com/?p=450</guid>
		<description><![CDATA[lsof works under linux and MacOS X and will help you figure out what files are open.
lsof &#124; grep &#8216;mysqld&#8217; 
]]></description>
			<content:encoded><![CDATA[<p>lsof works under linux and MacOS X and will help you figure out what files are open.</p>
<blockquote><p>lsof | grep &#8216;mysqld&#8217; </p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.rustyrazorblade.com/2008/12/linux-use-lsof-to-find-which-files-are-open-by-a-process/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
