<?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>v-nessa.net &#187; uncategorized</title>
	<atom:link href="http://www.v-nessa.net/category/uncategorized/feed" rel="self" type="application/rss+xml" />
	<link>http://www.v-nessa.net</link>
	<description>pink is the new black</description>
	<lastBuildDate>Thu, 31 Mar 2011 21:13:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>phpacademy.org Offers FREE PHP Tutorials</title>
		<link>http://www.v-nessa.net/2011/03/31/phpacademy-org-offers-free-php-tutorials</link>
		<comments>http://www.v-nessa.net/2011/03/31/phpacademy-org-offers-free-php-tutorials#comments</comments>
		<pubDate>Thu, 31 Mar 2011 21:13:58 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tutorials]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/?p=404</guid>
		<description><![CDATA[There&#8217;s a new site out there that&#8217;s offering high quality PHP video tutorials &#8211; for FREE!  All you PHP gurus, check out phpacademy.org.  They currently have over 200 PHP and MySQL tutorials for both beginner and intermediate users.  Unlike other PHP tutorial sites, phpacademy is unique because the tutorials are all on video, so there&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2011%2F03%2F31%2Fphpacademy-org-offers-free-php-tutorials"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2011%2F03%2F31%2Fphpacademy-org-offers-free-php-tutorials&amp;source=nessa421&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>There&#8217;s a new site out there that&#8217;s offering high quality PHP video tutorials &#8211; for FREE!  All you PHP gurus, check out <a href="http://phpacademy.org/" target="_blank">phpacademy.org</a>.  They currently have over 200 PHP and MySQL tutorials for both beginner and intermediate users.  Unlike other PHP tutorial sites, phpacademy is unique because the tutorials are all on video, so there&#8217;s less boring reading.  Did I also mention that it&#8217;s free?</p>
<p>Head on over and check them out, feel free to post comments and reviews here!</p>
<p><map name='google_ad_map_404_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/404?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_404_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=404&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2011%2F03%2F31%2Fphpacademy-org-offers-free-php-tutorials' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=404&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2011/03/31/phpacademy-org-offers-free-php-tutorials/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Error Installing APC via PECL</title>
		<link>http://www.v-nessa.net/2011/02/27/error-installing-apc-via-pecl</link>
		<comments>http://www.v-nessa.net/2011/02/27/error-installing-apc-via-pecl#comments</comments>
		<pubDate>Mon, 28 Feb 2011 00:31:30 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/?p=402</guid>
		<description><![CDATA[I got the following error when compiling APC on one of the servers: /root/APC-3.1.6/apc.c:464: error: &#8216;apc_regex&#8217; has no member named &#8216;nreg&#8217; To fix this, make sure that PHP is installed with PCRE support (type php -m for a list of modules), then install the pcre-devel package: yum install pcre-devel]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2011%2F02%2F27%2Ferror-installing-apc-via-pecl"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2011%2F02%2F27%2Ferror-installing-apc-via-pecl&amp;source=nessa421&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I got the following error when compiling APC on one of the servers:</p>
<blockquote><p>/root/APC-3.1.6/apc.c:464: error: &#8216;apc_regex&#8217; has no member named &#8216;nreg&#8217;</p></blockquote>
<p>To fix this, make sure that PHP is installed with PCRE support (type <strong>php -m</strong> for a list of modules), then install the pcre-devel package:</p>
<blockquote><p>yum install pcre-devel</p></blockquote>
<p><map name='google_ad_map_402_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/402?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_402_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=402&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2011%2F02%2F27%2Ferror-installing-apc-via-pecl' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=402&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2011/02/27/error-installing-apc-via-pecl/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using POST Variables Outside the Loop</title>
		<link>http://www.v-nessa.net/2011/02/24/using-post-variables-outside-the-loop</link>
		<comments>http://www.v-nessa.net/2011/02/24/using-post-variables-outside-the-loop#comments</comments>
		<pubDate>Thu, 24 Feb 2011 16:58:35 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/?p=401</guid>
		<description><![CDATA[I was working on this mini contact form the other day where a user basically enters in a bunch of info, the form submits to itself via PHP_SELF, and sends out an email. Oddly enough, once I transferred the form to its permanent home and spent a decent chunk of time trying to figure out [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2011%2F02%2F24%2Fusing-post-variables-outside-the-loop"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2011%2F02%2F24%2Fusing-post-variables-outside-the-loop&amp;source=nessa421&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I was working on this mini contact form the other day where a user basically enters in a bunch of info, the form submits to itself via PHP_SELF, and sends out an email. Oddly enough, once I transferred the form to its permanent home and spent a decent chunk of time trying to figure out why it wasn&#8217;t working anymore, I discovered that my developement box still had register_globals enabled from a previous project I was working on.  Doh!</p>
<p>This is part of my loop, which basically just grabs all the $_POST variables and their values to compare them with a previous array ($required) that specifies what values should be present in order for the mailer to determine how much of the form was completed:</p>
<p><code><br />
// Values passed: domain,email<br />
</code><code><br />
foreach($_POST as $name =&gt; $value) {<br />
<code>if(in_array($name,$required)){<br />
if(empty($value) &amp;&amp; value != 0 ){<br />
$complete=0;<br />
}else{<br />
$complete=1;<br />
}<br />
}<br />
}</code></code></p>
<p>(Ignore the fact that WordPress reformats my coding)</p>
<p>The problem is, when I went to use the names of the variables or their values later in the script, I got nothing. This of course would work with register_globals enabled, but since I prefer to work in a more secure environment, a small adjustment was needed in to make those variables available outside the loop:</p>
<p><code><br />
// Values passed: domain,email<br />
</code></p>
<p><code>foreach($_POST as $name =&gt; $value) {<br />
<strong> $$name = trim($value);</strong><br />
if(in_array($name,$required)){<br />
if(empty($value) &amp;&amp; value != 0 ){<br />
$complete=0;<br />
}else{<br />
$complete=1;<br />
}<br />
}<br />
}</code></p>
<p>Pretty simple stuff, eh? All I did here was tell the loop to actually create a variable and value for each $_POST value that was part of the foreach loop. From there, all I had to do was use these values are normal ($domain,$email,etc)</p>
<p><map name='google_ad_map_401_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/401?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_401_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=401&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2011%2F02%2F24%2Fusing-post-variables-outside-the-loop' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=401&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2011/02/24/using-post-variables-outside-the-loop/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Gambling Fever</title>
		<link>http://www.v-nessa.net/2011/02/22/gambling-fever</link>
		<comments>http://www.v-nessa.net/2011/02/22/gambling-fever#comments</comments>
		<pubDate>Wed, 23 Feb 2011 01:25:43 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/?p=399</guid>
		<description><![CDATA[Before meeting my fiancé, the most exposure I&#8217;d had to gambling was the occasional friendly late night nickel/dime/quarter poker games you have with friends after a night of partying when you eventually get bored and have nothing else to do.  Well, that was then &#8211; nowadays I&#8217;m upping my housewife potential by learning how to [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2011%2F02%2F22%2Fgambling-fever"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2011%2F02%2F22%2Fgambling-fever&amp;source=nessa421&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Before meeting my fiancé, the most exposure I&#8217;d had to gambling was the occasional friendly late night nickel/dime/quarter poker games you have with friends after a night of partying when you eventually get bored and have nothing else to do.  Well, that was then &#8211; nowadays I&#8217;m upping my housewife potential by learning how to do things like make laundry detergent and not blow up the microwave every time I want to make macaroni and cheese (you&#8217;re supposed to make that in the microwave, right?).  It would seem that at 23 I&#8217;m officially retired from having a life :)</p>
<p>My future mother-in-law got me into the casino scene the first time she brought us along on one of her frequent trips to Dover  Downs.  I was amazed at the concept of a slot machine: You put in $20, pull the lever a couple times, and while you may win a dollar here and there, suddenly it&#8217;s all gone. While you&#8217;re disappointed for a few minutes, you move onto the next machine and do the same thing, only to rinse and repeat until you&#8217;re out a couple hundred and heading to the ATM to get more.  All you hope for is that one shot of hitting a jackpot &#8211; after all, a couple hundred bucks is nothing compared to thousands that can possible fall in your lap, right?</p>
<p>&#8230;Riiiight. The last time I was in Dover I hit a winning streak at one of the high-roller Blackjack tables.  I was at the table for a few hours, and as the night wore on the table was joined by a young man that looked like a complete train wreck. His eyes were all red and watery as if he hadn&#8217;t slept in days, and he was nervously shuffling his chips on the table with one hand while his left leg was shaking under the table.  He was bidding $100 a hand  and every time he ran out of chips he&#8217;d disappear for a few minutes and come back with more.  After the third time he just sat in the chair as if he&#8217;d given up all hope in life.  Ironically, a few minutes later his wife called him and I overheard her on his phone asking him why their credit card was declined when she went to the store to buy diapers. Ouch.  That was when I picked up my winnings, cashed out, and went about enjoying the other amenities of the casino.   I&#8217; m getting married soon and Richie and I have a specific three-year plan that consists of getting married, having a child, and purchasing our own house &#8211; a plan that can be easily foiled by excessive gambling debts.</p>
<p>Now for me, it&#8217;s easy to not get addicted to gambling because the nearest casino is four hours away.  As most of you know, I live in Virginia (a commonwealth), and there&#8217;s no way they&#8217;re going to legalize gambling anytime soon&#8230;so it&#8217;s not like I have to pass by a casino on my way to work every day.  After all, if Virginia ends up spending all their federal funding on gambling-related bankruptcies they won&#8217;t be able to spend <a href="http://www.virginiadot.org/projects/hamptonroads/i-264-lynnhaven_parkway_interchange_improvements.asp" target="_blank">$19 million to widen a road</a>.</p>
<p>I leave you with the following pro gambling tips:</p>
<ul>
<li>Only play with money that you are ok with losing</li>
<li>Only play with money you have &#8211; never take loans or cash advances from your credit cards</li>
<li>When you hit a winning streak and then inevitably start losing again, stop while you&#8217;re ahead</li>
<li>Don&#8217;t rely on gambling to supplement your income &#8211; at the most you&#8217;re probably going to end up breaking even in the log run (remember, winning a $2000 jackpot is nothing if you lost $500 a month for the last year trying to win it)</li>
<li>Instead of slots, try the card games &#8211; they require a little skill so it tends to be easier to win&#8230;</li>
<li>&#8230;but don&#8217;t play the computerized card games. They are totally rigged.</li>
<li>Give Poker Stars a try &#8211; you can download their little app and play <a href="http://www.pokerstars.com/" target="_blank">poker</a> online with real people (rather than the house) and, in addition to adding a little amusement to a lonely night, you&#8217;re likely to walk away with a couple extra bucks</li>
</ul>
<p><map name='google_ad_map_399_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/399?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_399_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=399&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2011%2F02%2F22%2Fgambling-fever' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=399&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2011/02/22/gambling-fever/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Catching SoapClient Errors</title>
		<link>http://www.v-nessa.net/2011/02/01/catching-soapclient-errors</link>
		<comments>http://www.v-nessa.net/2011/02/01/catching-soapclient-errors#comments</comments>
		<pubDate>Tue, 01 Feb 2011 18:03:36 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/?p=393</guid>
		<description><![CDATA[I recently wrote a PHP script that uses SoapClient to connect to a SOAP server to verify username/password credentials for a monitoring system.  The script basically returns the result as a yes or no &#8211; however, as we all know with SOAP, when you hit an error you get a mess of crap that comes [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2011%2F02%2F01%2Fcatching-soapclient-errors"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2011%2F02%2F01%2Fcatching-soapclient-errors&amp;source=nessa421&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I recently wrote a PHP script that uses SoapClient to connect to a SOAP server to verify username/password credentials for a monitoring system.  The script basically returns the result as a yes or no &#8211; however, as we all know with SOAP, when you hit an error you get a mess of crap that comes back like this:</p>
<blockquote><p>Uncaught SoapFault exception: [ERROR_BAD_LOGIN] Bad login or password. in /path/to/stuff.php:20</p></blockquote>
<p><code>Stack trace:<br />
#0 [internal function]: SoapClient-&amp;gt;__call('GetAccountByNam...', Array)<br />
#1 /path/to/stuff(20): Utils_SoapClient-&amp;gt;GetAccountByName(Object(SoapVar))<br />
#2 {main}</code></p>
<p>All I need is an error code, and when the SOAP function fails (which is expected if the login credentials are invalid), the script halts and I don&#8217;t get anything.  Luckily, PHP has pretty good exception handling that can tell SOAP to treat output like a test.   For example, the following line of code in the above example passes a username string ($struct) to a SOAP object, and is the line of code that is failing:</p>
<p><code><strong>$result=$accountService-&gt;GetAccountByName(new SoapVar($struct, SOAP_ENC_OBJECT));</strong><br />
$result_username = $result-&gt;UserAccount-&gt;AccountId;<br />
</code></p>
<p>In my case, if the login credentials being tested are incorrect, the value of the $result variable should be empty.  To suppress the ugly SOAP error and only return what I want, I use exceptions:</p>
<p><code>try {<br />
$result=$accountService-&gt;GetAccountByName(new SoapVar($struct, SOAP_ENC_OBJECT));<br />
}<br />
catch(SoapFault $result){<br />
}<br />
catch(Exception $result){<br />
}<br />
</code><br />
Therefore, I can now use the value of $result as intended:</p>
<p><code>if(!empty($result_username)){</code></p>
<p><code>echo "Login OK";<br />
exit(0);<br />
}else{<br />
</code><br />
<code>echo "Login failed";<br />
exit(1);<br />
}</code></p>
<p><map name='google_ad_map_393_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/393?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_393_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=393&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2011%2F02%2F01%2Fcatching-soapclient-errors' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=393&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2011/02/01/catching-soapclient-errors/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One of Those &#8220;Ksplice Saved Our Asses&#8221; Moments</title>
		<link>http://www.v-nessa.net/2011/01/15/one-of-those-ksplice-saved-our-asses-moments</link>
		<comments>http://www.v-nessa.net/2011/01/15/one-of-those-ksplice-saved-our-asses-moments#comments</comments>
		<pubDate>Sat, 15 Jan 2011 06:01:07 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[ksplice]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/?p=389</guid>
		<description><![CDATA[There comes a time in every sysadmin&#8217;s life when you realize that as long as you have your job, you&#8217;re never going to have a life have friends sleep have a break from all the madness When you fix server A, server B breaks. When you patch exploit 1, exploit 2 strikes threefold.  And to [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2011%2F01%2F15%2Fone-of-those-ksplice-saved-our-asses-moments"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2011%2F01%2F15%2Fone-of-those-ksplice-saved-our-asses-moments&amp;source=nessa421&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>There comes a time in every sysadmin&#8217;s life when you realize that as long as you have your job, you&#8217;re never going to</p>
<ol>
<li>have a life</li>
<li>have friends</li>
<li>sleep</li>
<li>have a break from all the madness</li>
</ol>
<p>When you fix server A, server B breaks. When you patch exploit 1, exploit 2 strikes threefold.  And to top it off, our customers are <em>still</em> using passwords like 123456.  Luckily, there&#8217;s someone out there that appears to be seeing things at my level.</p>
<p>We started using Ksplice back in September 2010 when <a href="https://access.redhat.com/kb/docs/DOC-40265" target="_blank">one infamous kernel exploit</a> started it all. We used to only have to do kernel updates a few times a year.  Now the RHEL guys decided to start compiling their kernels from sad pandas and french fries, backporting and reintroducing a string of security holes that hackers have been sitting until the opportune moment. When you&#8217;re working for one of the best hosts in the industry and basically guaranteeing 99.9% uptime, <em>you</em> try rebooting a dump truck full of servers five or six times a month just to avoid some asshat defacing all the index pages on your server with pictures of babies and swastikas.</p>
<p>I mean, unless you&#8217;re into that kind of thing.</p>
<p>During these unsexy times there&#8217;s one thing I&#8217;ve been continually grateful for &#8211; and that&#8217;s the fact that the developers of Ksplice apparently have no lives, girlfriends, or any other dreams in life other than to make all our jobs easier.  Here at <a href="http://inmotionhosting.com" target="_blank">IMH</a>, we were all slightly depressed when we found out that we couldn&#8217;t have reboot parties anymore.  The Ksplice guys usually have new vendor-released kernel patches available within a day  and we can easily and instantly run kernel updates on our entire fleet of servers without having to reboot a single one.  With that, we don&#8217;t have to wait until the middle of the night over the span of several days to fix critical security problems, and customers don&#8217;t have to complain about downtime.  This lets us focus on what&#8217;s important: <span style="text-decoration: line-through;">drinking, karaoke, and nude ice fishing</span> keeping people happy.  If that&#8217;s not worth the $2.95 a month, I don&#8217;t know what is.</p>
<p><map name='google_ad_map_389_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/389?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_389_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=389&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2011%2F01%2F15%2Fone-of-those-ksplice-saved-our-asses-moments' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=389&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2011/01/15/one-of-those-ksplice-saved-our-asses-moments/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Simple Way to Parse an x509 Certificate with PHP</title>
		<link>http://www.v-nessa.net/2010/11/03/simple-way-to-parse-an-x509-certificate-with-php</link>
		<comments>http://www.v-nessa.net/2010/11/03/simple-way-to-parse-an-x509-certificate-with-php#comments</comments>
		<pubDate>Wed, 03 Nov 2010 15:07:29 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[scripts]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/?p=385</guid>
		<description><![CDATA[PHP has a nifty little function for parsing an x.509 SSL certificate into an array to easily pull out the elements: openssl_x509_parse .Essentially, all you need to do is load up the contents of the certificate, either through a file or POST value, and enclose it in the array. Here&#8217;s a simple script: &#60;?php $sslcert [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2010%2F11%2F03%2Fsimple-way-to-parse-an-x509-certificate-with-php"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2010%2F11%2F03%2Fsimple-way-to-parse-an-x509-certificate-with-php&amp;source=nessa421&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>PHP has a nifty little function for parsing an x.509 SSL certificate into an array to easily pull out the elements: <a href="http://us3.php.net/openssl_x509_parse" target="_blank">openssl_x509_parse</a> .Essentially, all you need to do is load up the contents of the certificate, either through a file or POST value, and enclose it in the array. Here&#8217;s a simple script:<br />
<code><br />
&lt;?php<br />
$sslcert = file_get_contents("/etc/ssl/certs/secure.v-nessa.net");<br />
$sslcert = array(openssl_x509_parse($sslcert,TRUE));<br />
//print_r($sslcert);<br />
foreach ($sslcert as $name =&gt; $arrays){<br />
foreach ($arrays as $title =&gt; $value){<br />
if(is_array($value)){<br />
echo $value . "\n";<br />
foreach($value as $subtitle =&gt; $subvalue){<br />
echo $subtitle . " : " . $subvalue . "\n";<br />
}<br />
}else{<br />
echo $title .  "\n";<br />
}<br />
}<br />
}<br />
?&gt;</code></p>
<p>The results are several multidimensional arrays, so depending on the data you need, you may need to keep adding foreach loops to get that data.</p>
<p><map name='google_ad_map_385_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/385?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_385_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=385&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2010%2F11%2F03%2Fsimple-way-to-parse-an-x509-certificate-with-php' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=385&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2010/11/03/simple-way-to-parse-an-x509-certificate-with-php/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Dear , It&#8217;s not your IP &#8211; Your Site Is Just&#8230;Unpopular</title>
		<link>http://www.v-nessa.net/2010/09/09/its-not-your-ip-your-site-is-just-unpopular</link>
		<comments>http://www.v-nessa.net/2010/09/09/its-not-your-ip-your-site-is-just-unpopular#comments</comments>
		<pubDate>Fri, 10 Sep 2010 01:02:18 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[uncategorized]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/?p=373</guid>
		<description><![CDATA[At least twice a month I get an all so familiar request from hopeful customers looking to boost their Internet presence: &#8220;Yea, I&#8217;m going to need about a bazillion IPs for all my sites. Oh, and they all need to be on different subnets. Ya know, SEO shit. I&#8217;m going to make it to the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2010%2F09%2F09%2Fits-not-your-ip-your-site-is-just-unpopular"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2010%2F09%2F09%2Fits-not-your-ip-your-site-is-just-unpopular&amp;source=nessa421&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>At least twice a month I get an all so familiar request from hopeful customers looking to boost their Internet presence:</p>
<p><em>&#8220;Yea, I&#8217;m going to need about a bazillion IPs for all my sites. Oh, and they all need to be on different subnets. Ya know, SEO shit. I&#8217;m going to make it to the top&#8221;</em></p>
<p>&#8230;And at least twice a month I again have to explain why <strong>a dedicated IP address isn&#8217;t going to bump search engine rankings.</strong></p>
<p>It&#8217;s a well-known fact that IPv4 space is running low. Being that there are over 180 million websites on the Internet (growing by the thousands every day), it eventually won&#8217;t be possible for every website to have its own IP. Additionally, ARIN now no longer accepts IP-based virtual hosting as justification for IP usage. In other words, unless you&#8217;re running a private anonymous FTP server, are using third party DNS services, or have an SSL certificate, you&#8217;re really not entitled to have your own IP. Though your hosting provider may still give you that option, they don&#8217;t have to if name-based Virtual Hosting (read: sharing IPs) is possible.</p>
<p>That being said, it doesn&#8217;t sound quite right that a search engine would punish your rankings for not doing something that isn&#8217;t feasible. Even if you don&#8217;t believe me, I&#8217;m sure you can believe one of Google&#8217;s software engineers who <a href="http://www.mattcutts.com/blog/myth-busting-virtual-hosts-vs-dedicated-ip-addresses/" target="_blank">negated the fact that a dedicated IP will affect your pagerank</a>.</p>
<p>If you&#8217;re seeing SEO success from one of your competitors, you can probably bet that it has little to do with their IP situation and more to do with them actually knowing what they are doing.  Plenty of sites have hit #1 in Google using old-school SEO techniques and marketing.  Your hosting provider is probably not going to give you half their IP allocation, so now that your entire belief system based around fake SEO techniques has been shot down, just don&#8217;t ask.</p>
<p><map name='google_ad_map_373_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/373?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_373_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=373&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2010%2F09%2F09%2Fits-not-your-ip-your-site-is-just-unpopular' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=373&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2010/09/09/its-not-your-ip-your-site-is-just-unpopular/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wireless BroadBand vs. Home Broadband?</title>
		<link>http://www.v-nessa.net/2010/09/07/wireless-broadband-vs-home-broadband</link>
		<comments>http://www.v-nessa.net/2010/09/07/wireless-broadband-vs-home-broadband#comments</comments>
		<pubDate>Wed, 08 Sep 2010 00:35:00 +0000</pubDate>
		<dc:creator>Jason</dc:creator>
				<category><![CDATA[uncategorized]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/?p=379</guid>
		<description><![CDATA[According to www.broadbandexpert.com.au, there has been a 45% rise in sales of wireless broadband plans in Australia during 2009, after a huge rise in popularity of mobile broadband sales in European countries during 2008 and early 2009.  While wireless broadband is clearly not yet a full replacement for home broadband service, it isn&#8217;t suitable by [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2010%2F09%2F07%2Fwireless-broadband-vs-home-broadband"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2010%2F09%2F07%2Fwireless-broadband-vs-home-broadband&amp;source=nessa421&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } 		A:link { color: #0000ff } -->According to www.broadbandexpert.com.au, there has been a 45% rise in sales of wireless broadband plans in Australia during 2009, after a huge rise in popularity of mobile broadband sales in European countries during 2008 and early 2009.  While wireless broadband is clearly not yet a full replacement for home broadband service, it isn&#8217;t suitable by everyone &#8211; it should ideally reflect your Internet use.</p>
<p>If you download a lot of crap, like movies, <span style="text-decoration: line-through;">porn</span>, games, etc, then a fast broadband plan with a high bandwidth limit is probably going to be the best for you. Most broadband providers will let you pick your plan based on your usage and give you excellent <a href="http://www.broadbandexpert.com.au/" target="_blank">broadband deals</a>.  If you&#8217;re just browsing the web and sending email, you probably just look for <a href="http://www.broadbandexpert.com.au/wireless-internet/" target="_blank">wireless Internet providers</a>. Wireless Internet can be used anywhere that you can get mobile reception, although speeds will vary depending on your connection type and where you live.   Not sure how fast your Internet is? Try a <a href="http://www.broadbandexpert.com.au/broadband/speedtest/" target="_blank">wireless speed test</a>. Although wireless Internet is flexible because it&#8217;s more portable, it&#8217;s also a bit slower and your provider will probably limit your bandwidth consumption.  Therefore, many people are now opting for wireless Internet for mobile use in addition to a home broadband.</p>
<p><map name='google_ad_map_379_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/379?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_379_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=379&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2010%2F09%2F07%2Fwireless-broadband-vs-home-broadband' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=379&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2010/09/07/wireless-broadband-vs-home-broadband/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Review of ReclaiMe Data Recovery Software</title>
		<link>http://www.v-nessa.net/2010/08/05/review-of-reclaime-data-recovery-software</link>
		<comments>http://www.v-nessa.net/2010/08/05/review-of-reclaime-data-recovery-software#comments</comments>
		<pubDate>Fri, 06 Aug 2010 02:06:55 +0000</pubDate>
		<dc:creator>Nessa</dc:creator>
				<category><![CDATA[uncategorized]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.v-nessa.net/?p=374</guid>
		<description><![CDATA[We all know how much it sucks to have a hard drive fail &#8211; months or even years worth of data down the drain. And I bet you don&#8217;t do regular backups, do you? I came across ReclaiME from a review site. It&#8217;s software (that unfortunately only works on Windows) that you can install on [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.v-nessa.net%2F2010%2F08%2F05%2Freview-of-reclaime-data-recovery-software"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.v-nessa.net%2F2010%2F08%2F05%2Freview-of-reclaime-data-recovery-software&amp;source=nessa421&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>We all know how much it sucks to have a hard drive fail &#8211; months or even years worth of data down the drain. And I bet you don&#8217;t do regular backups, do you?</p>
<p>I came across <a href="http://www.reclaime.com/" target="_blank">ReclaiME</a> from a review site. It&#8217;s software (that unfortunately only works on Windows) that you can install on your computer to reliably recover data from hard drives or memory cards.  More specifically, it lets you:</p>
<ul>
<li>Recover images from a memory card</li>
<li>Recover data from flash/USB drives</li>
<li>Recover data from laptop, external, and SCSI/IDE drives</li>
<li>Unformat non-system drives and partitions</li>
</ul>
<p>I actually ReclaiME on one of my sister&#8217;s old camera memory cards, and it definitely doesn&#8217;t fall short of its claims.   It recovered over 40 images from the almost-empty card, most of which were intact, though a few were corrupted from the camera overwriting them.</p>
<p>While the software is excellent and works just like it promises, the only downside is that the price is a bit steep for the average user.  I&#8217;d imagine that software like this would be more tangible for service providers, businesses, or people that consider their data valuable enough to justify spending a pretty penny on <a href="http://www.reclaime.com/" target="_blank">data recovery</a> software.  The price isn&#8217;t outrageous or anything, it&#8217;s just more than I&#8217;d pay for Windows-based recovery software (I prefer to use Linux), when there are other free/open-source alternatives out there:</p>
<p><a href="http://lifehacker.com/5237503/five-best-free-data-recovery-tools" target="_blank">http://lifehacker.com/5237503/five-best-free-data-recovery-tools</a></p>
<p><map name='google_ad_map_374_7fa65e237551a74a'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/374?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_374_7fa65e237551a74a' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=374&amp;url= http%3A%2F%2Fwww.v-nessa.net%2F2010%2F08%2F05%2Freview-of-reclaime-data-recovery-software' /></p><img src="http://www.v-nessa.net/?ak_action=api_record_view&id=374&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.v-nessa.net/2010/08/05/review-of-reclaime-data-recovery-software/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

