<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Joseph Piché &#187; Uncategorized</title>
	<atom:link href="http://jpiche.com/topics/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://jpiche.com</link>
	<description>Web development professional with expertise in PHP, MySQL query optimization, Ajax, and XHTML</description>
	<lastBuildDate>Tue, 20 Jul 2010 04:04:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Tabs or Spaces</title>
		<link>http://jpiche.com/2010/04/tabs-or-spaces/</link>
		<comments>http://jpiche.com/2010/04/tabs-or-spaces/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 18:34:52 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=351</guid>
		<description><![CDATA[Any programming environment with more than one person working on the same project requires communication; it is an essential part of getting a job done efficiently, and it is common sense. But while normal business communication includes writing, speaking and body language, programming communication also includes readability of code along with good documentation.
Having experience with [...]]]></description>
			<content:encoded><![CDATA[<p>Any programming environment with more than one person working on the same project requires communication; it is an essential part of getting a job done efficiently, and it is common sense. But while normal business communication includes writing, speaking and body language, programming communication also includes readability of code along with good documentation.</p>
<p>Having experience with coding in a large project with other people, I clearly see that indentation is a large part of readability of code. It is extremely important to be consistent with spacing regardless of the language. However, whether to use tabs or spaces for indentation is up for debate. In fact, the issue of tabs versus spaces is a highly debated issue; a simple search will show that. Even so, it is important to have a clearly defined rule when engaging in a project with other people.</p>
<p>To show the importance of this many different open source projects define strict guidelines for indentation. To list a few:</p>
<ul>
<li><a href="http://www.python.org/dev/peps/pep-0008/">Style Guide for Python Code</a></li>
<li><a href="http://www.python.org/dev/peps/pep-0007/">Python Style Guide for C Code</a></li>
<li><a href="http://framework.zend.com/manual/en/coding-standard.coding-style.html">Zend Framework Coding Standard for PHP</a></li>
<li><a href="http://codex.wordpress.org/WordPress_Coding_Standards">WordPress Coding Standards</a></li>
<li><a href="http://webkit.org/coding/coding-style.html">WebKit Coding Style Guidelines</a></li>
<li><a href="http://opensource.adobe.com/wiki/display/flexsdk/Coding+Conventions">Flex SDK coding conventions and best practices</a></li>
</ul>
<p>Most of these say 4 spaces for per indentation level, and all say to never mix tabs and spaces. I do 4 spaces; my programming team at work has agreed on 4 spaces&mdash;it works really well in pretty much all cases. All good editors have ways to make this easy to do using the tab key too.</p>
<p>More than likely the language you code in already has some guide already. Please follow it, and remember what the Zen of Python states: &ldquo;<b>Readability counts</b>.&rdquo;</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2010/04/tabs-or-spaces/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A Second Look at Google Chrome Application Shortcuts</title>
		<link>http://jpiche.com/2010/01/a-second-look-at-google-chrome-application-shortcuts/</link>
		<comments>http://jpiche.com/2010/01/a-second-look-at-google-chrome-application-shortcuts/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 20:17:37 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[web-browsers]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=318</guid>
		<description><![CDATA[In August I wrote about Application Shortcuts for Chrome and noted that this new concept had the potential of being useful since I don&#8217;t like using standard desktop clients for email due to their lack of full Gmail support (like labels and the archive). Now having taken a further look, I&#8217;m not so convinced.
Application shortcuts [...]]]></description>
			<content:encoded><![CDATA[<p>In August I wrote about <a href="/2009/08/google-chromes-application-shortcuts-now-for-linux/">Application Shortcuts for Chrome</a> and noted that this new concept had the potential of being useful since I don&#8217;t like using standard desktop clients for email due to their lack of full Gmail support (like labels and the archive). Now having taken a further look, I&#8217;m not so convinced.</p>
<p>Application shortcuts are created by clicking on the &#8220;Page&#8221; button and selecting &#8220;Create Application Shortcuts&#8230;&#8221;. If you select to create a shortcut on the desktop, Chrome then creates the Application Shortcut and puts it on the desktop. All this is simple enough, but what it actually does is make a shortcut to Chrome at the current page and passes the <code>--app</code> flag.</p>
<p>I invite you to try this for yourself with something like Gmail and see what you think. When launched, a Chrome window is open without the tab bar or address bar. The confusing part is that internally, it is treated like a normal Chrome process. So cookies are shared with any open tabs in a normal Chrome window. Why would I want that? If this is supposed to be a Gmail <i>App</i>, wouldn&#8217;t I want cookies to be separate? What if someone else needs to check their email quick and I have the App open? I get logged off in the App and their session is replaces mine.</p>
<p>The Chromium bug list has a <a href="http://code.google.com/p/chromium/issues/detail?id=11955" rel="external">feature request</a> for this, but it hasn&#8217;t received much attention.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2010/01/a-second-look-at-google-chrome-application-shortcuts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Late Static Bindings in PHP</title>
		<link>http://jpiche.com/2010/01/late-static-bindings-in-php/</link>
		<comments>http://jpiche.com/2010/01/late-static-bindings-in-php/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 04:45:47 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=424</guid>
		<description><![CDATA[PHP class methods and variables can be declared as static similarly to how Java static methods and variables work. As often as possible I try to stay away from anything static in PHP, since it can lead to confusion, bad program design, and in some cases memory management problems. But sometimes it actually does make [...]]]></description>
			<content:encoded><![CDATA[<p>PHP class methods and variables can be declared as static similarly to how Java static methods and variables work. As often as possible I try to stay away from anything static in PHP, since it can lead to confusion, bad program design, and in some cases memory management problems. But sometimes it actually does make sense and more often than not just getting things done is more important than doing things correctly.</p>
<p>However, PHP 5.3 introduced a lot of cool new features like namespaces and something called &ldquo;Late Static Bindings&rdquo; via a new keyword. But what is <a href="http://php.net/manual/en/language.oop5.late-static-bindings.php">Late Static Binding</a> and how does it differ from how PHP before 5.3 works? The reason the new <code>static</code> keyword was added is to allow for intuitive static references involving inheritance.</p>
<p>Before 5.3, PHP used early static binding: the process of resolving any static references to the class where it was initially declared. Clear as mud right? This is best shown by the code example from the PHP documentation.</p>
<pre class="code">&lt;?php
class A {
    public static function who() {
        echo __CLASS__;
    }
    public static function test() {
        self::who();
    }
}

class B extends A {
    public static function who() {
        echo __CLASS__;
    }
}

B::test();
?&gt;</pre>
<p>The above code will output <code>A</code> not the (maybe) expected <code>B</code>. Replacing <code>self</code> with <code>static</code> in the example will output <code>B</code>, but only in 5.3 and above.</p>
<p>Since none of the servers I work with have 5.3, and some are even lacking 5.2, I cannot take use of the <code>static</code> keyword in my code. But even so, I feel like I understand PHP better now that new feature is available since this clearly shows that using <code>self</code> in any version will use &ldquo;Early Static Binding.&rdquo;</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2010/01/late-static-bindings-in-php/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Okay, I lied.</title>
		<link>http://jpiche.com/2009/12/okay-i-lied/</link>
		<comments>http://jpiche.com/2009/12/okay-i-lied/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 04:47:42 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=409</guid>
		<description><![CDATA[I had a fun two weeks with Django, but now it&#8217;s over. There is nothing wrong with Django, in fact page load times went from about 1-1.5 seconds to about 100-300 milliseconds. I haven&#8217;t narrowed down why yet&#8212;maybe python over php, maybe InnoDB tables instead of MyISAM, maybe mod_passenger instead of fastcgi. While I plan [...]]]></description>
			<content:encoded><![CDATA[<p>I had a fun two weeks with Django, but now it&#8217;s over. There is nothing wrong with Django, in fact page load times went from about 1-1.5 seconds to about 100-300 milliseconds. I haven&#8217;t narrowed down why yet&mdash;maybe python over php, maybe InnoDB tables instead of MyISAM, maybe mod_passenger instead of fastcgi. While I plan on trying to figure it out later, Wordpress just plain works. If I need to type a post, wordpress lets me do that really simply. For some reason, Dreamhost doesn&#8217;t like some of the admin urls I use and I really do not have time to figure it out. So, hello Wordpress 2.9.</p>
<p>I decided to keep the new theme, but I put ads back on the site again. I will not ask you to click on them, that would be violating the Terms and Conditions of having them there, but in case if someone does happen to find something useful in them, I get a few cents from each click.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/12/okay-i-lied/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Brave New Blog</title>
		<link>http://jpiche.com/2009/12/brave-new-blog/</link>
		<comments>http://jpiche.com/2009/12/brave-new-blog/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 17:29:34 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[django]]></category>

		<guid isPermaLink="false">http://dev.jpiche.com/?p=380</guid>
		<description><![CDATA[Lots of changes are happening around here. I will no longer be offering ads on my blog for starters. I don&#8217;t like ads and I&#8216;m guessing you don&#8217;t either. My services involve programming, and I want to make a living by legitimately doing work, not stealing money by people clicking on ads.
In other news, my [...]]]></description>
			<content:encoded><![CDATA[<p>Lots of changes are happening around here. I will no longer be offering ads on my blog for starters. I don&rsquo;t like ads and I&lsquo;m guessing you don&rsquo;t either. My services involve programming, and I want to make a living by legitimately doing work, not stealing money by people clicking on ads.</p>
<p>In other news, my blog now uses the <a href="http://www.djangoproject.com">Django</a> web framework. I am really happy to move away from Wordpress as I now have complete control over my database schema. Django provides a great framework for making web applications quickly and efficiently&mdash;if you haven&rsquo;t noticed this page probably loads much faster.</p>
<p>However, I wrote the RSS feed from scratch, so if you have problems with it, please let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/12/brave-new-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP is Lame, 5 Reasons Why</title>
		<link>http://jpiche.com/2009/09/php-is-lame-5-reasons-why/</link>
		<comments>http://jpiche.com/2009/09/php-is-lame-5-reasons-why/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 05:50:30 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=254</guid>
		<description><![CDATA[I&#8217;ve been working at KASA Capital for about 7 months and I feel like I&#8217;ve gotten a good handle of some of the more &#8220;gritty&#8221; details of how PHP works. Unfortunately though, it means I have a running list of annoyances with the language&#8212;some more difficult to deal with than others.


Keywords are case-insensitive. Being able [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working at KASA Capital for about 7 months and I feel like I&#8217;ve gotten a good handle of some of the more &ldquo;gritty&rdquo; details of how PHP works. Unfortunately though, it means I have a running list of annoyances with the language&mdash;some more difficult to deal with than others.</p>
<ol>
<li>
<p>Keywords are case-insensitive. Being able to write the word <code>true</code> using uppercase or lowercase may be aestheticly useful depending on the context, but I don&#8217;t think there would be any situation where writting <code>tRuE</code> or <code>TRue</code> would be a good idea. The last thing I want to see when optimizing someone else&#8217;s code is variable-case keywords. Even using all uppercase keywords is highly suspicious, and when I actually saw this the other day, I found the code almost unreadable. I also think that having case-sensitive keywords in PHP would improve parser times, but I haven&#8217;t tested this theory. What I do know is that other interpreted languages like Python have strict rules for keywords, and Python code tends to run much faster than PHP code (of course this is not a proof though and may actually have no correlation).</p>
</li>
<li>
<p><code>isset()</code>, <code>unset()</code>, and <code>NULL</code> are confusing. A while back, I wrote a whole bunch of Python code. Transitioning back to PHP for work was difficult first because of the semicolon use in PHP, but second because of PHP&rsquo;s (lack of) variable declaration. Technically, the documentation is very specific, but most implementations have a low setting for the default <code><a href="http://www.php.net/manual/en/function.error-reporting.php" title="error_reporting"> error_reporting</a></code> level so many programmers have learned to be lazy with variables. After a security audit of your site though, you would probably learn very quickly to code using <code>error_reporting(E_ALL|E_STRICT)</code>.</p>
</li>
<li>
<p>When using double quotes with a string, you may include PHP variables in it thus having PHP <a href="http://php.net/manual/en/language.types.string.php#language.types.string.parsing">parse the string</a>. This really isn&#8217;t that big of an issue since it is well documented, but most PHP programmers I&#8217;ve run into don&#8217;t understand that calling the parser takes additional resources which may in turn slow down your code.</p>
</li>
<li>
<p><a href="http://php.net/manual/en/security.magicquotes.php">Magic Quotes</a>. If you have ever had to deal with magic quotes you will understand that this is the single most terrible aspect of the language to ever happen. The theory of it might have been okay, but in practice it is extremely frustrating&#8211;not to mention that against recommendations, debian (and thus Ubuntu) packages of PHP have magic quotes on by default. I am so glad this was deprecated in 5.3.</p>
</li>
<li>
<p>I can&#8217;t <code>echo</code> HTTP headers. The only way to manipulate HTTP headers is to use the <code>header</code> function. Under most circumstances this is okay, but there are a unique instances like streaming content in a proxy-like manner where the headers are important and it would be too intensive to parse the stream, so I would like to simply be able to <code>echo</code> them. When using PHP in CLI mode, I can use the <code>-q</code> flag to turn header output off, but this is not available in CGI mode, which most people use.</p>
</li>
</ol>
<p>Even with all that, I do still use PHP at work; but constantly trying to write clean, efficient code goes a long way.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/09/php-is-lame-5-reasons-why/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Apology to Users of Internet Explorer version 6</title>
		<link>http://jpiche.com/2009/09/apology-to-users-of-internet-explorer-version-6/</link>
		<comments>http://jpiche.com/2009/09/apology-to-users-of-internet-explorer-version-6/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 05:08:40 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=271</guid>
		<description><![CDATA[This is my apology to users of Internet Explorer version 6. If you are viewing this site in that browser, you probably think that I am a terrible web designer. The real reason my site looks terrible (that is the side bar is at the top and is not a set width) in Internet Explorer [...]]]></description>
			<content:encoded><![CDATA[<p>This is my apology to users of Internet Explorer version 6. If you are viewing this site in that browser, you probably think that I am a terrible web designer. The real reason my site looks terrible (that is the side bar is at the top and is not a set width) in Internet Explorer version 6 (and earlier) is that the rendering engine of that browser is antiquated and does not recognize CSS commands <code>margin:0 auto;</code> or <code>max-width</code> and nor does it correctly render <code>float</code>, all of which every other modern browser including Internet Explorer version 7 displays correctly.</p>
<p>I don&rsquo;t understand why you would freely choose to use Internet Explorer at all, but if you are, I beg you to take a look at one of the better options: <a href="http://www.mozilla.com/en-US/firefox/" title="Mozilla Firefox">Mozilla Firefox</a>, <a href="http://www.google.com/chrome/" title="Google Chrome">Google Chrome</a>. Of course if you are an Apple user, Internet Explorer hasn&rsquo;t been an option for a few years.</p>
<p>In case you just think me lazy: my full-time job is writing PHP, XHTML, Javascript and SQL, so when I get home, I don&#8217;t spend that much time coding. When I built this theme, I only spent a few minutes on it here and there; so I actually just forgot to test it in really old browsers. But yet again, I feel less-than pleased with the theme, so hopefully on the next rendition I will get around to fixing the site in Internet explorer 6.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/09/apology-to-users-of-internet-explorer-version-6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Au Revoir Verizon</title>
		<link>http://jpiche.com/2009/09/au-revoir-verizon/</link>
		<comments>http://jpiche.com/2009/09/au-revoir-verizon/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 15:46:07 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=245</guid>
		<description><![CDATA[I have been a loyal customer with Verizon Wireless for about 4 years for a simple reason: they have better coverage than anyone else. This well-advertised fact is not disputed by other companies, and I can personally attest to it, having lived in North Dakota for a 5 years.
But they are behind the times and [...]]]></description>
			<content:encoded><![CDATA[<p>I have been a loyal customer with Verizon Wireless for about 4 years for a simple reason: they have better coverage than anyone else. This well-advertised fact is not disputed by other companies, and I can personally attest to it, having lived in North Dakota for a 5 years.</p>
<p>But they are behind the times and just don&#8217;t understand customers. When I buy a phone with Bluetooth, I expect to be able to use that functionality. No. With my Bluetooth-capable phone on Verizon, they would not allow me to transfer pictures off my phone via Bluetooth.</p>
<p>So after sampling a bunch of phones, I decided on the Pre with Sprint. I will be saving about $30 per month over comparable Verizon plans. (I don&#8217;t understand why their plans are so expensive either.) So far both my wife and I love our new phones, and soon I hope to figure out how to write blog posts from my phone.</p>
<p>So at last, au revoir Verizon.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/09/au-revoir-verizon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Chrome&#8217;s Application Shortcuts Now for Linux</title>
		<link>http://jpiche.com/2009/08/google-chromes-application-shortcuts-now-for-linux/</link>
		<comments>http://jpiche.com/2009/08/google-chromes-application-shortcuts-now-for-linux/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 02:03:12 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[web-browsers]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=215</guid>
		<description><![CDATA[When Chrome was first introduced, one of the neat little features was the ability to use the browser to directly launch web apps from your computer&#8217;s desktop. This feature was called &#8220;Application Shortcuts&#8221; and can be accessed from the Page menu.
At first&#8212;and for a long time after that&#8212;I didn&#8217;t see the point. For example, launching [...]]]></description>
			<content:encoded><![CDATA[<p>When Chrome was first introduced, one of the neat little features was the ability to use the browser to directly launch web apps from your computer&#8217;s desktop. This feature was called &ldquo;Application Shortcuts&rdquo; and can be accessed from the Page menu.</p>
<p>At first&mdash;and for a long time after that&mdash;I didn&#8217;t see the point. For example, launching Gmail in such a way still results in launching an instance of the browser, and if you are a <a href="http://jpiche.com/2009/08/love-hate-http-cookies/">cookie fanatic</a>, you&#8217;ve noticed that the app window shares its session with other launched windows.</p>
<p>Today decided to take a second look at Application Shortcuts when I noticed the menu option mission from Google Chrome on Ubuntu, and surprisingly discovered they might actually be useful. With the example of Gmail, there is no native desktop application for Gmail so my options are either to use a web browser or some other desktop email client like <a href="http://projects.gnome.org/evolution/">Evolution</a>, which I hate using since it ties me down to a single computer. Running Gmail as an application through Chrome surpasses this barrier and gives me more flexibility with my web browsing.</p>
<p>Getting to the entire point of this post though: Application Shortcuts are now available for the Linux build of Chromium. When I noticed this feature was missing I hopped onto <abbr title="Internet Relay Chat">IRC</abbr> channel <code>#chromium</code> and asked about it. A nice developer promptly responded saying it was added to the SVN trunk a couple days ago. Sure enough, I ran updates and there it was. So, I tried it out. It&#8217;s not the best thing in the world, but Gmail is a lot better ran as a chromium application.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/08/google-chromes-application-shortcuts-now-for-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firefox Woes</title>
		<link>http://jpiche.com/2009/08/firefox-woes/</link>
		<comments>http://jpiche.com/2009/08/firefox-woes/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 14:03:49 +0000</pubDate>
		<dc:creator>Joseph Piché</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jpiche.com/?p=204</guid>
		<description><![CDATA[I&#8217;ve previously talked about my switch to using Google Chrome and my primary web browser, and for a few months of almost constant use&#8212;even to type this post&#8212;I have enjoyed it. Chrome&#8217;s speed increase over Firefox not only relieves frustrations, but it increases my productivity. Pages load faster, a DOM viewer and Javascript inspector is [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve previously talked about my switch to using Google Chrome and my primary web browser, and for a few months of almost constant use&mdash;even to type this post&mdash;I have enjoyed it. Chrome&#8217;s speed increase over Firefox not only relieves frustrations, but it increases my productivity. Pages load faster, a DOM viewer and Javascript inspector is built into the browser, it is open source, and there is a decently stable release branch for Ubuntu. And, within the last few weeks plugins were available for it in Ubuntu, so Flash works now.</p>
<p>But while all that sounds awesome, I unfortunately cannot remove Firefox yet. Two reasons:</p>
<ul>
<li>Using Firebug in Firefox is the only way I know of to view the response of an AJAX call without hard-coding in outputting the response via an <code>alert()</code> or something. It is very frustrating, but Chrome&#8217;s document inspector only tells you where an AJAX call was made to, not whether it succeeded or failed, or what the response was. This is crucial to debugging web apps.</li>
<li>Firefox is a mature project and very, very rarely has any problems. It&#8217;s true that Firefox is indeed a tad bit slower at just about everything, but I almost never have problems with it and often have to switch to open up Firefox because Chrome has crashed or is behaving awkwardly.</li>
</ul>
<p>At work I use Firefox 3.5 on Windows, and that seems to almost keep up with Chrome, so once Karmic (Ubuntu 9.10) is released, I&#8217;ll have to give it another try.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpiche.com/2009/08/firefox-woes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
