<?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/"
	>

<channel>
	<title>nulldev.org</title>
	<atom:link href="http://nulldev.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://nulldev.org</link>
	<description>Web Development &#38; System Administration</description>
	<pubDate>Thu, 01 Jan 2009 10:48:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Mac applications</title>
		<link>http://nulldev.org/2008/12/20/fresh-start/</link>
		<comments>http://nulldev.org/2008/12/20/fresh-start/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 21:48:07 +0000</pubDate>
		<dc:creator>Z</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://nulldev.org/?p=123</guid>
		<description><![CDATA[Finally it was about a time to reformat my macbook pro, and get rid of all the bloat that accumulated over period of six months. When I used Windows as my main work platform, formatting used to be a monthly exercise. 

This was also a good opportunity to compile a list of applications that I [...]]]></description>
			<content:encoded><![CDATA[<p>Finally it was about a time to reformat my macbook pro, and get rid of all the bloat that accumulated over period of six months. When I used Windows as my main work platform, formatting used to be a monthly exercise. </p>
<p><img src="http://nulldev.org/wp-content/uploads/2008/12/picture-1-300x187.png" alt="picture-1" title="picture-1" width="300" height="187" class="aligncenter size-medium wp-image-124" /></p>
<p>This was also a good opportunity to compile a list of applications that I use on a daily basis mainly for work.</p>
<ul>
<li><strong>Adium X</strong> - communication (Jabber, AIM)</li>
<li><strong>Dropbox client</strong> - online storage at <a href="http://getdropbox.com">getdropbox.com</a></li>
<li><strong>Eclipse</strong> - open source IDE for development - mainly LAMP</li>
<li><strong>Komodo Edit</strong> - open source code editor. Using mostly for python coding.</li>
<li><strong>MAMP</strong> - local server environment (apache, php, mysql)</li>
<li><strong>RDP for Mac</strong> - connect to remove windows servers</li>
<li><strong>TextMate</strong> - great text editor with tons of features. Costs $56</li>
<li><strong> Transmit</strong> - ftp/sftp client. Costs $29.95</li>
<li><strong> VLC</strong> - awesome open source media player</li>
<li><strong> VMware Fusion</strong> - virtualization software. Running CentOS and Windows XP virtual machines on it. Costs $79.99</li>
<li><strong> Skype</strong> - voip client. Using for conferences and 1on1 meetings</li>
<li><strong> Sequel Pro</strong> - graphical mysql database client. </li>
</ul>
<p>List is not that big, and most of the software is free. </p>
]]></content:encoded>
			<wfw:commentRss>http://nulldev.org/2008/12/20/fresh-start/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ION Window Manager</title>
		<link>http://nulldev.org/2008/10/14/ion/</link>
		<comments>http://nulldev.org/2008/10/14/ion/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 18:26:15 +0000</pubDate>
		<dc:creator>Z</dc:creator>
		
		<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://nulldev.org/?p=111</guid>
		<description><![CDATA[Ion is a tiling tabbed window manager designed with keyboard users in mind.
Ion is an awesome minimalist window manager that let&#8217;s you get job done without wearing out your mouse. That is right, you can do everything with your keyboard. Throw that cheap mouse away.
Some quick shortcuts:
F2 - open the default terminal
F3 - run a [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p><em>Ion is a tiling tabbed window manager designed with keyboard users in mind</em>.</p></blockquote>
<p>Ion is an awesome minimalist window manager that let&#8217;s you get job done without wearing out your mouse. That is right, you can do everything with your keyboard. Throw that cheap mouse away.</p>
<p>Some quick shortcuts:</p>
<p><strong>F2</strong> - open the default terminal<br />
<strong>F3</strong> - run a command<br />
<strong>Mod1-s</strong> - split a frame in half vertically<br />
<strong>Mod1-k s</strong> - split a frame in half horizontally<br />
<strong>Mod1-n</strong> - move vertically between frames<br />
<strong>Mod1-tab</strong> - move horizontally between frames<br />
<strong>Mod1-k x</strong> - kill the current frame</p>
]]></content:encoded>
			<wfw:commentRss>http://nulldev.org/2008/10/14/ion/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SSHMenu</title>
		<link>http://nulldev.org/2008/10/09/sshmenu/</link>
		<comments>http://nulldev.org/2008/10/09/sshmenu/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 18:46:56 +0000</pubDate>
		<dc:creator>Z</dc:creator>
		
		<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://nulldev.org/?p=103</guid>
		<description><![CDATA[If you are a system administrator, there is a good chance that you have hundreds of servers to maintain. It can be quite hard to remember the hostnames of each individual one. On Windows, there are Putty and SecureCRT. Both applications solve this problem really well, as you can save the individual ssh sessions. SecureCRT [...]]]></description>
			<content:encoded><![CDATA[<p>If you are a system administrator, there is a good chance that you have hundreds of servers to maintain. It can be quite hard to remember the hostnames of each individual one. On Windows, there are <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">Putty</a> and <a href="http://www.vandyke.com/products/securecrt/">SecureCRT</a>. Both applications solve this problem really well, as you can save the individual ssh sessions. SecureCRT even allows you to automate the login process for each session.</p>
<p><a href="http://sshmenu.sourceforge.net/"><img src="http://nulldev.org/wp-content/uploads/2008/10/sshmenu_screenshot-300x160.png" alt="" title="sshmenu_screenshot" width="300" height="160" class="size-medium wp-image-104" /></a></p>
<p>If you happen to be running GNU/Linux on your workstation, <a href="http://sshmenu.sourceforge.net/">SSHMenu</a> can help out. SSHMenu is a GNOME panel applet that keeps all your regular SSH connections within a single mouse click. </p>
<p>This solution is not as good as SecureCRT for example, but it is free and pretty easy to use.</p>
]]></content:encoded>
			<wfw:commentRss>http://nulldev.org/2008/10/09/sshmenu/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Free book: Getting Started With Adobe Flex 3</title>
		<link>http://nulldev.org/2008/07/25/free-book-getting-started-with-adobe-flex-3/</link>
		<comments>http://nulldev.org/2008/07/25/free-book-getting-started-with-adobe-flex-3/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 18:50:48 +0000</pubDate>
		<dc:creator>Z</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://nulldev.org/?p=54</guid>
		<description><![CDATA[For anyone interested in development with Adobe Flex, Sitepoint is giving away a free book for the next 60 days. 
Click here for more information (sitepoint.com)
]]></description>
			<content:encoded><![CDATA[<p>For anyone interested in development with Adobe Flex, <a href="http://sitepoint.com">Sitepoint</a> is giving away a free book for the next 60 days. </p>
<p><a href="http://www.sitepoint.com/forums/showthread.php?t=561360">Click here for more information</a> (sitepoint.com)</p>
]]></content:encoded>
			<wfw:commentRss>http://nulldev.org/2008/07/25/free-book-getting-started-with-adobe-flex-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Link of the day: Lazy Linux: 10 essential tricks for admins</title>
		<link>http://nulldev.org/2008/07/25/link-of-the-day-lazy-linux-10-essential-tricks-for-admins/</link>
		<comments>http://nulldev.org/2008/07/25/link-of-the-day-lazy-linux-10-essential-tricks-for-admins/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 18:22:39 +0000</pubDate>
		<dc:creator>Z</dc:creator>
		
		<category><![CDATA[Link of the day]]></category>

		<guid isPermaLink="false">http://nulldev.org/?p=48</guid>
		<description><![CDATA[Learn these 10 tricks and you&#8217;ll be the most powerful Linux® systems administrator in the universe&#8230;well, maybe not the universe, but you will need these tips to play in the big leagues. Learn about SSH tunnels, VNC, password recovery, console spying, and more. Examples accompany each trick, so you can duplicate them on your own [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>Learn these 10 tricks and you&#8217;ll be the most powerful Linux® systems administrator in the universe&#8230;well, maybe not the universe, but you will need these tips to play in the big leagues. Learn about SSH tunnels, VNC, password recovery, console spying, and more. Examples accompany each trick, so you can duplicate them on your own systems.</p></blockquote>
<p><a href="http://www.ibm.com/developerworks/linux/library/l-10sysadtips/index.html?ca=drs-">link</a></p>
]]></content:encoded>
			<wfw:commentRss>http://nulldev.org/2008/07/25/link-of-the-day-lazy-linux-10-essential-tricks-for-admins/feed/</wfw:commentRss>
		</item>
		<item>
		<title>cPanel Presentation Slides from Conference 08</title>
		<link>http://nulldev.org/2008/07/25/cpanel-presentation-slides-from-conference-08/</link>
		<comments>http://nulldev.org/2008/07/25/cpanel-presentation-slides-from-conference-08/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 18:18:16 +0000</pubDate>
		<dc:creator>Z</dc:creator>
		
		<category><![CDATA[System Administration]]></category>

		<guid isPermaLink="false">http://nulldev.org/?p=44</guid>
		<description><![CDATA[If you run hosting servers with cPanel, here is a great resource to check out:
Presentation Slides from Conference 08
Especially useful presentation is Exim &#038; Spam which goes into details on how to maintain exim on cPanel servers.
On the same link you can also find more information regarding new cPanel for Windows Server 08. 
]]></description>
			<content:encoded><![CDATA[<p>If you run hosting servers with cPanel, here is a great resource to check out:</p>
<p><a href="http://www.cpanel.net/conference/08/files/index.html">Presentation Slides from Conference 08</a></p>
<p>Especially useful presentation is <a href="http://www.cpanel.net/conference/08/files/EximSpam.pdf">Exim &#038; Spam</a> which goes into details on how to maintain exim on cPanel servers.</p>
<p>On the same link you can also find more information regarding new cPanel for Windows Server 08. </p>
]]></content:encoded>
			<wfw:commentRss>http://nulldev.org/2008/07/25/cpanel-presentation-slides-from-conference-08/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Setting up Lighttpd + web.py on CentOS 5</title>
		<link>http://nulldev.org/2008/07/25/setting-up-lighttpd-webpy-on-centos-5/</link>
		<comments>http://nulldev.org/2008/07/25/setting-up-lighttpd-webpy-on-centos-5/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 18:04:07 +0000</pubDate>
		<dc:creator>Z</dc:creator>
		
		<category><![CDATA[System Administration]]></category>

		<category><![CDATA[centos]]></category>

		<category><![CDATA[lighttpd]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[web.py]]></category>

		<guid isPermaLink="false">http://nulldev.org/?p=37</guid>
		<description><![CDATA[After playing for a while with python, easy and neat programming language, I was curious how easy (or hard) would it be to develop web application in it. Looking around google, there is a huge list of web frameworks that is ready for use, but most of them are way too big for this purpose. [...]]]></description>
			<content:encoded><![CDATA[<p>After playing for a while with python, easy and neat programming language, I was curious how easy (or hard) would it be to develop web application in it. Looking around google, there is a huge list of web frameworks that is ready for use, but most of them are way too big for this purpose. </p>
<p>Until I found <a href="http://webpy.org/">web.py</a>, <em>small, simple and powerful python based web framework</em> with not so great documentation. After playing around for a while, it was time to deploy this puppy onto my VPS with preinstalled CentOS 5.x. Here is a short and easy guide how to setup fully functional web.py enviroment with lighttpd, mysql and flup for fastcgi.</p>
<p><strong>web.py &#038; flup</strong><br />
To install web.py, we will use easy_install.</p>

<div class="wp_syntax"><div class="code"><pre class="text text" style="font-family:monospace;"># wget http://peak.telecommunity.com/dist/ez_setup.py
# python ez_setup.py
# easy_install web.py</pre></div></div>

<p>Flup</p>

<div class="wp_syntax"><div class="code"><pre class="text text" style="font-family:monospace;"># wget http://www.saddi.com/software/flup/dist/flup-1.0.tar.gz
# tar xvzf flup-1.0.tar.gz ; cd flup-1.0
# python setup.py install</pre></div></div>

<p><strong>Install lighttpd &#038; fastcgi</strong><br />
First, we need to setup rpmforge repository which contains lighttpd and fastcgi rpms. Then we install them with yum.</p>

<div class="wp_syntax"><div class="code"><pre class="text text" style="font-family:monospace;"># rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
# yum -y install lighttpd lighttpd-fastcgi mysql-server
# chkconfig --levels 235 lighttpd on
# chkconfig --levels 235 mysqld on
# /etc/init.d/lighttpd start
# /etc/init.d/mysqld start</pre></div></div>

<p><strong>Setup home directory for our web.py site</strong><br />
We will create folder called <strong>static</strong> where all static files such as images and css files will be stored.</p>

<div class="wp_syntax"><div class="code"><pre class="text text" style="font-family:monospace;"># mkdir /home/oursite
# mkdir /home/oursite/static
# vi /etc/lighttpd/lighttpd.conf</pre></div></div>

<p>In lighttpd.conf uncomment mod_fastcgi then go to the last line of the file (G in vi) and append:</p>

<div class="wp_syntax"><div class="code"><pre class="text text" style="font-family:monospace;">include &quot;oursite.conf&quot;</pre></div></div>

<p>Now let&#8217;s create <em>oursite.conf</em></p>

<div class="wp_syntax"><div class="code"><pre class="text text" style="font-family:monospace;"># vi /etc/lighttpd/conf/oursite.conf</pre></div></div>

<p>oursite.conf:</p>

<div class="wp_syntax"><div class="code"><pre class="text text" style="font-family:monospace;">$HTTP[&quot;host&quot;] =~ &quot;oursite\.com&quot; {
        server.document-root        = &quot;/home/oursite/&quot;
        fastcgi.server = ( &quot;/website.py&quot; =&gt;
        ((
                &quot;socket&quot; =&gt; &quot;/tmp/fastcgi.socket&quot;,
                &quot;bin-path&quot; =&gt; &quot;/home/oursite/website.py&quot;,
                &quot;max-procs&quot; =&gt; 1,
                &quot;bin-environment&quot; =&gt; (
                &quot;REAL_SCRIPT_NAME&quot; =&gt; &quot;&quot;
                ),
                &quot;check-local&quot; =&gt; &quot;disable&quot;
        ))
        )
&nbsp;
        url.rewrite-once = (
                &quot;^/favicon.ico$&quot; =&gt; &quot;/static/favicon.ico&quot;,
                &quot;^/static/(.*)$&quot; =&gt; &quot;/static/$1&quot;,
                &quot;^/(.*)$&quot; =&gt; &quot;/website.py/$1&quot;,
        )
}</pre></div></div>

<p><strong>Create our web.py application</strong><br />
As you noticed, in our lighttpd configuration file, we told lighttpd to access <em>website.py</em> file which will contain code for our web.py website. Here is hello world example from official web.py website.</p>
<p>website.py:</p>

<div class="wp_syntax"><div class="code"><pre class="python python" style="font-family:monospace;">  <span style="color: #808080; font-style: italic;">#!/usr/bin/env python</span>
  <span style="color: #ff7700;font-weight:bold;">import</span> web
&nbsp;
  urls = <span style="color: black;">&#40;</span>
      <span style="color: #483d8b;">'/(.*)'</span>, <span style="color: #483d8b;">'hello'</span>
  <span style="color: black;">&#41;</span>
&nbsp;
  <span style="color: #ff7700;font-weight:bold;">class</span> hello:        
      <span style="color: #ff7700;font-weight:bold;">def</span> GET<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, name<span style="color: black;">&#41;</span>:
          i = web.<span style="color: #008000;">input</span><span style="color: black;">&#40;</span>times=<span style="color: #ff4500;">1</span><span style="color: black;">&#41;</span>
          <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #ff7700;font-weight:bold;">not</span> name: name = <span style="color: #483d8b;">'world'</span>
          <span style="color: #ff7700;font-weight:bold;">for</span> c <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #008000;">int</span><span style="color: black;">&#40;</span>i.<span style="color: black;">times</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>:
              <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">'Hello,'</span>, name+<span style="color: #483d8b;">'!'</span>
&nbsp;
  <span style="color: #ff7700;font-weight:bold;">if</span> __name__ == <span style="color: #483d8b;">&quot;__main__&quot;</span>: web.<span style="color: black;">run</span><span style="color: black;">&#40;</span>urls, <span style="color: #008000;">globals</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Save this file in /home/oursite/website.py</p>
<p>Restart lighttpd</p>

<div class="wp_syntax"><div class="code"><pre class="text text" style="font-family:monospace;"># /etc/init.d/lighttpd restart</pre></div></div>

<p>Now go to oursite.com (your real domain) and see your web.py powered website in action.</p>
<p><a href="http://webpy.org/">web.py website + documentation</a><br />
<a href="http://www.lighttpd.net/">lighttpd website + documentation</a></p>
]]></content:encoded>
			<wfw:commentRss>http://nulldev.org/2008/07/25/setting-up-lighttpd-webpy-on-centos-5/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
