<?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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Retina Technology Blog &#187; linux</title>
	<atom:link href="http://www.retina.net/tech/category/linux/feed" rel="self" type="application/rss+xml" />
	<link>http://www.retina.net/tech</link>
	<description>John Adams' views on emerging technologies, software engineering, and various hacks</description>
	<lastBuildDate>Fri, 16 Sep 2011 09:06:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
	<!-- podcast_generator="podPress/8.8.10.2" -->
	<copyright>2006-2007 </copyright>
	<managingEditor>jna@retina.net (John Adams)</managingEditor>
	<webMaster>jna@retina.net (John Adams)</webMaster>
	<ttl>1440</ttl>
	<image>
		<url>http://www.retina.net/tech/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>Retina Technology Blog &#187; linux</title>
		<link>http://www.retina.net/tech</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>John Adams' views on emerging technologies, software engineering, and various hacks</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Technology" />
	<itunes:category text="Technology">
		<itunes:category text="Tech News" />
	</itunes:category>
	<itunes:author>John Adams</itunes:author>
	<itunes:owner>
		<itunes:name>John Adams</itunes:name>
		<itunes:email>jna@retina.net</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://www.retina.net/tech/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>Damn Small Linux: Making bootable USB drives on Mac OS X</title>
		<link>http://www.retina.net/tech/damn-small-linux-making-bootable-usb-drives-on-mac-os-x.html</link>
		<comments>http://www.retina.net/tech/damn-small-linux-making-bootable-usb-drives-on-mac-os-x.html#comments</comments>
		<pubDate>Mon, 20 Jun 2011 23:20:12 +0000</pubDate>
		<dc:creator>John Adams</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[operations]]></category>
		<category><![CDATA[systems administration]]></category>
		<category><![CDATA[Damn Small Linux]]></category>
		<category><![CDATA[LiveDistro]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[USB flash drive]]></category>
		<category><![CDATA[Virtual Machine]]></category>
		<category><![CDATA[VMware]]></category>

		<guid isPermaLink="false">http://www.retina.net/tech/.html</guid>
		<description><![CDATA[Recently I had a need to log into a machine with no cdrom and I decided to use Damn Small Linux to get enough of a shell to access the machine. It&#8217;s a very small, 50MB distribution of linux that is not that easy to install if you don&#8217;t have a linux box to start [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I had a need to log into a machine with no cdrom and I decided to use <a href="http://www.damnsmalllinux.org/">Damn Small Linux</a> to get enough of a shell to access the machine.</p>
<p>It&#8217;s a very small, 50MB distribution of linux that is not that easy to install if you don&#8217;t have a linux box to start with. Despite the large number of Linux boxes that I once owned, I&#8217;ve replaced all of them with Mac OS. Fortunately, there is a simple way to install DSL on a USB boot drive from Mac OS, using VMWare Fusion.</p>
<p>You&#8217;ll need a 1GB USB drive. The smaller the drive is, the better. Some systems cannot boot off of very large USB drives. 512MB or 1GB is recommended.</p>
<p>Here&#8217;s the how to&#8230;</p>
<p><strong>Download the latest copy of DSL from a mirror.</strong></p>
<p>Do not use syslinux, but get the ISOLINUX version. This is the ISO named dsl-x.x.x where x.x.x is a version number. I used <a href="http://ftp.heanet.ie/mirrors/damnsmalllinux.org/current/dsl-4.4.10.iso">dsl-4.4.10.iso</a>, although in retrospect I should have used the VMWare VMX Image. Either works.</p>
<p><Strong>Insert the pendrive and format it.</strong></p>
<p>Mac OS will auto mount the pendrive. Open Disk Utiilty.<br />
Format the device as MS DOS FAT and MBR.<br />
One Partition.</p>
<p>Important: Unmount the pendrive before starting VMWare Fusion.</p>
<p><strong>Create a new VMWare Fusion Virtual Machine</strong></p>
<p>The general idea here is to create an empty VM using fusion, and to boot off of the ISO you have just downloaded.<br />
It can be reasonably small. You do not need to allocate disk space on your HD.<br />
Configure the VM as Linux/Ubuntu and to mount the CD.</p>
<p>Mount the pendrive as an &#8220;Alcor Micro Mass Storage&#8221; device. It will appear to your VM as /dev/sda. </p>
<p><strong>Install DSL</strong></p>
<p>When DSL boots up, at the &#8220;boot:&#8221; prompt, type &#8220;install&#8221;<br />
Then, select &#8220;5&#8243; for &#8220;USB Pendrive HDB boot install&#8221;</p>
<p>Answer yes to all prompts, and the install will (hopefully) complete.</p>
<p><strong>Now What?</strong></p>
<p>You&#8217;re done. DSL is great for password recovery, emergency repair, or system rescue. So long as your system supports booting from USB drives, you&#8217;re good to go!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.retina.net/tech/damn-small-linux-making-bootable-usb-drives-on-mac-os-x.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Announcing mod_memcache_block</title>
		<link>http://www.retina.net/tech/announcing-mod_memcache_block.html</link>
		<comments>http://www.retina.net/tech/announcing-mod_memcache_block.html#comments</comments>
		<pubDate>Thu, 07 May 2009 20:29:00 +0000</pubDate>
		<dc:creator>John Adams</dc:creator>
				<category><![CDATA[application security]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[software engineering]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.retina.net/tech/?p=216</guid>
		<description><![CDATA[I&#8217;m announcing the release of mod_memcache_block, a distributed IP blocking system for Apache, with rate limiting based on HTTP request code. For many years I&#8217;ve had a need for a module like this &#8212; A distributed blocking system which could operate across large web serving clusters and register hits in a central store. With rate [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m announcing the release of mod_memcache_block, a distributed IP blocking system for Apache, with rate limiting based on HTTP request code.</p>
<p>For many years I&#8217;ve had a need for a module like this &#8212; A distributed blocking system which could operate across large web serving clusters and register hits in a central store. With rate limiting, incrementing counters on a single host is fairly useless when you have hundreds of servers behind a load balancer.</p>
<p>An attacker could hit many machines within the limit period before being detected, because there would be no central count. By keeping the counts in a memcache pool, all servers share the same data.</p>
<p>It won&#8217;t defend against attacks coming from random proxy addresses (say, Tor), and might unfairly count hundreds of users who live behind a single proxy (like corporate NAT), but it offers some protection against attacks coming from a single source IP.</p>
<p>The software is released under the Apache 2.0 Open Source License.</p>
<p>From the docs:</p>
<p>mod_memcache_block is an Apache module that allows you to block access to your servers using a block list stored in memcache. It also offers distributed rate limiting based on HTTP response code.</p>
<p><strong>FEATURES</strong></p>
<p>Distributed White and Black listing of IPs, ranges, and CIDR blocks<br />
Configurable timeouts, memcache server listings<br />
Support for continuous hasing using libmemcached’s Ketama<br />
Windowded Rate limiting based on Response code (to block brute-force dictionary attacks against .htpasswd, for example)</p>
<p><strong>REQUIREMENTS</strong></p>
<p>libmemcached-0.25 or better<br />
Memcached server<br />
Apache 2.x (tested with 2.2.11)</p>
<p><em>Source code is available here:</em><br />
<a href="http://github.com/netik/mod_memcache_block">http://github.com/netik/mod_memcache_block</a></p>
<p>If you would like to work on mod_memcache_block, contact me with your GitHub username and I&#8217;ll give you commit access on github.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.retina.net/tech/announcing-mod_memcache_block.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux find strangeness</title>
		<link>http://www.retina.net/tech/linux-find-strangeness.html</link>
		<comments>http://www.retina.net/tech/linux-find-strangeness.html#comments</comments>
		<pubDate>Tue, 20 May 2008 19:42:42 +0000</pubDate>
		<dc:creator>John Adams</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[systems administration]]></category>

		<guid isPermaLink="false">http://www.retina.net/tech/?p=58</guid>
		<description><![CDATA[I&#8217;ve been using the Unix find command for as long as I can remember, and today I found an interesting inconsistency in the way that the implementation of mtime/atime/ctime searches: Here&#8217;s a few examples of how this works: find . -mtime 0 # find files modified within the past 24 hours find . -mtime -1 # find [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using the Unix find command for as long as I can remember, and today I found an interesting inconsistency in the way that the implementation of mtime/atime/ctime searches:</p>
<p>Here&#8217;s a few examples of how this works:</p>
<pre class="Indent">find . -mtime 0   # find files modified within the past 24 hours
find . -mtime -1  # find files modified within the past 24 hours
find . -mtime 1   # find files modified between 24 and 48 hours ago
find . -mtime +1  # find files modified more than 48 hours ago
find . -mmin +5 -mmin -10 # find files modifed between 6 and 9 minutes ago</pre>
<p>The argument to mtime is n*24 hours. If n is zero, though, things are very different. If you ask find for -mtime 0, you get everything that has been modified more than 24 hours ago, although the posix man page states that it should find files modified within the past 24 hours.</p>
<p>If you use -mtime +0, then you get everything modified between 24 hours ago and the current time. </p>
<p>This is in  GNU find version 4.1.20, so you might get different results elsewhere.</p>
<p>This drove me nuts today while trying to help an engineer. Be careful when using find!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.retina.net/tech/linux-find-strangeness.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

