<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>E-com DevBlog</title>
	
	<link>http://dev.tonic1394.com</link>
	<description>Spider-ball-vacuum</description>
	<lastBuildDate>Wed, 01 Feb 2012 14:42:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/E-comDevblog" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="e-comdevblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>LESS is more</title>
		<link>http://dev.tonic1394.com/2012/02/less-is-more/</link>
		<comments>http://dev.tonic1394.com/2012/02/less-is-more/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 14:42:58 +0000</pubDate>
		<dc:creator>Phil</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://dev.tonic1394.com/?p=650</guid>
		<description><![CDATA[I've seen it, I've ignored it, and now it's time to embrace and post about it.  If you haven't already given it the time of day, it's time to crawl out from under the rock and start learning LESS. LESS bills itself as "The Dynamic Stylesheet language", and even for a self-billing, it is dead-on. [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_651" class="wp-caption aligncenter" style="width: 209px"><a href="http://dev.tonic1394.com/wp-content/uploads/2012/02/less_logo.png"><img class="size-full wp-image-651" title="The official LESS logo" src="http://dev.tonic1394.com/wp-content/uploads/2012/02/less_logo.png" alt="LESS logo" width="199" height="81" /></a><p class="wp-caption-text">LESS - The dynamic Stylesheet lanugage</p></div>
<p>I've seen it, I've ignored it, and now it's time to embrace and post about it.  If you haven't already given it the time of day, it's time to crawl out from under the rock and start learning LESS.</p>
<p>LESS bills itself as "The Dynamic Stylesheet language", and even for a self-billing, it is dead-on.  LESS allows the use of variables, mixins, a nested rule system, and the use of functions within your CSS.  All of this is processed through some black JavaScript magic, so you don't need to worry about possible performance kills in your vanilla stylesheet.</p>
<p>LESS isn't just for client-side operations either, it can be integrated with both <a title="All hail Node! die ruby die..." href="http://nodejs.org/" target="_blank">Node.js</a> and <a title="Rhino, Mozillia, Server-side, upward-revenue streams, cohesion, upper-middle... wait this is totally going to look like seo cramming, and I'm really just making a 30 Rock reference joke." href="http://www.mozilla.org/rhino/" target="_blank">Rhino</a>.</p>
<p>Who is using LESS? Fair enough question, many sites are using LESS right now but perhaps you should check out <a title="The twitter bootstrap deserves a post for itself, so perhaps I'll make one soon..." href="http://twitter.github.com/bootstrap/" target="_blank">the Twitter Bootstrap</a> that is built using LESS.</p>
<p>I could give you quite a few examples here to really get you salivating, but I find that when someone has already done the work, I may as well have you go there. So to get your hands dirty and start using LESS, just hit up <a title="Visit the site and become of master of LESS! LESSen your CSS load! Other hilarious jokes using the word LESS!" href="http://lesscss.org/" target="_blank">the official site</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.tonic1394.com/2012/02/less-is-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Year, New Post</title>
		<link>http://dev.tonic1394.com/2012/01/new-year-new-post/</link>
		<comments>http://dev.tonic1394.com/2012/01/new-year-new-post/#comments</comments>
		<pubDate>Fri, 13 Jan 2012 04:52:42 +0000</pubDate>
		<dc:creator>Phil</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dev.tonic1394.com/?p=645</guid>
		<description><![CDATA[I'd like to say that I have an excuse for not posting in months, and I do . Unfortunately, I can't announce it for another two months, but it's fairly huge, and something that anyone in mobile development will be more than excited for. Now that you are excited and can't wait for me to [...]]]></description>
			<content:encoded><![CDATA[<p>I'd like to say that I have an excuse for not posting in months, and I do <img src='http://dev.tonic1394.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Unfortunately, I can't announce it for another two months, but it's fairly huge, and something that anyone in mobile development will be more than excited for.<br />
Now that you are excited and can't wait for me to spill the beans, I will distract you with links to some incredibly cool things that you should know about a la LinkPost style (yeah, I'm a little cruel sometimes).</p>
<p>Google I/O 2012 is in JUNE and it's THREE DAYS! June 27-29th 2012 - Check <a title="I will everything in my power to attend this year... everything." href="http://googlecode.blogspot.com/2011/10/save-date-for-google-io-2012.html" target="_blank">the official blog post</a> for details.</p>
<p>Using CSS3 to animate web banners (annoying yes, but the geek factor is off the grid!... yeah, bad and wicked late tron joke) - Check out <a title="CSS3 is sooo freaking hot! I loves it!" href="http://tympanus.net/codrops/2012/01/10/animated-web-banners-with-css3/" target="_blank">this page</a> and learn about it.</p>
<p><a title="Antidote is my new favorite song, but that's not on the EP, also the remix of &quot;Save the world&quot; is amazing." href="http://www.knifeparty.com/" target="_blank">Knifeparty</a> is ridiculously awesome if you likes the dub(ub-wub-wuuuuub-wub-ub-ubuwub)step! They released a free EP called 100% No Modern Talking which can be yours by visiting their website and giving them an email to spam (that requires no validation...).  There is some language on "Internet Friends", but to each their own.  In case you wondered, Knifeparty is two members of the freakishly awesome band pendulum, so you know they are good.</p>
<p><a title="Amazazing... Talent, Raw floppy talent... wait that came out wrong." href="http://www.youtube.com/watch?feature=player_embedded&amp;v=1plg_yYsCQM#!" target="_blank">Derezzed on floppy drives</a>... Man why did we kill these things? analog tech has such a good sound!</p>
<p>A <a title="WRD is a great site, check out his twitter, the man is a web saint" href="http://www.webresourcesdepot.com/css3-powered-presentation-framework-impress-js/" target="_blank">post from WebResourcesDepot</a> on the CSS3 presentation machine named impress.js, I love the trade-shows lately that give their presentations inside of a browser.  Just makes powerpoint look as dated as it is.  Amazing work, check it out.</p>
<p>Now that I work on a mac I have learned that life without XAMPP sucks.  MAMP is workable, but I have an aversion to forking out money to access the apache server that is built into OSX.  Luckily there is a much cooler alternative that isn't nagware and that will help you auto-install tons of webapps (including joomla and wordpress).  <a title="AMPPS does for mac what used to require excessive amounts of cursing and screwing things up..." href="http://www.ampps.com/" target="_blank">Check out AMPPS</a>, easy, free, and works on linux, mac, and windows. <strong>Good News! @blender has pointed out in the comments that XAMPP is totally mac ready and available, <a title="BOOM! Headshot!" href="http://www.apachefriends.org/en/xampp-macosx.html">check it out</a> and live life happy again!</strong></p>
<p>I hate to glom onto other talent, but another post from webresourcesdepot is right up there on the awesome charts.  Everything you need for node.js (my new favorite scripty server language).  Go to <a title="Didn't I already tell you that it was a great site? Leave my site open, but dang it go to his and get educated already!" href="http://www.webresourcesdepot.com/the-awesome-node-js-and-its-gang/" target="_blank">his node.js post</a>, revel in his links, built something useless, then something cool, and then something useful <img src='http://dev.tonic1394.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>That's all for now, but there are plenty more.  Over at CSS-Tricks Chris has started a new podcast called ShopTalk, and they have already interviewed the Johnathon Snook (if you don't know of Mr. Snooks work, you need to leave right now and Google it.  I don't even mind, I give you my permission, go, go now and do it!).  Head <a title="Chris I know you can read this.... and that freaks me out a little... well I mean.. no, yeah it does. a little" href="http://shoptalkshow.com/episodes/001-first-episode-w-jonathan-snook/" target="_blank">over to the podcast</a> and listen to it, remember they take questions and answer them so if you are stumped, give it a go and see if your question can get solved by some truly great minds on the web.</p>
<p>Lastly, HAPPY BIRTHDAY/ANNIVERSARY E-COM DEVBLOG!  That's right, this makes year number 4 of me and my crew wrecking the internet and putting it back together the way it was meant to be with tips, links, tutorials, and the occasional waste of time.  It's been a great four years and I hope that we can keep the magic going for another four.  Hang out because I have a feeling that this year is going to be one of the best years the internet has ever seen.  And don't worry about that Mayan 2012 thing, I heard it straight from the aliens that abducted Elvis to make him their ruler, it's a total hoax <img src='http://dev.tonic1394.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://dev.tonic1394.com/2012/01/new-year-new-post/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Awesome IE Tool</title>
		<link>http://dev.tonic1394.com/2011/09/awesome-ie-tool/</link>
		<comments>http://dev.tonic1394.com/2011/09/awesome-ie-tool/#comments</comments>
		<pubDate>Mon, 12 Sep 2011 18:04:10 +0000</pubDate>
		<dc:creator>Stretch</dc:creator>
				<category><![CDATA[ie]]></category>
		<category><![CDATA[PC]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Internet Explorer]]></category>

		<guid isPermaLink="false">http://dev.tonic1394.com/?p=634</guid>
		<description><![CDATA[I had to get another post in before the 6 month mark. And it just so happens I ran into this awesome tool that is quite handy in terms of testing code in multiple versions of Internet Explorer. In the past I've always used the IEDeveloper toolbar (or Spoons browser sandbox before M$ got all [...]]]></description>
			<content:encoded><![CDATA[<p>I had to get another post in before the 6 month mark. And it just so happens I ran into this awesome tool that is quite handy in terms of testing code in multiple versions of Internet Explorer. In the past I've always used the IEDeveloper toolbar (or <a href="http://spoon.net/browsers/" title="browser sandbox" target="_blank">Spoons browser sandbox</a> before M$ got all copyrighty on them and made them remove it) and it's fairly adequate in allowing me to test the various versions of IE. However there have been times It's missed the mark or in one case wouldn't work at all with the portal I was trying to log into (IE6) So when I ran into this little beauty I was instantly captivated (as captivated as one can be when doing anything that has anything to do with IE). Behold the <a href="http://fileforum.betanews.com/detail/Internet-Explorer-Collection/1217189605/1" title="Internet Explorer Collection" target="_blank">Internet Explorer Collection</a>.<br />
Maybe I'm just behind the times but this is amazing. Multiple standalone installs of different versions of IE. You can even install really really old versions like 1.x (I didn't but you can). I installed IE6, IE7 and IE8, I don't run windows 7 either at home or work so I can't install IE9.<br />
To be fair I'm still in the test drive phase and haven't removed my IETester install yet but so far it's looking good. The only complaint I have is IE Developer Toolbar is only available in IE8, and while Developer Toolbar is not exactly firebug (but, it has gotten better with IE8) it's about all you have when troubleshooting an IE specific issue.<br />
Before downloading read the comments on the download site. I mention it because they seem to be about 50/50 good vs bad. The software works for me so far on Windows XP Pro SP3, if anything changes I'll update this post.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.tonic1394.com/2011/09/awesome-ie-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A few grid systems to keep an eye on</title>
		<link>http://dev.tonic1394.com/2011/08/a-few-grid-systems-to-keep-an-eye-on/</link>
		<comments>http://dev.tonic1394.com/2011/08/a-few-grid-systems-to-keep-an-eye-on/#comments</comments>
		<pubDate>Tue, 30 Aug 2011 15:42:58 +0000</pubDate>
		<dc:creator>Phil</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://dev.tonic1394.com/?p=621</guid>
		<description><![CDATA[A few of the css grid system contenders with a brief summary of each.]]></description>
			<content:encoded><![CDATA[<p>I've been attempting to look into the future and what I've found is that you can either code static and pray that your code fits the spec of your end-user, or you can attempt to throw media-queries at everything and hope you had enough to make the design stick.</p>
<p>So where does that leave grids? Grids let us throw a design up and make it look pretty and proportioned. That isn't to say that your design will still look fantastic on someone's imported-Nokia as it did on your cinema display when you pounded the design out, but using a good grid system can help ease the pain of making things a little more responsive and a lot less "borked".</p>
<p>Here are three grid systems worth taking a look at:</p>
<ul>
<li><a title="Simple Grid, easy, simple, clean" href="http://simplegrid.info/" target="_blank">Simple Grid</a> - Simple grid takes after it's namesake, it is a system focused on simplicity and keeping everything elegantly small. While I haven't created a project with this yet, I'm feeling like my weekend is going to be spent playing with this.</li>
<li><a title="Get your mathematics on and make some responsive sites!" href="http://goldengridsystem.com/" target="_blank">Golden Grid</a> - Ever heard of the <a title="Wikipedia to the rescue!" href="http://en.wikipedia.org/wiki/Golden_ratio" target="_blank">Golden Ratio</a>? This grid system is based on that principle and claims to handle almost any screen (from 240px to 2560px wide).</li>
<li><a title="1140 Grid System for the win! or something similar" href="http://cssgrid.net/" target="_blank">1140px CSS Grid System</a> (1140gs) - The ever popular 1140px grid system. Since 1140px is the new hotness for design, we are finally starting to break the shackles of 1024x768 users. However that isn't entirely true, we still have to plan ahead for mobile devices. This is what makes 1140gs so brilliant. It handles the media-queries for you and can handle switching your design out for a much smaller screen. I've used this one on a few projects and while it does take a design shift the results have been worth it.</li>
</ul>
<p>No that's not anywhere near the entire list of grid systems, but they are the ones that I find to be the most exciting (this month). And I've even used the 1140gs on a few projects (that were met with success). This list should at least get you started. If you do anything cool with any of these (or even some other grid system), drop a link in the comments so we can all see your handiwork.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.tonic1394.com/2011/08/a-few-grid-systems-to-keep-an-eye-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CronMaker, your cron problems are over</title>
		<link>http://dev.tonic1394.com/2011/06/cron-problems-are-over/</link>
		<comments>http://dev.tonic1394.com/2011/06/cron-problems-are-over/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 20:12:04 +0000</pubDate>
		<dc:creator>Doo</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[cron]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[quartz]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://dev.tonic1394.com/?p=618</guid>
		<description><![CDATA[I found a new tool and I am on blog posting kick so I thought I would share with everyone.  The tool is http://www.cronmaker.com/ and it helps with making cron expressions for use with quartz scheduling.  Now don't get me wrong the quartz is well documented and it is easy to build the expressions, but I [...]]]></description>
			<content:encoded><![CDATA[<p>I found a new tool and I am on blog posting kick so I thought I would share with everyone.  The tool is <a title="CronMaker" href="http://www.cronmaker.com/" target="_blank">http://www.cronmaker.com/</a> and it helps with making cron expressions for use with quartz scheduling.  Now don't get me wrong the quartz is well documented and it is easy to build the expressions, but I always have to go look it up anyway.  This saves me a step.  Put in when you want it to run and bam! there is your expression. Don't forget to hit with your spice weasel.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.tonic1394.com/2011/06/cron-problems-are-over/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Initializr a quick Html 5 site template</title>
		<link>http://dev.tonic1394.com/2011/06/initializr-a-quick-html-5-site-template/</link>
		<comments>http://dev.tonic1394.com/2011/06/initializr-a-quick-html-5-site-template/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 18:08:31 +0000</pubDate>
		<dc:creator>Doo</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Initializr]]></category>

		<guid isPermaLink="false">http://dev.tonic1394.com/?p=612</guid>
		<description><![CDATA[I was playing with eclipse orion today and it suggested using Initializr to start a page. Although I still don't have orion working I want to comment on Initializer. It's awesome. It's easy. It's great if you just want something fast. Check it out. http://initializr.com/]]></description>
			<content:encoded><![CDATA[<p>I was playing with eclipse orion today and it suggested using Initializr to start a page.  Although I still don't have orion working I want to comment on Initializer.<br />
It's awesome.  It's easy.  It's great if you just want something fast.  Check it out. <a title="http://initializr.com/" href="http://initializr.com/">http://initializr.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dev.tonic1394.com/2011/06/initializr-a-quick-html-5-site-template/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google I/O 2011</title>
		<link>http://dev.tonic1394.com/2011/05/google-io-2011/</link>
		<comments>http://dev.tonic1394.com/2011/05/google-io-2011/#comments</comments>
		<pubDate>Thu, 05 May 2011 12:29:21 +0000</pubDate>
		<dc:creator>Phil</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://dev.tonic1394.com/?p=605</guid>
		<description><![CDATA[This post is mostly an announcement, but I thought I'd take a minute and share with everyone that Google is doing something great this year. Rather just have a few sessions recorded and a few slides to share a week or two after the Google I/O show this year, they will be offering some of [...]]]></description>
			<content:encoded><![CDATA[<p>This post is mostly an announcement, but I thought I'd take a minute and share with everyone that Google is doing something great this year. Rather just have a few sessions recorded and a few slides to share a week or two after the <a title="The show, the event, the legacy, the dream" href="http://www.google.com/io" target="_blank">Google I/O</a> show this year, they will be offering some of the sessions live. Click the badge below to learn more, and on May 10th and 11th use it to watch the show!</p>
<p><script src="http://www.google.com/events/io/2011/static/js/iobadge.js" type="text/javascript"></script></p>
<p>This means you get to watch the show even if you were not able to come to the event. To see what sessions will streamed live<a title="knowledge and awesomeness for everyone! " href="http://www.google.com/events/io/2011/sessions.html" target="_blank"> check out the session schedule</a> and look for the LIVESTREAMED text and video icon. Some entertainment will also be streamed (Jane's Addiction performance anyone?)</p>
<p>If  you are going to the show and want to meet up, feel free to find me <img src='http://dev.tonic1394.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . During lunch there is a high probability that I will be in the <a title="Come and see NordicTrack using iFit Live powered by Google Maps" href="http://www.google.com/events/io/2011/sandbox.html" target="_blank">developers sandbox</a> at the iFit Live booth.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.tonic1394.com/2011/05/google-io-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video Playback on Motorola Xoom</title>
		<link>http://dev.tonic1394.com/2011/04/video-playback-on-motorola-xoom/</link>
		<comments>http://dev.tonic1394.com/2011/04/video-playback-on-motorola-xoom/#comments</comments>
		<pubDate>Thu, 07 Apr 2011 04:32:25 +0000</pubDate>
		<dc:creator>Phil</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Training Sessions]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://dev.tonic1394.com/?p=598</guid>
		<description><![CDATA[Video encoding settings for Motorola XOOM.]]></description>
			<content:encoded><![CDATA[<p>I've had a Motorola Xoom for about a month now, and I have to tell you I love it... for the most part. There is one major flaw with it, the video playback is a travesty. Normally when you grab an android device you figure that you can throw anything you want at it and it will playback (it did on my HTC Hero, and it does on my Samsung Epic).</p>
<p>(continue reading after the break)</p>
<p><span id="more-598"></span></p>
<p>Let me share with you why I thought video playback would be easy and incredible.</p>
<ul>
<li>Xoom resolution is 1280x800 on a 10.1" screen</li>
<li>NVIDIA Tegra2 1.0GHz Dual-Core (created by the same  NVIDIA that created CUDA...)</li>
<li>It runs Android (<a title="The power list of why Android doesn't just have the potential, but is the potential." href="http://developer.android.com/guide/appendix/media-formats.html" target="_blank">see media specs</a> for android media playback, giant hint for the solution on this page; <em>look at the details section for H.264 playback</em>)</li>
<li>1080p HDMI out playback touted proudly on the internet and through sales clerks</li>
<li>720p playback support on the device screen</li>
<li>Honeycomb, 3.0 baby, the show, the big win, other catch-phrases</li>
</ul>
<p>Given the specs (especially taking the 720p device playback and the 1080p HDMI out into consideration) I would have pegged the device as a High Profile, 5.0, 5+ B-Frame, with psycho-visual enhanced, 3k-5kbps video-encoded dolby 5.1 384 kbps ACC HCv2 (yes, overkill) loving machine of pure self indulgence and immaculate beauty. Sadly, it is not.  The solution is actually the one that would keep most video encoders locked in their room scratching their heads attempting to figure out why tweaking b-frames, bitrates, and AAC vs MP3 audio encoding had zero effect on the latency, lag, and stutter that makes playback so insufferable on the Xoom - well unless they checked that giant hint I mentioned above.</p>
<h3>Keep it (ridiculously) Simple Stupid</h3>
<p>No, I'm not trying to be clever, I'm serious about this. Pretend that marked-up little jewel is little more than a motorola razr (ok, that may be a little much, as the razr only plays back 3gpp... but I digress). The secret to encoding for the Xoom is this; Baseline Profile 1.3, 20RF, 160kbps AAC-LC.  I'll say it again, Baseline 1.3 (think video iPod), 20RF (this one varies, but RF 20 in Handbrake is a pretty good spot), 160kbps (or less if you don't mind losing a little fidelity, you can go as low as 48 if you don't mind some ear-numbing blur, or are not an audiophile) AAC-LC (you can try the HC, but LC will probably work better, I mean I didn't test it, but you should do that later and let me know in the comments so I can strike the previous sentence <img src='http://dev.tonic1394.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ).</p>
<h3>How do I get video from "x" encoded?</h3>
<p>Yeah, that's a little tricky, luckily I'm going to provide you a method of getting video goodness on your Xoom, to be fair I'm going to warn you that you may need some knowledge of DVD/Blu-Ray rippery which will not be provided here. For those of you with video content that you need transcoded, if the masses cry out for help I'll post a guide on transcoding. But for the most part, this guide is still applicable to non-rippers as Handbrake will process other files and transcode them for you, in fact one of my test files was a mov file, so following this guide will probably work for you.</p>
<p><em>For those of you who wish to take the easiest of all routes, do yourself a favor and spend $10-20 on "DVD Catalyst", they have Xoom presets that does a fantastic job of kicking out your media in a very watchable fashion. You may still need a deCSS program, but even so DVD Catalyst is easy to use and was recommended on <a title="LifeHacker, I miss Gina, but at least Kevin is still rocking the kasbah" href="http://lifehacker.com/#!398954/dvd-catalyst-rips-dvds-to-friendly-formats-in-one-click" target="_blank">LifeHacker</a> (note that you will probably need the paid version, not the free one).</em></p>
<h3>DVD/BR-Disc to Xoom</h3>
<p>Step 1 - Rip your DVD/Blu-Ray</p>
<p><strong>Windows users</strong>, you will need a ripping program and a deCSS program, since both of those exist legally, I welcome you to acquire one. No, I will not give you one (it's against the law here and mixing it up with DMCA just isn't my cup of tea). I will tell you that you can get a "legal" deCSS utility from slysoft called "AnyDVD" and "AnyDVD HD". These apps are subscription based (yearly) and will allow you to deCSS your movies. You can also try DVD43, but that hasn't worked for me in quite a few years.</p>
<p><strong>Mac users</strong>, you will need handbrake and VLC installed. If that doesn't work, try a program like mactheripper (which doesn't seem to be working for me as of late - the free version that is) or do a little googling and find the new hotness for ripping DVDs. Again I'm not posting links to these, and I'm only mentioning them by name as they are fairly well known already and they show up pretty quick in the right search on "binglehoo".</p>
<p>You can rip your movie to the file system as folders and vob files, or you can rip to ISO (which is my preferred method), but whatever floats-your-boat is what will work here. Once you have the DVD ripped to your hard drive we can move on. Please note that DVD rips will work, but they will look a little "<em>soft</em>" when played back on the Xoom, this is due to the pixel stretching, since your DVD will come off at best 480p and your screen wants to playback at 720p.  I don't believe this isn't a real problem though, just hold it a little further from your face, or buy a cradle/dock/case-stand and you are set. Blu-ray rips look amazing though, seriously, they look very nice. Kind of like the difference between viewing a video on  a superAMOLED screen and a 3rd gen iPod*.</p>
<p><em>*I'm qualified to say that - <strong>as my opinion</strong> -  since I have both a 3rd gen iPod and a Samsung Epic, and yeah, the difference is night and day crazy. Video used in comparison was a 480x320 800kbps episode of 30 Rock.</em></p>
<p>Step 2 - Open <a title="Windows, Mac, Linux... Yeah we do that." href="http://handbrake.fr/" target="_blank">Handbrake</a> and let's get the encoding party started</p>
<p>Ah handbrake, soother of mp4-related aches and pains. Encoder of happiness, weapon of choice when dealing with quick batch fire-and-forget encoding sessions. Oh and did I mention free for Linux, Windows, and Mac?</p>
<p>Now for those of you that know how to edit your "user_preset.xml" file you are in luck, I happen to have a Xoom preset pre-built and ready for use (lucky you!), for those of you that don't know how to do that (it can be a little tricky), I'm going to put a little screen shot in here of the preset so you can follow along.</p>
<p>XML preset file can be <a title="My presets for Handbrake version 0.9.5" href="http://dev.tonic1394.com/files/xoom/user_presets.zip" target="_blank">found here</a>, just unzip the file and either replace your current xml file, or open yours and mine and add my preset to your preset node (clear as mud?). To find where your presets are kept, please visit the <a title="Handbrake is great, they even use Trac, so you know it's good." href="https://trac.handbrake.fr/wiki/Presets" target="_blank">official Handbrake support page</a> (it's in a different location depending on your OS)</p>
<p>For those of you that need a little visual aid and a walk through of the settings tabs, I have you covered:</p>
<div class="wp-caption alignnone" style="width: 621px"><a href="http://dev.tonic1394.com/files/xoom/handbrake_xoom.jpg" target="_blank"><img class=" " title="Screen shot taken on Handbrake 0.9.5 running on Windows 7" src="http://dev.tonic1394.com/files/xoom/handbrake_xoom.jpg" alt="Screenshot of settings needed in Handbrake to achieve video bliss on the Xoom" width="611" height="373" /></a><p class="wp-caption-text">Handbrake 0.9.5 on Windows 7</p></div>
<p>For the "Source" I picked a 1080p .mov movie trailer I happened to have lying around, ignore my naming, this screenshot was taken during testing, but after I had finalized what quality settings I recommend (the test with that naming scheme was an epic fail btw).</p>
<p>If you ripped a DVD to ISO, click on Source -&gt; Video File -&gt; <em>movie-you-ripped</em>.iso (yes, doing that works). If you ripped the folders, go find your rip folder and pick the video folder containing the vob files. If you don't see your show (look at the "Title" to check for length) then pick another file or try individual vob files. Next choose your" Destination" to save your file and then step through the tabs at the bottom to set your file up.</p>
<p><strong>Picture tab</strong> - pretty simple, if it's a DVD, leave it alone, if it is a 1080p rip, set it to <em>720p</em> (read that as 1280 x whatever-anamorphic-loose-gives-you). Yes I know Anamorphic settings will vary, but this is a quick guide not an in-depth guide into the rational of being &gt;-.5% off on screen ratio.</p>
<p><strong>Video Filters tab</strong> - remember the K.I.S.S.? yeah, leave it alone you don't need'em or want'em.</p>
<p><strong>Video tab</strong> - You can play a bit on this tab, keep <em>Video Codec</em> at H.264, and feel free to adjust your <em>Framerate</em> (I keep mine at source, but sometimes I'm lazy like that), <em>Quality</em> is where you can go nuts, if you want a <em>Target Size</em>, this is the place.  If you want an <em>Avg Bitrate</em> I'm going to suggest 2000kbps for 720p and around 1000kbps for 480p video. However, <strong>my suggestion</strong> is to go with the <em>Constant Quality </em>at RF:20 setting.</p>
<p><strong>Audio tab</strong> - Pretty straight forward, either leave it alone, or tweak the kbps of your audio, it should default at 160kbps AAC, but you can lower it or increase it if you want too. This can put a serious dent in file size if you are cramming it in. Also if you are going to play it back on the tinny-poorly-designed-why-on-this-great-green-and-blue-globe-we-live-on-did-they-put-the-speakers-on-the-back Xoom, then you can drop it to48-64kbps without missing hardly anything. Now if you are going to crack out your <a title="Yeah, I linked to them for cred, I'm sneaky like that. By the way, do any of you guys read these title tags?" href="http://www.etymotic.com/" target="_blank">etymotic's</a> and listen to this, then yeah, you'll wanna leave that at least 160.</p>
<p><strong>Subtitles tab</strong> - I don't sub, so I can't give you guidance on this one.</p>
<p><strong>Chapters tab</strong> - I always rip the whole show and nothing but the show, but if you aren't like me, feel free to make adjustments as needed.</p>
<p><strong>Advanced tab </strong>- Finally the tab worth taking a screenshot of, follow the picture above. Ref frames at 3, NO B-Frames, NO CABAC, NO 8x8 Transform, NO Weighted P-Frames, and NO deblocking. You can play with the Trellis setting. I left if off for some encodes, then at Default for others. It seemed to help on some mostly black to bright (say... TRON?) videos. As you can see from the settings I wasn't kidding when I said the Xoom acts like an old school video playback device. It seems that it just takes too much power to decode mp4 files with all the bells and whistles turned on.</p>
<p>When you are all set with your settings just click the green "Start" button and away Handbrake goes leaving you to wait in anticipation (you may do some batch encoding if you'd like, just use the "Add to Queue" button. If you're new at this, you probably aren't going to want to batch encode yet).</p>
<p>After that you just need to get the file on your Xoom, for Windows XP, just plug it in and use windows explorer to dump it on the drive, for Windows 7 users, you can attempt to "sync" it through media player, but I find that just using windows explorer is much easier (but then again I've always found using the file system to move files and off much easier than GUI-driven programs).</p>
<h3>Questions, Comments, Feedback, and Fixes</h3>
<p>That should just about cover it, as always I welcome your comments, questions, feedback, and fixes. If anyone wants a screencast, let me know and I'll try to carve some time out and get one posted.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.tonic1394.com/2011/04/video-playback-on-motorola-xoom/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>A Few Tips on Avoiding Online Scams</title>
		<link>http://dev.tonic1394.com/2011/03/a-few-tips-on-avoiding-online-scams/</link>
		<comments>http://dev.tonic1394.com/2011/03/a-few-tips-on-avoiding-online-scams/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 03:14:00 +0000</pubDate>
		<dc:creator>Stretch</dc:creator>
				<category><![CDATA[Off-Topic]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Online Scams]]></category>
		<category><![CDATA[Phishing]]></category>

		<guid isPermaLink="false">http://dev.tonic1394.com/?p=594</guid>
		<description><![CDATA[This may be a little out of the norm for the dev blog but I think it's worth mentioning. I got a call from a cousin of mine today asking me about a work from home website she was considering. She wanted me to look into it for her, so she emailed me the link. [...]]]></description>
			<content:encoded><![CDATA[<p>This may be a little out of the norm for the dev blog but I think it's worth mentioning.</p>
<p>I got a call from a cousin of mine today asking me about a work from home website she was considering. She wanted me to look into it for her, so she emailed me the link. When I clicked on the link my browser couldn't find the url. I tried again, nothing. Again only this time I removed all query strings and went to just the home link of the url...still nothing. So I waited an hour or so, only to come back and get nothing. The following is my email response to my cousin.</p>
<blockquote><p>
I still can't get a page to load from this link, and googles link doesn't work either. That makes me a little nervous about this one, it's not uncommon to have a website up to take credit card transactions and then down a day or two later like it never existed. Only instead of $98 they got away with your credit card info. A few things to look for when paying online:</p>
<p>1) is the site secure? you can tell this by looking for an https in the address bar of the browser (i.e. https://www.site.com) the 's' is the important part, it literally means secure. But just because the 's' is there doesn't mean it's really secure. look for a padlock type image in the bottom right corner of your browser or sometimes it appears in the url bar as well (I think Internet Explorer puts it in the bottom right corner but I could be wrong) if the lock is unlocked or broken your connection is not secure. DO NOT process an account transaction over an unsecured line even if you trust the company. The reason is your information is sent over the internet in plain text and vulnerable to any sniffer out there. A secure line will encrypt your data and decrypt it when it arrives at it's destination.</p>
<p>2) Only shop at well known trusted sites. if you are not familiar with a particular site it's a good idea to Google it, check <a href="http://www.bbb.com">bbb.com</a> for info on them and if your gut tells you "bad idea" follow it.</p>
<p>3) Never respond to Phishing emails, these are emails designed to get you to give up personal information. An example is something from a bank maybe you have an account and maybe you don't but they'll ask you to verify your account number via email. NEVER communicate with any financial institution through email if you are sending sensitive data. If you get this type of email from an institution you have a relationship with, call them first using a number from their website (Google it) or on your checkbook or credit card.</p>
<p>When it comes to work at home jobs I'm not really an expert but I do know there are a lot of scams out there. Some are just after $100 a person and there are a lot of people who will risk that, but more than likely if this site isn't up again by tomorrow (and my bet is it won't be) they were trying to harvest credit card numbers. Generally speaking, if it's something as easy as copy and paste links, or stuffing envelopes, or comes with a guarantee or promises instant wealth it's a scam. A monkey can be taught to copy and paste, and nobody can guarantee a job, even the top colleges don't claim that.</p>
<p>As far as certifications go, there are a lot out there, the best approach would be to do some research on the certification, is it legitimate? Is there a market for it? Most Certifications are printed on an 8x11 piece of card-stock paper, anyone can fake one on almost any printer, they might even have you print it yourself (which tells me they don't take their own certification seriously).
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://dev.tonic1394.com/2011/03/a-few-tips-on-avoiding-online-scams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Handy PHP Debugging Tools</title>
		<link>http://dev.tonic1394.com/2011/03/handy-php-debugging-tools/</link>
		<comments>http://dev.tonic1394.com/2011/03/handy-php-debugging-tools/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 21:06:31 +0000</pubDate>
		<dc:creator>Stretch</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[debug]]></category>

		<guid isPermaLink="false">http://dev.tonic1394.com/?p=583</guid>
		<description><![CDATA[I'm sure most folks who read this blog are already set in their ways of debugging things. And many probably already have a few custom built methods they use to look at raw data on the fly. However for those few who might be in need or are possibly looking for another approach this post [...]]]></description>
			<content:encoded><![CDATA[<p>I'm sure most folks who read this blog are already set in their ways of debugging things. And many probably already have a few custom built methods they use to look at raw data on the fly. However for those few who might be in need or are possibly looking for another approach this post is for you <img src='http://dev.tonic1394.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p>I used to rely solely on a step through debugger to help me debug code, and don't get me wrong stepping through code is a great way to see what the heck is going on (especially in code you are unfamiliar with and was written by monkeys), however for the last year or so I've been learning new techniques and tricks for getting my raw data visible without having to step through the code.</p>
<p>My all time favorite method is</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p583code4'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5834"><td class="code" id="p583code4"><pre class="php" style="font-family:monospace;"><span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;&lt;pre&gt;&quot;</span><span style="color: #339933;">.</span><a href="http://www.php.net/print_r"><span style="color: #990000;">print_r</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;&lt;pre&gt;&quot;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>but there are times that is not good enough. like when you are trying to see data run in shell_exec() or when the page changes before you can see the echo. So to combat this I've written a method that drills through an array or an object and spits the data out in a file in a format similar to the aforementioned. I call it pre()</p>
<p>observe</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p583code5'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5835"><td class="code" id="p583code5"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> pre<span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #339933;">,</span> <span style="color: #000088;">$mode</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'w'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$indent</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><a href="http://www.php.net/is_array"><span style="color: #990000;">is_array</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <a href="http://www.php.net/is_object"><span style="color: #990000;">is_object</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$filename</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'C:\logs\dnate_pre.log'</span><span style="color: #339933;">;</span>
		<span style="color: #000088;">$handle</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/fopen"><span style="color: #990000;">fopen</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$filename</span><span style="color: #339933;">,</span> <span style="color: #000088;">$mode</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.php.net/fwrite"><span style="color: #990000;">fwrite</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$handle</span><span style="color: #339933;">,</span> getArrayKeysAndValues<span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #339933;">,</span> <span style="color: #000088;">$indent</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<a href="http://www.php.net/fclose"><span style="color: #990000;">fclose</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$handle</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
		writeToFile<span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #339933;">,</span> <span style="color: #000088;">$indent</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>and if you're wondering what the getArrayKeysAndValues() method does, here it is.</p>

<div class="wp_codebox_msgheader"><span class="right"><sup><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/#examples" target="_blank" title="WP-CodeBox HowTo?"><span style="color: #99cc00">?</span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p583code6'); return false;">View Code</a> PHP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p5836"><td class="code" id="p583code6"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> getArrayKeysAndValues<span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #339933;">,</span> <span style="color: #000088;">$indent</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\t</span>&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$txt</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <a href="http://www.php.net/is_object"><span style="color: #990000;">is_object</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$array</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/get_object_vars"><span style="color: #990000;">get_object_vars</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><a href="http://www.php.net/is_array"><span style="color: #990000;">is_array</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$txt</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot; =&gt; Array (&quot;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$array</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$k</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$txt</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$indent</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>[&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$k</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;]&quot;</span><span style="color: #339933;">;</span>
			<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <a href="http://www.php.net/is_array"><span style="color: #990000;">is_array</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <a href="http://www.php.net/is_object"><span style="color: #990000;">is_object</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$v</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$txt</span> <span style="color: #339933;">.=</span> getArrayKeysAndValues<span style="color: #009900;">&#40;</span><span style="color: #000088;">$v</span><span style="color: #339933;">,</span> <span style="color: #000088;">$indent</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000088;">$txt</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot; =&gt; &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$v</span><span style="color: #339933;">;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span>
		<span style="color: #000088;">$txt</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$indent</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;)&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$txt</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Occasionally I've run into a limit of how many times getArrayKeysAndValues() can call itself (100) so in cases like that I've also got a method I call kill() that kills the script and spits the output out on the browser. Not very subtle but gets the job done.</p>
<p>Obviously you'll have to have the log files in the proper directory on your machine. Then just include the file and call the desired method.</p>
<p>The rest are in the download, feel free to offer suggestions or comments.</p>
<p><a href='http://dev.tonic1394.com/wp-content/uploads/2011/03/error1.zip'>Debug Tools</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dev.tonic1394.com/2011/03/handy-php-debugging-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 1.375 seconds -->

