<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>tff4.com: the website of Thomas Finley</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/" />
    <link rel="self" type="application/atom+xml" href="http://www.tff4.com/atom.xml" />
    <id>tag:www.tff4.com,2007-11-25://18</id>
    <updated>2010-06-17T23:52:38Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Open Source 4.12</generator>

<entry>
    <title>Developing on a Mac for Dummies (or Designers)</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2010/06/developing-on-a-mac-for-dummie.php" />
    <id>tag:www.tff4.com,2010://18.251</id>

    <published>2010-06-17T23:43:04Z</published>
    <updated>2010-06-17T23:52:38Z</updated>

    <summary>For some time now I&#8217;ve attempted to find the ideal configuration of software and services to develop websites on a Mac, and more specifically, how to keep these files synced between an FTP server and multiple Macs. The following should...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<p>For some time now I&#8217;ve attempted to find the ideal configuration of software and services to develop websites on a Mac, and more specifically, how to keep these files synced between an FTP server and multiple Macs. The following should  serve as a rough guide to beginners attempting to do the same, but a few caveats:</p>
]]>
        <![CDATA[<ul>
<li>As a web professional, I&#8217;ve had to find my own route to get to this point, so I make no warranties about the accuracy of this information as it pertains to your setup, hosts, etc.</li>
<li>I&#8217;m using a very specific set of software and services that work for me. Naturally, there are alternatives out there that may be better suited to your needs.</li>
<li>As such, I can offer suggestions should you need them, but cannot and will not offer my services repeatedly as &#8220;support&#8221;.</li>
</ul>

<p><strong>Part 1: The Tools</strong></p>

<p>I design my  sites  primarily in Photoshop, and when specialized tools or techniques are needed, sometime Illustrator. There are four main pieces of software that I use for web design and development, on the coding side.</p>

<ol>
<li>Transmit for basic FTP.</li>
<li>Coda for hand-coded HTML and CSS.</li>
<li>MAMP for local Apache/PHP server.</li>
<li>Headdress for virtual hosting in a local environment.</li>
</ol>

<p><strong>Part 2: Web Services</strong></p>

<p>Hosting. I use MediaTemple as my  host. They&#8217;re very reliable and  have some great  features that ease the pain of having to configure sites with sophisticated backends. This author assumes that the reader knows the basics of establishing hosting, domains, FTP, etc.</p>

<p>Version control via Beanstalk, and specifically their Subversion (SVN) hosting. This aspect is essential in my workflow, especially for syncing sites between computers, but also as a backup and revision mechanism for working with other designers and developers. I can&#8217;t imagine how I managed to maintain sites prior to using SVN. </p>

<p>With Subversion, you&#8217;ll need to learn some new lingo, i.e. &#8220;repositories&#8221; and &#8220;commits&#8221;. Because we&#8217;re going to be using Coda, I&#8217;m not going to delve into all the command-line pokey-jiggery you&#8217;ll need to know in Terminal,  but at some point it wouldn&#8217;t hurt to acquaint yourself with that, either. The short version is that your &#8220;repository&#8221; will function very similarly to your site root,  and it has its own structure based on Subversion best  practices. A &#8220;commit&#8221; is a lot like FTPing your files up to a remote server. The converse act, or pulling down files, is called &#8220;updating&#8221;. </p>

<p>For my graphic files, I use Dropbox. I don&#8217;t know entirely  why, but I like the service and they&#8217;ve got apps for iPhones and Android phones  so you can email files to people if you need to. It&#8217;s automatic and effortless, and while I probably should be using Subversion to manage those files, I like the fact that Dropbox saves to the cloud when I save in my graphic apps. However, there is a service constructed around SVN + Photoshop  files called Timeline. Check it out.</p>

<p>Part  3:  The Breakdown</p>

<p>Let&#8217;s start from the bottom and work up.  You&#8217;ll need to have Headdress and MAMP installed, as well as  Coda and Transmit for moving files around. Any site you develop on the Mac using my methods will need to be  stored  in the &#8216;Sites&#8217; directory of your user&#8217;s &#8216;Home&#8217; folder. These local directories for each site are referred to, in the context of SVN, as &#8220;working copies&#8221;.</p>

<p>The next critical step is to configure Headdress to use the httpd.conf  file generated by MAMP. The two most important aspects of these two pieces of software working  in conjuction with each other are that we can now see PHP files and includes rendered out in our  browsers without having to FTP them, and that  we&#8217;ll  have  site-specific local URLs that get  generated each time we add a site in Headdress.</p>

<p>When you start working on a new site, you&#8217;ll naturally want to name the root folder of that site  after the client or even the project name. You&#8217;ll need to consider  this carefully as it will affect  how your SVN commits  work out. My rule of thumb regarding this approach is this &#8212; if you&#8217;re building a full, standalone site for a client that should get its own repository. If you&#8217;re doing a bunch of emails, landing pages, and microsites for the same clients you can lump all those into their own repositories and respective working copies.</p>

<p>On the web service end, you&#8217;ll need to log in to your Subversion hosting site, and create a repository. You should at least do this immediately after creating a local root folder for the working copy, but DEFINITELY prior  to adding a more robust file structure within said working copy. In my case, Beanstalk will generate three folders within each repository &#8212; branches, tags, and trunks. The trunk will be used for housing the main code base, while branches are used for the type  of versioning where you may get really divergent copies of a given code base. Bringing those back together into the trunk is called &#8220;merging&#8221;. We won&#8217;t be exploring that process quite yet as I haven&#8217;t done it!</p>

<p>Now that we  have  our basic SVN file structure, we&#8217;ll move into Coda and  make sure all our hosting details are in order. When it  comes to choosing your local folder, you&#8217;ll always want to choose &#8216;trunk&#8217; within a project root. Not doing so can have  some serious ramifications later down the road and fixing a broken SVN repo  is not fun. While we&#8217;re at it, let&#8217;s get those same details plugged in to Transmit so we can administer the  files in a more effective hands-on fashion if need be.</p>

<p>In Coda we&#8217;ll take this opportunity to sync up our SVN repo to our working copy, and this will allow us to start adding files within the correct workflow.</p>

<p>See, that was easy!</p>

<p>We&#8217;ll also go ahead specify our working copies as local sites  in Headdress. It&#8217;s  as easy as locating your &#8216;trunk&#8217; folder  and giving  it  a name. You&#8217;ll also want to start and stop MAMP if it was already running.</p>

<p>Now, we&#8217;ll start adding some files in  Coda (I&#8217;ll use a simple plugin called CreateProject). We&#8217;ll  commit that to  our SVN repo and check the files in Beanstalk. Yep, they&#8217;re there!</p>
]]>
    </content>
</entry>

<entry>
    <title>I Still Suck at Blogging...</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2009/02/i-still-suck-at-blogging.php" />
    <id>tag:www.tff4.com,2009://18.250</id>

    <published>2009-02-21T02:02:00Z</published>
    <updated>2009-02-21T02:04:17Z</updated>

    <summary>Just sayin&#8217;&#8230; I&#8217;ve had some decent ideas, but my recent fall, pending surgery, and pending redesign of my employer&#8217;s massive website have all created a perfect storm of not being able to do much web-related work on the personal side...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<p>Just sayin&#8217;&#8230; </p>

<p>I&#8217;ve had some decent ideas, but my recent fall, pending surgery, and pending redesign of my employer&#8217;s massive website have all created a perfect storm of not being able to do much web-related work on the personal side of things. In a week, I&#8217;ll be left handed mousing, and typing with one hand&#8230;</p>
]]>
        

    </content>
</entry>

<entry>
    <title>What is up? Change. And not so much.</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2009/01/what-is-up-change-and-not-so-m.php" />
    <id>tag:www.tff4.com,2009://18.249</id>

    <published>2009-01-23T05:10:28Z</published>
    <updated>2009-01-23T05:25:11Z</updated>

    <summary>In the past seven months I have adopted a cat, purchased a house, switched jobs, lost a marriage, gone skydiving for the first time, gained a roommate, purchased a car, and led an initiative to overhaul my employer&#8217;s CMS &#8212;...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="Philosophy" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="challengechangeremindercommentary" label="challenge change reminder commentary" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<p>In the past seven months I have adopted a cat, purchased a house, switched jobs, lost a marriage, gone skydiving for the first time, gained a roommate, purchased a car, and led an initiative to overhaul my employer&#8217;s CMS &#8212; in that order. </p>

<p>I&#8217;m starting to create again, but I still have a nagging itch. It&#8217;s this site. What am I doing with it? Not really anything. It got me the job I needed, but it serves little purpose as a voice for me. I rely on Twitter + Facebook far too much for that. Something needs to change. But when do I have time? Somewhere, I do. But I don&#8217;t feel much like sitting on the couch or at my desk to do it. Maybe I should go to more coffee shops and fewer pubs? Perhaps I need to block out a specific day and time to write?</p>

<p>I&#8217;ve noticed I&#8217;m not the only one &#8212; many designers aren&#8217;t publishing as frequently as they used to. Our communication channels are shifting ever closer to shorthand, easy-to-consume signals. Are our sites destined to become dusty portfolios slapped up alongside Tumblelogs?</p>

<p>Nay, I tell you! It takes quite a bit of effort to generate content, but we&#8217;ve all got to get better about it before the dumb channels take us over. Besides, you can&#8217;t squeeze a Photoshop tutorial or a full-blown discussion about frameworks into a tweet. So this is my reminder to myself&#8230; Write, dammit! Now I&#8217;m no expert, but what do you young designers entering the field want to know O.o</p>
]]>
        

    </content>
</entry>

<entry>
    <title>Grassroots Obama Video</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2008/10/grassroots-obama-video.php" />
    <id>tag:www.tff4.com,2008://18.247</id>

    <published>2008-10-19T20:27:07Z</published>
    <updated>2008-10-19T20:37:48Z</updated>

    <summary>Check out this original, grassroots-made music video supporting Barack Obama. The level of effort put into the design and video production is enviable, not to mention the message and impact of the video being incredible. Just&#8230; Wow. Obama &#8216;08 -...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="Design" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Politics" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="obamavideodesign" label="obama video design" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<p>Check out this original, grassroots-made music video supporting Barack Obama. The level of effort put into the design and video production is enviable, not to mention the message and impact of the video being incredible. Just&#8230; Wow.</p>

<div align="center"><object width="400" height="225">   <param name="allowfullscreen" value="true" />   <param name="allowscriptaccess" value="always" />   <param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=1891426&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" />   <embed src="http://vimeo.com/moogaloop.swf?clip_id=1891426&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="225"></embed></object><br />

<p><a href="http://vimeo.com/1891426?pg=embed&amp;sec=1891426">Obama &#8216;08 - Vote For Hope</a> from <a href="http://vimeo.com/mcyogi?pg=embed&amp;sec=1891426">MC Yogi</a> on <a href="http://vimeo.com?pg=embed&amp;sec=1891426">Vimeo</a>.</p></div>
]]>
        

    </content>
</entry>

<entry>
    <title>Set a Guinness World Record</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2008/05/set-a-guinness-world-record.php" />
    <id>tag:www.tff4.com,2008://18.245</id>

    <published>2008-05-29T14:26:24Z</published>
    <updated>2008-05-29T14:40:08Z</updated>

    <summary>Celebrate Download Day 2008, and help set a Guiness World Record by getting Firefox 3 on the day it drops. As Firefox 3 nears completion, it&#8217;s shaping up to be leaner, faster, and more usable. The world&#8217;s best open source...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="firefoxff3downloadday2008mozillabrowser" label="Firefox FF3 DownloadDay2008 Mozilla browser" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<h3 class="postIntro">Celebrate Download Day 2008, and help set a Guiness World Record by getting Firefox 3 on the day it drops.</h3>

<p><a href="http://www.spreadfirefox.com/en-US/worldrecord" ><img border="0" alt="Download Day 2008" title="Download Day 2008" src="http://www.spreadfirefox.com/sites/all/themes/spreadfirefox_RCS/images/download-day/buttons/en-US/sns_badge1.png" style="float: left; margin: 0px 15px 15px 0px; border: solid 10px #8bb9d1;"/></a></p>

<p style="margin-bottom: 15px;">As Firefox 3 nears completion, it&#8217;s shaping up to be leaner, faster, and more usable. The world&#8217;s best open source browser is maturing, and as part of the web community, you can get your Firefox on, and help it gain more mainstream exposure at the same time. So make it count &#8212; don&#8217;t be a slouch &#8212; <a href="http://www.spreadfirefox.com/en-US/worldrecord" title="pledge for Download Day 2008">pledge to get Firefox 3!</a> And it doesn&#8217;t cost a thing, people&#8230;</p>
]]>
        

    </content>
</entry>

<entry>
    <title>I Need A Hero...</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2008/05/i-need-a-hero.php" />
    <id>tag:www.tff4.com,2008://18.244</id>

    <published>2008-05-14T13:39:17Z</published>
    <updated>2008-05-14T13:55:10Z</updated>

    <summary>I&#8217;m holding out for at hero &#8216;till the end of the night / He&#8217;s gotta be strong / And he&#8217;s gotta be fast / And he&#8217;s gotta be fresh from the fight Ok, I know that&#8217;s over the top, but...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="Design" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="fonts" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="heroiccondensedfonttypefacesilasdilworthtypetrust" label="heroic condensed font typeface silas dilworth typetrust" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<h3 class="postIntro">I&#8217;m holding out for at hero &#8216;till the end of the night / He&#8217;s gotta be strong / And he&#8217;s gotta be fast / And he&#8217;s gotta be fresh from the fight</h3>

<p>Ok, I know that&#8217;s over the top, but I&#8217;d like to introduce you to Silas Dilworth&#8217;s new <a href="http://www.typetrust.com/font/heroiccondensed" title="Silas Dilworth's Heroic Typeface">&#8220;Heroic Condensed&#8221;</a>. If you&#8217;re a fan of condensed, slab sans-serifs like I am, then you&#8217;ll understand my enthusiasm. Available in 8 weights, and currently 33% off from its regular price, it&#8217;s hard to resist grabbing this up.</p>

<div align="center" style="margin-top:10px; margin-bottom: 10px;">
<a href="http://www.typetrust.com/font/heroiccondensed" title="Silas Dilworth's Heroic Typeface"><img src="http://www.tff4.com/images/heroic_typeface.jpg" width="500" height="421" border="0" title="Silas Dilworth's Heroic Typeface" class="borderedImage" style="border: solid 10px #8bb9d1;" /></a>
</div>
]]>
        

    </content>
</entry>

<entry>
    <title>Change For Sale</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2008/03/change.php" />
    <id>tag:www.tff4.com,2008://18.231</id>

    <published>2008-03-13T20:34:12Z</published>
    <updated>2008-03-27T19:40:52Z</updated>

    <summary>The Obama Store has released 4500 / 5000 of Shepherd Fairey&#8217;s &#8220;CHANGE&#8221; poster. Get &#8216;em while they&#8217;re still around. All purchases made on the Artist for Obama Gallery are 100% contributions to the campaign and count toward your overall contribution...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="Design" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Politics" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="politicsdesignobeyshepherdfaireychangedemocracy" label="politics design obey shepherdfairey change democracy" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<h3 class="postIntro">The <a href="http://store.barackobama.com/product_p/PO26951.htm" title="Obama Store sells CHANGE">Obama Store</a> has released 4500 / 5000 of Shepherd Fairey&#8217;s &#8220;CHANGE&#8221; poster. Get &#8216;em while they&#8217;re still around.</h3>

<div align="center" style="margin-top:10px"><a href="http://store.barackobama.com/product_p/PO26951.htm" title="Obama Store sells CHANGE"><img src="http://www.tff4.com/images/obama_change_poster.jpg" width="267" height="400" border="0" title="Shepherd Fairey's CHANGE" /></a></div>

<blockquote>All purchases made on the Artist for Obama Gallery are 100% contributions to the campaign and count toward your overall contribution limit of $2300. Contributions are not tax deductible for federal income tax purposes. </blockquote>
]]>
        

    </content>
</entry>

<entry>
    <title>Evolution of Dance by Optimus Prime</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2008/02/evolution-of-dance-by-optimus.php" />
    <id>tag:www.tff4.com,2008://18.229</id>

    <published>2008-02-29T18:24:51Z</published>
    <updated>2008-02-29T18:28:03Z</updated>

    <summary>I wasn&#8217;t going to post any more videos in the main content of my site, post-redesign, but this is creative enough to warrant it Some exceptional stop motion animation going on here&#8230;...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="Fun" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<h3 class="postIntro">I wasn&#8217;t going to post any more videos in the main content of my site, post-redesign, but this is creative enough to warrant it</h3>

<p>Some exceptional stop motion animation going on here&#8230;</p>

<div align="center" class="contentVideo">

<object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/EtGQgSY9Nn4&rel=1&border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/EtGQgSY9Nn4&rel=1&border=0" type="application/x-shockwave-flash" wmode="transparent"width="425" height="355"></embed></object>

</div>
]]>
        

    </content>
</entry>

<entry>
    <title>Our Deepest Fear...</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2008/02/our-deepest-fear.php" />
    <id>tag:www.tff4.com,2008://18.227</id>

    <published>2008-02-19T18:35:21Z</published>
    <updated>2008-02-22T03:04:46Z</updated>

    <summary>This weekend, the wife and I watched Coach Carter. I&#8217;m not prone to watching those sappy, based-on-a-true-story, inspirational movies, but it was decent enough&#8230; As trite as that theme has become, I think it&#8217;s important that people, especially the younger...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="Movies" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Philosophy" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="fearhopeinspirationpoem" label="fear hope inspiration poem" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<h3 class="postIntro">This weekend, the wife and I watched <em><a href="http://imdb.com/title/tt0393162/" title="Coach Carter movie listing on IMDB">Coach Carter</a></em>. I&#8217;m not prone to watching those sappy, based-on-a-true-story, inspirational movies, but it was decent enough&#8230;</h3>

<p>As trite as that theme has become, I think it&#8217;s important that people, especially the younger generations, know they are capable of many wonderful things, as long as they put forth the effort necessary to attain success and go beyond (I&#8217;m looking at you, baby brothers).</p>

<p>This quote from the movie, a paraphrasing of a poem in Marianne Williamson&#8217;s <em>A Return to Love</em>, reminded me I need to do more, for myself and for the world:</p>

<blockquote>Our deepest fear is not that we are inadequate. Our deepest fear is that we are powerful beyond measure. It is our light, not our darkness that most frightens us. [&#8230;] Your playing small does not serve the world. There is nothing enlightened about shrinking so that other people won&#8217;t feel insecure around you. We are all meant to shine as children do. It&#8217;s not just in some of us; it is in everyone. And as we let our own lights shine, we unconsciously give other people permission to do the same. As we are liberated from our own fear, our presence automatically liberates others.</blockquote>

<p>The original poem contains some other extraneous points that narrow the focus of this well-crafted passage, and don&#8217;t believe they add to the intrinsic value of what&#8217;s being said here. Nor do I personally believe that having this attitude requires your being a person of faith&#8212;just that you want to make the world a better place by being yourself. </p>

<p><em>I dedicate this post to my wife, my family, and my friends who are already bright beacons in an increasingly dim world. But especially to my immediate family, who I love very much, and who I hope to see move far beyond the current rough patch they are experiencing and continue growing into the strong, shining lights mentioned above.</em></p>
]]>
        

    </content>
</entry>

<entry>
    <title>Conditional CSS Comments</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2008/01/conditional-css-comments.php" />
    <id>tag:www.tff4.com,2008://18.216</id>

    <published>2008-01-11T18:50:47Z</published>
    <updated>2008-11-12T04:10:14Z</updated>

    <summary>Maybe you&apos;ve been designing websites for a month. Or maybe you&apos;ve been at it for years. You&apos;ve been using CSS for presentational markup with HTML, and you know how reliably pages tend to display when using a modern, standards-compliant browser like Firefox or Safari. And then you view your layout in the dreaded Internet Explorer 6. It&apos;s blown to bits, kablooey, gobbledygook. You followed all the rules, but everything is misaligned, your margins are blown, your em-based fonts sizes are way off...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="Design" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="csshackconditionalcommentswebdesignbrowsercode" label="css hack conditional comments webdesign browser code" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<h3 class="postIntro">If you haven&#8217;t met previously, let me introduce you two&#8230;</h3>

<p>Maybe you&#8217;ve been designing websites for a month. Or maybe you&#8217;ve been at it for years. You&#8217;ve been using CSS for presentational markup with HTML, and you know how reliably pages tend to display when using a modern, standards-compliant browser like Firefox or Safari. And then you view your layout in the dreaded Internet Explorer 6. It&#8217;s blown to bits, kablooey, gobbledygook. You followed all the rules, but everything is misaligned, your margins are blown, your em-based font sizes are way off&#8230; </p>
]]>
        <![CDATA[<h4>A brief primer</h4> 

<p>IE6 has the largest install base of any browser in the market, and many people still haven&#8217;t upgraded to Internet Explorer 7 (IE7). Many of the CSS hacks used to control IE6 are ignored by or disrupt browser rendering in IE7. IE7 plays by a lot of the standards-based rules we&#8217;re accustomed to in modern browsers, but it still comes up short. And in many situations, you can&#8217;t leave the users of older browsers completely in the lurch (even if IE6 <em> is 8 friggin&#8217; years old</em>). </p>

<p>In the immortal words of the terrorist Howard Payne from the movie <em>(SPEED)</em>, &#8220;Pop quiz[&#8230;] What do you do?&#8221;</p>

<h4>You hack that sucker.</h4> 

<p>You go to <a href="http://alistapart.com/">A List Apart</a> or <a href="http://www.positioniseverything.com">Position is Everything</a>, and you hack that sucker until it submits to your will. You pull out all the stops. And then&#8230; You open the page in IE7 and once again it looks nothing at all like it&#8217;s supposed to. Not even like your hacked-for-IE6 version does. <em>Now what?</em></p>

<p><strong>My new go-to:</strong> Conditional CSS comments. They certainly aren&#8217;t new. However, for various projects including this site, I have just started using them. I love them and I probably won&#8217;t stop unless there is a significantly compelling reason to not use them. In principle, we shouldn&#8217;t have to at all, but that is not the reality we are confronted with, and it turn we must confront said reality with a solution that won&#8217;t induce hair pulling&#8230;</p>

<p>So what are these conditional comments? They&#8217;re basically  proprietary filters built into various Internet Explorers that supply IE with specific stylesheets exclusively. Other browsers completely ignored that code, so the comments themselves are not (as far as I&#8217;ve read) harmful from an accessibility standpoint. You can even pick and choose specific versions of IE you want to target with your conditional comments. And what do these conditional CSS comments look like? Here is a stellar example from <a href="http://www.askthecssguy.com/2006/10/how_to_serve_different_css_fil.html">Ask the CSS Guy</a>.</p>

<p>Before you go repeatedly recopying all your CSS after you make trivial tweaks to your base style sheet, and then pasting said changes back into your conditional CSS (like I was initially doing), know that the only CSS you absolutely need to put in the conditional style sheets are the rules you want overridden. Separate the wheat from the chaff and only maintain browser-specific hacks in your conditional CSS (you know, the code that tends to be troublesome with the usual suspects). </p>

<p>For tff4.com, I now use conditional CSS to serve up GIFs to IE6 users instead of my pretty, drop-shadowy PNGs. Now there&#8217;s no need for crippled Javascript to make alpha channels render on your PNGs in IE6&#8212;just serve them slightly different CSS! (If you aren&#8217;t excited by this prospect, you&#8217;re not a web geek, mkay?)</p>

<p><strong>Update:</strong> It&#8217;s worth mentioning (due to a lot of traffic from <a href="http://www.unmatchedstyle.com" title="Unmatched Style CSS Gallery">Unmatched Style</a>) that since I&#8217;ve just started using this technique of serving up different style sheets, I haven&#8217;t had the chance to get everything perfect in every browser, with IE6 still receiving the least amount of attention. The archived pages, I know, are way off for the time being. Hope to get them fixed soon!</p>
]]>
    </content>
</entry>

<entry>
    <title>Still a Little Dusty...</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2007/12/still-a-little-dusty.php" />
    <id>tag:www.tff4.com,2007://18.213</id>

    <published>2007-12-18T16:51:58Z</published>
    <updated>2007-12-19T18:37:58Z</updated>

    <summary>So my site is finally shaping up and looking a bit snazzier in the darker corners. I&#8217;ve been fooling with this redesign in bits and pieces since July, so it&#8217;s a relief and a morale booster to finally have a...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="Design" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="tff4comtwitterie7ie6firefoxoperasafarimovabletypeblogcmsupdaterefreshredesign" label="tff4.com twitter IE7 IE6 Firefox Opera Safari MovableType blog CMS update refresh redesign" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<h3 class="postIntro">So my site is finally shaping up and looking a bit snazzier in the darker corners. I&#8217;ve been fooling with this redesign in bits and pieces since July, so it&#8217;s a relief and a morale booster to finally have a solid, working, layout, and somewhat clean functionality.</h3>

<p>A <a href="/work.php">portfolio section</a> is finally up and pieces will be added little by little every week or two, hopefully until it explodes. </p>
]]>
        <![CDATA[<h4>Browsers</h4>

<p>IE6 compatibility is a long way off, so consider <a href="http://www.microsoft.com/windows/products/winfamily/ie/default.mspx" title="Internet Explorer 7">IE7</a>, if you must use a Microsoft browser. At present, I don&#8217;t have the patience for its intolerance toward web standards&#8230; Please consider <a href="http://www.getfirefox.com">Firefox</a> or <a href="http://www.opera.com">Opera</a> or even <a href="http://www.apple.com/safari">Safari</a>.</p>

<h4>CMS</h4>

<p>Also, <a href="http://www.movabletype.org/">Movable Type 4</a> has been giving me fits with its little peculiarities. Comments are open and working again, though the submission process is not as polished as I would like. And security&#8230;I&#8217;m waiting for the spambots to attack and for my inbox to fill up with moderation notices, if you catch my drift. Anyone with experience in getting MT4&#8217;s more robust comment authentication methods <em>actually working</em>, please drop a line or comment.</p>

<h4>Future Plans</h4>

<p>As time progresses, I hope to have the sidebars for each section a bit more individualized. I&#8217;m also working on getting a more stable way of presenting my posts from <a href="http://www.twitter.com">Twitter</a> (tweets, for the uninitiated). Every time their site goes down, so does the crappy Javascript include that brings the tweets to my site. Some error messages and notifications still appear in the default Movable Type format, and when I have the chance to dissect those .cgi pages, that will also change to fit tff4.com better. </p>

<p>Thanks for your patience!</p>
]]>
    </content>
</entry>

<entry>
    <title>Firefox Code Glitch</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2007/11/firefox-code-glitch.php" />
    <id>tag:www.tff4.com,2007://18.208</id>

    <published>2007-11-30T19:55:06Z</published>
    <updated>2007-12-12T19:00:20Z</updated>

    <summary>I have a riddle for you if you have the time. Last week I found that my site was suddenly behaving differently in Firefox. Up until this point, it looked pretty much the same as Safari. But suddenly every piece...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="Design" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="firefoxcodeerrorglitchsafari" label="firefox code error glitch safari" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<h3 class="postIntro">I have a riddle for you if you have the time.</h3>

<p>Last week I found that my site was suddenly behaving differently in Firefox. Up until this point, it looked pretty much the same as Safari. But suddenly every piece of text had inexplicably become bold, and the spacing of my block-level elements was off. Way off. After some rapid refreshing in both browsers to see if something had momentarily glitched out and become cached, I realized the bug was much more permanent.</p>

<h4>Thank heaven for Firefox and its myriad extensions.</h4>

<p>Over the years, there have been a few extensions that I found critical, but haven&#8217;t been updated, <a href="http://www.designmeme.com/2006/01/06/new-firefox-extension-x-ray/" title="X-Ray Firefox Extension">X-Ray</a> being chief among them. <a href="http://jennifermadden.com/scripts/ViewRenderedSource.html">View Source Chart</a> is another extension that keeps me from switching completely back to Safari. In order to use either of these I keep <a href="http://www.oxymoronical.com/web/firefox/nightly">Nightly Tester Tools</a> around for ensuring backward compatibility with these extensions that have fallen by the wayside&#8230;</p>
]]>
        <![CDATA[<p>So using X-Ray, I find that Firefox is rendering a bunch of these extraneous tags all over the page:</p>

<p><code>&lt;strong&gt;&lt;strong&gt;&lt;div&gt;</code> </p>

<p>I thought somehow MovableType might be throwing extra code in by accident, right? But after viewing source in Safari I see that the tags that are present in Firefox just aren&#8217;t showing up. </p>

<h4><em>How is that possible?</em></h4>

<p>My MovableType install is set to render pages statically, so I presumed that this mysterious code was being injected by some script I added to my site. PHP? Nope. sIFR? Nope. Crazyegg? Nope. Twitter? NOPE. A savvy friend even recommended shutting down Firebug and Greasemonkey to rule those out&#8230; Not the culprits, either&#8230;</p>

<p>As our conversation progressed, talking to my developer-friend must&#8217;ve dusted some troubleshooting mojo off. I went back and looked at where the errant tags began and <strong>there it was</strong>. I had found my white whale code.</p>

<p>It turns out that I use a secondary &#8220;blog&#8221; install to publish my linked list (&#8220;The Chipper&#8221;) &#8212; as is common on <a href="http://www.airbagindustries.com/" title="Airbag Industries">various</a> <a href="http://www.dangergraphics.com/" title="Danger Graphics">blogs</a> that utilize MovableType. And in one of my links, I carelessly neglected to close off a <strong>strong</strong> tag in the topmost link. These links are brought in via PHP include and somehow not closing it off caused a bunch of (properly nested, mind you) strong and div tags to be generated and injected into the page, but only in Firefox.</p>

<p>Safari, on the other hand, was kind enough to ignore the mistake and go about its business. Yet Firefox felt compelled to actually <strong>add in code</strong> to compensate for an unclosed tag. Or so it seems&#8230; I&#8217;m no browser geek, so that&#8217;s about as far as I&#8217;ll speculate. If you have a more in depth explanation of what happened, I&#8217;m all ears.</p>
]]>
    </content>
</entry>

<entry>
    <title>Pardon the Dust...</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2007/11/pardon-the-dust.php" />
    <id>tag:www.tff4.com,2007://18.204</id>

    <published>2007-11-08T19:27:36Z</published>
    <updated>2007-11-26T04:41:58Z</updated>

    <summary>Obviously, some things have changed around here... I&apos;ve been redesigning my site since the end of July and it&apos;s just damn time for the thing to be up. I need incentive to get it done. So, please excuse the mess....</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="Design" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<h3 class="postIntro">Obviously, some things have changed around here... I've been redesigning my site since the end of July and it's just damn time for the thing to be up. I need incentive to get it done. So, please excuse the mess.</h3>

<p>Yes, you will see some behind the scenes raggedness that I hope to have cleaned up by the weekend. Archive templates are still stuck on the old design and there are no portfolio pieces up as of yet. The incompleteness is not the image I want to convey, as this redesign/realign is part of a long process of self-improvement that I am embarking on. But if it facilitates my being done, so be it.</p>]]>
        
    </content>
</entry>

<entry>
    <title>The Design View Show</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2007/10/the-design-view-show.php" />
    <id>tag:www.tff4.com,2007://18.203</id>

    <published>2007-10-15T14:14:15Z</published>
    <updated>2007-11-27T02:36:04Z</updated>

    <summary> Andy Rutledge gives us a design podcast that has been sorely needed. Well spoken, relevant, and on-topic, it&apos;s something designers old and new alike can sink their teeth into. It doesn&apos;t hurt that Andy&apos;s spoken voice is as refined...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="Design" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<h3 class="postIntro">
<a href="http://www.andyrutledge.com" title="Design View by Andy Rutledge" target="_blank">Andy Rutledge</a> gives us a design podcast that has been sorely needed. Well spoken, relevant, and on-topic, it's something designers old and new alike can sink their teeth into. It doesn't hurt that Andy's spoken voice is as refined and clear as his written voice.
</h3>

<h3 class="postIntro"><a href="http://show.andyrutledge.com/" target="_blank" title="The Design View Show">The Design View Show</a></h3>]]>
        
    </content>
</entry>

<entry>
    <title>Safari FTW... Or WTF?!?</title>
    <link rel="alternate" type="text/html" href="http://www.tff4.com/archives/2007/10/safari-ftw-or-wtf.php" />
    <id>tag:www.tff4.com,2007://18.202</id>

    <published>2007-10-12T13:41:17Z</published>
    <updated>2007-11-27T02:31:57Z</updated>

    <summary> A call to arms: OK, so it&apos;s not the noblest cause, but why is Safari still the bastard child of browsers in terms of web app support? WebKit is indeed superior in terms of standards compliance than most other...</summary>
    <author>
        <name>Tom</name>
        <uri>http://www.tff4.com</uri>
    </author>
    
        <category term="Web" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.tff4.com/">
        <![CDATA[<h3 class="postIntro">
<strong>A call to arms:</strong> 
OK, so it's not the noblest cause, but why is Safari still the bastard child of browsers in terms of web app support? WebKit is indeed superior in terms of standards compliance than most other browsers and it's now available on Windows, and of course the iPhone. Yet I still have <strong><em>so many issues</em></strong> with major sites.
</h3>]]>
        <![CDATA[<p>More than a year out from the inception of Yahoo's mail beta, Safari is still blocked (unless you use the Safari 3 beta &#8212; and that works OK until you try to modify options and such). I have ridiculous problems with gmail, like not being able to use the 'delete all spam messages' quicklink. Google Documents and chat within gmail are also unsupported. Akin to the Google spam link issue, attempts in Hotmail to use the quick-delete feature for spam are unsuccessful &#8212; I can only get that to work in Firefox. As I type this into MovableType, it's likely that a menu feature will glitch out on me because I'm in Safari... <em>This is madness!</em> What am I missing? I'm sure it has a lot to do with Javascript issues, but what the hell?</p>

<p>I should add that, yes, I am a mac user, but for quite I while I've used Firefox exclusively. I am finding that it is really just too slow to be useful anymore, especially at work on an aging G5. All the web developer extensions in the world aren't going to eliminate my need to have pages pull up quickly and have my browser behave reliably with multiple tabs open... It seems, for now, I am stuck between a rock and lousy browser support.</p>]]>
    </content>
</entry>

</feed>
