<?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>Professional PHP &#187; firefox</title>
	<atom:link href="http://www.procata.com/blog/archives/tag/firefox/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.procata.com/blog</link>
	<description>PHP Programming, Web Development, PHP Advocacy and PHP Best Practices.</description>
	<lastBuildDate>Tue, 20 Oct 2009 00:57:46 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Firefox Extensions for Web Developers</title>
		<link>http://www.procata.com/blog/archives/2007/03/08/firefox-extensions-for-web-developers/</link>
		<comments>http://www.procata.com/blog/archives/2007/03/08/firefox-extensions-for-web-developers/#comments</comments>
		<pubDate>Thu, 08 Mar 2007 13:11:14 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox-extensions]]></category>
		<category><![CDATA[tamper-data]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/archives/2007/03/08/firefox-extensions-for-web-developers/</guid>
		<description><![CDATA[I prefer Safari for my casual web browsing on the Mac, but for web development, nothing beats Firefox.  (Firefox beats IE hands down on Windows.)  Firefox&#8217;s openness and the Firefox plugin architecture means that there is little that you cannot find out about a web page with a Firefox add-on.  I&#8217;ve tried [...]]]></description>
			<content:encoded><![CDATA[<p>I prefer Safari for my casual web browsing on the Mac, but for web development, nothing beats Firefox.  (Firefox beats IE hands down on Windows.)  Firefox&#8217;s openness and the Firefox plugin architecture means that there is little that you cannot find out about a web page with a Firefox add-on.  I&#8217;ve tried a bunch of different Firefox extensions for web development.  Here are the ones that I find most useful and that I use on a regular basis.</p>
<h3>DOM Inspector</h3>
<p>Yes, yes, it comes installed with Firefox, but lets not forget the basics.  The DOM Inspector allows you to see what is actually going on in your web document.  The DOM Inspector lets you browse DOM nodes, style sheets, or Java Script objects.  You select a node by either drilling down, by searching, or by clicking on it.  Although, the UI for selecting a node with your mouse is just plain lousy.  Once you&#8217;ve chosen your subject, the DOM inspector can show you the box model information for that node, the style sheets associated with the node, the computed CSS styles, or the Javascript object.</p>
<h3>Web Developer Extension</h3>
<p>Chris Pederick&#8217;s <a href="http://chrispederick.com/work/webdeveloper/">Web developer extension</a> has been out for a long time and is the plugin I am most familiar with.  This is really the swiss army knife of web developer tools. It is so feature packed that I am still finding new things that it does.  Unfortunately, the UI is also so cluttered that I am still finding new things that it does.</p>
<p>This add-on can slice and dice a web page every which way.  It can outline a variety DOM elements, for example drawing an outline around all block elements on a page.  This can be nice for lining things up.  The Display Line Guides option is also a good way to verify alignment, not to mention Display Ruler, or Display Page Magnifier for fine detail.</p>
<p>This extension has dozens of reports, each one geared toward diagnosing a particular kind of problem.  Some of them are external, such as sending your URL to a validation service.  Some are internal, such as showing a dump of all of the page&#8217;s active cookies.  Unfortunately, many of these option open up in a new tab, taking the focus off of the page that you are trying to work with.  It can be hard to tell which options do this.  There is an option for having the tabs open in the background, but this is not the default.</p>
<p>The View Style Information option is particularly nice.  You can point to any element on the page and the extension will display the element tree along with ids and classes.  If you click on an element, it will display only the style rules that apply to that element.  This beats the drill down approach in the DOM inspector, although it doesn&#8217;t show box model information or computed style information this way.</p>
<p>The web developer extension can change things as well as inspect them.  You can go into a mode where you can edit your CSS or HTML in real time for immediate feedback.  This is great for testing out small changes. For the PHP developer, the extension has a variety of options for manipulating cookies and forms.  There are also a variety of ways to enable or disable certain elements on the page.</p>
<p><a href="https://addons.mozilla.org/firefox/60/">Install Web Developer Extension</a></p>
<h3>Tamper Data</h3>
<p><a href="http://tamperdata.mozdev.org/">Tamper Data</a> is live HTTP headers on steroids.  Tamper data records the HTTP request headers and HTTP response headers for each request that the browser makes.  Not only that, It allows you to &#8220;tamper&#8221; with the requests before they are sent out, editing headers or form values behind the scenes.  Tamper data can present a graph of the requests involved with loading a web page.  Tamper data is great for security testing and page loading performance tuning.</p>
<p><a href="https://addons.mozilla.org/firefox/966/">Install Tamper Data Extension</a></p>
<h3>FireBug</h3>
<p><a href="http://www.getfirebug.com/">FireBug</a>, ah what can I say but wow!  According to their web site:</p>
<blockquote><p>
Firebug integrates with Firefox to put a wealth of development tools at your fingertips while you browse. You can edit, debug, and monitor CSS, HTML, and JavaScript live in any web page.
</p></blockquote>
<p>Firebug has considerable overlap with the extensions I&#8217;ve mentioned so far.  It doesn&#8217;t necessarily duplicate all of their functions, but the ones it does, it does really well.  It goes way beyond in some cases.  There is really no point in me talking about Firebug&#8217;s features, because the <a href="http://www.getfirebug.com/">website</a> already does such a good job at it.  They&#8217;ve impressed this jaded old developer.</p>
<p>If you haven&#8217;t tried this one yet, seriously, go get it right now.</p>
<p><a href="https://addons.mozilla.org/firefox/1843/">Install FireBug Extension</a></p>
<h3>ColorZilla</h3>
<p><a href="http://www.iosart.com/firefox/colorzilla/">ColorZilla</a> adds a small eyedropper tool to the bottom left corner of the window.  You can use this tool to inspect colors on the current web site.  Double clicking it brings up a color picker and some other color related tools.</p>
<p><a href="https://addons.mozilla.org/firefox/271/">Install ColorZilla Extension</a></p>
<h3>Multiple Profiles</h3>
<p>Ok, I lied.  There are a few situations where I use FireFox for casual browsing.  Some web sites just won&#8217;t work with Safari, or don&#8217;t work well with Safari.  For these, I pull up Firefox.  I don&#8217;t want my casual browsing tools to clutter up my web development experience and I don&#8217;t want my web development tools to clutter up my casual browsing experience.  The solution is to create <a href="http://lifehacker.com/software/firefox/geek-to-live--manage-multiple-firefox-profiles-231646.php">multiple profiles</a> in FireFox. I have one for web development and another for normal surfing.  I have safari ask me to select a profile on start up.  This extra step would be annoying for a primary browser, but it doesn&#8217;t seem too bad for a secondary browser.</p>
<h3>Setting up my Mac series</h3>
<p>Firefox is not mac specific, but this is actually the latest installment in my setting up my Mac series.</p>
<ol>
<li><a href="http://www.procata.com/blog/archives/2007/02/16/how-to-transfer-mac-os-x-application-data-between-computers/">How to Transfer Mac OS X Application Data between Computers</a></li>
<li><a href="http://www.procata.com/blog/archives/2007/02/22/free-software-for-mac-os-x/">Free Software for Mac OS X</a></li>
<li><a href="http://www.procata.com/blog/archives/2007/03/08/firefox-extensions-for-web-developers/">FireFox Extensions for Web Developers</a></li>
<li>UPCOMING: Configuring Boot Camp and Parallels</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2007/03/08/firefox-extensions-for-web-developers/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Faster Page Loading</title>
		<link>http://www.procata.com/blog/archives/2006/10/31/faster-page-loading/</link>
		<comments>http://www.procata.com/blog/archives/2006/10/31/faster-page-loading/#comments</comments>
		<pubDate>Tue, 31 Oct 2006 22:31:56 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[page-loading-performance]]></category>
		<category><![CDATA[performance-optimization]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[tamper-data]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/archives/2006/10/31/faster-page-loading/</guid>
		<description><![CDATA[Google engineer Aaron Hopkins wrote a good article on page loading times  (via Harry).  He talks about the impact of AJAX on page load times, focusing on connection limits,  latency and the large number of external objects on your typical AJAX page.  He offers a variety of tips on improving page [...]]]></description>
			<content:encoded><![CDATA[<p>Google engineer Aaron Hopkins wrote a good article on <a href="http://www.die.net/musings/page_load_time/">page loading times</a>  (via <a href="http://www.sitepoint.com/blogs/2006/10/30/the-case-for-registering-multiple-domains/">Harry</a>).  He talks about the impact of AJAX on page load times, focusing on connection limits,  latency and the large number of external objects on your typical AJAX page.  He offers a variety of tips on improving page load times, including doing more with the connections you have, busting the connection limit, caching, and sending less data.</p>
<p>I wrote about <a href="http://www.procata.com/blog/archives/2004/05/17/web-page-loading-performance/">web page loading performance</a> a while ago, when I linked to Dave Hyatt&#8217;s most excellent explanation of the issues involved with <a href="http://weblogs.mozillazine.org/hyatt/archives/2004_05.html#005496">testing page load speed</a>.  In fact the Safari browser blog endorses Aaron Hopkins article and mentions how to <a href="http://webkit.org/blog/?p=75">measure page loading times</a> in Safari using the debug menu.</p>
<p>On the Mozillia front, the <a href="http://tamperdata.mozdev.org/">Tamper Data</a> extension generates some amazing graphs of when elements on a page load and how long it takes.</p>
<p>On the topic of sending less data, the Yahoo! User Interface Blog weighs in on <a href="http://yuiblog.com/blog/2006/10/16/pageweight-yui0114/">page waits</a> with a discussion of javascript minimization versus compression.  They also briefly cover the YUI decision to serve components a la carte, rather than in an aggregated file.</p>
<p>Cal Henderson of Flickr also takes up this topic in <a href="http://www.thinkvitamin.com/features/webapps/serving-javascript-fast">serving JavaScript fast</a>.  He goes into more depth about the issue of a la carte external objects versus aggregated external objects as well as covering compression and caching issues with examples in PHP.</p>
<p>From the PHP perspective, <a href="http://public.yahoo.com/~radwin/talks/yapache-oscon2006.htm">Michael J. Radwin</a> and <a href="http://www.niallkennedy.com/blog/archives/2006/07/rasmus-lerdorf-php-web20.html">Rasmus Lerdorf</a> have covered web application performance issues in conference talks.</p>
<p>Are <a href="http://www.web-caching.com/cacheability.html">your web pages cacheable</a> or <a href="http://public.yahoo.com/~radwin/talks/http-caching-apachecon2005.htm">not</a>?</p>
<p>On the home front, this is my first post on this blog since I&#8217;ve installed <a href="http://mnm.uib.es/gallir/wp-cache-2/">wp-cache2</a> and upgraded to <a href="http://eaccelerator.net/">eAccelerator 0.9.5</a>.  And my first post since my fishing vacation, too <img src='http://www.procata.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2006/10/31/faster-page-loading/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Knocked off the internet, a story of Windows and Macintosh</title>
		<link>http://www.procata.com/blog/archives/2005/03/15/knocked-off-the-internet-a-story-of-windows-and-macintosh/</link>
		<comments>http://www.procata.com/blog/archives/2005/03/15/knocked-off-the-internet-a-story-of-windows-and-macintosh/#comments</comments>
		<pubDate>Tue, 15 Mar 2005 16:35:19 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Agile Methods]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[internet-explorer]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.procata.com/blog/archives/2005/03/15/knocked-off-the-internet-a-story-of-windows-and-macintosh/</guid>
		<description><![CDATA[This weekend the internal modem in my Mac died.  Living in a rural area, I am a dialup user.  Let me say that getting unexpectedly disconnected from the internet is very traumatic.
I&#8217;ve been following an iterative development cycle where I deploy to my client&#8217;s site every Friday.  (My old ERP colleagues would [...]]]></description>
			<content:encoded><![CDATA[<p>This weekend the internal modem in my Mac died.  Living in a rural area, I am a dialup user.  Let me say that getting unexpectedly disconnected from the internet is very traumatic.</p>
<p>I&#8217;ve been following an iterative development cycle where I deploy to my client&#8217;s site every Friday.  (My old ERP colleagues would be mortified &#8212; install on Friday?  My response: automated testing)  Thankfully, last Friday&#8217;s upload went through, although it was the last internet connection my internal modem would ever make.  It took me a couple days to rule out line quality and ISP problems and determine that the problem was hardware failure.</p>
<p>I have a PC with windows XP available.  Its not mine and I really don&#8217;t use it except for checking web sites in internet explorer and playing an occasional game.  So Sunday night I tried using it for some serious browsing for the first time.  After about five minutes, I realized that I can&#8217;t stand Internet Explorer.  The lack of a tabs felt like a missing finger.  I had no idea how much I used that feature in both Safari and in Firefox.  Also, the fonts under XP just plain looked bad.</p>
<p>Tiring with IE, I installed Firefox.  I&#8217;m impressed with Firefox on the PC.  I prefer Safari on the Mac, but I do use Firefox on the Mac for web development because of its ability to control and inspect headers, cookies, the DOM, etc.  I don&#8217;t use Firefox on the Mac for day to day browsing because its interface feels a little bit off.  No such feeling for Firefox on Windows.  Win Firefox felt very comfortable.  I like it.</p>
<p>When I upgraded this blog to WordPress 1.5, I integrated this blog with del.icio.us.  I have been using del.icio.us for my &#8220;to blog about later links.&#8221;  del.icio.us is very helpful when you have to browse in a foreign environment.</p>
<p>Sunday afternoon I had to start contemplating the idea that I might have do next Friday&#8217;s deployment from the XP machine or even temporarily move my development environment to the Windows machine.  It didn&#8217;t take long to rule out this option.  OS X comes pre-installed with Apache, PHP, CVS, SSH, and a bunch of other things that I probably take for granted.  Windows has none of that.  I decided that setting up a development environment under windows would probably take too much time.</p>
<p>I still remember the trauma from the last time I tried to ftp from a stock Windows machine.  Its probably better now, but I still decided that I didn&#8217;t want to try that route.  Besides, I just got my <a href="http://www.procata.com/blog/archives/2005/03/01/rsync-to-remote-server-via-ssh/">automated deployment scripts</a> working on the Mac.</p>
<p>So Monday morning, I drove 60 miles to go to pick up a USB Modem at Best Buy.  Now here is the problem with owning a Mac.  Best Buy has two models in stock.  Neither has OS X drivers.  I bought one anyway in case it might &#8220;just work.&#8221;  It doesn&#8217;t.  So I thought I was stuck until the USB modem I ordered from online arrives.</p>
<p>But then I realized that I had enough ethernet stuff in the basement to hookup a network between the PC and the Mac.  I have never done this before because I simply don&#8217;t use the windows machine enough to care.  Hooking up the network was a breeze.  A couple wizards, a few property dialogs and a half hours worth of reading was all it took to set up internet connection sharing on the PC side.  The Mac recognized the new network immediately and without configuration.  Sweet!</p>
<p>So, I am once again connected and now just waiting for my Mac compatible USB modem to come in the mail.</p>
<p>There is an added benefit.  Over the last year or so, I have been gradually switching from table based layout for my web pages to a CSS based layout.  I&#8217;ve quite a bit of trouble maintaining the same layout of older pages in CSS due to browser variances.  Some of my table based layout components are somewhat ambitious for CSS.  I never used to do much testing on Win IE because I was pretty familiar with how the table based layouts would look.  Win IE is very stable on these types of layouts and they almost always looked exactly on IE how I had developed them on the Mac.  Additionally, I had long ago worked out the cross browser kinks and was pretty much recycling the same debugged layout components.</p>
<p>This is definitely not the case for CSS.  I don&#8217;t yet have a full library of debugged layout components and I have to say my understanding of cross browser kinks is incomplete, although growing.  If you browse around on this blog in IE and in Firefox, you can see that while not terrible, it doesn&#8217;t render some pages correctly on IE.</p>
<p>Testing under IE was a pain for me.  Editing CSS files on Windows kept bringing up FrontPage instead of a plain text editor, which is what I wanted.  Now that the machines are networked, I can now just point windows to the test environment that is already running on my Mac and preview right from there.  I also have occasional access to a Windows Laptop, which will make this type of testing a lot easier.</p>
<p>I&#8217;m too far behind this week, but maybe next week I will finally figure out what is wrong with the style sheet for this blog under Win IE.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.procata.com/blog/archives/2005/03/15/knocked-off-the-internet-a-story-of-windows-and-macintosh/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
