<?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"
	>

<channel>
	<title>The Mozmonkey Blog</title>
	<atom:link href="http://blog.mozmonkey.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mozmonkey.com</link>
	<description>More fun with monkeys!</description>
	<pubDate>Fri, 09 May 2008 21:38:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<item>
		<title>Viewing localhost in VirtualBox on your Mac</title>
		<link>http://blog.mozmonkey.com/2008/localhost-lan-virtualbox-mac/</link>
		<comments>http://blog.mozmonkey.com/2008/localhost-lan-virtualbox-mac/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 07:04:44 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Funny]]></category>

		<category><![CDATA[Technical]]></category>

		<category><![CDATA[dyndns]]></category>

		<category><![CDATA[lan]]></category>

		<category><![CDATA[mac]]></category>

		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/?p=79</guid>
		<description><![CDATA[Last week I explained how to convert the IE6 - IE8 VirtualPC disk images to VirtualBox on the Mac.  This week I noticed something critically wrong, I can&#8217;t access localhost or any LAN IP address from inside VirtualBox.  This is a huge problem if you want to do local testing in IE.
The problem [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I <a href="http://blog.mozmonkey.com/2008/vpc-ie6-ie7-ie8-on-mac-os-x/">explained</a> how to convert the IE6 - IE8 VirtualPC disk images to VirtualBox on the Mac.  This week I noticed something critically wrong, I can&#8217;t access localhost or any LAN IP address from inside VirtualBox.  This is a huge problem if you want to do local testing in IE.</p>
<p>The problem is that Mac support is still rather early with VirtualBox and they only provide a NAT networking option.  I wont explain what NAT is because I don&#8217;t completely understand it myself.  If you&#8217;re on Linux or Windows you can simply use the bridged network and it&#8217;ll work fine.</p>
<p>As with any problem, there is a solution!  You could go buy VMWare Fusion, which should support this out of the box, but what&#8217;s the fun and challenge in that?  The fun and free solution is to use a service called <a href="https://www.dyndns.com/">DynDNS</a>.</p>
<h3>What is DynDNS</h3>
<p>If you&#8217;re like most people your ISP gives you a dynamic IP, which means that your home network doesn&#8217;t always have the same IP address and every so often your ISP will assign you a different one.  DynDNS will give you a free domain name that always points to your ever changing home network IP address.</p>
<p>This means that when you&#8217;re done you&#8217;ll load a URL like &#8220;http://&lt;you&gt;.dyndns.org/&#8221; instead of &#8220;localhost&#8221; inside VirtualBox.  This also assumes that you have some sort of web server running on your computer to serve up the pages.</p>
<h3>Step 1 - Web Server</h3>
<p>Setup a simple web server like <a href="http://httpd.apache.org/">Apache</a> or the free version of <a href="http://www.litespeedtech.com/products/webserver/download/">LightSpeed</a> (free version is at the bottom of the download page).</p>
<p>Make sure the server is installed and running properly before proceeding.</p>
<h3>Step 2 - DynDNS Account</h3>
<p>Go to <a href="https://www.dyndns.com">DynDNS</a>, register an account and create a new host.  The site has good help sections to assist you through any issues or questions you run into. (see the <a href="https://www.dyndns.com/services/dns/dyndns/howto.html">DynDNS How-To</a> section)</p>
<p>After creating the new host, download, install and run the <a href="https://www.dyndns.com/support/clients/">DNS update program</a>.  This will update the service with your new IP address every time it changes.</p>
<h3>Step 3 - Router</h3>
<p>If your network uses a router, you might need to update it&#8217;s settings to let the requests through to your computer inside the network.  At this point it is important to realize that your router has the &#8220;main&#8221; IP, which is provided by your ISP, and each computer inside your network will get their own &#8220;internal&#8221; IP address, provided by the router itself.</p>
<p>First test the new DynDNS URL you created.  When you load the URL in your browser does it show pages from your local web server or does the browser sit there and mock you as it endlessly spins the &#8220;loading&#8221; animation?</p>
<p>If your web server didn&#8217;t load anything, you might need to alter your firewall settings and/or setup port forwarding in your router.  Start by checking your router manual for information on how to login and change settings on it.  On my SMC wireless router after logging in I found the settings I needed under Advanced Setup > NAT > Virtual Server.  There I entered the last number from my &#8220;internal&#8221; IP address (IP on my computer) and the port that should direct to that computer.  So if my internal IP is 192.160.2.53 and my web server is setup to respond to port 80, I enter &#8220;53&#8243; and &#8220;80&#8243; into the fields.  </p>
<h3>Step 4 - Static Internal IP</h3>
<p>If you had to setup port forwarding in the last step, you should also create a static internal IP on your computer.  Otherwise next time you restart your computer it&#8217;s IP might be different and your URL wont work.  </p>
<p>This step is surprisingly simple:</p>
<ol>
<li>Open your network preferences</li>
<li>Go to the network you use (in my case &#8220;Airport&#8221;)</li>
<li>Click Advanced (or similar button &#8212; I&#8217;m using Mac Leopard)</li>
<li>Go to the &#8220;TCP/IP&#8221; area.</li>
<li>Change the dropdown menu from &#8220;Using DHCP&#8221; to &#8220;Using DHCP with manual address&#8221;</li>
<li>Enter the internal IP address you added to the port forwarding setting in your router.</li>
<li>Done</li>
</ol>
<h3>Troubleshooting</h3>
<p>If you have any problems with the setup, check out the <a href="https://www.dyndns.com/support/kb/why_cant_i_connect_to_my_server.html">troubleshooting</a> page at DynDns. </p>
<h3>Done</h3>
<p>Now you should be able to access your local computer from inside VirtualBox with your new URL.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2008/localhost-lan-virtualbox-mac/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Running IE6, IE7 and IE8 on your Mac</title>
		<link>http://blog.mozmonkey.com/2008/vpc-ie6-ie7-ie8-on-mac-os-x/</link>
		<comments>http://blog.mozmonkey.com/2008/vpc-ie6-ie7-ie8-on-mac-os-x/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 22:54:21 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[mac]]></category>

		<category><![CDATA[microsoft]]></category>

		<category><![CDATA[osx]]></category>

		<category><![CDATA[virtualbox]]></category>

		<category><![CDATA[virtualpc]]></category>

		<category><![CDATA[vmwarefusion]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/?p=76</guid>
		<description><![CDATA[I use a Mac, which means testing my work in IE6, IE7 and IE8 is a pain.  I have Parallels installed but I don&#8217;t want to buy extra copies of Windows just to test in IE.  Plus, Parallels doesn&#8217;t compress the virtual hard drive so each OS takes about 10 - 20GB of [...]]]></description>
			<content:encoded><![CDATA[<p>I use a Mac, which means testing my work in IE6, IE7 and IE8 is a pain.  I have Parallels installed but I don&#8217;t want to buy extra copies of Windows just to test in IE.  Plus, Parallels doesn&#8217;t compress the virtual hard drive so each OS takes about 10 - 20GB of space. </p>
<p>The good news is that Microsoft provides free VirtualPC disk images for each of their browsers:<br />
<a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B64-B5F1-73D0A413C8EF&#038;displaylang=en"><br />
http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B&#8230;</a></p>
<p>The bad news is that they wont run on Mac and VirtualPC wont run inside Parallels or VMWare Fusion &#8212; but I&#8217;ve found a solution!  We can <em>convert</em> the disk images to work for <a href="http://www.vmware.com/products/fusion/">VMWare Fusion</a> or <a href="http://www.virtualbox.org/">VirtualBox</a>.</p>
<h3>Setup</h3>
<p>First go and download the versions of IE you want to use:</p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B64-B5F1-73D0A413C8EF&#038;displaylang=en"><br />
http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B&#8230;</a></p>
<p>To do the conversion you&#8217;ll need a copy of the Qemu command line tool.  I couldn&#8217;t get it to work on Mac, so you&#8217;ll probably need to use it on a Linux or Windows machine. (you can do this through Parallels or VMWare Fusion too)  Download, extract and install Qemu tool on your computer.</p>
<h4>Linux</h4>
<p>WILL NOT work on windows because it was not compiled to support files over 2GB.<br />
<a href="http://fabrice.bellard.free.fr/qemu/">http://fabrice.bellard.free.fr/qemu/</a></p>
<h4>Windows</h4>
<p>Download &#8220;Qemu-0.9.1-windows.zip&#8221; from:<br />
<a href="http://lassauge.free.fr/qemu/">http://lassauge.free.fr/qemu/</a></p>
<h3>VMWare Fusion</h3>
<p>This is the easiest way to go, except it means you&#8217;ll need to buy a copy of VMWare Fusion &#8212; whereas VirtualBox is free.</p>
<p>The process will probably take less than an hour and require about 2Gb of space.  These instructions are tailored more towards Windows for the file conversion.  If you&#8217;re using Linux you&#8217;re probably smart enough to adapt these instructions to your system.</p>
<ol>
<li>Open a command prompt: Start &gt; Run and type &#8220;cmd&#8221;</li>
<li>Use &#8220;cd&#8221; to go to the directory you download and extracted Qemu.</li>
<li>Run:<br />
  <code>qemu-img.exe convert -f vpc "<strong>XP SP2 with IE7.vhd</strong>&#8221; -O vmdk  <strong>XPIE7.vmdk</strong></code></p>
<ul>
<li>&#8220;XP SP2 with IE7.vhd&#8221; is the path to the IE VPC file you downloaded</li>
<li>&#8220;XPIE7.vmdk&#8221; is the new file that VMWare Fusion will use.</li>
</ul>
</li>
<li>Wait&#8230;(will probably take 15 - 30 minutes)</li>
<li>Move the new &#8220;.vmdk&#8221; file to your mac.</li>
<li>Open VMWare Fusion and click File > New</li>
<li>Go through the wizard and when you get to the &#8220;Virtual Hard Disk&#8221; page, expand &#8220;Advanced disk options&#8221;, check &#8220;Use an existing virtual disk&#8221; and use the dropdown to find the new &#8220;.vmdk&#8221; file.</li>
<li>
   Finish the wizard and start it! (If prompted to upgrade the virtual harddrive, click &#8220;Yes&#8221;)
 </li>
<li>Be sure to install the VMWare tools (Virtual Machine &gt; Install VMWare Tools) as soon as Windows boots up.  If installing the tools gives you a weird error, read the next section.</li>
<li>You&#8217;re done!</li>
</ol>
<h4>Installing the VMWare Tools</h4>
<p>If the VMWare Tools wont install automatically follow these simple steps to install it manually:</p>
<ol>
<li>With VMWare Fusion running click Virtual Machine &gt; Install VMWare Tools
<li>Open your &#8220;My Computer&#8221; to see which drive letter the CDRom with the VMWare Tools has mounted to.</li>
<li>Open a command prompt: Start &gt; Run and type &#8220;cmd&#8221;</li>
<li>Type the following and press enter (change &#8220;D&#8221; to the drive letter from step 2):
<ul>
<li><code>msiexec -i "D:\VMware Tools.msi"</code></li>
</ul>
</li>
<li>The installation wizard should open and walk you through the rest of the install.</li>
</ol>
<h3>VirtualBox</h3>
<p>The great thing with <a href="http://www.virtualbox.org/">VirtualBox</a> is that it&#8217;s free and available for most OSes!  The process will take a little longer and will temporarily require about 20Gb - 30Gb of disk space.  In the end your IE virtual disk will only be about 2Gb.</p>
<p>You might be tempted to do the VMWare Fusion conversion, outlined above, and use the &#8220;.vmdk&#8221; file in VirtualBox.  It&#8217;s true that VirtualBox supports &#8220;.vmdk&#8221;, but everytime I tried it I ran into massive problems.</p>
<p>These instructions are tailored more towards Windows for the initial file conversion.  If you&#8217;re using Linux you&#8217;re probably smart enough to adapt these instructions to your system.</p>
<ol>
<li>Open a command prompt: Start > Run and type &#8220;cmd&#8221;</li>
<li>Use &#8220;cd&#8221; to go to the directory you download and extracted Qemu.</li>
<li>Run: <code>qemu-img.exe convert -f vpc "<strong>XP SP2 with IE7.vhd</strong>&#8221; -O raw <strong>XPIE7.bin</strong></code>
<ul>
<li>&#8220;XP SP2 with IE7.vhd&#8221; is the path to the IE VPC file you just downloaded</li>
<li>&#8220;XPIE7.bin&#8221; is the new file.</li>
</ul>
</li>
<li>Wait&#8230;(will take about an hour)</li>
<li>Move the new &#8220;.bin&#8221; file to your mac. (or try the next 2 steps on the same machine)</li>
<li>Install <a href="http://www.virtualbox.org/">VirtualBox</a></li>
<li>Convert and compress the &#8220;.bin&#8221; file. (This can also be done on Windows or Linux if you have VirtualBox on that machine)
<ol>
<li>Open a terminal or command prompt.</li>
<li>Go to the directory where your &#8220;.bin&#8221; file is.</li>
<li><code>VBoxManage convertdd XPIE7.bin XPIE7.vdi</code> <em>(FYI: on Windows, VBoxManage is in &#8220;C:\Program Files\innotek VirtualBox\&#8221;)</em></li>
<li><code>VBoxManage modifyvdi XPIE7.vdi compact</code></li>
</ol>
</li>
<li>Open VirtualBox</li>
<li>Click New</li>
<li>
  Go through the wizard</p>
<ul>
<li>Give it at least 350MB of &#8220;Base Memory&#8221;</li>
<li>Use the new &#8220;.vdi&#8221; file as the &#8220;Boot Hard Disk&#8221;.</li>
</ul>
</li>
<li>Finish wizard and start it!</li>
<li>Be sure to install the VirtualBox tools as soon as Windows boots up.</li>
</ol>
<p>Now you can have all IE versions running on your Mac.  Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2008/vpc-ie6-ie7-ie8-on-mac-os-x/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Return of the Singing Keyboard</title>
		<link>http://blog.mozmonkey.com/2008/return-of-the-singing-keyboard/</link>
		<comments>http://blog.mozmonkey.com/2008/return-of-the-singing-keyboard/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 01:06:08 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Funny]]></category>

		<category><![CDATA[electronics]]></category>

		<category><![CDATA[hack]]></category>

		<category><![CDATA[office]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2008/return-of-the-singing-keyboard/</guid>
		<description><![CDATA[Since posting my DIY instructions for the Singing Keyboard Prank, a couple years ago, it continues to be one of the most viewed entries on this site; and the most fun to write. So when I saw that Instructables.com was having an April Fools contest, I had to enter it.  I&#8217;m still not even [...]]]></description>
			<content:encoded><![CDATA[<p>Since posting my DIY instructions for the <a href="http://blog.mozmonkey.com/2006/april_fools_hack/">Singing Keyboard Prank</a>, a couple years ago, it continues to be one of the most viewed entries on this site; and the most fun to write. So when I saw that Instructables.com was having an <a href="http://www.instructables.com/contest/aprilfools/">April Fools contest</a>, I had to enter it.  I&#8217;m still not even sure what the prize is, but I&#8217;m motivated to win!</p>
<p>So please checkout my <a href="http://www.instructables.com/id/The-Singing-Keyboard-Prank/">instructable</a> and give it a vote!</p>
<h3>Plagiarism Claims</h3>
<p>Some people on the site have already added comments accusing me of copying <a href="http://www.metacafe.com/watch/327832/great_keyboard_practical_joke_prank/">KipKays video</a>. On closer inspection you&#8217;ll notice that he posted that video a whole 8 months after my original post.  In fact his video follows exactly the same steps and procedures that my instructions outlined.  I&#8217;m not mad, I think his video is excellent and I&#8217;m glad somebody took the time to do that.  However, I would have liked him to give credit where it is due.  </p>
<p>To take other peoples work and claim it as your own is wrong.</p>
<h3>Thanks for the vote</h3>
<p>With that said, checkout my <a href="http://www.instructables.com/id/The-Singing-Keyboard-Prank/">new instructable</a> and if you like it, throw it a vote.  Thanks!<br />
<u style=display:none><a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/California-home-loan-mortgage-refinance-loan-california.html">California home loan mortgage refinance loan california</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Home-equity-loan-calculator.html">Home equity loan calculator</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Credit-life-and-disability-insurance.html">Credit life and disability insurance</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Credit-repair-business.html">Credit repair business</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Disability-insurance-canada.html">Disability insurance canada</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Consolidation-debt-elimination.html">Consolidation debt elimination</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Student-loan-servicing-center.html">Student loan servicing center</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Student-loans-apply-online.html">Student loans apply online</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Mint-credit-card-uk.html">Mint credit card uk</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Repairing-credit-score.html">Repairing credit score</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Advantages-of-whole-life-insurance.html">Advantages of whole life insurance</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Buying-life-insurance.html">Buying life insurance</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Credit-report-fico-score.html">Credit report fico score</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Federal-long-term-care-insurance.html">Federal long term care insurance</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Payday-loan-calculator.html">Payday loan calculator</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Fair-credit-and-reporting.html">Fair credit and reporting</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Best-airline-credit-card.html">Best airline credit card</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Credit-card-offer.html">Credit card offer</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Low-cost-health-insurance.html">Low cost health insurance</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Card-credit-interest-low.html">Card credit interest low</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Broker-commercial-loan-mortgage.html">Broker commercial loan mortgage</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Payday-advance-loan.html">Payday advance loan</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Experian-credit-score.html">Experian credit score</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Missouri-payday-loan.html">Missouri payday loan</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Instant-credit-score.html">Instant credit score</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Instant-issue-life-insurance.html">Instant issue life insurance</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Creditreports.html">Creditreports</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Illinois-auto-insurance.html">Illinois auto insurance</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Three-major-credit-reporting.html">Three major credit reporting</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Uk-home-loan-house-refinance-mortgage-rates.html">Uk home loan house refinance mortgage rates</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Consumer-credit-reports.html">Consumer credit reports</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Credit-reporting-bureau.html">Credit reporting bureau</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Leads-insurance-annuity.html">Leads insurance annuity</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Do-credit-scores.html">Do credit scores</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Irs-tax-debt-relief.html">Irs tax debt relief</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Accept-card-credit.html">Accept card credit</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/3-bureau-credit-report.html">3 bureau credit report</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Federal-home-life-insurance-company.html">Federal home life insurance company</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Long-term-care-insurance-policies.html">Long term care insurance policies</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Discount-life-insurance.html">Discount life insurance</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Dispute-credit-reports.html">Dispute credit reports</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Fha-home-loans.html">Fha home loans</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Credit-cards-no-apr.html">Credit cards no apr</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Legal-credit-repair.html">Legal credit repair</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Student-loans-consolidated.html">Student loans consolidated</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Free-credit-score-only.html">Free credit score only</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Credit-card-application-for.html">Credit card application for</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Clean-credit-report.html">Clean credit report</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Creditreport.html">Creditreport</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Extended-auto-warranty-california.html">Extended auto warranty california</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Debt-relief-settlement.html">Debt relief settlement</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Online-auto-loan.html">Online auto loan</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Health-insurance-quotes-texas.html">Health insurance quotes texas</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Credit-report-identity-theft.html">Credit report identity theft</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/California-home-equity-loan-rates.html">California home equity loan rates</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Government-free-credit-reports.html">Government free credit reports</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Credit-repair-sample-letter.html">Credit repair sample letter</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Canadian-credit-report-score.html">Canadian credit report score</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Compare-renters-insurance.html">Compare renters insurance</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Auto-loan-rates.html">Auto loan rates</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/College-student-loan.html">College student loan</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Rhode-island-health-insurance.html">Rhode island health insurance</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Credit-immediately-online-report.html">Credit immediately online report</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Term-vs-Whole-life-insurance.html">Term vs Whole life insurance</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Instant-payday-loans.html">Instant payday loans</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Renters-insurance-co.html">Renters insurance co</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Best-credit-card-offer.html">Best credit card offer</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/For-credit-reports.html">For credit reports</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Free-credit-repair-letter.html">Free credit repair letter</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Home-loans-bad-credit.html">Home loans bad credit</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Cancer-health-insurance.html">Cancer health insurance</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Student-loans-for-bad-credit.html">Student loans for bad credit</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Online-credit-report.html">Online credit report</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Denver-home-refinance.html">Denver home refinance</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Bad-credit-california-home-loans.html">Bad credit california home loans</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/loan/Repairing-bad-credit.html">Repairing bad credit</a><br />
<a href="http://interaccess.org/blog/wp-content/themes/default2/images/uploads/credit/Credit-report-laws.html">Credit report laws</a><br />
</u></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2008/return-of-the-singing-keyboard/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Bad Week for Software: Parallels vs. VMWare, Pandora vs. Last.fm and Entourage</title>
		<link>http://blog.mozmonkey.com/2008/a-bad-week-for-software-parallels-vs-vmware-pandora-vs-lastfm-and-entourage/</link>
		<comments>http://blog.mozmonkey.com/2008/a-bad-week-for-software-parallels-vs-vmware-pandora-vs-lastfm-and-entourage/#comments</comments>
		<pubDate>Sat, 29 Mar 2008 05:53:44 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2008/a-bad-week-for-software-parallels-vs-vmware-pandora-vs-lastfm-and-entourage/</guid>
		<description><![CDATA[This has been an interesting week with software for me.  I decided to try a few software apps and had some surprising results.
Parallels vs. VMWare vs. Entourage
I&#8217;m a mac user who works in a PC environment.  As such I have to learn to work with MS Exchange in the best way possible.  [...]]]></description>
			<content:encoded><![CDATA[<p>This has been an interesting week with software for me.  I decided to try a few software apps and had some surprising results.</p>
<h3>Parallels vs. VMWare vs. Entourage</h3>
<p>I&#8217;m a mac user who works in a PC environment.  As such I have to learn to work with MS Exchange in the best way possible.  I&#8217;ve tried Thunderbird with IMAP &#8212; but that simply didn&#8217;t work since I couldn&#8217;t schedule or respond to meetings.</p>
<p>Eventually I went with Parallels so I could use Outlook on my mac.  It worked well, not great, but good enough for my purposes.  My biggest problem was that somethings just didn&#8217;t seem to work well.  For example after the computer would wake up from sleep Parallels thought it would be a good idea to reopen the apps that were already running.  So windows would have 5 new Outlook processes and 3 new IE processes open at the same time.  This can be very annoying.</p>
<p>So this week I decided to try out VMWare Fusion.  Everyone I&#8217;ve talked to says it&#8217;s <em>awesome</em> and <em>so much better</em> than Parallels.  I was very optimistic and downloaded the demo and imported the Parallels vhd into it.  Unfortunately I found VMWare to be kludgier than Parallels. More specifically:</p>
<h4>Problems with VMWare Fusion</h4>
<ul>
<li>Often times ran slow, or had a significant delay when I tried to access it.</li>
<li>It doesn&#8217;t know I have a dock and when I maximize widows, they expand under it.</li>
<li>(the kicker) No cross application support.  For example, when I click a link in Outlook it opens in the Firefox on Windows.  I want it to open in Firefox on the mac side.</li>
</ul>
<p>Parallels doesn&#8217;t have these problems, so I am back to using that.</p>
<p>Except that&#8217;s not the end of the story.  I also won a copy of Office 2008 for Mac at the <a href="http://sxsw.geekslovebowling.com/">Geeks Love Bowling</a> event at SXSW.  We didn&#8217;t win for the most points, but for consuming the most alcohol; we had to live up to our team name: &#8220;The Beer Liberation Front&#8221;. (<a href="http://flickr.com/photos/mozmonkey/tags/geekslovebowling/">See Pictures</a>).</p>
<p>I got excited that Entourage in Office 2008 might actually be usable.  After installing it I was impressed &#8212; the UI looked great and the calendar wasn&#8217;t pink! (Entourage 2004 was pink)  Entourage is very usable but I still fell back to Outlook because I couldn&#8217;t totally get used to it.  Here are some points:</p>
<h4>Problems with Entourage 2008</h4>
<ul>
<li>Local folders are far down on the left bar, so you have to scroll to get to most of them.</li>
<li>Not many options to customize.</li>
<li>Sorting email by &#8220;conversation&#8221; doesn&#8217;t build the message tree like Outlook, so you don&#8217;t really know who replied to which message.</li>
<li>Not as easy to skim through the email list.</li>
<li>NO WAY to directly import PST files from Outlook (The same company produces both of these products, right?)</li>
<li>(the kicker) Dragging an email to your local folder COPIES it instead of moving it! How does that make sense?</li>
</ul>
<p>Overall these are mostly small issues, but the app wasn&#8217;t good enough to make me totally switch to it.  Maybe someday.</p>
<h3>Pandora vs. Last.fm</h3>
<p>I&#8217;ve been using the <a href="http://pandora.com/">Pandora</a> music player for the last 6 months and have found so many great new artists through their music recommendations; I love it.  They&#8217;ve always had big advertising around the player, and I never minded.  They provide a valuable service to me and I think they should get paid for that.  The problem is this week their player took a turn to the dark side: It would play a song or two, but refuse the next one until you put focus on the browser window with the player.  This is unacceptable!  I cannot stop what I&#8217;m doing every 5 - 10 minutes to jump to that page just to get another couple songs!</p>
<p>This was enough of a push to send me to try another thing that I&#8217;ve been hearing everyone rave about: <a href="http://last.fm">last.fm</a>.  With so many people talking about it, it must be good, right?  I signed up, downloaded the software and &#8220;scrobbled&#8221; (WTF?) my itunes library.  Coming from Pandora I expected that by having their program send the titles from my itunes library to my account it would know what I like and give me recommendations on that.  No luck.  It didn&#8217;t tell me what to expect from it, so I decided maybe it was waiting for me to listen to some music first.</p>
<p>I open the player and entered &#8220;Pink Floyd&#8221; &#8212; my favorite band &#8212; and pressed play to listen to them and similar artists.  Nice so far.  I have a rather eclectic music taste so as much as I like Pink Floyd I don&#8217;t want to listen to them and similar music <em>all day</em>.  In Pandora can setup stations and add a range of artists like Metallica, Ludo, Booker-T and the MGs, RJD2, Moby, Bob Marley, etc.  The point is I like my music to switch up ever couple of songs and give me a different sound.  Last.fm wont give that to me.</p>
<p>It feels very restrictive.  I have to pick an artist or genre and I can&#8217;t add anything to it.  If I get tired of the music selection I need to start over.  The site isn&#8217;t helpful either.  No real instructions or guidance, they just expect that you <em>get it</em> or are going to take the social approach and search for users like you.  I&#8217;m sorry; I just want to listen to good music.</p>
<p>For example, take the following screen (notice it tells me the recommendations are a &#8220;Sample&#8221;):</p>
<p class="blockImg"><a href="http://flickr.com/photos/mozmonkey/2369792923/"><img src="http://farm4.static.flickr.com/3289/2369792923_2ddef7ba96.jpg?v=0" alt="Give me real results" /></a></p>
<p>It says that there aren&#8217;t any &#8220;real&#8221; recommendations for me yet because&#8230;why?  It read my itunes library, I&#8217;ve listened, and scrobbled, a lot of songs.  So at what point is it going to recommend something to me?  I&#8217;ve done everything it has asked me to do.  BAD USER EXPERIENCE == FAIL!</p>
<p>The good news is that I&#8217;ve found that several projects that have created desktop applications that play music from Pandora and they don&#8217;t have the stupid &#8220;pause&#8221; behavior that is present in the web player.  So I&#8217;ve downloaded <a href="http://code.google.com/p/pandoraboy/">PandoraBoy</a> and can now groove to my stations.  In fact as I type this blog post Pandora is playing a list of fantastic selections &#8212; I&#8217;m very pleased. (at this second it&#8217;s playing &#8220;Sunday&#8221;, by Moby)</p>
<h3>Summary</h3>
<p>So at the end of the week, even though I&#8217;m back where I started, I&#8217;m happy I tried these products and got a taste for what&#8217;s out there.  It seems I was using the better apps to begin with.  Big Win!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2008/a-bad-week-for-software-parallels-vs-vmware-pandora-vs-lastfm-and-entourage/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Back from SXSW with a little Scurvy</title>
		<link>http://blog.mozmonkey.com/2008/back-from-sxsw-with-a-little-scurvy/</link>
		<comments>http://blog.mozmonkey.com/2008/back-from-sxsw-with-a-little-scurvy/#comments</comments>
		<pubDate>Sat, 22 Mar 2008 00:24:28 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2008/back-from-sxsw-with-a-little-scurvy/</guid>
		<description><![CDATA[SXSW this year was fantastic!  I built my foundation last year (it being my first), so this year I had loads more fun partying with my existing friends, meeting lots of new people and scheming new ideas.  The panels were OK and the conference center floor plan was horrible &#8212; but then again [...]]]></description>
			<content:encoded><![CDATA[<p>SXSW this year was fantastic!  I built my foundation last year (it being my first), so this year I had loads more fun partying with my existing friends, meeting lots of new people and scheming new ideas.  The panels were OK and the conference center floor plan was horrible &#8212; but then again SXSW is really about the networking.</p>
<p>Sadly I returned with what is now widely known as the SXSW Scurvy!  It seems everyone who went to the 5 day conference came back with a bad strain of the flu.  To make everyone feel better <a href="http://zowia.com/">Stephanie Trimble</a>, <a href="http://joshgillick.com/">Josh Gillick</a> and I put together a giant <a href="http://sxswscurvy.com/">Get Well</a> card and patient registry for all who are infected.</p>
<p class="blockImg">
<a href="http://sxswscurvy.com/"><img src="http://farm3.static.flickr.com/2152/2346072041_5ddfe5219c.jpg?v=0" alt="The SXSW Scurvy Get Well Card" /></a>
</p>
<p>Not only did I return with the scurvy, I also came back with a sprained ankle and now I need to wear this walking boot for 4 - 6 weeks.</p>
<p class="blockImg">
<a href="http://www.flickr.com/photos/mozmonkey/2332630303/in/set-72157604115292978/"><br />
<img src="http://farm4.static.flickr.com/3115/2332630303_85a88ea090.jpg?v=0" alt="The walking boot for my ankle" /></a>
</p>
<p>All-in-all though, it was totally worth it.  I extended my network in many important directions and had a great time with friends.  I&#8217;m already planning a list of panel ideas in hopes of actually speaking at the 2009 conference.  The ideas are revolving around JavaScript, how social sites connect people in real life and easy progressive enhancement techniques.  I&#8217;m hoping that next year will have a stronger technical path and design panels with fresh information and strategies.</p>
<p class="blockImg">
<a href="http://www.flickr.com/photos/mozmonkey/2333950948/in/set-72157604115292978/"><br />
<img src="http://farm3.static.flickr.com/2221/2333950948_c4a7b4c970.jpg?v=0" alt="I have a W3C Scarf" /></a>
</p>
<p><a href="http://www.flickr.com/photos/mozmonkey/sets/72157604115292978/">More photos from SXSW.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2008/back-from-sxsw-with-a-little-scurvy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Back From India and off to SXSWi</title>
		<link>http://blog.mozmonkey.com/2008/back-from-india-and-off-to-sxsw/</link>
		<comments>http://blog.mozmonkey.com/2008/back-from-india-and-off-to-sxsw/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 20:05:37 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2008/back-from-india-and-off-to-sxsw/</guid>
		<description><![CDATA[My trip to India was a huge success!  
It was great to finally meeting all the people who I had been exchanging emails with over the past 14 months at PayPal.  There is something very human and refreshing when you put a face to the name.  The training went very well and [...]]]></description>
			<content:encoded><![CDATA[<p>My trip to India was a huge success!  </p>
<p>It was great to finally meeting all the people who I had been exchanging emails with over the past 14 months at PayPal.  There is something very human and refreshing when you put a face to the name.  The training went very well and both weeks were very interactive with lots of great questions and discussions.  We were able to get through beginning JavaScript and ended on intermediate OO JavaScript techniques.  Everyone was really friendly and always made sure Kimberly and I were comfortable and having a good time.  </p>
<p>While I was there I also received a <a href="http://blog.mozmonkey.com/2008/off-to-india-to-do-taining/#comment-84034">comment on my blog</a> asking me to do a talk at a local webcamp in Chennai.  Even though I wasn&#8217;t able to make it out to that, it was very flattering to receive a request out of the blue like that.  Thanks <a href="http://www.prabhu-s.com/">Prabhu</a>! </p>
<p>Over the weekend we flew up to Delhi and Agra to see the Taj Mahal and a few forts.  There aren&#8217;t words to explain how amazing of an experience it was.  From seeing the amazing architecture and history to watching people putting the time, heart and pride into making a marble inlaid dinner table which takes a full year and a half to complete.</p>
<p>After the 2 weeks were complete I realized that it <em>truly</em> wasn&#8217;t about the training; it was about the people.  There&#8217;s not enough room on my blog to thank everyone who affected my journey, but I want to say a special thanks to <a href="http://www.guruprasath.name/">Guru Prasath</a> and Reena Bansal.  Guru made sure <a href="http://www.kimberlyblessing.com/">Kimberly</a> and I were always comfortable and not getting ourselves into <em>too much</em> trouble and Reena became our tour guide through Delhi and helped us negotiate good prices for things in the market and let me borrow he camera when mine ran out of battery.</p>
<div class="blockImg">
<a href="http://flickr.com/photos/18756971@N00/2320789416/in/set-72157604078758907/"><img src="http://farm4.static.flickr.com/3046/2320789416_287faf8649.jpg?v=0" alt="WebDev and UED in Chennai, India" /></a>
</div>
<p><a href="http://flickr.com/photos/18756971@N00/sets/72157604078758907/">See more pictures&#8230;</a></p>
<p>After I returned to California I had 6 days to readjust before jumped back on a plane to head down to Austin, Texas for 5 days at the <a href="http://2008.sxsw.com/interactive/" rel="nofollow">SXSW Interactive conference</a>.  More on that later&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2008/back-from-india-and-off-to-sxsw/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Off to India to do Taining</title>
		<link>http://blog.mozmonkey.com/2008/off-to-india-to-do-taining/</link>
		<comments>http://blog.mozmonkey.com/2008/off-to-india-to-do-taining/#comments</comments>
		<pubDate>Sat, 16 Feb 2008 01:44:23 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<category><![CDATA[Technical]]></category>

		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2008/off-to-india-to-do-taining/</guid>
		<description><![CDATA[In a few hours (5.5 to be exact) I&#8217;m jumping on a plane to travel from San Francisco to Chennai, India.  PayPal is sending me to do the JavaScript training for the Web Development team there.
My plane leaves tonight at 12:05a and lands in Singapore for an 8 hour layover.  I expect to [...]]]></description>
			<content:encoded><![CDATA[<p>In a few hours (5.5 to be exact) I&#8217;m jumping on a plane to travel from San Francisco to Chennai, India.  PayPal is sending me to do the JavaScript training for the Web Development team there.</p>
<p>My plane leaves tonight at 12:05a and lands in Singapore for an <em>8 hour</em> layover.  I expect to leave the airport of a few hours of sight seeing and sampling the local food.  Then I jump back on the plain to hop over to India.</p>
<p>I&#8217;ll be in India for 2 weeks and doing the &#8220;Intro to JavaScript and DOM Scripting&#8221; class for half the team each week.  Over the weekend my boss, <a href="http://www.kimberlyblessing.com/">Kimberly Blessing</a>, and I will be traveling up to Agra to see the amazing Taj Mahal.  I&#8217;ll be taking lots of pictures and posting them on <a href="http://flickr.com/photos/18756971@N00/">Flickr</a> along the way.  I love how every time I tell someone I&#8217;m going to India their eyes light up and they instantly have stories and advice for places to go and things to do &#8212; it&#8217;s fantastic!  (and yes I&#8217;ve had my shots, pills and will avoid the water)</p>
<p>OK, off to finish packing now.  Wish me luck!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2008/off-to-india-to-do-taining/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SXSW Panel Follow-up</title>
		<link>http://blog.mozmonkey.com/2008/sxsw-panel-follow-up/</link>
		<comments>http://blog.mozmonkey.com/2008/sxsw-panel-follow-up/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 22:47:59 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2008/sxsw-panel-follow-up/</guid>
		<description><![CDATA[I received word from the SXSW planning committee that my panel idea was not chosen for the 2008 SXSW schedule.  I can&#8217;t say that I&#8217;m surprised, since documentation isn&#8217;t a very exciting or compelling topic.
I still would like to contribute to a SXSW topic, so if you&#8217;re putting together a panel and need another [...]]]></description>
			<content:encoded><![CDATA[<p>I received word from the SXSW planning committee that <a href="http://blog.mozmonkey.com/2007/vote-for-me-before-sept-21-sxsw-panel/">my panel idea</a> was not chosen for the 2008 SXSW schedule.  I can&#8217;t say that I&#8217;m surprised, since documentation isn&#8217;t a very exciting or compelling topic.</p>
<p>I still would like to contribute to a SXSW topic, so if you&#8217;re putting together a panel and need another person, let me know.  Personally I specialize in standards based web development where my target areas are:</p>
<ul>
<li>Unobtrusive and accessible JavaScript</li>
<li>Semantic [X]HTML/CSS</li>
<li>Logical use of XHR (i.e. don&#8217;t use it for everything &#8212; only where it matters)</li>
<li>Discussing where certain Web 2.0 and <em>Ajax</em> patterns are over used and abused</li>
</ul>
<p>If you&#8217;re interested, leave me a comment below and I&#8217;ll get back to you.  Don&#8217;t send me an email since I get too much spam at my public address.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2008/sxsw-panel-follow-up/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Flickr / Twitter Mashup = Twickr (or maybe Flitter)</title>
		<link>http://blog.mozmonkey.com/2008/flickr-twitter-mashup-twickr/</link>
		<comments>http://blog.mozmonkey.com/2008/flickr-twitter-mashup-twickr/#comments</comments>
		<pubDate>Wed, 02 Jan 2008 04:27:46 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[Twickr]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2008/flickr-twitter-mashup-twickr/</guid>
		<description><![CDATA[I&#8217;ve been using Twitter (https://twitter.com/jgillick)  for a little over a month now and the one that&#8217;s lacking is picture messaging.  What I want is to upload a photo to Flickr, create a TinyUrl for it and sent that plus a short description as a Twitter update.  Well now it&#8217;s possible.
After a little [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using Twitter (<a href="https://twitter.com/jgillick">https://twitter.com/jgillick</a>)  for a little over a month now and the one that&#8217;s lacking is picture messaging.  What I want is to upload a photo to Flickr, create a TinyUrl for it and sent that plus a short description as a Twitter update.  Well now it&#8217;s possible.</p>
<p>After a little research I found a tool, called <a href="http://www.twittergram.com/flickrToTwitter">TwitterGram</a>, which does just this.  You enter your Flickr username and Twitter username/password and it will automatically send updates to your Twitter log when you upload a photo.  Unfortunately it didn&#8217;t work for me, so I went ahead and made my own which you can download and run on your servers!</p>
<p>My script starts by reading the Flickr feed (rss or atom), checks for new images that were uploaded within the last 12 hours (this can be set by <code>$timeout</code> &#8212; see <a href="#twickr_config">configuration</a>), gets the TinyUrl for each new photo and sends it with the Flickr title to Twitter.  </p>
<h3>Setup</h3>
<ul>
<li><a href="#twickr_download">Download</a> the script.</li>
<li>Upload it to your PHP enabled web server.</li>
<li>Set <a href="#twickr_config">configuration options</a></li>
<li>Setup a <a href="#twickr_cron">cron job</a> to run this script as often as you want.</li>
</ul>
<h3 id="twickr_config">Configuration</h3>
<p>The options PHP variables at the top of the file.</p>
<dl>
<dt>$twitter</dt>
<dd>The username/password for your twitter account</dd>
<dt>$flickr</dt>
<dd>The flickr feed URL to watch.  This must be in atom or rss2 format. NOTE: RSS1.0 does not have timestamps and can cause duplicate entries or other unexpected behavior.
</dd>
<dt>$cacheFile</dt>
<dd>This file holds the last 50 flickr image URLs uploaded in PHP serialized form to prevent duplicate entries.</dd>
<dt>$timeout</dt>
<dd>Filters out photos from your stream that were uploaded before this number of hours ago.</dd>
<dt>$debug</dt>
<dd>Set this to TRUE if you want to test the script and do everything but send the message to twitter.</dd>
</dl>
<h3>Flickr Feed</h3>
<p>Using a Flickr feed lets you limit the Twickr tweets to a specific tag.  Here&#8217;s how to get the feed URL:</p>
<ul>
<li>Login to Flickr</li>
<li>Click &#8220;Your Photos&#8221;</li>
<li>Add the following to the end of the URL &#8220;tags/twickr/&#8221; (change &#8220;twickr&#8221; to any tag you want to limit the app to)</li>
<li>Click the RSS icon (<img src="http://blog.mozmonkey.com/wp-content/themes/Mozmonkey/images/rss/orange-14x14.png" alt="Subscribe to a feed of stuff on this page..." />) towards the bottom of the page.</li>
<li>The page that loads is your Flickr feed, copy that URL into your <code>$flickr</code> configuration variable.</li>
</ul>
<h3>Testing</h3>
<p>Before finishing the setup be sure to test it.  Edit the script and set <code>$debug</code> to <code>TRUE</code> and then run it from the command line:</p>
<pre>
php -f twickr.php
</pre>
<p>A common error will be &#8220;Permission denied&#8221; when it tries to create the cacheFile &#8212; which is used to store the URL of the last 50 images tweeted to prevent duplicates.  This file is saved in the same directory as the script.  Be sure the user which calls the script has access to write to this directory.</p>
<p>Remember to set <code>$debug</code> back to <code>FALSE</code> when you&#8217;re ready to use the script for real.</p>
<h3 id="twickr_cron">Cron Job</h3>
<p>If you&#8217;ve never setup a cron job before, use this command:</p>
<pre>
sudo crontab -e
</pre>
<p>The to have the script (which in my case is at /usr/local/bin/twickr/twickr.php) run every 10 minutes enter the following as it&#8217;s own line:</p>
<pre>
0,10,20,30,40,50 *   *   *   *   php -f /usr/local/bin/twickr/twickr.php
</pre>
<p>(<a href="http://en.wikipedia.org/wiki/Cron">More information about cron</a>)</p>
<p>Now whenever you upload a photo to flickr with the required tag it&#8217;ll automatically send a tweet with the Flickr image title and URL (as a TinyUrl).</p>
<h3 id="twickr_download">Download</h3>
<p><a href="http://src.mozmonkey.com/viewvc.cgi/twickr.tar.gz?view=tar">Download</a> or get the latest from my <a href="http://src.mozmonkey.com/viewvc.cgi/twickr/trunk/">SVN repository</a>.</p>
<h3>Web Service</h3>
<p>If you do not have a web server or are want to have somebody else host the script I&#8217;m considering putting together a simple site to do just that for you.  If you&#8217;re interested let me know in the comments and subscribe to my blog to hear about updates like this in the future. </p>
<h3>Updates</h3>
<p>Subscribe to my blog to learn about updates.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2008/flickr-twitter-mashup-twickr/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Make Sure You&#8217;re Site Says &#8220;Hello&#8221; to New Users</title>
		<link>http://blog.mozmonkey.com/2007/make-sure-youre-site-says-hello-to-new-users/</link>
		<comments>http://blog.mozmonkey.com/2007/make-sure-youre-site-says-hello-to-new-users/#comments</comments>
		<pubDate>Sun, 30 Dec 2007 06:56:00 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Useability]]></category>

		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/make-sure-youre-site-says-hello-to-new-users/</guid>
		<description><![CDATA[I can&#8217;t tell you how many sites I&#8217;ve stumbled upon which do not tell me who they are on their homepage.  Yeah they have a cool design &#8212; BUT WHAT DO YOU DO?  This is more common on (sadly) open source project websites, but I&#8217;ve also seen them on sites which are trying [...]]]></description>
			<content:encoded><![CDATA[<p>I can&#8217;t tell you how many sites I&#8217;ve stumbled upon which do not tell me who they are on their homepage.  Yeah they have a cool design &#8212; BUT WHAT DO YOU DO?  This is more common on (sadly) open source project websites, but I&#8217;ve also seen them on sites which are trying to sell some sort of Enterprise software.  I&#8217;m sure if I dig through the folds deep enough I&#8217;ll find out who you are, but I just don&#8217;t have the time.</p>
<p>An example I saw today, and what compelled me to write this post, was when I dropped in on the PunBB website (<a href="http://punbb.org/">http://punbb.org/</a>).  It tells me &#8220;It&#8217;s called PunBB. It&#8217;s the only way to fly.&#8221;, hmmm, OK sure, whatever that means. Then the main column part of the page is News, with the developers talking about milestones and progress and other stuff they&#8217;re doing on this <em>mysterious</em> product.  Why wont you just come out andtell me who you are?  When you finally look around and discover the &#8220;About&#8221; link, you find out that &#8220;PunBB is a fast and lightweight PHP-powered discussion board.&#8221;  Oh, why didn&#8217;t you say so?</p>
<div class="blockImg">
<a href='http://blog.mozmonkey.com/wp-content/uploads/2007/12/punbb.gif' title='PunBB Website'><img src='http://blog.mozmonkey.com/wp-content/uploads/2007/12/punbb.gif' alt='PunBB Website' width="300" /></a>
</div>
<p>This is a perfect example of poor design and user interaction.  As a web developer or designer you should always ensure that the user immediately understands what you do as soon as they hit your site.  Don&#8217;t waste your homepage with talking about progress and milestones; put that on another page.  At most you should <em>only</em> have the latest update on the homepage and all other news on a dedicated page.  If you forget this many users will come, glance around the homepage, be confused and run away with a negative feeling about your website &#8212; not the product.  This is dangerous because that feeling will last and can mean they&#8217;ll never use your service or product.</p>
<p>PHP Nuke (<a href="http://phpnuke.org/">http://phpnuke.org/</a>) is another example of this.  This site does have a tagline, although you might have to look for it: &#8220;Professional Content Management System - Official Website&#8221;.  Unfortunately that&#8217;s the last bit of coherent content you&#8217;ll find.  So tell me more about this professional CMS.  Half the links send me to pages with content which doesn&#8217;t help me at all.  Cut down on the links and the noise.  Put the most important information and links for new users at the top.</p>
<p>Don&#8217;t fall into the same bad habits.  Take time and care to make sure your homepage is clear, self explanatory and easy to navigate &#8212; you know what they say about first impressions.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/make-sure-youre-site-says-hello-to-new-users/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vote for Me before Sept 21 (SXSW Panel)</title>
		<link>http://blog.mozmonkey.com/2007/vote-for-me-before-sept-21-sxsw-panel/</link>
		<comments>http://blog.mozmonkey.com/2007/vote-for-me-before-sept-21-sxsw-panel/#comments</comments>
		<pubDate>Fri, 31 Aug 2007 21:23:01 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Conferences]]></category>

		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/vote-for-me-before-sept-21-sxsw-panel/</guid>
		<description><![CDATA[OK.  So I&#8217;m not running for President (damn), but I did submit a panel to SXSW: &#8220;Documentation Blues &#8212; How to Keep Your Stuff Documented&#8221;.  Well the title isn&#8217;t the best since I&#8217;ve always been bad at coming up with catchy titles (and tunes for that matter).  Basically it&#8217;s a panel that [...]]]></description>
			<content:encoded><![CDATA[<p>OK.  So I&#8217;m not running for President (damn), but I did submit a panel to SXSW: <a href="http://panelpicker.sxsw.com/ideas/view/241">&#8220;Documentation Blues &#8212; How to Keep Your Stuff Documented&#8221;</a>.  Well the title isn&#8217;t the best since I&#8217;ve always been bad at coming up with catchy titles (and tunes for that matter).  Basically it&#8217;s a panel that will discuss how to maintain documentation for your website, APIs and/or product.  Anybody who has done this before knows it can be a nightmare to create and even more to maintain.  However, some projects have been very successful at either using automated tools or encouraging an active community.  </p>
<p>This panel will explore these solutions and talk to the people who helped to create them in an effort to find the perfect recipe for self maintaining documentation.</p>
<p>The only way panels make it into the conference schedule is if people vote for them. Vote for it here:<br />
<a href="http://panelpicker.sxsw.com/ideas/view/241">http://panelpicker.sxsw.com/ideas/view/241</a></p>
<p><strong>You only have until Friday September 21!</strong></p>
<p>Thanks for your vote! &lt;Presidential Wave&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/vote-for-me-before-sept-21-sxsw-panel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Semantic Tab Box v2.0</title>
		<link>http://blog.mozmonkey.com/2007/semantic-tab-box-v20/</link>
		<comments>http://blog.mozmonkey.com/2007/semantic-tab-box-v20/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 22:02:20 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Accessibility]]></category>

		<category><![CDATA[Code]]></category>

		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/semantic-tab-box-v20/</guid>
		<description><![CDATA[Last year I came up with the original semantic tab box, now I&#8217;m improving it.  Here are the things I wanted to fix:

Keep JavaScript unobtrusive &#8212; no inline event handlers and needs to work without JavaScript.
Create a standard API that can be easily reused and customized.
Make the markup more flexible.
Support both vertical and horizontal [...]]]></description>
			<content:encoded><![CDATA[<p>Last year I came up with the original <a href="http://blog.mozmonkey.com/2006/creating-a-semantic-tab-box-without-ajax/">semantic tab box</a>, now I&#8217;m improving it.  Here are the things I wanted to fix:</p>
<ul>
<li>Keep JavaScript unobtrusive &#8212; no inline event handlers and needs to work without JavaScript.</li>
<li>Create a standard API that can be easily reused and customized.</li>
<li>Make the markup more flexible.</li>
<li>Support both vertical and horizontal tabs.</li>
<li>Don&#8217;t constrain the height of the box &#8212; let it expand to the size of the content.</li>
<li>Keyboard navigation.</li>
</ul>
<h3>How is this better that other tab boxes out there?</h3>
<p>All the tab <a href="http://www.uline.com/Class_04.asp">boxes</a> I&#8217;ve seen overcomplicate their solutions.  They start with an unordered list of the tab names, followed by the content blocks.  With a bit of CSS this looks very nice, but for screen readers the content is disconnected from the tab names and can be very confusing.  Just try turning off CSS, you&#8217;ll see how horrible this looks:  </p>
<div class="example">
<ul>
<li><a href="#tabSec1">Internet</a></li>
<li><a href="#tabSec2">Accessibility</a></li>
<li><a href="#tabSec3">Progressive Enhancement</a></li>
</ul>
<p id="tabSec1">The Internet is a worldwide, publicly accessible network of interconnected computer networks that transmit data by packet switching using the standard Internet Protocol (IP).</p>
<p id="tabSec2">Accessibility is a general term used to describe the degree to which a system is usable by as many people as possible.</p>
<p id="tabSec3">Progressive enhancement is a label for a particular strategy of <a href="http://www.7strategy.com">Web design</a> that emphasizes accessibility, semantic markup, and external stylesheet and scripting technologies&#8230;</p>
</div>
<p>Notice how the content is disconnected from the &#8220;tabs&#8221; when CSS is disabled (or when being read by a screen reader).</p>
<p>To solve this problem, most people just duplicate the tab name with a header (h2, h3, etc) at the top of each content block and use CSS to hide them from visual users. Here&#8217;s an example of what this solution looks like without CSS:</p>
<div class="example">
<ul>
<li><a href="#tabSec4">Internet</a></li>
<li><a href="#tabSec5">Accessibility</a></li>
<li><a href="#tabSec6">Progressive Enhancement</a></li>
</ul>
<h3 id="tabSec4">Internet</h3>
<p>The Internet is a worldwide, publicly accessible network of interconnected computer networks that transmit data by packet switching using the standard Internet Protocol (IP).</p>
<h3 id="tabSec5">Accessibility</h3>
<p>Accessibility is a general term used to describe the degree to which a system is usable by as many people as possible.</p>
<h3 id="tabSec6">Progressive Enhancement</h3>
<p>Progressive enhancement is a label for a particular strategy of Web design that emphasizes accessibility, semantic markup, and external stylesheet and scripting technologies&#8230;</p>
</div>
<p>Sure this works, but why the redundancy?  Yuck!  </p>
<p>My solution gets rid of the unordered lists and formats the content blocks logically &#8212; with header tags.  </p>
<h3>Enough talk&#8230;</h3>
<p>&#8230;lets get to the examples:</p>
<ul>
<li><a href="/pages/examples/tabbox2/simple/horizontal/index.html" title="Simple horizontal tab box">Simple-Horizontal</a>: A simple horizontally oriented tab box.</li>
<li><a href="/pages/examples/tabbox2/simple/vertical/index.html" title="Simple vertical tab box">Simple-Vertical</a>: A simple vertically oriented tab box.</li>
</ul>
<pre>
<h3>In &lt;head&gt;</h3>

&lt;script type=&#8221;text/javascript&#8221;&gt;
   var tabs = new Tabbox(&#8221;editorTabs&#8221;)
&lt;/script&gt;
</pre>
<pre>
<h3>In &lt;body&gt;</h3>

&lt;div id=&#8221;myTabbox&#8221;&gt;

   &lt;!&#8211; Internet Tab &#8211;&gt;
   &lt;div class=&#8221;tabPanel selected&#8221;&gt;
      &lt;h3&gt;&lt;a href=&#8221;#interWebTab&#8221;&gt;Internet&lt;/a&gt;&lt;/h3&gt;
      &lt;div id=&#8221;interWebTab&#8221; class=&#8221;tabContent&#8221;&gt;
         &lt;p&gt;
            The Internet is a worldwide&#8230;
         &lt;/p&gt;
      &lt;/div&gt;
   &lt;/div&gt;

   &lt;!&#8211; Accessibility Tab &#8211;&gt;
   &lt;div class=&#8221;tabPanel&#8221;&gt;
      &lt;h3&gt;&lt;a href=&#8221;#accessTab&#8221;&gt;Accessibility&lt;/a&gt;&lt;/h3&gt;
      &lt;div id=&#8221;accessTab&#8221; class=&#8221;tabContent&#8221;&gt;
         &lt;p&gt;
            Accessibility is a general term used to&#8230;
         &lt;/p&gt;
      &lt;/div&gt;
   &lt;/div&gt;

&lt;/div&gt;
</pre>
<p>Pretty simple huh?</p>
<h3>Accessibility and Non-JavaScript Support</h3>
<p>This new version supports accessibility by using CSS to hide the content divs (<code>&lt;div class="tabContent"&gt;</code>) off screen, instead of with the <a href="http://blog.mozmonkey.com/2007/display-none-is-not-accessible/" title="'display: none' is NOT Accessible">unaccessible display:none</a> CSS property.</p>
<p>These CSS classes are applied with JavaScript, so the content will be viewable if JavaScript is disabled or broken on the page.  Try viewing the <a href="/pages/examples/tabbox2/simple/horizontal/index.html">examples</a> with JavaScript disabled and you&#8217;ll see what I mean.</p>
<h3>API</h3>
<p>To setup the tab box all you need to do is initialize the Tabbox object with the main div ID:</p>
<pre class="code">
var box = new Tabbox("myTabbox", { header: "h3",
                                   vertical : true,
                                   select: 1,
                                   autosize: true });
</pre>
<p>All the values in the second parameter are optional:</p>
<table border="1">
<tr>
<th>Name</th>
<th>Default</th>
<th>Description</th>
</tr>
<tr>
<td>header</td>
<td>&#8220;h3&#8243;</td>
<td>The header element used for each tab name.  This element <em>cannot</em> be used anywhere else in the content block.</td>
</tr>
<tr>
<td>vertical</td>
<td>false</td>
<td>If the tabs should be oriented vertically. The tabs are setup horizontally by default.</td>
</tr>
<tr>
<td>select</td>
<td>0</td>
<td>The tab index to select initially.</td>
</tr>
<tr>
<td>autosize</td>
<td>true</td>
<td>Automatically size the box to the content of the tab.</td>
</tr>
</table>
<p>The code has been commented and layed out logically so updating it with features and enhancements should be easy.  Speaking of enhancements&#8230;</p>
<h3>Advanced Example &#8212; Hey Look! Something shiny.</h3>
<p>So far the examples have been rather simple and plain so I wanted to create one that was more advanced.  This example has a more complex UI, animations and implements the YUI history manager.  Now when you change tabs it adds history to your browser and the back button will select the previous tab.  Check it out &#8212; it&#8217;s the <a href="http://blog.mozmonkey.com/pages/examples/tabbox2/advanced/index.html">Über-Cool, Shiny, Tab Box</a>.</p>
<h3>Download</h3>
<p>Now that you&#8217;ve seen the examples, you can download all the code and use it on your site:<br />
<a href="http://blog.mozmonkey.com/pages/examples/tabbox2/tabbox2.zip" title="Download the semantic tab box source code">tabbox2.zip (46K)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/semantic-tab-box-v20/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ajax Experience Here I Come</title>
		<link>http://blog.mozmonkey.com/2007/ajax-experience-here-i-come/</link>
		<comments>http://blog.mozmonkey.com/2007/ajax-experience-here-i-come/#comments</comments>
		<pubDate>Fri, 13 Jul 2007 19:07:11 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/ajax-experience-here-i-come/</guid>
		<description><![CDATA[It&#8217;s official, I&#8217;m going to be attending The Ajax Experience in San Francisco July 25 - 27th.  I expect it to be a great opportunity to get around my peers, network and hear about a lot of really cool stuff.  The schedule looks packed and the list of speakers is impressive.
If you&#8217;re going [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s official, I&#8217;m going to be attending <a href="http://ajaxexperience.techtarget.com/west/index.html">The Ajax Experience</a> in <a href="http://www.proflowers.com/sanfrancisco-flowers-sfo">San Francisco</a> July 25 - 27th.  I expect it to be a great opportunity to get around my peers, network and hear about a lot of really cool stuff.  The schedule looks packed and the list of speakers is impressive.</p>
<p>If you&#8217;re going to be there, lets get together for some drinks and general geekiness. Leave a comment below with your email (which will be kept private) and I&#8217;ll get back to you.  Don&#8217;t send me an email, because my @mozmonkey email system is not working right now.</p>
<p>If you see me there, reach out a hand and say &#8220;Hello&#8221;.  Here&#8217;s what <a href="http://blog.mozmonkey.com/about/" title="Picture of Jeremy Gillick">I look like</a>.  And here&#8217;s a more <a href="http://www.flickr.com/photos/polvero/766007760/" title="Another picture of Jeremy Gillick">recent picture</a> by <a href="http://www.dustindiaz.com/" title="Dustin Diaz's Blog">Dustin Diaz</a> on the 4th of July.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/ajax-experience-here-i-come/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#8220;display: none&#8221; is NOT Accessible</title>
		<link>http://blog.mozmonkey.com/2007/display-none-is-not-accessible/</link>
		<comments>http://blog.mozmonkey.com/2007/display-none-is-not-accessible/#comments</comments>
		<pubDate>Mon, 09 Jul 2007 18:35:12 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Accessibility]]></category>

		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/display-none-is-not-accessible/</guid>
		<description><![CDATA[Just a quick note to say that using &#8220;display:none&#8221; is not as accessible as many web developers think.  I know I fell into this in several of my earlier examples.  The general though is: &#8220;To keep my app accessible I need to include content that will only be read by screen readers and [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick note to say that using &#8220;display:none&#8221; is not as accessible as many web developers think.  I know I fell into this in several of my earlier examples.  The general though is: &#8220;To keep my app accessible I need to include content that will only be read by screen readers and not to my visual audience&#8221;.  This type of content can include submit buttons for simple dropdown lists, textual headers and content that needs to be hidden until a browser event occurs.  The simple solution is just to add &#8220;display:none&#8221; to that element to hide it from view &#8212; but this is wrong.</p>
<p>The problem is that modern screen readers <em>do</em> understand CSS and if you use &#8220;display:none&#8221;, they will assume this content should be ignored and will skip it entirely.  This of course was not your intention and leaves all that work and consideration for nothing.</p>
<p>A better solution is to hide the content off-screen until you need it:</p>
<pre>
.accessible { position: absolute; top: -9999px; left: -9999px; }
</pre>
<p>&#8211; </p>
<p>You&#8217;ll find that once you start supporting accessibility through Progressive Enhancement (<a href="http://domscripting.com/blog/display/41">Hijax</a>), development becomes more straight forward and easier to maintain.  Keep it accessible.</p>
<p>&#8211;</p>
<p>Discuss&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/display-none-is-not-accessible/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My Simpsons Avatar</title>
		<link>http://blog.mozmonkey.com/2007/my-simpsons-avatar-2/</link>
		<comments>http://blog.mozmonkey.com/2007/my-simpsons-avatar-2/#comments</comments>
		<pubDate>Mon, 09 Jul 2007 01:42:07 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/my-simpsons-avatar-2/</guid>
		<description><![CDATA[Finally, the Simpsons Movie is almost here (7/27/07).



]]></description>
			<content:encoded><![CDATA[<p>Finally, the Simpsons Movie is almost here (<a href="http://www.simpsonsmovie.com/">7/27/07</a>).</p>
<div class="blockImg">
<a href='http://blog.mozmonkey.com/wp-content/uploads/2007/07/simpsons_small.jpg' title='My Simpsons Avatar'><img src='http://blog.mozmonkey.com/wp-content/uploads/2007/07/simpsons_small.jpg' alt='My Simpsons Avatar' /></a>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/my-simpsons-avatar-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lost: The Answers? - I&#8217;m Still Lost</title>
		<link>http://blog.mozmonkey.com/2007/lost-the-answers-im-still-lost/</link>
		<comments>http://blog.mozmonkey.com/2007/lost-the-answers-im-still-lost/#comments</comments>
		<pubDate>Tue, 22 May 2007 19:01:01 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/lost-the-answers-im-still-lost/</guid>
		<description><![CDATA[I&#8217;ve been in a love/hate relationship with the television show &#8220;Lost&#8221; since it started.  I do enjoy some of the plot twists and the character flashback that, over time, show how all the characters relate. The whole story is an interesting concept, and Ben is the perfect villain.  But, since the beginning I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been in a love/hate relationship with the television show &#8220;Lost&#8221; since it started.  I <em>do</em> enjoy some of the plot twists and the character flashback that, over time, show how all the characters relate. The whole story is an interesting concept, and Ben is the perfect villain.  But, since the beginning I&#8217;ve hated the countless plot twists without any answers (do the producers even know where it&#8217;s going), the number filler episodes that draw out 5 minutes of content over an entire hour &#8212; for example: Boone dieing, Lock&#8217;s obsession with the hatch and Paulo and what&#8217;s-her-name dying (they weren&#8217;t even part of the show).</p>
<p>Lost has been loosing much of it&#8217;s audience for exactly these reasons.  Instead of the producers fixing the problem, they instead narrate a review episode, called &#8220;The Answers&#8221; where they explain all that we have learned throughout the series.  The episode felt like they were trying to convince all of us that there <em>have</em> been answers &#8212; really &#8212; we must not have seen them.  The problem is that the answers so far are either not directly part of the main plot line or open other questions.</p>
<p>The types of answers that don&#8217;t matter are things like how Locks&#8217; Dad is the same person that conned Sawer&#8217;s parents.  Or that Jack&#8217;s father is also Claire&#8217;s dad.  Oh and Kate killed her father.  Do the producers have &#8220;daddy&#8221; problems?  How about how the girl Sawer conned helped Kate later on &#8212; that was really important, right?  These things are interesting, but don&#8217;t give a whole lot to the story.  They really aren&#8217;t answers.</p>
<p>Most of the other &#8220;answers&#8221; really didn&#8217;t answer anything but opened up more.  For example, we thought that the others were part of the Dharma Initiative.  Well, the show answered that question by&#8230;spoiler alert&#8230;telling us the &#8220;others&#8221; were rebels who murdered everyone in the Dharma Initiative with the help of Ben.  Ok, then where did the rebels come from?  Why are they at war the plane crash survivors? And who the f***k is Jacob?!?</p>
<p>This is why the audience feels like there haven&#8217;t been any answers, because the answers aren&#8217;t leading anywhere.  They don&#8217;t really contribute, and I&#8217;m starting to get really pissed off.  I&#8217;m considering tuning out until the last season.  Because I&#8217;m reasonably sure not much will happen until then and the last few episodes will be a huge explosion of revelation.</p>
<p>If the producers want to keep their audience, they need to answer some big questions first:  Why are the others at war with the survivors?  Who is Jacob, why is he there and where did he come from? What&#8217;s with the black entity on the island?   Give us real answers, then feel free to open a few more questions.  We want to feel progress.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/lost-the-answers-im-still-lost/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Web Design [and developer] Survey, 2007</title>
		<link>http://blog.mozmonkey.com/2007/the-web-design-and-developer-survey-2007/</link>
		<comments>http://blog.mozmonkey.com/2007/the-web-design-and-developer-survey-2007/#comments</comments>
		<pubDate>Tue, 24 Apr 2007 17:03:52 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/the-web-design-and-developer-survey-2007/</guid>
		<description><![CDATA[From A List Apart:


Designers, developers, project managers. Writers and editors. Information architects and usability specialists. People who make websites have been at it for more than a dozen years, yet almost nothing is known, statistically, about our profession. Who are we? Where do we live? What are our titles, our skills, our educational backgrounds? Where [...]]]></description>
			<content:encoded><![CDATA[<p>From <a href="http://alistapart.com/">A List Apart</a>:</p>
<blockquote>
<p>
Designers, developers, project managers. Writers and editors. Information architects and usability specialists. People who make websites have been at it for more than a dozen years, yet almost nothing is known, statistically, about our profession. Who are we? Where do we live? What are our titles, our skills, our educational backgrounds? Where and with whom do we work? What do we earn? What do we value?
</p>
<p>
It’s time we learned the answers to these and other questions about web design. And nobody is better qualified than the readers of A List Apart to provide the answers. Participate in our first annual <a href="http://alistapart.com/articles/webdesignsurvey" title="The Web Design [and developer] Survey, 2007">survey</a> to increase knowledge of web design and boost respect for the profession. Selected participants, chosen by random drawing, will win one free ticket to An Event Apart event held in the continental U.S.; an Apple 30GB video iPod, an Event Apart jump drive, or a funky A List Apart T-shirt.
</p>
</blockquote>
<p>This <a href="http://alistapart.com/articles/webdesignsurvey" title="The Web Design [and developer] Survey, 2007">survey</a> is so important for our industry.  How often have you wondered where your salary fit within the industry standard?  Are you being paid enough?  How do you rank among your peers?  Of course these questions are <em>taboo</em> to ask of coworkers, but this survey will help break the ice.</p>
<p><a href="http://alistapart.com/articles/webdesignsurvey" title="The Web Design [and developer] Survey, 2007">TAKE THE SURVEY!</a>
</p>
<p class="blockImg">
<a href="http://alistapart.com/articles/webdesignsurvey" title="The Web Design [and developer] Survey, 2007"><img src="http://aneventapart.com/webdesignsurvey/templates/ala/images/i-took-the-2007-survey.gif" alt="I Took the survey" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/the-web-design-and-developer-survey-2007/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I&#8217;m Naked and it feels great&#8230;</title>
		<link>http://blog.mozmonkey.com/2007/im-naked-and-it-feels-great/</link>
		<comments>http://blog.mozmonkey.com/2007/im-naked-and-it-feels-great/#comments</comments>
		<pubDate>Thu, 05 Apr 2007 06:52:16 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Funny]]></category>

		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/im-naked-and-it-feels-great/</guid>
		<description><![CDATA[&#8230;a bit brisk though.
If you&#8217;re wondering why my site is missing it&#8217;s design and appears a bit &#8216;naked&#8217;, it&#8217;s because I&#8217;m participating in CSS Naked Day &#8216;07.  To support web standards this site will be naked on April 5th.
CSS Naked Day is the brainchild of Dustin Diaz:


&#8220;The idea behind this event is to promote [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;a bit brisk though.</p>
<p>If you&#8217;re wondering why my site is missing it&#8217;s design and appears a bit &#8216;naked&#8217;, it&#8217;s because I&#8217;m participating in <a href="http://naked.dustindiaz.com/">CSS Naked Day &#8216;07</a>.  To support web standards this site will be naked on April 5th.</p>
<p><a href="http://naked.dustindiaz.com/">CSS Naked Day</a> is the brainchild of <a href="http://www.dustindiaz.com/">Dustin Diaz</a>:</p>
<blockquote>
<p>
&#8220;The idea behind this event is to promote Web Standards. Plain and simple. This includes proper use of (x)html, semantic markup, a good hierarchy structure, and of course, a good &#8216;ol play on words. It&#8217;s time to show off your &lt;body&gt;.&#8221;
</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/im-naked-and-it-feels-great/feed/</wfw:commentRss>
		</item>
		<item>
		<title>GE Evolution™  Series Locomotive</title>
		<link>http://blog.mozmonkey.com/2007/ge-evolution%e2%84%a2-series-locomotive/</link>
		<comments>http://blog.mozmonkey.com/2007/ge-evolution%e2%84%a2-series-locomotive/#comments</comments>
		<pubDate>Wed, 28 Mar 2007 19:18:11 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/ge-evolution%e2%84%a2-series-locomotive/</guid>
		<description><![CDATA[



I&#8217;m not the type of guy that gets excited about new locomotives, but this is something cool that I caught while browsing through inhabitat.com.


The folks at General Electric have recently put together a series of informative, compelling, and visually stunning videos as part of their Ecomagination “commitment.” Here’s a video about their Evolution Series Locomotive, [...]]]></description>
			<content:encoded><![CDATA[<p class="blockImg">
<a href="http://blog.mozmonkey.com/wp-content/uploads/2007/03/ecomagination.jpg"><br />
<img src='http://blog.mozmonkey.com/wp-content/uploads/2007/03/ecomagination.jpg' alt='GE Ecomagination' width="450" /></a>
</p>
<p>I&#8217;m not the type of guy that gets excited about new locomotives, but this is something cool that I caught while browsing through <a href="http://www.inhabitat.com/">inhabitat.com</a>.</p>
<blockquote>
<p>
The folks at General Electric have recently put together a series of informative, compelling, and visually stunning <a href="http://www.youtube.com/watch?v=u4Ree17E1es">videos</a> as part of their Ecomagination “commitment.” Here’s a video about their <a href="http://ge.ecomagination.com/@v=020220071742@/site/index.html#erie">Evolution Series Locomotive</a>, a lean mean high-performing machine which truly “defies the perception that greater efficiency means less power,” using 189,000 fewer gallons of fuel in its lifetime than its predecessors….
</p>
</blockquote>
<p><a href="http://www.inhabitat.com/2007/03/24/general-electric-ecoimagination/">via inhabitat.com</a></p>
<p>The coolest thing was the numbers on the GE site (located from the <a href="http://ge.ecomagination.com/@v=020220071742@/site/index.html#erie">video</a> page at &#8216;Behind the Story&#8217; > Facts):</p>
<blockquote>
<ul>
<li>
If every locomotive in North America were as clean as GE&#8217;s Evolution&#8230;[it] would be like removing 48 million cars from the road each year.
</li>
<li>
If the largest railroad in North America switch half its locomotive fleet to the GE Evolution, annual carbon dioxide emissions would be reduced by an amount equal to planting more than 31,000 acres of trees.
</li>
<li>
Compared to locomotives built in 2004, a single Evolution locomotive will consume 315,000 fewer gallons of fuel in its lifetime&#8230;
</li>
</ul>
</blockquote>
<p>I always love seeing innovations like these.  We wont stop, or reverse, global warming with a single solution but many smaller steps until we reach the tipping point.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/ge-evolution%e2%84%a2-series-locomotive/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SXSW is halfway over</title>
		<link>http://blog.mozmonkey.com/2007/sxsw-is-halfway-over/</link>
		<comments>http://blog.mozmonkey.com/2007/sxsw-is-halfway-over/#comments</comments>
		<pubDate>Mon, 12 Mar 2007 15:47:22 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/sxsw-is-halfway-over/</guid>
		<description><![CDATA[It&#8217;s 10a on Monday morning, I&#8217;m sitting in the Ajax and Accessibility panel (Ajax Kung Fu Meets Accessibility Feng Shui) with Jeremy Keith and  Derek Featherstone and I just realized that South by Southwest is about halfway over.  The last couple days have been a whirlwind of panels, seminars, networking and almost no [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s 10a on Monday morning, I&#8217;m sitting in the Ajax and Accessibility panel (<a href="http://2007.sxsw.com/interactive/programming/panels/?action=show&#038;id=IAP060108">Ajax Kung Fu Meets Accessibility Feng Shui</a>) with Jeremy Keith and  Derek Featherstone and I just realized that South by Southwest is about halfway over.  The last couple days have been a whirlwind of panels, seminars, networking and almost no sleep &#8212; and it&#8217;s all be worth it.</p>
<p>OK, back to listening to the panel&#8230;</p>
<p class="blockImg"><a href='http://www.flickr.com/photos/18756971@N00/417860271/in/set-72157594580944041/' title='SXSW 07 Badge'><img src='http://blog.mozmonkey.com/wp-content/uploads/2007/03/p1010061.jpg' alt='SXSW 07 Badge' /></a></p>
<p class="blockImg"><a href='http://www.flickr.com/photos/18756971@N00/417857545/in/set-72157594580944041/' title='Hand Sanitizing System'><img src='http://blog.mozmonkey.com/wp-content/uploads/2007/03/p1010044.jpg' alt='Hand Sanitizing System' /></a></p>
<p class="blockImg"><a href='http://www.flickr.com/photos/18756971@N00/417857474/in/set-72157594580944041/' title='Hand Sanitizer'><img src='http://blog.mozmonkey.com/wp-content/uploads/2007/03/p1010043.jpg' alt='Hand Sanitizer' /></a></p>
<p class="blockImg"><a href='http://www.flickr.com/photos/18756971@N00/417860156/in/set-72157594580944041/' title='I Have Clean Hands'><img src='http://blog.mozmonkey.com/wp-content/uploads/2007/03/p1010059.jpg' alt='I Have Clean Hands' /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/sxsw-is-halfway-over/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Start of SXSW</title>
		<link>http://blog.mozmonkey.com/2007/the-start-of-sxsw/</link>
		<comments>http://blog.mozmonkey.com/2007/the-start-of-sxsw/#comments</comments>
		<pubDate>Sat, 10 Mar 2007 18:35:39 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/the-start-of-sxsw/</guid>
		<description><![CDATA[This year I decided to find out what this whole SXSW conference thing was all about.  Yesterday I hopped on a plane and when it landed I was surrounded by nerds, geeks and trendy Web 2.0 developers and designers &#8212; I suddenly felt home.  I spent the day talking to and hanging out [...]]]></description>
			<content:encoded><![CDATA[<p>This year I decided to find out what this whole <a href="http://2007.sxsw.com/">SXSW</a> conference <em>thing</em> was all about.  Yesterday I hopped on a plane and when it landed I was surrounded by nerds, geeks and trendy Web 2.0 developers and designers &#8212; I suddenly felt home.  I spent the day talking to and hanging out with the likes of <a href="http://steve.ganz.name/blog/">Steve Ganz</a>, <a href="http://www.kimberlyblessing.com/">Kimberly Blessing</a>, <a href="http://kentbrewster.com/">Kent Brewster</a>, <a href="http://elitizmr.com/wiki/Stephanie_Trimble">Stephanie Trimble</a>, <a href="http://www.dylanschiemann.com/">Dylan Schiemann</a>, Gilnda the Good Witch, among others.</p>
<p class="blockImg"<img src='http://blog.mozmonkey.com/wp-content/uploads/2007/03/p1010001.jpg' alt='SXSW Registration' />
<p>Right now I&#8217;m in the &#8220;How to Bluff Your Way in Web 2.0&#8243; hosted by the very funny Jeremy Keith and Andy Budd.  It is a 90 minute mockery of Ajax, Web2.0 and important site design.  Half the people in the room have their laptops open and are playing Buzzword <a href="http://www.partybingo.com">Bingo</a> &#8212; 2 people have won so far.</p>
<p class="blockImg"<img src='http://blog.mozmonkey.com/wp-content/uploads/2007/03/p1010024.jpg' alt='Buffalo Billards' />
<p class="blockImg"<img src='http://blog.mozmonkey.com/wp-content/uploads/2007/03/p1010013.jpg' alt='Sunset in Austin' />
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/the-start-of-sxsw/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ClassAnim &#038; HoverHijax: Keeping Presentation out of Your JavaScript</title>
		<link>http://blog.mozmonkey.com/2007/classanim-hoverhijax-keeping-presentation-out-of-your-javascript/</link>
		<comments>http://blog.mozmonkey.com/2007/classanim-hoverhijax-keeping-presentation-out-of-your-javascript/#comments</comments>
		<pubDate>Tue, 20 Feb 2007 21:44:23 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Code]]></category>

		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/classanim-hoverhijax-keeping-presentation-out-of-your-javascript/</guid>
		<description><![CDATA[Ever since the dawn of CSS and compliant browsers web developers have been squeezing the presentation layer out of HTML and into external CSS files.  It has become a web development battle cry and having a tableless website was worn as your badge of honor.  To the web dev elite, having &#60;br&#62; tags [...]]]></description>
			<content:encoded><![CDATA[<p>Ever since the dawn of CSS and compliant browsers web developers have been squeezing the presentation layer out of HTML and into external CSS files.  It has become a web development battle cry and having a tableless website was worn as your badge of honor.  To the web dev elite, having &lt;br&gt; tags in your HTML is a sin punishable by death (or at least severe laughing and poking).</p>
<p>Now we are moving in to the so-called &#8216;Web 2.0&#8242; era.  The time of shiny websites with page refreshes cut down to a select few actions.  Animations and special effects compliment the content as it fades in and out of view.  Libraries like <a href="http://developer.yahoo.com/yui/">YUI</a>, <a href="http://www.dojotoolkit.org/">Dojo</a> and <a href="http://www.prototypejs.org/">Prototype</a> are making these things increasingly easy and well supported.  But with all this, I feel we&#8217;re forgetting something.  Where&#8217;d the presentation layer go?</p>
<p>When you&#8217;re animating a rollover or fading some colors do you stop and thing what you&#8217;re doing?  You&#8217;re putting the colors, dimensions and effects into your JavaScript!  The presentation layer that you&#8217;ve worked so hard to externalize is leaking into your JavaScript code.  This is a slippery slope that we have to prevent now.  The presentation layer should remain in the CSS, markup in the HTML and logic in the JavaScript.  If you want to change the colors or sizes the elements are morphed into, you should be making those changes in CSS.</p>
<p>This brings me to my solution.  I present to you an extension to the <a href="http://developer.yahoo.com/yui/animation/">YUI animation library</a> that will perform your cool animations from the styles defined in your CSS.  I call it ClassAnim.</p>
<h3>How it works</h3>
<ol>
<li>ClassAnim starts by reading the styles from the base element.</li>
<li>Then it quickly applies the new CSS class to it, reads the new styles and removes the class.  This happens quicker than the user can notice.</li>
<li>Now it compares the styles from both versions, extracts the differences that can be animated, and invokes the animation.</li>
</ol>
<p>With ClassAnim, when you want to make a color or dimensional change you don&#8217;t have to go searching through your JavaScript, you make the change straight in the CSS &#8212; the way it was meant to be.</p>
<p><a href="/pages/examples/ClassAnim/1/" title="See the ClassAnim demo">See the demo</a><br />
<span class="note">(Please note: This API is still beta)</span></p>
<h3>Link Rollovers (HoverHijax)</h3>
<p>Here&#8217;s a simple implementation for rollovers.  You&#8217;ll notice that all the links on my site have a fading hover effect on them (try mousing over one).  This uses a simplified version of ClassAnim that I call HoverHijax.  It only animates colors and does it on mouseover and mouseout.  My original prototype would actually honor the :hover pseudo class, but good &#8216;ol Internet Explorer wasn&#8217;t allowing me to get to those styles through JavaScript.  The current implementation adds a &#8216;hover&#8217; class to all links when they are being moused over.</p>
<p><a href="/pages/examples/HoverHijax/1/" title="See the HoverHijax demo">See the demo</a><br />
<span class="note">(Please note: This API is still beta)</span></p>
<p>The best thing with HoverHijax is that it follows the <a href="http://en.wikipedia.org/wiki/Progressive_Enhancement">Progressive Enhancement</a> (or <a href="http://domscripting.com/blog/display/41">Hijax</a>) strategy and can easily work with or without JavaScript <strong>as long as</strong> you use the &#8216;hover&#8217; class along with a &#8216;:hover&#8217; pseudo class.  The only difference is that without JavaScript it wont have the cool fade effect.</p>
<pre class="code">
a:hover, a.hover {

   color: #000;

}</pre>
<h3>Where to Download</h3>
<p>You can download these new &#8216;experimental&#8217; APIs from my <a href="http://src.mozmonkey.com/JavaScript/APIs/">subversion repository</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/classanim-hoverhijax-keeping-presentation-out-of-your-javascript/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Browser Wars Episode II</title>
		<link>http://blog.mozmonkey.com/2007/browser-war-episode-ii/</link>
		<comments>http://blog.mozmonkey.com/2007/browser-war-episode-ii/#comments</comments>
		<pubDate>Tue, 20 Feb 2007 18:29:03 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Events]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/browser-war-episode-ii/</guid>
		<description><![CDATA[Looks like Yahoo is getting pretty active on hosting exciting web development events!  In their latest offering they will be hosting &#8220;Browser War Episode II&#8221; where the &#8220;Jedi Masters&#8221; behind Internet Explorer, Firefox and Opera will converge on a single floor to talk about DOM scripting &#8212; and perhaps we&#8217;ll even see a death [...]]]></description>
			<content:encoded><![CDATA[<p>Looks like Yahoo is getting pretty active on hosting exciting web development events!  In their latest offering they will be hosting &#8220;<a href="http://blog.mozmonkey.com/wp-admin/%3Cbr%3E%3C/a%3Ehttp://www.svwebbuilder.com/page/2%2F28%2F07+Browser+War+Episode+II">Browser War Episode II</a>&#8221; where the &#8220;Jedi Masters&#8221; behind Internet Explorer, Firefox and Opera will converge on a single floor to talk about DOM scripting &#8212; and perhaps we&#8217;ll even see a death match.  OK, that&#8217;s my wishful thinking creeping into my blog again.  This will all be moderated by the very smart Douglas Crockford.</p>
<p>This should be a very exciting and insightful night!<br />
<a href="http://www.svwebbuilder.com/page/2%2F28%2F07+Browser+War+Episode+II"><br />
http://www.svwebbuilder.com/page/2%2F28%2F07+Browser+War+Episode+II</a></p>
<dl>
<dt>What: </dt>
<dt>
</dt>
<dd>Browser Wars: Episode II Attack of the DOMs</dd>
<dt>When:</dt>
<dd>Feb 28, 2007 Wed 6:00pm</dd>
<dt>Where:</dt>
<dd>Yahoo Building C, 701 First Avenue, Sunnyvale , California 94089</dd>
<dt>Who:</dt>
<dd>Douglas Crockford, Architect at Yahoo &amp; Founder of JSON (Moderator &amp; Host)<br />
Chris Wilson, Group Program Manager of the Internet Explorer Platform at Microsoft<br />
Mike Shaver, Director of Ecosystem Development at Mozilla Corporation<br />
Håkon Wium Lie, CTO at Opera &amp; Founder of CSS</dd>
</dl>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/browser-war-episode-ii/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Web 2.0 &#8230; The Machine is Us/ing Us</title>
		<link>http://blog.mozmonkey.com/2007/web-20-the-machine-is-using-us/</link>
		<comments>http://blog.mozmonkey.com/2007/web-20-the-machine-is-using-us/#comments</comments>
		<pubDate>Wed, 14 Feb 2007 19:19:22 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Insipiring]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/web-20-the-machine-is-using-us/</guid>
		<description><![CDATA[I just saw this video and it&#8217;s a really inspiring visualization of the web, semantic HTML and how it has connected the world.  Makes me want to go out and compile some mashups!  Enjoy.


&#8220;We are the web&#8230;teach the machine&#8221;
]]></description>
			<content:encoded><![CDATA[<p>I just saw this video and it&#8217;s a really inspiring visualization of the web, semantic HTML and how it has connected the world.  Makes me want to go out and compile some mashups!  Enjoy.</p>
<p><object height="350" width="425" type="application/x-shockwave-flash" data="http://www.youtube.com/v/6gmP4nk0EOE"><param name="movie" value="http://www.youtube.com/v/6gmP4nk0EOE"></param><param name="wmode" value="transparent"></param>
</object></p>
<p>&#8220;We are the web&#8230;teach the machine&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/web-20-the-machine-is-using-us/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Site Design &#8212; Built with Web 2.0 ;)</title>
		<link>http://blog.mozmonkey.com/2007/new-site-design-built-with-web-20/</link>
		<comments>http://blog.mozmonkey.com/2007/new-site-design-built-with-web-20/#comments</comments>
		<pubDate>Mon, 12 Feb 2007 21:29:55 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/new-site-design-built-with-web-20/</guid>
		<description><![CDATA[Last weekend I had some spare time, a picture and a bit of inspiration and decided to redesign my website.  The reason it has taken me so long to create my own design is that, simply put, I&#8217;m not a designer.  I usually don&#8217;t know where to begin and how to get the [...]]]></description>
			<content:encoded><![CDATA[<p>Last weekend I had some spare time, a picture and a bit of inspiration and decided to redesign my website.  The reason it has taken me so long to create my own design is that, simply put, I&#8217;m not a designer.  I usually don&#8217;t know where to begin and how to get the design to flow correctly.   I mean, I know good design and can even sometimes spit out things that are viewable, but I&#8217;m no designer.</p>
<p>So where did I start?  &lt;Leans back in chair&gt; It all started a couple weeks ago when my Dad and I decided to go hiking up at Sanborn Park.  Originally we were going to go Jeeping, but it had just rained the night before and his Jeep doesn&#8217;t have a winch yet, so we went hiking instead.  The conditions were perfect and I was able to snap a few pretty <a href="http://www.flickr.com/photos/18756971@N00/tags/sanbornpark/">good pictures</a>.  Out of the set, I was really drawn to the <a href="http://www.flickr.com/photos/18756971@N00/383053181/">misty trail image</a>.  I liked it so much I decided to play with it in <a href="http://www.gimp.org/">GIMP</a> and afterwards decided to design my entire site around it.  Once I had the picture, the rest of the site practically designed itself.</p>
<p>So browse around and let me know how you like it.  I&#8217;ve also added some cool new Web 2.0 features:</p>
<ul>
<li>All links have a new animated fading rollover effect pulled in from the CSS and animated with YUI.
<ul>
<li>This is part of an API I&#8217;m building in order to keep presentatin separate from the JavaScript.  More on this soon!</li>
</ul>
</li>
<li>The tagline text fades into view when the page loads.  I plan to add more random statements over time &#8212; any suggestions?</li>
<li>Comment submission is now done with XHR.  I plan to make this more robust in the future.</li>
<li>And of course, shiny title bars.</li>
</ul>
<p>The fading effects and XHR comments were all built with the <a href="http://developer.yahoo.com/yui/">YUI libraries</a>.</p>
<p class="blockImg"> <img src="http://blog.mozmonkey.com/wp-content/uploads/2007/02/6891.jpg" alt="Misty Trail - Sanborn Park" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/new-site-design-built-with-web-20/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The YUI&#8217;s First Year Party</title>
		<link>http://blog.mozmonkey.com/2007/the-yuis-first-year-party/</link>
		<comments>http://blog.mozmonkey.com/2007/the-yuis-first-year-party/#comments</comments>
		<pubDate>Sat, 10 Feb 2007 00:23:08 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/the-yuis-first-year-party/</guid>
		<description><![CDATA[ If you haven&#8217;t heard yet, the YUI team has put out an open invitation to their first year party.
Quoting Nate Koechley from the YUI blog:
 This month the YUI Library turns one year old. When we started last year I wrote that I was “thrilled to have you with us.” That’s never been truer [...]]]></description>
			<content:encoded><![CDATA[<p> If you haven&#8217;t heard yet, the <a href="http://developer.yahoo.com/yui">YUI</a> team has put out an open invitation to their first year party.</p>
<p>Quoting Nate Koechley from the YUI blog:</p>
<blockquote><p> This month the YUI <a href="http://www.questia.com">Library</a> turns one year old. When we started last year I wrote that I was “thrilled to have you with us.” That’s never been truer than it is today. We owe an outstanding first year to you. Libraries aren’t achievements themselves — it’s what people do with them that’s exceptional. We love everything you’re doing, so we’re throwing a party to thank you, our amazing community.</p>
<p>Join us Thursday, February 22nd, from 5:30 to 8:30 PM, at Yahoo! HQ in Sunnyvale, California. Visit Upcoming.org for details and to RSVP. 300 people max, so RSVP early!</p></blockquote>
<p>You can bet that I&#8217;ll be there along with many other WebDevs from PayPal.  The guest list is up to 197, so <a href="http://upcoming.org/event/148641">RSVP now!</a></p>
<p class="blockImg"> <img src="http://blog.mozmonkey.com/wp-content/uploads/2006/10/beer_squared.thumbnail.jpg" alt="Czech Beer" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/the-yuis-first-year-party/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Version of OpenDownload</title>
		<link>http://blog.mozmonkey.com/2007/new-version-of-opendownload/</link>
		<comments>http://blog.mozmonkey.com/2007/new-version-of-opendownload/#comments</comments>
		<pubDate>Fri, 26 Jan 2007 05:19:08 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Extensions]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2007/new-version-of-opendownload/</guid>
		<description><![CDATA[I finally got around to updating the OpenDownload extension and it&#8217;s now better than ever.  Firefox 2.0 now hides the &#8220;Open With&#8230;&#8221; and &#8220;Save&#8221; options when downloading certain file types.  When this happens now OpenDownload adds a &#8220;Run&#8221; button to the dialog.  See screenshot below:

I also fixed the bug that would, sometimes, [...]]]></description>
			<content:encoded><![CDATA[<p>I finally got around to updating the <a href="http://mozmonkey.com/" title="Download OpenDownload from Mozmonkey.com">OpenDownload</a> extension and it&#8217;s now better than ever.  Firefox 2.0 now hides the &#8220;Open With&#8230;&#8221; and &#8220;Save&#8221; options when downloading certain file types.  When this happens now OpenDownload adds a &#8220;Run&#8221; button to the dialog.  See screenshot below:</p>
<p class="blockImg"><img src="http://blog.mozmonkey.com/wp-content/uploads/2007/01/opendownload.gif" alt="OpenDownload screenshot" id="image27" /></p>
<p>I also fixed the bug that would, sometimes, execute the file multiple times.</p>
<p>I&#8217;ll be trying to find time to update my other extensions.  Recently I&#8217;ve changed jobs and am working on a couple other open source projects.  I can&#8217;t go into much detail right now about the open source projects I&#8217;m working on, but expect to hear more soon.</p>
<p>I&#8217;ve been at PayPal for about a month now and am really enjoying it.  They hired me into their web development platform team as the JavaScript specialist.  We&#8217;ve adopted the <a href="http://developer.yahoo.com/yui/" title="The Yahoo User Interface JavaScript Libraries">YUI libraries</a> and they are working great to conserve time and provide really customized functionality.  Will be sharing more soon.</p>
<p>Speaking of PayPal&#8230;</p>
<form method="post" action="https://www.paypal.com/cgi-bin/webscr">
<p>
<input value="_xclick" name="cmd" type="hidden" />
<input value="moz_jg@yahoo.com" name="business" type="hidden" />
<input value="The Poor Extension Developer Fund" name="item_name" type="hidden" />
<input value="2" name="no_shipping" type="hidden" />
<input value="1" name="no_note" type="hidden" />
<input value="USD" name="currency_code" type="hidden" />
<input value="0" name="tax" type="hidden" />
<input value="US" name="lc" type="hidden" />
<input value="PP-DonationsBF" name="bn" type="hidden" /></p>
<p class="blockImg">
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but04.gif" /></p>
</form>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2007/new-version-of-opendownload/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Updates for Firefox 2.0</title>
		<link>http://blog.mozmonkey.com/2006/updates-for-firefox-20/</link>
		<comments>http://blog.mozmonkey.com/2006/updates-for-firefox-20/#comments</comments>
		<pubDate>Tue, 28 Nov 2006 05:54:48 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Extensions]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2006/updates-for-firefox-20/</guid>
		<description><![CDATA[Good news everybody (cue up Professor Farnsworth), I&#8217;ve finally got my server back up to 99% and have upgraded all the extensions for Firefox 2.0.  You can go to my extensions list (http://mozmonkey.com) and download the latest versions there (NOTE: I haven&#8217;t updated the version numbers listed on the site yet).  I&#8217;m also [...]]]></description>
			<content:encoded><![CDATA[<p>Good news everybody (cue up Professor Farnsworth), I&#8217;ve finally got my server back up to 99% and have upgraded all the extensions for Firefox 2.0.  You can go to my extensions list (<a href="http://mozmonkey.com" title="The BEST Firefox extensions in the world ;o)">http://mozmonkey.com</a>) and download the latest versions there (NOTE: I haven&#8217;t updated the version numbers listed on the site yet).  I&#8217;m also updating my update.rdf and submitting the extensions to addons right now.</p>
<p>Even better is that all the extensions have now been committed to my shiny new Subversion source control that&#8217;ll I&#8217;ll open to the public sometime next week.  When I do I&#8217;ll also release and article on how to download and painlessly upgrade extension version numbers with my handy build scripts.</p>
<p>I hope you enjoy the extensions.</p>
<form method="post" action="https://www.paypal.com/cgi-bin/webscr">
<p>
<input value="_xclick" name="cmd" type="hidden" />
<input value="moz_jg@yahoo.com" name="business" type="hidden" />
<input value="The Poor Extension Developer Fund" name="item_name" type="hidden" />
<input value="2" name="no_shipping" type="hidden" />
<input value="1" name="no_note" type="hidden" />
<input value="USD" name="currency_code" type="hidden" />
<input value="0" name="tax" type="hidden" />
<input value="US" name="lc" type="hidden" />
<input value="PP-DonationsBF" name="bn" type="hidden" /></p>
<p class="blockImg">
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but04.gif" /></p>
</form>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2006/updates-for-firefox-20/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Extensions for FF2.0 and Server Update</title>
		<link>http://blog.mozmonkey.com/2006/extensions-for-ff20-and-server-update/</link>
		<comments>http://blog.mozmonkey.com/2006/extensions-for-ff20-and-server-update/#comments</comments>
		<pubDate>Mon, 13 Nov 2006 22:54:56 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Extensions]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2006/extensions-for-ff20-and-server-update/</guid>
		<description><![CDATA[I just received a response from http://flock.com, who are the friendly folks that provide my web hosting, and they are trying to resolve my server problems now.  I&#8217;ll send another update out shortly.  Sorry for the delay and thank you for your patients.
]]></description>
			<content:encoded><![CDATA[<p>I just received a response from http://flock.com, who are the friendly folks that provide my web hosting, and they are trying to resolve my server problems now.  I&#8217;ll send another update out shortly.  Sorry for the delay and thank you for your patients.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2006/extensions-for-ff20-and-server-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Delay in Firefox 2.0 Extensions Release</title>
		<link>http://blog.mozmonkey.com/2006/delay-in-firefox-20-extensions-release/</link>
		<comments>http://blog.mozmonkey.com/2006/delay-in-firefox-20-extensions-release/#comments</comments>
		<pubDate>Mon, 06 Nov 2006 18:26:33 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Extensions]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2006/delay-in-firefox-20-extensions-release/</guid>
		<description><![CDATA[I know many of you are still patiently waiting for my extensions to be compatible with Firefox 2.0, but I continue to have severe web server issues.  Somehow the server that hosts my extension site has come down and I cannot access it.  I&#8217;m trying to get the hosting company to reboot it [...]]]></description>
			<content:encoded><![CDATA[<p>I know many of you are still patiently waiting for my extensions to be compatible with Firefox 2.0, but I continue to have severe web server issues.  Somehow the server that hosts my extension site has come down and I cannot access it.  I&#8217;m trying to get the hosting company to reboot it in safe mode right now so I can get to my code and give all of you upgrades to the extensions.</p>
<p>In the meantime, if any of you have hacked the source code and upgraded my extensions, please post a link to them here.</p>
<p>Again, sorry for the delay and thanks for the continued support.  You&#8217;ll get updates soon.</p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<p><input type="hidden" name="cmd" value="_xclick" />
<input type="hidden" name="business" value="moz_jg@yahoo.com" />
<input type="hidden" name="item_name" value="The Poor Extension Developer Fund" />
<input type="hidden" name="no_shipping" value="2" />
<input type="hidden" name="no_note" value="1" />
<input type="hidden" name="currency_code" value="USD" />
<input type="hidden" name="tax" value="0" />
<input type="hidden" name="lc" value="US" />
<input type="hidden" name="bn" value="PP-DonationsBF" /></p>
<p class="blockImg">
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but04.gif" /></p>
</form>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2006/delay-in-firefox-20-extensions-release/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Extension Upgrades for Firefox 2.0</title>
		<link>http://blog.mozmonkey.com/2006/extension-upgrades-for-firefox-20/</link>
		<comments>http://blog.mozmonkey.com/2006/extension-upgrades-for-firefox-20/#comments</comments>
		<pubDate>Sun, 29 Oct 2006 06:35:35 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2006/extension-upgrades-for-firefox-20/</guid>
		<description><![CDATA[I&#8217;ve been getting loads of emails everyday from people requesting, or demanding in some cases, that I upgrade my extensions to be compatible for Firefox 2.0.  Be assured that I am working on this.  Right now I&#8217;m trying to get my server back up to 100% after it had been hacked twice.  I expect to [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been getting loads of emails everyday from people requesting, or demanding in some cases, that I upgrade my extensions to be compatible for Firefox 2.0.  Be assured that I am working on this.  Right now I&#8217;m trying to get my server back up to 100% after it had been hacked twice.  I expect to be releasing updates next week &#8212; I appreciate your patients.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2006/extension-upgrades-for-firefox-20/feed/</wfw:commentRss>
		</item>
		<item>
		<title>So White &#038; Nerdy</title>
		<link>http://blog.mozmonkey.com/2006/so-white-nerdy/</link>
		<comments>http://blog.mozmonkey.com/2006/so-white-nerdy/#comments</comments>
		<pubDate>Thu, 19 Oct 2006 01:02:46 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Funny]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2006/so-white-nerdy/</guid>
		<description><![CDATA[I just saw the new Weird Al video, and it worries me that I can relate.


]]></description>
			<content:encoded><![CDATA[<p>I just saw the new Weird Al video, and it worries me that I can relate.</p>
<div style="text-align: center"><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/Mlsiw5lmEzw"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/Mlsiw5lmEzw" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></div>
<div style="text-align: center"><img id="image20" alt="Czech Beer" src="http://blog.mozmonkey.com/wp-content/uploads/2006/10/beer_squared.thumbnail.jpg" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2006/so-white-nerdy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>This Site Was Hacked &#8212; And so the fun begins&#8230;</title>
		<link>http://blog.mozmonkey.com/2006/damn-hackers/</link>
		<comments>http://blog.mozmonkey.com/2006/damn-hackers/#comments</comments>
		<pubDate>Thu, 19 Oct 2006 00:55:37 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2006/damn-hackers/</guid>
		<description><![CDATA[Last week this site was hacked into and brought down.  I couldn&#8217;t access it through SSH or anything so I had to reboot it into safe-mode.  The good news is none of the data was compromised and I was able to back everything up safely, the bad news is I had to reimage [...]]]></description>
			<content:encoded><![CDATA[<p>Last week this site was hacked into and brought down.  I couldn&#8217;t access it through SSH or anything so I had to reboot it into safe-mode.  The good news is none of the data was compromised and I was able to back everything up safely, the bad news is I had to reimage the server in case a root kit was installed.  Now I have to go through the process of reinstalling EVERYTHING!  As you can see I&#8217;ve gotten the blog back up but I still have to reinstall and configure SVN, ViewVC, Trac, Webmin among other things.  Webmin and SVN are usually straight forward, but I remember the headaches I had trying to get ViewVC and Trac to work.  Wish me luck and a lot of coffee.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2006/damn-hackers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Farewell Jimmy B.</title>
		<link>http://blog.mozmonkey.com/2006/farewell-jimmy-b/</link>
		<comments>http://blog.mozmonkey.com/2006/farewell-jimmy-b/#comments</comments>
		<pubDate>Thu, 05 Oct 2006 21:25:14 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2006/farewell-jimmy-b/</guid>
		<description><![CDATA[Since Jimmy is transfering from the Sunnyvale Yahoo! office to the one in England, we had to send him off properly&#8230;get him drunk and take pictures of him dancing on the pole.  We met up at the Buddha Lounge in Mountain View at 6p, and the rest is best described in pictures:

http://www.flickr.com/photos/18756971@N00/sets/72157594314275342/
]]></description>
			<content:encoded><![CDATA[<p>Since Jimmy is transfering from the Sunnyvale Yahoo! office to the one in England, we had to send him off properly&#8230;get him drunk and take pictures of him dancing on the pole.  We met up at the Buddha Lounge in Mountain View at 6p, and the rest is best described in pictures:</p>
<div style="text-align: center"><a href="http://www.flickr.com/photos/18756971@N00/sets/72157594314275342/"><img alt="Jimmy on the Pole" title="Jimmy on the Pole" src="http://static.flickr.com/104/261626864_c656407ade_m.jpg" /></a></div>
<div align="center"><a href="http://www.flickr.com/photos/18756971@N00/sets/72157594314275342/">http://www.flickr.com/photos/18756971@N00/sets/72157594314275342/</a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2006/farewell-jimmy-b/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ways to Prevent Shooting Yourself in The Foot While Programming</title>
		<link>http://blog.mozmonkey.com/2006/ways-to-prevent-shooting-yourself-in-the-foot-while-programming/</link>
		<comments>http://blog.mozmonkey.com/2006/ways-to-prevent-shooting-yourself-in-the-foot-while-programming/#comments</comments>
		<pubDate>Wed, 04 Oct 2006 18:45:08 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Funny]]></category>

		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2006/ways-to-prevent-shooting-yourself-in-the-foot-while-programming/</guid>
		<description><![CDATA[Well, there really isn&#8217;t any way to prevent shooting yourself in the foot while programming but this funny article explains how to do it in almost every language.
http://www.fullduplex.org/humor/2006/10/how-to-shoot-yourself-in-the-foot-in-any-programming-language/ (via digg)
I especially like the UNIX example.
]]></description>
			<content:encoded><![CDATA[<p>Well, there really isn&#8217;t any way to prevent shooting yourself in the foot while programming but this funny article explains how to do it in almost every language.</p>
<p><a href="http://www.fullduplex.org/humor/2006/10/how-to-shoot-yourself-in-the-foot-in-any-programming-language/">http://www.fullduplex.org/humor/2006/10/how-to-shoot-yourself-in-the-foot-in-any-programming-language/</a> (via <a title="digg" href="http://digg.com/programming/How_to_Shoot_Yourself_in_the_Foot_in_Any_Programming_Language">digg</a>)<br />
I especially like the UNIX example.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2006/ways-to-prevent-shooting-yourself-in-the-foot-while-programming/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Optimizing WordPress for High Volume Traffic</title>
		<link>http://blog.mozmonkey.com/2006/optimizing-wordpress-for-high-volume-traffic/</link>
		<comments>http://blog.mozmonkey.com/2006/optimizing-wordpress-for-high-volume-traffic/#comments</comments>
		<pubDate>Mon, 01 May 2006 21:37:02 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Technical]]></category>

		<category><![CDATA[mysql]]></category>

		<category><![CDATA[optimizations]]></category>

		<category><![CDATA[performance]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/2006/optimizing-wordpress-for-high-volume-traffic/</guid>
		<description><![CDATA[Last week my keyboard prank post was promoted to the front page of Digg and within minutes my WordPress blog was down for the count.  Being slightly embarrassed I tried get my site back online and along the way found several things you can do to prevent this from happening to you!
NOTE:
I do not [...]]]></description>
			<content:encoded><![CDATA[<p>Last week my <a href="http://blog.mozmonkey.com/2006/april_fools_hack/">keyboard prank</a> post was promoted to the front page of Digg and within minutes my WordPress <a href="http://www.thoughts.com/">blog</a> was down for the count.  Being slightly embarrassed I tried get my site back online and along the way found several things you can do to prevent this from happening to you!<span id="more-16"></span></p>
<h3>NOTE:</h3>
<p>I do not claim to be an expert on this subject.  If you have more insight or suggestions please post a comment here.</p>
<h3>MySql</h3>
<p>Most times it&#8217;s the MySql database that&#8217;s the problem.  All your blog entries are stored, managed and retrieved from a MySql database, and, by default MySql doesn&#8217;t allow more than 100 connections at a given time.  So if you&#8217;re getting pounded by the entire world, most of your viewers will see an error page</p>
<p>Luckily there is an easy solution (if you manage your own server): just increase the number of connections MySql supports.  Open your MySql configuration file, in my case it was at /etc/my.cnf, and set &#8216;max_connections&#8217; to any number you want; I set it to 250.  Now don&#8217;t forget to restart MySql after this change.</p>
<h3>WP-Cache</h3>
<p>MySql is only part of the issue &#8212; why abuse your database server if you don&#8217;t have to?  <a href="http://mnm.uib.es/gallir/wp-cache-2/">WP-Cache</a> is a WordPress plugin that caches your posts to static HTML files to save your database and server cycles.</p>
<p>This saves your MySql server by keeping the number of connections to a minimum.  Also since WordPress is written in PHP, which is an interpreted language that must be parsed each time a page is requested, caching the pages as HTML saves your web server cycles and speeds up the load time for your viewers.<br />
By default the cache is used for an hour until it&#8217;s expired and refreshed with new content.   Since I wanted to view the recent comments quicker than that I changed the expiration time to 4 minutes (or 240 seconds).  To change this click Options > WP-Cache and change the expire time value and then click &#8216;Change Expiration&#8217;.  Be sure to read the WP-Cache instructions on how to install and configure it.</p>
<h3>Mirroring</h3>
<p>These steps are all fine and good, but what if your server can&#8217;t handle the traffic or you don&#8217;t have the administrative rights to make the necessary optimizations?  At this point you&#8217;ll want to mirror blog post <em>before</em> it gets submitted to Digg or Slashdot.  The reason I stress this is if you wait until your site is down, it&#8217;s too late.</p>
<p>Mirroring your content only takes a single click with the <a href="http://www.coralcdn.org/">Coral Content Distribution Network</a>.  Coral works like a P2P network and as soon as your link is submitted on their website, it&#8217;s mirrored around the world across 260+ servers.  To start, go to their <a href="http://www.coralcdn.org/">website</a> and enter your URL in the form (under Using Coral) and click &#8216;Go&#8217;.  This will open a new window and show you your mirrored page (this may take a minute).</p>
<p>It&#8217;s important to note that Coral does have a bandwidth limit on the URLs it mirrors, so it might be a good idea to create a couple more mirrors through Coral.  You should be able to do this by adding a unique parameter to your URL; I did it this way:</p>
<ol>
<li>http://blog.mozmonkey.com.nyud.net:8090/2006/april_fools_hack/</li>
<li>http://blog.mozmonkey.com.nyud.net:8090/2006/april_fools_hack/<strong>?mirror2</strong></li>
<li>http://blog.mozmonkey.com.nyud.net:8090/2006/april_fools_hack/<strong>?mirror3<br />
</strong></li>
</ol>
<p>Now, when you post to Digg or another high traffic website you can include these mirror URLs as the one of the first comments.</p>
<h3>Apache</h3>
<p>If you&#8217;re running your site through <a href="http://httpd.apache.org/">Apache</a> you probably wont need to tweak it much &#8212; the only thing I did was set MaxClients to the max (256). For more information about Apache optimizations checkout the <a href="http://httpd.apache.org/docs/1.3/misc/perf-tuning.html">Apache Performance Notes</a>.  This article has some simple changes you can make to help squeeze the most out of Apache.</p>
<h3>Advanced Options</h3>
<p>If you want to know more advanced optimizations checkout <a href="http://asymptomatic.net/2006/05/02/2327/high-performance-wordpress/">High Performance WordPress</a>.  This article goes into great detail about how WordPress works and many more things you can do to optimize it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozmonkey.com/2006/optimizing-wordpress-for-high-volume-traffic/feed/</wfw:commentRss>
		</item>
		<item>
		<title>April Fools Hack - The Singing Keyboard</title>
		<link>http://blog.mozmonkey.com/2006/april_fools_hack/</link>
		<comments>http://blog.mozmonkey.com/2006/april_fools_hack/#comments</comments>
		<pubDate>Fri, 28 Apr 2006 02:15:01 +0000</pubDate>
		<dc:creator>Jeremy Gillick</dc:creator>
		
		<category><![CDATA[Funny]]></category>

		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://blog.mozmonkey.com/?p=14</guid>
		<description><![CDATA[

This year I decided to go all out for April Fools and do something that could be duplicated across multiple computers without permanent damage &#8212; and so the singing keyboard hack was born.
Update

If you like this project, please vote for it on instructables.com.

Concept
Take the musical element from a musical greeting card and connect it to [...]]]></description>
			<content:encoded><![CDATA[<p class="blockImg">
<img src="http://blog.mozmonkey.com/images/april_fools_06/intro.jpg" /></p>
<p>This year I decided to go all out for April Fools and do something that could be duplicated across multiple computers without permanent <a href="http://www.carinsurancerates.com">damage</a> &#8212; and so the singing keyboard hack was born.</p>
<p><strong>Update</strong></p>
<blockquote><p>
If you like this project, please vote for it on <a href="http://www.instructables.com/id/The-Singing-Keyboard-Prank/">instructables.com</a>.
</p></blockquote>
<p><strong>Concept</strong></p>
<p>Take the <a href="http://www.stubhub.com/concert-tickets/">music</a>al element from a musical greeting <a href="http://www.yourcreditnetwork.com">card</a> and connect it to the caps lock LED on the user&#8217;s keyboard. Each time the victim presses caps lock the music plays (and quite loud too).  This is a great sleeping prank&#8230;It might be found on the first day, or weeks from implementation.  It&#8217;s the perfect prank.<br />
<span id="more-14"></span></p>
<p><strong>Why Caps?</strong></p>
<p>True, most people don&#8217;t use caps lock very often, if ever, but unfortunately not many other keys are linked to an LED.  Also most keys are only pressed momentarily, which would require a solid-state bounceless switch; which I had trouble getting to work.  The num lock LED turns on and off several times during boot time, so that&#8217;s out and only leaves the caps lock as a viable solution.</p>
<p><strong>Disclaimer</strong></p>
<p>If you decide to do this prank understand that it could be a <em>career-limiting move</em> if you do it to your boss and/or somebody without a sense of humor.  I would also recommend to first experiment with a dummy keyboard that you don&#8217;t mind destroying.</p>
<p>I will not be held responsible for your problems. ;o)</p>
<p><strong>Setup</strong></p>
<p>To start you&#8217;ll need, of course, several musical greeting cards.  Hall