<?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>puRe - FL3X - Marcel Oelke &#187; PHP</title>
	<atom:link href="http://blog.fl3x.de/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fl3x.de</link>
	<description>Thats all me!</description>
	<lastBuildDate>Sun, 25 Apr 2010 02:53:53 +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>Who is the Subversion King in your Company?</title>
		<link>http://blog.fl3x.de/2007/11/26/who-is-the-subversion-king-in-your-company/</link>
		<comments>http://blog.fl3x.de/2007/11/26/who-is-the-subversion-king-in-your-company/#comments</comments>
		<pubDate>Mon, 26 Nov 2007 17:05:11 +0000</pubDate>
		<dc:creator>Marcel Oelke</dc:creator>
				<category><![CDATA[Discoveries]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://pure.rednoize.com/2007/11/26/who-is-the-subversion-king-in-your-company/</guid>
		<description><![CDATA[Have you ever wanted to know who&#8217;s the top committer in your company?
In my previous company we etablished the term &#8220;CVS King&#8221;, a title comparable to &#8220;Employee of the month&#8221;. The developer with the most cvs commits was the &#8220;CVS King of the month&#8221;. We determined who was the &#8220;CSV King&#8221; using commit emails that [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever wanted to know who&#8217;s the top <a href="http://en.wikipedia.org/wiki/Committer">committer</a> in your company?<br />
In my previous company we etablished the term &#8220;CVS King&#8221;, a title comparable to &#8220;Employee of the month&#8221;. The developer with the most cvs commits was the &#8220;CVS King of the month&#8221;. We determined who was the &#8220;CSV King&#8221; using commit emails that were sent to all developers on each cvs commit.<br />
Two years ago we switched to Subversion, so now we&#8217;re talking about the &#8220;Subversion King&#8221;. Naturally all this is anything but serious ;)</p>
<p>Anyway, today i programmed a little php script that uses a different approach to determine who is the &#8220;Subversion King of the Month&#8221;. It&#8217;s counting the line delta directly from the svn repository using <a href="http://svnbook.red-bean.com/en/1.4/svn.ref.svnlook.html">svnlook</a>. So the developer with the most lines added to the repository (not the most commits) is the number one.<br />
Here&#8217;s some example output (names are anonymized):</p>
<pre>--- Most productive users for 11/2007 ---
1   usera                6319      42.47%
2   userb                5797      38.96%
3   userc                1990      13.37%
4   userd                 773      05.20%
--- Most active commiters for 11/2007 ---
1   usera                  47         47%
2   userb                  34         34%
3   userc                   4          4%
4   userd                   2          2%
-----------------------------------------
</pre>
<p>The script reads all commits (revisions) for the current month, counts the line delta (how many lines have been added/removed) and the amount of commits.<br />
You can view the <a href="http://pure.rednoize.com/svnking/svnking.phps">highlighted source here</a> or <a href="http://pure.rednoize.com/svnking/svnking.php.txt">download the script here</a>. Use it on the command line like that:<br />
php -f /path/to/svn/repository</p>
<p>I know that the number of lines comitted may not be the one and only criteria to measure the productivity of a developer. But its an indicator to start with.<br />
So the question is: Are you the &#8220;Subversion King&#8221; in your company/project?</p>
<p>P.S.<br />
Again, please, dont take this serious ;)</p>
<img src="http://blog.fl3x.de/?ak_action=api_record_view&id=29&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.fl3x.de/2007/11/26/who-is-the-subversion-king-in-your-company/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Record mouse movement using Javascript and AJAX</title>
		<link>http://blog.fl3x.de/2007/10/18/record-mouse-movement-using-javascript-and-ajax/</link>
		<comments>http://blog.fl3x.de/2007/10/18/record-mouse-movement-using-javascript-and-ajax/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 12:45:33 +0000</pubDate>
		<dc:creator>Marcel Oelke</dc:creator>
				<category><![CDATA[Discoveries]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://pure.rednoize.com/2007/10/18/record-mouse-movement-using-javascript-and-ajax/</guid>
		<description><![CDATA[I just found some piece of code i created one or two years ago. The &#8220;movelogger&#8221; records the mouse movement a users does on a web site. Just before the user leaves the current page, the recorded data get posted back to the server using AJAX.
The cool thing is that you can &#8220;replay&#8221; these movements [...]]]></description>
			<content:encoded><![CDATA[<p>I just found some piece of code i created one or two years ago. The &#8220;movelogger&#8221; records the mouse movement a users does on a web site. Just before the user leaves the current page, the recorded data get posted back to the server using AJAX.<br />
The cool thing is that you can &#8220;replay&#8221; these movements afterwards. The movelogger records clicks on links and other elements. In replay mode this events are fired in the exact same order as they have been recorded.<br />
That way it would be possible to record a websesion (the click-flow) in a heavy AJAX based application. It would even be possible to record keyboard strokes and other type of events.</p>
<p><a href="http://pure.rednoize.com/movelogger/">Check out the little demo of the movelogger here.</a></p>
<p>This technique may be usefull or not. But some use cases could be:</p>
<ul>
<li>Instead of eye tracking, use mouse tracking.</li>
<li>Analyze the usage of ajax enabled websites.</li>
<li>Spionage and other Bad Things&trade; (not recommended).</li>
</ul>
<p>The whole thing is coded in javascript using Prototype and script.aculo.us with some php code on the server side.</p>
<p>The data recorded on the demo website is stored only in the php session on the server and gets deleted automatically, soon after you close your browser. But theoreticaly it would be possible to store that data in some kind of database for further analysis.</p>
<p>Please let me know what you think about this. Do you have any ideas for other uses of this technique ?</p>
<img src="http://blog.fl3x.de/?ak_action=api_record_view&id=28&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.fl3x.de/2007/10/18/record-mouse-movement-using-javascript-and-ajax/feed/</wfw:commentRss>
		<slash:comments>59</slash:comments>
		</item>
		<item>
		<title>How to name something that imports and exports ?</title>
		<link>http://blog.fl3x.de/2007/10/11/how-to-name-something-that-imports-and-exports/</link>
		<comments>http://blog.fl3x.de/2007/10/11/how-to-name-something-that-imports-and-exports/#comments</comments>
		<pubDate>Thu, 11 Oct 2007 11:56:22 +0000</pubDate>
		<dc:creator>Marcel Oelke</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://pure.rednoize.com/2007/10/11/how-to-name-something-that-imports-and-exports/</guid>
		<description><![CDATA[Simple Question:
When a script/function/class exports something, I name it &#8220;exporter&#8221;.
When it imports something, I name it &#8220;importer&#8221;.
How do I name it when it does both?
What do you think? Write your thoughts into the comments please. Thanks!
]]></description>
			<content:encoded><![CDATA[<p>Simple Question:<br />
When a script/function/class exports something, I name it &#8220;exporter&#8221;.<br />
When it imports something, I name it &#8220;importer&#8221;.<br />
How do I name it when it does both?</p>
<p>What do you think? Write your thoughts into the comments please. Thanks!</p>
<img src="http://blog.fl3x.de/?ak_action=api_record_view&id=26&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.fl3x.de/2007/10/11/how-to-name-something-that-imports-and-exports/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Chora Subversion Viewer Path Error</title>
		<link>http://blog.fl3x.de/2006/10/17/chora-subversion-viewer-path-error/</link>
		<comments>http://blog.fl3x.de/2006/10/17/chora-subversion-viewer-path-error/#comments</comments>
		<pubDate>Tue, 17 Oct 2006 16:23:39 +0000</pubDate>
		<dc:creator>Marcel Oelke</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://pure.rednoize.com/2006/10/17/chora-subversion-viewer-path-error/</guid>
		<description><![CDATA[Today i faced one of these problems that i really hate. I mean these kind of problems that are absolutly bogus.
Even google had no solution for this one handy. And thats why i am posting this solution, so that anyone that could have the same problem may find the solution a little bit faster.]]></description>
			<content:encoded><![CDATA[<p>Today i faced one of these problems that i really hate. I mean these kind of problems that are absolutly bogus.<br />
Even google had no solution for this one handy. And thats why i am posting this solution, so that anyone that could have the same problem may find the solution a little bit faster.</p>
<p>I installed the <a href="http://www.horde.org/chora/">Chora</a> cvs/svn viewer today to browse our svn repositories. Beside tons of other problems (especially with Horde) I encountered this one:</p>
<p>Chora displays an error message when trying to browse a subversion repository:<br />
<code>Error   svn: Can't check path '/root/.subversion': Permission denied</code></p>
<p>or in german:</p>
<p><code>Fehler  svn: Kann Pfad '/root/.subversion' nicht prüfen: Keine Berechtigung</code></p>
<p>After 2 hours of googling (usualy takes 2 minutes) I found the following bug report that gave <strong>the</strong> useful hint:</p>
<p><a href="http://websvn.tigris.org/issues/show_bug.cgi?id=32">http://websvn.tigris.org/issues/show_bug.cgi?id=32</a></p>
<p><em>Apache now runs as www, and the &#8220;USER&#8221; environment is set to &#8220;bob&#8221;.<br />
However, the &#8220;HOME&#8221; variable is (incorrectly) set to &#8220;/root&#8221;.</p>
<p>When PHP calls the svn function, it seems that it picks up the HOME<br />
variable. SVN must probably look for it&#8217;s preferences inside<br />
~/.subversion, ~ being the HOME variable (/root). Since it runs as<br />
www, it fails and spits out a permission error. I am not sure if the<br />
USER variable changes something in this.</em></p>
<p>Because upgrading our subversion version (1.3.2) was not possible, here&#8217;s the quick-hack solution:<br />
Edit horde/chora/lib/base.php and add<br />
<code>putenv ("HOME=/var/lib/www");</code><br />
somewhere.<br />
Replace /var/lib/www with the home directory of your apache user (wwwrun on suse 9.3).</p>
<p>Damn .. i hate such waste of time &#8230;</p>
<img src="http://blog.fl3x.de/?ak_action=api_record_view&id=20&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.fl3x.de/2006/10/17/chora-subversion-viewer-path-error/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Md5 Database Under Attack</title>
		<link>http://blog.fl3x.de/2006/09/02/md5-database-under-attack/</link>
		<comments>http://blog.fl3x.de/2006/09/02/md5-database-under-attack/#comments</comments>
		<pubDate>Sat, 02 Sep 2006 14:57:16 +0000</pubDate>
		<dc:creator>Marcel Oelke</dc:creator>
				<category><![CDATA[Discoveries]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://pure.rednoize.com/2006/09/02/md5-database-under-attack/</guid>
		<description><![CDATA[<a href="http://md5.rednoize.com/"><img src="http://pure.rednoize.com/images/md5_logo_50.gif" alt="md5.rednoize.com logo" style="float: left;padding: 4px;border:0;" /></a> The amount of the stored hashes on md5.rednoize.com has made a large jump in the last few days. The site in the <a href="http://www.google.com/search?q=cache:ey2reqMVDTEJ:md5.rednoize.com/+http://md5.rednoize.com/&#038;hl=en">google cache</a> (dated from 30 Aug 2006 19:49:32 GMT) counts 5,531,616 md5 strings.
The actual count is about 6,363,467.]]></description>
			<content:encoded><![CDATA[<p><a href="http://md5.rednoize.com/"><img src="http://pure.rednoize.com/images/md5_logo_50.gif" alt="md5.rednoize.com logo" style="float: left;padding: 4px;border:0;" /></a> The amount of the stored hashes on <a href="http://md5.rednoize.com/">md5.rednoize.com</a> has made a large jump in the last few days. The site in the <a href="http://www.google.com/search?q=cache:ey2reqMVDTEJ:md5.rednoize.com/+http://md5.rednoize.com/&#038;hl=en">google cache</a> (dated from 30 Aug 2006 19:49:32 GMT) counts 5,531,616 md5 strings.<br />
The actual count is about 6,363,467.</p>
<p>The ip 24.141.55.x has added about 400,000 plain text strings to the database.<br />
It started (21 Aug 2006 12:27:50) with &#8220;3QOOk28N&#8221; and &#8220;NtIDSzQ7&#8243;, then went over to dictionary words<br />
like &#8220;codex&#8221;, &#8220;hazard&#8221;, &#8220;strength&#8221; to finaly end the mass attack with &#8220;Zyzzogeton&#8221; (what ever this is supposed to mean) on 02 Sep 2006 06:57:45. For more then ten days the server had a somehow higher load then usual thanks to this guy (although i did not recognized it before yesterday).</p>
<p>In contrast to the &#8220;donor of hashes&#8221; mentioned above, the ip 195.114.42.x has requested clear text strings for about 53,800 md5 hashes. The attack started on 02 Sep 2006 04:27:24 and lasted until 12:49 the same day. 53,800 queries in 8 hours is a good score.</p>
<p>So, in reaction to this abuse, the web site sleeps some milliseconds with each query from now on.<br />
Normal users should not be affected by this, but these mass query scripts should be slowed down, at least a little bit.</p>
<p>Actually I do not have anything against such mass queries to my server. However the other services running on the machine should not be impaired.</p>
<p>Conclusion: Thanks to the donor, shame on the <a href="http://en.wikipedia.org/wiki/Leech_%28computing%29">leecher</a>.</p>
<img src="http://blog.fl3x.de/?ak_action=api_record_view&id=18&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.fl3x.de/2006/09/02/md5-database-under-attack/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Checking password strength using md5.rednoize.com and AJAX</title>
		<link>http://blog.fl3x.de/2005/11/10/checking-password-strength-using-md5rednoizecom-and-ajax/</link>
		<comments>http://blog.fl3x.de/2005/11/10/checking-password-strength-using-md5rednoizecom-and-ajax/#comments</comments>
		<pubDate>Thu, 10 Nov 2005 13:36:25 +0000</pubDate>
		<dc:creator>Marcel Oelke</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://pure.rednoize.com/?p=12</guid>
		<description><![CDATA[With some inspiration from Ben Ramsey i created a little demo for using my md5 database during the signup process on a website.
This example demonstrates the use of the MD5 database at http://md5.rednoize.com and AJAX to check password strength during signup on a website. After supplying a username and a password, a md5 hash of [...]]]></description>
			<content:encoded><![CDATA[<p>With some inspiration from <a href="http://benramsey.com/archives/essential-php-security-and-md5-reversing/">Ben Ramsey</a> i created a little demo for using my md5 database during the signup process on a website.</p>
<p>This example demonstrates the use of the MD5 database at <a href="http://md5.rednoize.com">http://md5.rednoize.com</a> and <a href="http://en.wikipedia.org/wiki/Ajax_%28programming%29">AJAX</a> to check password strength during signup on a website. After supplying a username and a password, a md5 hash of the password is generated using Paul Johnston&#8217;s <a href="http://pajhome.org.uk/crypt/md5/">md5 javascript library</a>.</p>
<p>The hash of the password (not the password itself) is then sent to http://md5.rednoize.com. If the website returns a result for the given password (hence the hash password combination is stored in the md5 database) it can be regarded as &#8220;insecure&#8221;. Because the md5 hash of the password, and not the password itself is transferred, no sensitive data will be saved at md5.rednoize.com.</p>
<p>For sure not every password that is <em>not</em> stored in the MD5 database can be considered secure. I recommend adding some extra checks (existence of upper and lowercase characters, numbers, special characters and so on) to increase the password strength.</p>
<p>You can see the example in action here: <a href="http://md5.rednoize.com/ajax/">http://md5.rednoize.com/ajax/</a></p>
<p>Feel free to use the code in this example any play with it ;)<br />
To implement this on your own webserver you would need some kind of proxy script that redirects the AJAX calls from your own server to the md5 database.</p>
<p><ins datetime="2005-11-10T15:39:31+00:00">Update:</ins></p>
<p>I recommend saving passwords using <a href="http://en.wikipedia.org/wiki/Password_cracking#Salting">salted </a>md5 hashes. Salting in short: &#8220;When the user sets a password, a short string called the salt is suffixed to the password before encrypting it; the salt is stored along with the encrypted password so that it can be used during verification. Since the salt is different for each user, the attacker can no longer use a single encrypted version of each candidate password. If the salt is long enough, the attacker must repeat the encryption of every guess for each user, and this can only be done after obtaining the encrypted password record for that user.&#8221;</p>
<p>Here&#8217;s a little example using salted passwords:</p>
<p>To authenticate users on your website (login) your probably using a SQL statement like this one:<br />
<code>SELECT user_id, username FROM users WHERE passsword = MD5('thepassword');</code></p>
<p>This is insecure. If someone would know the md5 hash of the password, and the password is weak, it could be &#8220;reversed&#8221; using the MD5 database.</p>
<p>Use salted passwords to avoid this:<br />
<code>SELECT user_id, username FROM users WHERE passsword = MD5(user_id || 'some_secret_string' || 'thepassword');</code></p>
<p>Its also possible to store the salt along the password in the database.</p>
<img src="http://blog.fl3x.de/?ak_action=api_record_view&id=12&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.fl3x.de/2005/11/10/checking-password-strength-using-md5rednoizecom-and-ajax/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Materialized Views in MySQL</title>
		<link>http://blog.fl3x.de/2005/10/26/materialized-views-in-mysql/</link>
		<comments>http://blog.fl3x.de/2005/10/26/materialized-views-in-mysql/#comments</comments>
		<pubDate>Wed, 26 Oct 2005 19:17:59 +0000</pubDate>
		<dc:creator>Marcel Oelke</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://pure.rednoize.com/?p=9</guid>
		<description><![CDATA[Update: Dynamic Materialized Views
Please read this article also. Its an improved versio of the technique described below.
Today i found a workaround for a feature that was realy missing in MySQL.
Let&#8217;s say you got a really complicated query that requires a lot of cpu and time to complete, but the resulting data is quite static. That&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Update: <a href="http://pure.rednoize.com/2005/11/12/dynamic-materialized-views-in-mysql/">Dynamic Materialized Views</a><br />
Please read this article also. Its an improved versio of the technique described below.</strong></p>
<p>Today i found a workaround for a feature that was realy missing in MySQL.<br />
Let&#8217;s say you got a really complicated query that requires a lot of cpu and time to complete, but the resulting data is quite static. That&#8217;s the perfect opportunity to use a &#8220;Materialized View&#8221;. The Bad Thing™ is, mysql does not support what&#8217;s usually known as materialized views. But today i found a nice workaround for MySQL 5.<br />
But first let&#8217;s clarify what a materialized view is. I found a good explanation <a href="http://www.adp-gmbh.ch/ora/concepts/materialized_view.html">here</a>:<br />
&#8220;A materialized view is a stored summary containing precomputes results (originating from an SQL select statement).<br />
As the data is precomputed, materialized views allow for (seemingly) faster dataware query answers.&#8221;</p>
<p>Okay, so a materialized view saves the result of a query somewhere (e.g. into another table)  else.</p>
<p>In my case i had to calculate a rating of users based on votes from other users (Website of <a href="http://www.hiphop-battles.com">http://www.hiphop-battles.com</a> btw) .  I&#8217;m doing this with some nested views (also a new feature in MySQL5). The whole calculation and query took 0.5 seconds on my athlon xp 3200 machine. Thats way to much to run this query on each page impression.</p>
<p>The trick is a new feature that was introduced in MySQL 5. From the <a href="http://dev.mysql.com/doc/refman/5.0/en/create-table.html">MySQL Manual:</a><br />
&#8220;In MySQL 5.0, you can create one table from another by adding a SELECT statement at the end of the CREATE TABLE statement:</p>
<pre name="code" class="sql">CREATE TABLE new_tbl SELECT * FROM orig_tbl;</pre>
<p>So its possible to create a new table with structure based on an already existing table. The data of the table gets copied also.<br />
To create a table of a very processing intensive view we run the following query:</p>
<pre name="code" class="sql">CREATE TABLE view_m_demo SELECT * FROM view_demo;</pre>
<p>To make it little bit better we put this code into a procedure (also a new feature in MySQL5):</p>
<pre name="code" class="sql">DELIMITER //
CREATE PROCEDURE updateDemoView ()
BEGIN
    DROP TABLE IF EXISTS view_m_demo;
    CREATE TABLE view_m_demo SELECT * FROM view_demo;
END; //
DELIMITER ;</pre>
<p>Now we can call this procedure using a trigger:</p>
<pre name="code" class="sql">delimiter //
CREATE TRIGGER T_updateDemoView AFTER INSERT ON some_involved_table
  FOR EACH ROW BEGIN
  /* calls the procedure to update out materialized view on each insert */
    CALL updateDemoView ();
END //
delimiter ;</pre>
<p>The same can be done with an &#8220;AFTER UPDATE&#8221; trigger. dont use database triggers if the data in the original tables get updated frequently.<br />
Another option in this case is to update the view time triggerd via cron.<br />
To update the materialized view every minute use:</p>
<pre name="code" class="sql">*/1 * * * * echo "CALL updateDemoView ();"  |  mysql -u user --password=pass database</pre>
<p>I hope this helps somebody as much as it helps my projects website loading time ;)<br />
before: 0,48 sec<br />
after: 0,003 sec</p>
<img src="http://blog.fl3x.de/?ak_action=api_record_view&id=10&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.fl3x.de/2005/10/26/materialized-views-in-mysql/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>2,007,161 md5 strings</title>
		<link>http://blog.fl3x.de/2005/10/26/2007161-md5-strings/</link>
		<comments>http://blog.fl3x.de/2005/10/26/2007161-md5-strings/#comments</comments>
		<pubDate>Wed, 26 Oct 2005 18:27:51 +0000</pubDate>
		<dc:creator>Marcel Oelke</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://pure.rednoize.com/?p=8</guid>
		<description><![CDATA[Today i took a look at my md5 site and found out that i (we)  broke the 2 million barrier. The database has now  2,007,161 md5 strings with their counter part stored. 222,101 queries where run against the database till now. The size of the database has grown to 320 MB on the [...]]]></description>
			<content:encoded><![CDATA[<p>Today i took a look at my<a href="http://md5.rednoize.com/"> md5 site</a> and found out that i (we)  broke the 2 million barrier. The database has now  2,007,161 md5 strings with their counter part stored. 222,101 queries where run against the database till now. The size of the database has grown to 320 MB on the disk.</p>
<p>I even found out that some crazy people use my website in their scripts and programs. Someone (not me) created a <a href="http://mycroft.mozdev.org/download.html?submitform=Find&amp;category=6">search plugin</a> for mozilla. Another <a href="http://paradigma.pt/ja/slog/comments.php?y=05&amp;m=09&amp;entry=entry050908-154448">guy</a> created a <a href="http://paradigma.pt/ja/slog/downloads/reversemd5.phps">PHP Class</a> that uses my site. Again another guy created an <a href="http://66.249.93.104/search?q=cache:ZMd7O5TkCXoJ:pastebin.com/335909+md5.rednoize.com&amp;hl=en">IRC bot</a> that &#8220;reverses&#8221; given md5 strings on command &#8230; using my site.<br />
The website currently produces ~300 MB traffic per month, so thats okay for now.</p>
<p>I really never expected that this little project attracts so much attention ;)</p>
<img src="http://blog.fl3x.de/?ak_action=api_record_view&id=9&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.fl3x.de/2005/10/26/2007161-md5-strings/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MD5 Database</title>
		<link>http://blog.fl3x.de/2005/05/28/md5-database/</link>
		<comments>http://blog.fl3x.de/2005/05/28/md5-database/#comments</comments>
		<pubDate>Sat, 28 May 2005 15:33:23 +0000</pubDate>
		<dc:creator>Marcel Oelke</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Useless]]></category>

		<guid isPermaLink="false">http://pure.rednoize.com/archives/6/</guid>
		<description><![CDATA[I just did some work on my little MD5 project today. I added Plain and XML Output to http://md5.rednoize.com. For example some website could use this to automaticly check if a password is &#8220;safe&#8221; uppon registration.
But actually this project is kinda useless i think. At least it was big fun to read posts like this [...]]]></description>
			<content:encoded><![CDATA[<p>I just did some work on my little MD5 project today. I added <a href="http://md5.rednoize.com/?q=06cf664ae1e21c4a6ba3ac9a2fa49ffa&#038;p">Plain</a> and <a href="http://md5.rednoize.com/?q=06cf664ae1e21c4a6ba3ac9a2fa49ffa&#038;xml">XML</a> Output to <a href="http://md5.rednoize.com">http://md5.rednoize.com</a>. For example some website could use this to automaticly check if a password is &#8220;safe&#8221; uppon registration.<br />
But actually this project is kinda useless i think. At least it was big fun to read posts like <a href="http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:205912">this</a> and <a href="http://www.contnew.com/tech/webmaster/other/2005/3/49_186653_01.html">that</a> (<a href="http://translate.google.com/translate?hl=en&#038;sl=zh-CN&#038;u=http://www.contnew.com/tech/webmaster/other/2005/3/49_186653_01.html&#038;prev=/search%3Fq%3Drednoize%2Bmd5%26hl%3Den%26lr%3D%26client%3Dfirefox-a%26rls%3Dorg.mozilla:de-DE:official">translated</a>).</p>
<img src="http://blog.fl3x.de/?ak_action=api_record_view&id=7&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://blog.fl3x.de/2005/05/28/md5-database/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
