<?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>Anatomy of a Search Engine &#187; Software</title>
	<atom:link href="http://blog.eveknows.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.eveknows.com</link>
	<description>Development of the EveKnows.com adult search engine</description>
	<lastBuildDate>Sat, 20 Feb 2010 02:33:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Slideshows For All!</title>
		<link>http://blog.eveknows.com/2010/02/19/slideshows-for-all/</link>
		<comments>http://blog.eveknows.com/2010/02/19/slideshows-for-all/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 02:29:09 +0000</pubDate>
		<dc:creator>aidan</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[adobe air]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[slideshows]]></category>

		<guid isPermaLink="false">http://blog.eveknows.com/?p=60</guid>
		<description><![CDATA[Let&#8217;s be honest&#8230; who wouldn&#8217;t want to be able to press a button and have every photo from a particular adult picture gallery automatically display on their computer, one after the other?  Picture galleries are always of a higher quality than movie galleries, but until now, manually clicking on each photo made pictures seem outdated [...]]]></description>
			<content:encoded><![CDATA[<p>Let&#8217;s be honest&#8230; who wouldn&#8217;t want to be able to press a button and have every photo from a particular adult picture gallery automatically display on their computer, one after the other?  Picture galleries are always of a higher quality than movie galleries, but until now, manually clicking on each photo made pictures seem outdated next to the more modern movie and Flash video galleries. No longer!</p>
<p>Today <a title="The Free Porn Search Engine" href="http://eveknows.com">Eveknows.com</a> is proud to introduce a brand new <a title="EveKnows.com Adult Slideshow Viewer" href="http://eveknows.com/air/slideshow.php">Slideshow Viewer</a>. As many of you have commented upon, the old, HTML-based slideshows no longer worked in the Safari web browser at all, and worked infrequently in Firefox 3. Unfortunately there was no way to fix the problem using HTML and JavaScript, but Adobe&#8217;s new <a href="http://www.adobe.com/products/air/">AIR platform</a> seemed to offer <em>exactly</em> the functionality we needed: it&#8217;s cross-platform, it integrates with every web browser, and it puts <em>you</em> in control of each slideshow.</p>
<p>The only catch is that now, you need to install our Adobe AIR application before viewing slideshows will work. Rest assured, the EveKnows.com Slideshow Viewer is safe, secure, and 100% free of adware and viruses. It&#8217;s also discreet; the application installs itself with the innocuous name <em>Slideshow Viewer </em>and only displays adult material after you&#8217;ve clicked one of the <strong>View Slideshow</strong> buttons next to EveKnows.com picture galleries.</p>
<p>So go ahead, check it out and let us know what you think!  We&#8217;ve worked hard on this application, and we think the attention to detail really shows. Hopefully you all enjoy it as much as we do!</p>
<p><a href="http://eveknows.com/air/slideshow.php"><strong>Get the EveKnows.com Free Porn Slideshow Viewer</strong></a></p>
<p><strong> </strong></p>
<div id="attachment_62" class="wp-caption aligncenter" style="width: 590px"><a href="http://eveknows.com/air/slideshow.php"><img class="size-full wp-image-62 " title="slideshow-screenshot" src="http://blog.eveknows.com/wp-content/uploads/2010/02/slideshow-screenshot.jpg" alt="" width="580" height="486" /></a><p class="wp-caption-text">The EveKnows.com Slideshow Viewer in action!</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.eveknows.com/2010/02/19/slideshows-for-all/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EveKnows 1.4 &#8211; Photo Slideshow!</title>
		<link>http://blog.eveknows.com/2008/02/10/eveknows-14-photo-slideshow/</link>
		<comments>http://blog.eveknows.com/2008/02/10/eveknows-14-photo-slideshow/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 02:58:57 +0000</pubDate>
		<dc:creator>aidan</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.eveknows.com/2008/02/10/eveknows-14-photo-slideshow/</guid>
		<description><![CDATA[Today some very exciting features were added to everyone&#8217;s favorite porn search engine.  I think the coolest by far is the new photo slideshow (more on that in a minute!), but here&#8217;s the full list so you can judge for yourself.
Quality of Results
The gallery ranking system was drastically overhauled and now offers significantly better [...]]]></description>
			<content:encoded><![CDATA[<p>Today some very exciting features were added to everyone&#8217;s <a href="http://eveknows.com">favorite porn search engine</a>.  I think the coolest by far is the new photo slideshow (more on that in a minute!), but here&#8217;s the full list so you can judge for yourself.</p>
<p><strong>Quality of Results</strong><br />
The gallery ranking system was drastically overhauled and now offers significantly better results.  A gallery&#8217;s date plays an important role in the new algorithm, so it should tend to keep fresh results near the top of the listings.  It also helps to break up the tendency of &#8216;grouping&#8217; search results, i.e. searching for &#8216;redhead&#8217; would return lots of results from a single site, then a bunch of results from a different site, then results from a third, etc.  Now the results will be mixed together much more appropriately.</p>
<p><strong>More Thumbnails</strong><br />
New galleries will have three thumbnail images instead of only one, so you can get a better idea of whether the gallery contains the type of photo&#8217;s you&#8217;re interested in.  Hover your mouse over the gallery and the thumbnail image will rotate, displaying each different photo for a few seconds.  Please note that JavaScript must be enabled for this feature to work properly.</p>
<p><strong>Photo Slideshow</strong><br />
New galleries now support a photographic slideshow of their images!  Yes, that&#8217;s right: EveKnows automatically run through a complete slideshow of a gallery&#8217;s photos, all with a single click of your mouse!  Not all galleries support this feature, and not all browsers are compatible with it.  Notably, Safari will not be able to display most galleries as slideshows (although it does work with a few).  Firefox, Internet Explorer, and Opera, however, all work properly.  If a search result has an associated slideshow, you may view it by clicking the <em>Slideshow</em> link; galleries without slideshows will not have this link.  If your web browser blocks pop-up windows, you will need to either press the &#8216;Play&#8217; button to start the slideshow or turn of the pop-up blocker for EveKnows.com.</p>
<p>As always, feel free send me any comments or criticisms!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.eveknows.com/2008/02/10/eveknows-14-photo-slideshow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Profiling and Debugging Linux Disk Access</title>
		<link>http://blog.eveknows.com/2007/09/27/profiling-and-debugging-linux-disk-access/</link>
		<comments>http://blog.eveknows.com/2007/09/27/profiling-and-debugging-linux-disk-access/#comments</comments>
		<pubDate>Thu, 27 Sep 2007 06:12:58 +0000</pubDate>
		<dc:creator>aidan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.eveknows.com/2007/09/27/profiling-and-debugging-linux-disk-access/</guid>
		<description><![CDATA[EveKnows.com is 100% Linux powered.  The free (as in speech!) system has proved to be absolutely perfect for our needs.  It&#8217;s fast, stable, and customizable&#8211;exactly what you look for in a platform for running fresh, cutting-edge applications such as EveKnows.
One of the harder tasks I&#8217;ve had is tuning disk access.  The search [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://eveknows.com">EveKnows.com</a> is 100% Linux powered.  The free (as in speech!) system has proved to be absolutely perfect for our needs.  It&#8217;s fast, stable, and customizable&#8211;exactly what you look for in a platform for running fresh, cutting-edge applications such as EveKnows.</p>
<p>One of the harder tasks I&#8217;ve had is tuning disk access.  The search engine is currently running on a Debian 4.0 system with SATA hard drives.  The UNIX utility <em>top</em> reports 10-20% IO usage (which is a good indicator of disk access) almost all the time.  When I turn on the Caroline search spider, that usage spikes to 50%.  At the moment this isn&#8217;t really a big deal, but as the site&#8217;s popularity continues to grow, it will eventually become a bottleneck and severely limit performance.</p>
<p>Thus, I&#8217;ve been trying to learn about profiling disk access on Linux systems.  Maybe I&#8217;ve just been looking in the wrong places, but I haven&#8217;t been able to find any tools which can show me which applications are causing the heavy IO load.  Some digging revealed that <em>dmesg</em> can report individual IO calls when <em>/proc/sys/vm/block_dump</em> is set to <em>1</em>, but that raw information is essentially useless.  To that end, I wrote a small Perl script which totals all of the IO statistics and displays a pretty table of results.  If anyone is interested in using it themselves, the code is below.</p>
<p><strong>Update:</strong> HTML tends to screw up Perl code, so copying/pasting the below code probably won&#8217;t work; if you just want to download the script for your own use, you can <a href="/files/io_stats.pl.gz">find it here</a>.</p>
<pre>
#!/usr/bin/perl
#
# Copyright 2007 Aidan Trent <aidan@eveknows.com>
# Released under the terms of the GNU GPL                                                                                                                                                                             

# Usage: SCRIPT_NAME <time>
# The optional <time> parameter tells the script how many
# minutes it should spend gathering IO statistics. The
# default is 5.                                                                                                                                                                                                       

use strict;
use warnings;

my $sleep_time = 60 * 5; # 5 minutes
if ($ARGV[0]) {
    $sleep_time = 60 * int ($ARGV[0]);
}
`echo 1 > /proc/sys/vm/block_dump`;
sleep ($sleep_time); # 5 minutes
`echo 0 > /proc/sys/vm/block_dump`;

`dmesg > /tmp/io_stats.temp`;
open (FD, '/tmp/io_stats.temp') or die;
my (%total, %read, %write, %dirtied);
while (<FD>) {
    if (/(.*)\(\d+\):\s+(dirtied|READ|WRITE)/i) {
        my $name = $1;
        my $type = $2;
        print "$name - $2\n";
        if (!$total{$name}) {
            $total{$name} = 0;
        }
        $total{$name}++;
        if (!$read{$name}) {
            $read{$name} = 0;
        }
        if ($type =~ /read/i) {
            $read{$name}++;
        }
        if (!$write{$name}) {
            $write{$name} = 0;
        }
        if ($type =~ /write/i) {
            $write{$name}++;
        }
        if (!$dirtied{$name}) {
            $dirtied{$name} = 0;
        }
        if ($type =~ /dirtied/i) {
            $dirtied{$name}++;
        }
    }
}
close (FD);

print "Name\t\tTotal\tRead\tWrite\tDirtied\n";
foreach my $key (sort {$total{$b} <=> $total{$a}} keys %total) {
    my $tab = '';
    if (length ($key) < 7) {
        $tab = "\t";
    }
    print "$key:$tab\t$total{$key}\t$read{$key}\t$write{$key}\t$dirtied{$key}\n";
}

unlink ('/tmp/io_stats.temp');
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.eveknows.com/2007/09/27/profiling-and-debugging-linux-disk-access/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
