<?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>Derek Punsalan - 5THIRTYONE &#187; Tutorial</title> <atom:link href="http://5thirtyone.com/archives/category/tutorial/feed" rel="self" type="application/rss+xml" /><link>http://5thirtyone.com</link> <description>A personal site by Derek Punsalan sharing personal interests with technology, WordPress, design, and general geekery.</description> <lastBuildDate>Wed, 11 Aug 2010 14:25:02 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0.1</generator> <atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/> <item><title>Home Mac, Airport Extreme, DynDNS, simple remote VNC</title><link>http://5thirtyone.com/archives/2221</link> <comments>http://5thirtyone.com/archives/2221#comments</comments> <pubDate>Mon, 08 Mar 2010 06:53:48 +0000</pubDate> <dc:creator>Derek</dc:creator> <category><![CDATA[Tutorial]]></category> <category><![CDATA[airport extreme]]></category> <category><![CDATA[Apple]]></category> <category><![CDATA[dyndns]]></category> <category><![CDATA[mac]]></category> <category><![CDATA[network]]></category> <category><![CDATA[remote]]></category> <category><![CDATA[vnc]]></category> <category><![CDATA[wireless]]></category><guid
isPermaLink="false">http://5thirtyone.com/?p=2221</guid> <description><![CDATA[Since I had willingly allowed my MobileMe subscription to expire, I no longer had access to Apple&#8217;s Back to My Mac service for accessing my home Mac remotely. Although the feature was definitely useful + headache free to setup and use, I couldn&#8217;t justify the $99 annual renewal for the entire MobileMe package. I experimented [...]]]></description> <content:encoded><![CDATA[<p>Since I had willingly allowed my MobileMe subscription to expire, I no longer had access to Apple&#8217;s <a
href="http://en.wikipedia.org/wiki/Back_to_My_Mac">Back to My Mac</a> service for accessing my home Mac remotely. Although the feature was definitely useful + headache free to setup and use, I couldn&#8217;t justify the $99 annual renewal for the entire MobileMe package.</p><p>I experimented with <a
href="http://logmein.com">LogMeIn</a> but really wanted to leave the web browser for browsing and remote control of a computer to a VNC client. Having previously setup my computers for VNC access / control on the local network, the changes for remote access were minimal. In short, setting up remote VNC access requires:</p><ol><li>VNC server running on the host (home) computer</li><li>Your home router forwarding required ports to the host computer</li><li>Helpful: Easy to remember dynamic hostname instead of memorizing an IP</li><li>VNC viewer (client) for your remote computer or iPhone</li></ol><p>I wanted to document the process here for Mac OS X 10.5+ users with along with some helpful screenshots for curious minds.</p><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2010/03/Enable-screen-sharing.png"><img
src="http://5thirtyone.com/wp-content/uploads/2010/03/Enable-screen-sharing-500x188.png" alt="" title="Enable screen sharing" width="500" height="188" class="aligncenter size-medium wp-image-2223" /></a></p><p>First, enable Screen Sharing on your Mac. Open <em>System Preferences > Sharing</em> and tick the &#8216;Screen Sharing&#8217; option. In the screenshot above I&#8217;ve added the password requirement for controlling the screen (Computer Settings&#8230;).</p><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2010/03/Airport-Settings.png"><img
src="http://5thirtyone.com/wp-content/uploads/2010/03/Airport-Settings-500x362.png" alt="" title="Airport Settings" width="500" height="362" class="aligncenter size-medium wp-image-2224" /></a></p><p>In order to access your home computer remotely, you&#8217;ll need to forward the necessary ports appropriately. To do this, log into your Airport Extreme. Select <em>Manual Setup</em>. Inside the Advanced tab, select the <em>Advanced</em> tab then <em>Port Mapping</em>. Inside of this dialog, select the small &#8216;+&#8217; (plus) button. The port mapping setup assistant will slide into view. Select <em>Remote Login &#8211; SSH</em> &amp; <em>Apple Remote Desktop</em>. Each selection will automatically fill the correct ports. Select <em>Continue</em> after specifying each service.</p><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2010/03/Active-Airport-Settings.png"><img
src="http://5thirtyone.com/wp-content/uploads/2010/03/Active-Airport-Settings-500x430.png" alt="" title="Active Airport Settings" width="500" height="430" class="aligncenter size-medium wp-image-2225" /></a></p><p>You Port Mapping window should now look like the image above. Ensure that both checkboxes are checked then proceed to update the new settings to your router.</p><h3>DynDNS to save you from remembering your IP</h3><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2010/03/DynDNS-My-Services.png"><img
src="http://5thirtyone.com/wp-content/uploads/2010/03/DynDNS-My-Services-500x351.png" alt="" title="DynDNS My Services" width="500" height="351" class="aligncenter size-medium wp-image-2228" /></a></p><p>To keep the entire process of accessing your computer remotely <em>easy</em>, setup a <a
href="http://www.dyndns.com/">free account at DynDNS</a> (<a
href="https://www.dyndns.com/account/entrance/">create account</a>). Once the account has been properly setup, return to the main dashboard and look for <em>My Services</em>.</p><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2010/03/DynDNS-Host-Services.png"><img
src="http://5thirtyone.com/wp-content/uploads/2010/03/DynDNS-Host-Services-500x309.png" alt="" title="DynDNS Host Services" width="500" height="309" class="aligncenter size-medium wp-image-2226" /></a></p><p>What you want to setup is a new <em>Host Service > Dynamic DNS Hosts</em>.</p><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2010/03/DynDNS-Add-New-Host.png"><img
src="http://5thirtyone.com/wp-content/uploads/2010/03/DynDNS-Add-New-Host-500x173.png" alt="" title="DynDNS Add New Host" width="500" height="173" class="aligncenter size-medium wp-image-2229" /></a></p><p>Select <me>Add New Host</em> on the following screen. DynDNS will request some basic info related to your home Mac.</p><p
align="center'><a
href="http://5thirtyone.com/wp-content/uploads/2010/03/DynDNS-Settings.png"><img
src="http://5thirtyone.com/wp-content/uploads/2010/03/DynDNS-Settings.png" alt="" title="DynDNS Settings" width="441" height="357" class="aligncenter size-full wp-image-2227" /></a></p><p>The first field &#8211; <em>Hostname</em> &#8211; will be your &quot;memorable&quot; URL to access your computer remotely from outside of your home network (select from alternate domains using the dropdown). Select <em>Service Type: Host with IP address</em>. DynDNS can automatically fill-in your location IP address (click on the link). The rest of the settings can be ignored.</p><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2010/03/DynDNS-Support.png"><img
src="http://5thirtyone.com/wp-content/uploads/2010/03/DynDNS-Support-500x214.png" alt="" title="DynDNS Support" width="500" height="214" class="aligncenter size-medium wp-image-2230" /></a></p><p>Chances are your location IP will change every so often (without you knowledge). Unless you&#8217;re paying your service provider for a static IP, you&#8217;ll want to install the <a
href="http://www.dyndns.com/support/">DynDNS Updater</a> (free). This handy daemon runs in the background and updates DynDNS with your current IP.</p><h3>Connecting to your home Mac with a VNC client</h3><p>Now that VNC is enabled on the home Mac, the appropriate ports forwarded and DynDNS setup, it&#8217;s time to connect remotely. The first option is to use a VNC client like <a
href="http://sourceforge.net/projects/cotvnc/">Chicken of the VNC</a>. The alternative (my preference) is to use the built-in VNC client provided by Apple as of 10.5 Leopard &#8211; the same client use for Back to my Mac. To access the client, go to <em>Finder > Go > Connect to Server</em> or CMD +K.</p><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2010/03/Screen-shot-2010-03-07-at-10.48.06-PM.png"><img
src="http://5thirtyone.com/wp-content/uploads/2010/03/Screen-shot-2010-03-07-at-10.48.06-PM-500x271.png" alt="" title="Connect to Server" width="500" height="271" class="aligncenter size-medium wp-image-2231" /></a></p><p>Upon successfully connecting, you will be prompted to enter the previously setup credentials to control your remote Mac. The beauty of Apple&#8217;s integrated VNC client is the fact that larger remote screens are automatically resized to fit. For MacBook / MacBook Pro users, the iMac or Apple Cinema display at home will be resized to fit (with the option to view at full resolution).</p><p>Do you use VNC? What method to you use to manage / control your computer at home?</p><div
id="wherego_related"><h3>Readers Also Read</h3><ul><li><a
href="http://5thirtyone.com/archives/2049" rel="bookmark" class="wherego_title">Backblaze: Secure unlimited automatic backups for $5</a></li><li><a
href="http://5thirtyone.com/archives/2171" rel="bookmark" class="wherego_title">Gmail IMAP vs. Push, sanity more important than Push?</a></li><li><a
href="http://5thirtyone.com/archives/825" rel="bookmark" class="wherego_title">Controlling multiple Macs, locally and remotely</a></li><li><a
href="http://5thirtyone.com/archives/578" rel="bookmark" class="wherego_title">Living with a wireless Mighty Mouse</a></li></ul></div>]]></content:encoded> <wfw:commentRss>http://5thirtyone.com/archives/2221/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>CSS + jQuery: Highlight important keywords inside text</title><link>http://5thirtyone.com/archives/2206</link> <comments>http://5thirtyone.com/archives/2206#comments</comments> <pubDate>Tue, 22 Dec 2009 22:47:20 +0000</pubDate> <dc:creator>Derek</dc:creator> <category><![CDATA[Tutorial]]></category> <category><![CDATA[code]]></category> <category><![CDATA[css]]></category> <category><![CDATA[define]]></category> <category><![CDATA[jquery]]></category> <category><![CDATA[sample]]></category><guid
isPermaLink="false">http://5thirtyone.com/?p=2206</guid> <description><![CDATA[A few days ago while working on a new UI component I had to come up with a solution to highlight identified keywords (using named entity recognition) inside of a chunk of user generated text. While the idea was fairly simple, the challenge was creating a solution which would work [relatively] well for all modern [...]]]></description> <content:encoded><![CDATA[<p
align="center"><a
href="http://5thirtyone.com/sandbox/samples/fadefocus/"><img
src="http://5thirtyone.com/wp-content/uploads/2009/12/sample-screenshot.png" alt="CSS+jQuery Sample Screenshot" /></a></p><p>A few days ago while working on a new UI component I had to come up with a solution to highlight identified keywords (using <a
href="http://en.wikipedia.org/wiki/Named_entity_recognition">named entity recognition</a>) inside of a chunk of user generated text. While the idea was fairly simple, the challenge was creating a solution which would work [relatively] well for <em>all</em> modern browsers including IE7, IE8, Firefox, Safari, and Chrome.</p><p
align="center"><a
class="demo-button" href="http://5thirtyone.com/sandbox/samples/fadefocus/" title="View Demo">View Demo</a></p><h3>Background</h3><p>The easiest solution to highlight keywords inside of a chunk of text would be to swap font colors, maybe even change the &quot;highlighted&quot; background color and type weight for added emphasis. However, the easiest solution is not always the best solution. Relying on font color and weight alone is not enough.</p><ul><li><strong>Images</strong> &#8211; Photos are full of color, bold, and attractive. Ignore these while toggling the text color of de-emphasized / emphasized content and a visitors eyes will still wander.</li><li><strong>Dynamic</strong> &#8211; Content may be user generated. Assuming basic HTML like &lt;em&gt;, &lt;strong&gt;, &lt;a&gt;, etc are supported, original styles should remain untouched.</li></ul><p>The better solution would be to create a &quot;mask&quot; overlaying the source content while using a spotlight-esque effect to highlight keywords. The overlay method is a safer option which reduces the likelihood of overriding any user generated content [styles].</p><h3>Example HTML</h3><p>This demo is a simplified version of the original code &#8211; shared as an example for fading the source content and highlighting important keywords within. Originally planned for use where classes are dynamically generated and wrapped around identified keywords, I have manually inserted classes for the purpose of this demo. The basic example HTML is below (text sampled from the <a
href="http://en.wikipedia.org/wiki/Avatar">Avatar Wikipedia</a> entry):</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td
class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;wrapper&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;entity-results&quot;</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;d1&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>Summary<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;d2&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>Avatar<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;d3&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>Formats<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;content&quot;</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>Avatar (2009 film)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;entity-source&quot;</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;images/avatar.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Avatar poster&quot;</span><span style="color: #66cc66;">/</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Avatar, also known as James Cameron's Avatar, is an American 3-D science fiction epic film written and directed by <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://en.wikipedia.org/wiki/James_Cameron&quot;</span>&gt;</span>James Cameron<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>, and was released on December 16, 2009 by 20th Century Fox. The film is co-produced by <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://en.wikipedia.org/wiki/Lightstorm_Entertainment&quot;</span>&gt;</span>Lightstorm Entertainment<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>, and <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;d1&quot;</span>&gt;</span>focuses on an epic conflict on Pandora<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>, an inhabited Earth-sized moon of Polyphemus, one of three fictional gas giants orbiting <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://en.wikipedia.org/wiki/Alpha_Centauri_A&quot;</span>&gt;</span>Alpha Centauri A<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>. On Pandora, human colonists and the sentient humanoid indigenous inhabitants of Pandora, the Na'vi, engage in a war over the planet's resources and the latter's continued existence. The film's title refers to <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;d2&quot;</span>&gt;</span>an avatar, a representation of a real person in a virtual world<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;d3&quot;</span>&gt;</span>The film was released in 2D and 3D formats<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span>, along with an IMAX 3D release in selected theaters. The film is being touted as a breakthrough in terms of filmmaking technology, for its development of 3D viewing and stereoscopic filmmaking with cameras that were specially designed for the film's production.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Read the rest of the <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://en.wikipedia.org/wiki/Avatar_(2009_film)&quot;</span>&gt;</span>original Wikipedia page about Avatar<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
			<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;mask&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></td></tr></table></div><p><code>.entity-results</code> is a sample list corresponding to select text inside of the <code>.entity-source</code> wrapper. Each <code>&lt;li&gt;&lt;a&gt;&lt;/li&gt;</code> has a matching keyword phrase wrapped in the same class. Ideally these are dynamically included in the document. The &quot;mask&quot; is included inline as an empty <code>&lt;div&gt;</code> which can also be inserted using JavaScript.</p><h3>Minimal CSS requirement</h3><p>Using a few lines of CSS, overlay a mask above the content. The <code>&lt;span&gt;</code> around the keywords to highlight is crucial in order to pull the text out above the mask.</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td
class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.entity-source</span><span style="color: #00AA00;">,</span> <span style="color: #6666ff;">.entity-source</span> span<span style="color: #6666ff;">.show</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.entity-source</span> <span style="color: #6666ff;">.mask</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span><span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span><span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;"><span style="color: #cc66cc;">100</span>%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.entity-source</span> span <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">2</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.entity-source</span> span<span style="color: #6666ff;">.show</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#ffc</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div><h3>Example jQuery</h3><p>The example uses jQuery to handle the opacity changes and toggle of active / inactive states for detected keywords.</p><div
class="wp_syntax"><table><tr><td
class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
</pre></td><td
class="code"><pre class="javascript" style="font-family:monospace;">jQuery<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #006600; font-style: italic;">// mask source</span>
    <span style="color: #003366; font-weight: bold;">var</span> maskSource <span style="color: #339933;">=</span> jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.mask'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.entity-results'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hover</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        maskSource.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>opacity<span style="color: #339933;">:</span><span style="color: #CC0000;">0.7</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span><span style="color: #CC0000;">1</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">fadeIn</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'750'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        maskSource.<span style="color: #660066;">fadeOut</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'1000'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #006600; font-style: italic;">// match hover</span>
    <span style="color: #003366; font-weight: bold;">var</span> sample1 <span style="color: #339933;">=</span> jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'span.d1'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #003366; font-weight: bold;">var</span> sample2 <span style="color: #339933;">=</span> jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'span.d2'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #003366; font-weight: bold;">var</span> sample3 <span style="color: #339933;">=</span> jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'span.d3'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a.d1'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hover</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        sample1.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'show'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        sample1.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'show'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a.d2'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hover</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        sample2.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'show'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        sample2.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'show'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    jQuery<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a.d3'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hover</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        sample3.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'show'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        sample3.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'show'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div><p>When your mouse cursor hovers over a keyword in the right sidebar, the mask is set to display block with opacity handled by the jQuery <a
href="http://docs.jquery.com/Effects/animate">.animate()</a> effect. View the demo below or <a
href="http://5thirtyone.com/sandbox/samples/fadefocus/all.zip">download the source</a>.</p><p
align="center"><a
class="demo-button" href="http://5thirtyone.com/sandbox/samples/fadefocus/" title="View Demo">View Demo</a></p><div
id="wherego_related"><h3>Readers Also Read</h3><ul><li><a
href="http://5thirtyone.com/archives/1110" rel="bookmark" class="wherego_title">Create a WordPress reader &quot;explore&quot; block to promote content</a></li><li><a
href="http://5thirtyone.com/archives/774" rel="bookmark" class="wherego_title">How-to style WordPress author comments</a></li><li><a
href="http://5thirtyone.com/archives/2212" rel="bookmark" class="wherego_title">BHEESTIE Bag saves me $200: iPhone 1 vs. Heavy rain 0</a></li><li><a
href="http://5thirtyone.com/archives/2049" rel="bookmark" class="wherego_title">Backblaze: Secure unlimited automatic backups for $5</a></li><li><a
href="http://5thirtyone.com/archives/788" rel="bookmark" class="wherego_title">Preventing content from &quot;shifting&quot; for Adblockers</a></li></ul></div>]]></content:encoded> <wfw:commentRss>http://5thirtyone.com/archives/2206/feed</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>WordPress: Tweet shortened URL of current page to Twitter</title><link>http://5thirtyone.com/archives/2075</link> <comments>http://5thirtyone.com/archives/2075#comments</comments> <pubDate>Thu, 23 Apr 2009 03:22:33 +0000</pubDate> <dc:creator>Derek</dc:creator> <category><![CDATA[Tutorial]]></category> <category><![CDATA[delicious]]></category> <category><![CDATA[digg]]></category> <category><![CDATA[Icons]]></category> <category><![CDATA[links]]></category> <category><![CDATA[post-id]]></category> <category><![CDATA[sharing]]></category> <category><![CDATA[social]]></category> <category><![CDATA[stumbleupon]]></category> <category><![CDATA[twitter]]></category> <category><![CDATA[url shorten]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://5thirtyone.com/?p=2075</guid> <description><![CDATA[One of the most requested pieces of code from the current iteration of 5thirtyone.com are the share links accompanying each article. Each link automatically grabs the current URL &#38; title (if applicable) for the post or page and broadcasts it to the selected social network. This particular tutorial focuses on sharing your content via Twitter. [...]]]></description> <content:encoded><![CDATA[<p>One of the most requested pieces of code from the current iteration of <a
href="http://5thirtyone.com/">5thirtyone.com</a> are the share links accompanying each article. Each link automatically grabs the current URL &amp; title (if applicable) for the post or page and broadcasts it to the selected social network. This particular tutorial focuses on <strong>sharing your content via <a
href="http://twitter.com/">Twitter</a></strong>. By the end of this tutorial, you and your readers will be able to send content to Twitter directly from a WordPress page using a shortened version of the URL <em>without a plugin</em>.</p><h3>Understand the WordPress permalink</h3><p>The first time you install <a
href="http://wordpress.org">WordPress</a>, your site is setup with a few default settings. One of which is the generic nondescript <a
href="http://codex.wordpress.org/Using_Permalinks">permalink</a>:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">http://yourblog.com/?p=123</pre></div></div><p>Ideally, one of the first changes you should make to your site after a clean install is to update the permalink structure to something a little friendlier:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">http://yourblog.com/year/month/this-blog-post</pre></div></div><p>To update your permalink settings navigate to Dashboard > Settings > Permalinks. Note that the Apache <code>mod_rewrite</code> module must be enabled on your server and <code>.htaccess</code> file must be writable. Irregardless of any changes you make to the permalink structure, your posts will always retain their original <em>unique</em> Post-ID. In the example above, the Post-ID would be 123.</p><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2009/04/post-id.png" title="Unique WordPress Post-ID"><img
src="http://5thirtyone.com/wp-content/uploads/2009/04/post-id.png" alt="Unique WordPress Post-ID" title="Unique WordPress Post-ID" width="450" height="77" class="alignnone size-full wp-image-2076" /></a></p><p>With pretty permalinks enabled, you can still see this unique ID when you hover on the URLs inside of your Dashboard (check your browser status bar). In the above screenshot, you can see the unique ID at the end of the URL <code>post=2071</code>. This unique ID is what we will use to generate the shortened version of a page URL when Tweeting a page.</p><h3>Maximize your 140 character limit on Twitter</h3><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2009/04/twitter-screenshot.png" title="Twitter 140 character limit"><img
src="http://5thirtyone.com/wp-content/uploads/2009/04/twitter-screenshot-500x122.png" alt="Twitter 140 character limit" title="Twitter 140 character limit" width="500" height="122" class="alignnone size-medium wp-image-2077" /></a></p><p>Twitter enforces a <em>140 character limit</em>. Do you really want a long URL eating up valuable characters? See this example if I were to share a link from <a
href="http://iboughtamac.com">IBoughtaMac</a>:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">http://iboughtamac.com/2009/04/02/busy-bees-making-money-with-on-the-job/</pre></div></div><p>If I wanted to share the link via Twitter, I would only have 67 characters to add any of my thoughts regarding the post:</p><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2009/04/sharing-iboughtamac.png" title="Sharing a link to iBoughtAMac"><img
src="http://5thirtyone.com/wp-content/uploads/2009/04/sharing-iboughtamac-500x117.png" alt="Sharing a link to iBoughtAMac" title="Sharing a link to iBoughtAMac" width="500" height="117" class="alignnone size-medium wp-image-2078" /></a></p><p>Imagine if the URL had been shortened to something like:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">http://iboughtamac.com/s/1352</pre></div></div><p>The shortened URL (just an example Post-ID) turns the previous 67 remaining characters into 111 characters of free space. You maintain your personal &quot;brand&quot; &#8211; something you lose when you shorten URLs using a service like <a
href="http://tinyurl.com">TinyURL</a>.</p><h3>First step: Modify your <code>.htaccess</code> file</h3><p>Even with a custom permalink enabled (what your visitors see), WordPress will continue to redirect any URLs which point to the default <code>?p=Post-ID</code> properly. We&#8217;re going to use this to our advantage when sharing shortened URLs. Using an FTP client, open your <code>.htaccess</code> file. Invisible files are hidden by default for most FTP clients so adjust your view settings if necessary. If you have customized your permalink structure, you will already have one of these files on your server. If not, simply create one now. Enter the following somewhere near the top:</p><div
class="wp_syntax"><div
class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># Redirect posts based on post-id</span>
RewriteEngine On 
RewriteRule ^s<span style="color: #000000; font-weight: bold;">/</span><span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">0</span>-<span style="color: #000000;">9</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>+<span style="color: #7a0874; font-weight: bold;">&#41;</span>$ ?<span style="color: #007800;">p</span>=$<span style="color: #000000;">1</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #007800;">R</span>=<span style="color: #000000;">301</span>,L<span style="color: #7a0874; font-weight: bold;">&#93;</span></pre></div></div><p>This rule tells Apache to redirect URLs like <code>http://blog.com/s/1</code> and <code>http://blog.com/s/9999</code> to <code>http://blog.com/?p=1</code> and <code>http://blog.com/?p=9999</code>. Of course, because your WordPress site will identify posts based on their unique ID, a visitor will immediately see that shortened URL redirect to the proper friendly version <code>http://blog.com/2009/04/20/my-new-dog-named-pinocchio-from-europe</code>.</p><h3>Second step: Add your &#8216;Tweet This&#8217; link</h3><p>Where and when you present a &#8216;Tweet This&#8217; link is up to you. The raw <code>HTML + PHP</code> is this little nugget:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;a class=&quot;share-via-twitter&quot; href=&quot;http://twitter.com/home?status=Reading: &lt;?php the_title(); ?&gt; &lt;?php echo get_option('home'); ?&gt;/s/&lt;?php the_ID(); ?&gt;&quot; title=&quot;Tweet this post&quot;&gt;Tweet This&lt;/a&gt;</pre></div></div><p>With a little bit of <code>CSS</code> and Komodo Media&#8217;s <a
href="http://www.komodomedia.com/blog/2008/12/social-media-mini-iconpack/">awesome mini social icon set</a>, you can transform the plain link to look like a button.</p><h3>Extras: Non-Twitter social links</h3><p>You&#8217;ll notice that these links do not make use of the shortened version of a URL. There really isn&#8217;t a reason to shorten your site URLs when sharing through these services because 140 characters maximum is not enforced.</p><p><strong>Digg This</strong></p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;http://digg.com/submit?phase=2&amp;url=&lt;?php echo get_permalink() ?&gt;&amp;title=&lt;?php the_title(); ?&gt;&quot; title=&quot;Digg this&quot;&gt;Digg This&lt;/a&gt;</pre></div></div><p><strong>Add to Delicious</strong></p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;http://del.icio.us/post?url=&lt;?php echo get_permalink() ?&gt;&amp;title=&lt;?php the_title(); ?&gt;&quot; title=&quot;Add this page to Delicious&quot;&gt;Add to Delicious&lt;/a&gt;</pre></div></div><p><strong>StumbleUpon</strong></p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;http://www.stumbleupon.com/submit?url=&lt;?php echo get_permalink() ?&gt;&amp;title=&lt;?php the_title(); ?&gt;&quot; title=&quot;Stumble this page&quot;&gt;Stumble This&lt;/a&gt;</pre></div></div><h3>Update: Achieve the same results without touching .htaccess</h3><p>Dan Cameron whipped up his own implementation of the shortened URL trend for WordPress users. His method requires a snippet of code in <code>functions.php</code> to achieve the same results. Check out his write-up here: <a
href="http://dancameron.org/general/short-post-urls">Short post URLs</a>.</p><h3>Update #2: More social links for your site</h3><p>Lauren commented introducing <a
href="http://www.problogdesign.com/wordpress/social-bookmarking-link-codes-for-33-of-the-biggest/">even more social networking links</a> to add to your website.</p><div
id="wherego_related"><h3>Readers Also Read</h3><ul><li><a
href="http://5thirtyone.com/archives/2013" rel="bookmark" class="wherego_title">Set it and forget it, Sweetcron personal lifestream application</a></li><li><a
href="http://5thirtyone.com/archives/2042" rel="bookmark" class="wherego_title">Custom Twistori view of Twitter on your desktop</a></li><li><a
href="http://5thirtyone.com/archives/2167" rel="bookmark" class="wherego_title">Correctly map iPhoto &#8217;09 Faces to contacts on Facebook</a></li><li><a
href="http://5thirtyone.com/archives/2049" rel="bookmark" class="wherego_title">Backblaze: Secure unlimited automatic backups for $5</a></li><li><a
href="http://5thirtyone.com/archives/2196" rel="bookmark" class="wherego_title">Tips for stuffing your face with food</a></li></ul></div>]]></content:encoded> <wfw:commentRss>http://5thirtyone.com/archives/2075/feed</wfw:commentRss> <slash:comments>33</slash:comments> </item> <item><title>Over the air sync options between iPhone, Mac, Google</title><link>http://5thirtyone.com/archives/1934</link> <comments>http://5thirtyone.com/archives/1934#comments</comments> <pubDate>Wed, 04 Feb 2009 19:15:54 +0000</pubDate> <dc:creator>Derek</dc:creator> <category><![CDATA[Tutorial]]></category> <category><![CDATA[Apple]]></category> <category><![CDATA[calendar]]></category> <category><![CDATA[google]]></category> <category><![CDATA[ical]]></category> <category><![CDATA[iphone]]></category> <category><![CDATA[macbook]]></category> <category><![CDATA[Mobile]]></category> <category><![CDATA[mobileme]]></category> <category><![CDATA[sync]]></category><guid
isPermaLink="false">http://5thirtyone.com/?p=1934</guid> <description><![CDATA[As a follow-up to Gmail, MobileMe, Address Book synced contacts sanity, this is a simple walk through on setting up OTA sync between your iPhone and Mac + Google. While some may question the value of such a post, this covers the requirements for syncing data which resides within your Google accounts using the free [...]]]></description> <content:encoded><![CDATA[<p>As a follow-up to <a
href="http://5thirtyone.com/archives/1871">Gmail, MobileMe, Address Book synced contacts sanity</a>, this is a simple walk through on setting up OTA sync between your iPhone and Mac + Google. While some may question the value of such a post, this covers the requirements for syncing data which resides within your Google accounts using the free and paid for <a
href="http://www.amazon.com/gp/product/B001BY45QO?ie=UTF8&#038;tag=5astore-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B001BY45QO">MobileMe</a><img
src="http://www.assoc-amazon.com/e/ir?t=5astore-20&#038;l=as2&#038;o=1&#038;a=B001BY45QO" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> option.</p><h3 id="1">NuevaSync: Free Calendar + Contacts sync OTA for iPhone</h3><p><a
href="http://5thirtyone.com/wp-content/uploads/2009/02/nuevasync-setup.png"><img
src="http://5thirtyone.com/wp-content/uploads/2009/02/nuevasync-setup-150x150.png" alt="NuevaSync Setup" title="NuevaSync Setup" width="150" height="150" class="floatright size-thumbnail wp-image-1945" /></a>Are you managing all of your events and contacts in the &quot;cloud&quot;? Not interesting in syncing your important data down to your machine to read, edit, and manage in iCal or Address Book? Check out <a
href="https://www.nuevasync.com/">NuevaSync</a>.</p><blockquote><p>NuevaSync allows direct, over-the-air, native synchronization of certain smart phones and PDA devices with public PIM, and calendaring services including Google Calendar. NuevaSync does not need any software installed on your device because it uses synchronization protocols that are already built in.</p></blockquote><p>The beta service offers <em>free</em> OTA sync between your various Google Calendar &amp; Gmail (Contacts) and iPhone or iPod Touch. NuevaSync can be setup and activated directly from your mobile device reaffirming the fact that a computer is not required. NuevaSync will not directly sync with your computer. NuevaSync is setup as a Microsoft Exchange server services. This beta service is intended strictly for syncing to your mobile device.</p><h3>Google:  Calendar + Contacts sync OTA for iPhone &amp; Mac</h3><p>Interested in pulling your Google Calendar + Contacts data down to your Mac for free? Apple recently released software updates (10.5) which support your Google account in both iCal and Address Book. Like Apple, Google has taken steps to properly document the steps to setup your software correctly.</p><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2009/02/calaboration.png"><img
src="http://5thirtyone.com/wp-content/uploads/2009/02/calaboration-500x328.png" alt="calaboration" title="calaboration" width="500" height="328" class="alignnone size-medium wp-image-1952" /></a></p><p>Check <a
href="http://www.google.com/support/calendar/bin/answer.py?hl=en&#038;answer=99358#ical">Getting Started with CalDAV</a>. The related software download can be found on Google Code: <a
href="http://code.google.com/p/calaboration/">calaboration</a>. The process is simple and [only] requires that you download the software, enter your Google username and password, and select the calendars to sync.</p><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2009/01/google-sync.png"><img
src="http://5thirtyone.com/wp-content/uploads/2009/01/google-sync-463x500.png" alt="Address Book Google sync feature" title="Address Book Google sync feature" width="463" height="500" class="alignnone size-medium wp-image-1899" /></a></p><p>The requirement to sync your Google Gmail Contacts with Address Book is just as simple. Most of the details are posted in the <a
href="http://5thirtyone.com/archives/1871">Gmail + Address Book sync</a> post a few days back. In short, open your Address Book Preferences and enable the &#8216;Synchronize with Google&#8217; feature. Note the added convenience of creating a smart group which looks for updated contacts which makes it easier to track down recent sync changes.</p><p>In order to sync data to your iPhone, utilize the free beta service NuevaSync (<a
href="http://5thirtyone.com/archives/1934#1">above</a>) or make a physical connection via USB.</p><h3>Google Mobile: Free Contacts + Calendar sync</h3><p>Google recently released its Google Sync Mobile service. Find out more details on the new over-the-air sync service on the <a
href="http://www.google.com/mobile/default/sync.html">official info page</a>. iPhone users can enjoy free OTA syncing for contacts and calenders. Note that the initial sync will delete your contacts and events off the phone.</p><h3>MobileMe: Paid for Calendar + Contacts sync OTA for iPhone &amp; Mac</h3><p>Weary trusting your Google Account data with a beta service? Your option for both Calendar and Contacts sync OTA between iPhone and Mac is <a
href="http://www.amazon.com/gp/product/B001BY45QO?ie=UTF8&#038;tag=5astore-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B001BY45QO">MobileMe</a><img
src="http://www.assoc-amazon.com/e/ir?t=5astore-20&#038;l=as2&#038;o=1&#038;a=B001BY45QO" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />. While the annual subscription based service offers a handful of other &quot;cloud&quot; features, you can specify only Calendar and / or Contacts syncing.</p><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2009/02/mobileme-settings.png"><img
src="http://5thirtyone.com/wp-content/uploads/2009/02/mobileme-settings-500x421.png" alt="MobileMe Settings" title="MobileMe Settings" width="500" height="421" class="alignnone size-medium wp-image-1962" /></a></p><p><a
href="http://5thirtyone.com/wp-content/uploads/2009/02/reset-sync1.png"><img
src="http://5thirtyone.com/wp-content/uploads/2009/02/reset-sync1-150x150.png" alt="Reset MobileMe Sync" title="Reset MobileMe Sync" width="150" height="150" class="floatright size-thumbnail wp-image-1965" /></a>Open System Preferences > MobileMe > Sync. Specify your sync interval &#8211; automatically, every day, every week, or manual &#8211; and uncheck any sync services that you do not plan on using.</p><p>If you have made any significant changes to either iCal or Address Book, or are running into sync conflicts caused by another computer, you can force a reset of your MobileMe data (server side). Towards the bottom of the MobileMe window, select the &#8216;Advanced&#8230;&#8217; button, then &#8216;Reset Sync Data&#8230;&#8217; on the next screen. From here you can force a reset of data either on a) your local computer, or b) data stored on MobileMe. <em>Read the description and understand the action before proceeding</em>.</p><h3>BusySync: Paid for Calendar + Contacts sync with your Mac</h3><p>One service that I&#8217;ve begun using is a paid for background application called <a
href="http://www.busymac.com/">BusySync</a>.</p><blockquote><p>With BusySync it&#8217;s incredibly easy to share iCal calendars with family or coworkers on your LAN without the need for a dedicated server. Shared calendars can be viewed and edited by multiple users, and changes are instantly published and synchronized with all users on the network. You can even make changes to shared calendars while offline and your changes will sync when you reconnect to the network.</p></blockquote><p
align="center"><a
href="http://5thirtyone.com/wp-content/uploads/2009/02/busysync.png"><img
src="http://5thirtyone.com/wp-content/uploads/2009/02/busysync-500x411.png" alt="BusySync Publish" title="BusySync Publish" width="500" height="411" class="alignnone size-medium wp-image-1969" /></a></p><p>Those that have tried the WebDAV based sync between Google Calendar and iCal can attest to the fact that the syncing is not creating a real calendar object in iCal. Meaning? You can setup your WebDAV sync using the Google <a
href="http://code.google.com/p/calaboration/">calaboration</a> tool which will place events in iCal. However, if you happen to be syncing your iCal events OTA to your iPhone with MobileMe, it will not sync any calendars originating from Google. <em>The solution would be to use NuevaSync to supplement your non-MobileMe sync.</em></p><h3>Summary</h3><ul><li>For users interested in a full suite of &quot;cloud&quot; services like photo / video gallery sharing, easy web publishing, and file storage &#8211; without the need to administrate a real web server &#8211; in addition to OTA sync with their iPhone, check out <a
href="http://www.amazon.com/gp/product/B001BY45QO?ie=UTF8&#038;tag=5astore-20&#038;linkCode=as2&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B001BY45QO">MobileMe</a><img
src="http://www.assoc-amazon.com/e/ir?t=5astore-20&#038;l=as2&#038;o=1&#038;a=B001BY45QO" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.</li><li>Check out the full <a
href="http://www.google.com/mobile/apple/sync.html">Google Mobile service</a> for syncing contacts / calendars OTA.</li><li>Are you using Google and an iPhone? Want OTA sync? Check out the free beta service <a
href="https://www.nuevasync.com/">NuevaSync</a>.</li><li>Looking for a free solution to sync your Google data with your iPhone and Mac? Make use of WebDAV and Address Book synchronization.</li><li>Try <a
href="http://www.busymac.com/">BusySync</a> if you just want Calendar and Contacts sync without worrying about a beta service or paying the MobileMe annual subscription.</li></ul><div
id="wherego_related"><h3>Readers Also Read</h3><ul><li><a
href="http://5thirtyone.com/archives/860" rel="bookmark" class="wherego_title">iPhone vs. TyTN II Kaiser, which came out on top?</a></li><li><a
href="http://5thirtyone.com/archives/2171" rel="bookmark" class="wherego_title">Gmail IMAP vs. Push, sanity more important than Push?</a></li><li><a
href="http://5thirtyone.com/archives/2214" rel="bookmark" class="wherego_title">Apple iPad, Underwhelmed? Will you buy one?</a></li><li><a
href="http://5thirtyone.com/archives/1871" rel="bookmark" class="wherego_title">Gmail, MobileMe, Address Book synced contacts sanity</a></li><li><a
href="http://5thirtyone.com/archives/1979" rel="bookmark" class="wherego_title">iTunes Genius a Dunce? Check out &quot;ilikebsides&quot;</a></li></ul></div>]]></content:encoded> <wfw:commentRss>http://5thirtyone.com/archives/1934/feed</wfw:commentRss> <slash:comments>19</slash:comments> </item> <item><title>Amazon S3, CNAME record, Panic&#8217;s Transmit, and WordPress</title><link>http://5thirtyone.com/archives/1763</link> <comments>http://5thirtyone.com/archives/1763#comments</comments> <pubDate>Mon, 12 Jan 2009 08:20:35 +0000</pubDate> <dc:creator>Derek</dc:creator> <category><![CDATA[Tutorial]]></category> <category><![CDATA[amazon]]></category> <category><![CDATA[firefox]]></category> <category><![CDATA[osx]]></category> <category><![CDATA[s3]]></category> <category><![CDATA[s3hub]]></category> <category><![CDATA[transmit]]></category><guid
isPermaLink="false">http://5thirtyone.com/?p=1763</guid> <description><![CDATA[Amazon Web Services Simple Storage Service (S3) is the solution for anyone wishing to store or deliver massive amounts of data without eating up precious bandwidth on their own server. Amazon S3 works great for your computer and web hosting needs. Getting started with Amazon S3 Getting started with Amazon S3 is simple and takes [...]]]></description> <content:encoded><![CDATA[<p>Amazon Web Services Simple Storage Service (S3) is the solution for anyone wishing to store or deliver massive amounts of data without eating up precious bandwidth on their own server. Amazon S3 works great for your computer and web hosting needs.</p><h3>Getting started with Amazon S3</h3><p>Getting started with <a
href="http://aws.amazon.com/s3/" title="Amazon simple storage service">Amazon S3</a> is simple and takes no more than a few minutes. Once registered and confirmed, access to your account can be achieved using your <a
href="http://aws-portal.amazon.com/gp/aws/developer/account/index.html?action=access-key" title="Amazon simple storage service account identifiers">account identifiers</a> and an S3 client like <a
href="https://addons.mozilla.org/en-US/firefox/addon/3247" title="Amazon S3 Firefox extension">S3Fox</a>, <a
href="http://s3hub.com/" title="S3 Client for Mac OS X">S3Hub</a>, or <a
href="http://www.panic.com/transmit/" title="The next generation Mac OS X FTP client">Transmit</a>.</p><p>Want an estimate based on the amount of data, bandwidth, or requests you expect to offload to Amazon S3? Check out the <a
href="http://calculator.s3.amazonaws.com/calc5.html" title="AWS Simple Monthly Calculator">AWS Simple Monthly Calculator</a>.</p><h3>Your files and the Amazon S3 URL structure</h3><p>Managing your files on Amazon S3 is not much different from managing files on your own server via FTP. Users need to understand that Amazon uses &quot;buckets&quot; as the top level for your objects. This means that you can separate your different file hosting needs using different buckets. For this introduction to S3 file hosting, we&#8217;ll use the example website <strong>your-site.com</strong>.</p><p>The average user may sign up for Amazon S3 hosting and begin uploading files &#8211; accepting the default URL structure for hosted files:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">http://s3.amazonaws.com/your-bucket/some-file.txt</pre></div></div><p>If you plan on using S3 to host media files &#8211; more specifically Flash files &#8211; you&#8217;ll run into Adobe&#8217;s <a
href="http://www.adobe.com/devnet/flashplayer/articles/cross_domain_policy.html">cross domain security policy</a>. The fix requires mapping your hosted S3 files to look as though they are being served from your own domain &#8211; virtual hosting. The easiest and most attractive method would be a hosted file URL that like this:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">http://s3.your-site.com/some-file.txt</pre></div></div><p>To get started, create a bucket on S3 that you want as the root for your hosted files. For this example, your S3 bucket would be:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">s3.your-site.com</pre></div></div><p>The most important step is adding the appropriate CNAME record to your DNS settings.</p><table
cellspacing="0" style="width:100%;"><tr><th
scope="col" style="text-align:left;">Name</th><th
scope="col" style="text-align:center;">Type</th><th
scope="col" style="text-align:right;">Data</th></tr><tr
class="alt"><td
style="text-align:left;">s3.your-site.com</td><td
style="text-align:center;">CNAME</td><td
style="text-align:right;">s3.amazonaws.com.</td></tr></table><p>Expect your new DNS settings to take up to 24-48 hours to resolve.</p><h3>Fixing Transmit&#8217;s &quot;Copy URL&quot;</h3><p>The right-click menu for Panic&#8217;s Transmit will grab the default Amazon S3 URL path at your-bucket-name.amazonaws.com. To ensure that the path reflects your new subdomain correctly, you will need to edit your S3 connection settings. More specifically, the expected Root URL:</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">http://s3.your-site.com/</pre></div></div><p
align="center"><img
src="http://5thirtyone.com/wp-content/uploads/2009/01/transmit-copy-url.png" alt="Transmit screenshot" title="Transmit screenshot" width="442" height="552" class="alignnone size-full wp-image-1835" /></p><p><em>These settings assume that you have a single custom bucket to reflect your S3 hosted files CNAME record.</em></p><h3>Amazon S3 file hosting integrated with WordPress</h3><p>Looking for an even more integrated S3 file hosting with your WordPress install? Check out the <a
href="http://tantannoodles.com/toolkit/wordpress-s3/">Amazon S3 plugin</a> for WordPress. Installation is straightforward. The only requirement aside from an S3 account is that your server be PHP5 enabled.</p><p>The S3 WordPress plugin will support the previously configured virtual host <strong>s3.your-site.com/some-file.txt</strong> and provide direct upload from the post editor window.</p><h3>Other Amazon S3 bits</h3><p>To supplement my <a
href="http://www.apple.com/macosx/features/timemachine.html" title="Time Machine information">Time Machine</a> and external <a
href="http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html" title="Super Duper information">SuperDuper</a> backups, I rely on <a
href="http://www.jungledisk.com/" title="Reliable online storage powered by Amazon S3">Jungle Disk</a> to do the same in the cloud &#8211; the S3 cloud. I enjoy the convenience and peace of mind knowing that my data is safe and easily accessible. That same convenience can be extended to file hosting.</p><ul><li><a
href="http://s3hub.com/" title="Amazon S3 client for Mac OS X">S3Hub</a> &#8211; View your S3 online storage, upload, download, set permissions, share with friends and more. Also use to view other users&#8217; public buckets.</li><li><a
href="https://addons.mozilla.org/en-US/firefox/addon/3247" title="S3 Firefox Organizer">S3Fox Organizer</a> &#8211; Manage your S3 buckets using this handy Firefox extension.</li><li><a
href="http://shrub.appspot.com/">Shrub</a> &#8211; Shrub lists files in public S3 buckets. For when you want to share a bucket with the world.</li><li><a
href="http://sitening.com/blog/how-to-make-files-publicly-accessible-on-amazon-s3/">Tutorial: How-to make files public</a> &#8211; A walk through if you are not all ready familiar with the world, authenticated users, and owners permissions.</li><li><a
href="http://code.google.com/p/s3fs/wiki/FuseOverAmazon">FuseOverAmazon</a> &#8211; FUSE based file system backups powered by Amazon S3.</li><li><a
href="http://paulstamatiou.com/2008/12/08/how-to-getting-started-with-amazon-cloudfront">Getting started with Amazon CloudFront</a> &#8211; Paul walks through the steps to get started delivering content via Amazon CloudFront.</li></ul><p>Are you using Amazon S3? If so, how? Personal backups, file sharing, development?</p><div
id="wherego_related"><h3>Readers Also Read</h3><ul><li><a
href="http://5thirtyone.com/archives/2144" rel="bookmark" class="wherego_title">Screenshot much? Get TinyGrab &#8211; Snow Leopard ready</a></li><li><a
href="http://5thirtyone.com/archives/1794" rel="bookmark" class="wherego_title">Grid Focus first WordPress.com theme release of 2009</a></li><li><a
href="http://5thirtyone.com/archives/2049" rel="bookmark" class="wherego_title">Backblaze: Secure unlimited automatic backups for $5</a></li><li><a
href="http://5thirtyone.com/archives/2170" rel="bookmark" class="wherego_title">WithWaves AmazonBot is ready for Google Wave</a></li><li><a
href="http://5thirtyone.com/archives/2024" rel="bookmark" class="wherego_title">$99 Roku player + Amazon Video on Demand</a></li></ul></div>]]></content:encoded> <wfw:commentRss>http://5thirtyone.com/archives/1763/feed</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>WordPress Custom Fields; laying text over your lead graphic</title><link>http://5thirtyone.com/archives/875</link> <comments>http://5thirtyone.com/archives/875#comments</comments> <pubDate>Mon, 24 Dec 2007 00:41:22 +0000</pubDate> <dc:creator>Derek</dc:creator> <category><![CDATA[Tutorial]]></category> <category><![CDATA[custom]]></category> <category><![CDATA[design]]></category> <category><![CDATA[images]]></category> <category><![CDATA[layout]]></category> <category><![CDATA[theme]]></category> <category><![CDATA[WordPress]]></category><guid
isPermaLink="false">http://5thirtyone.com/archives/875</guid> <description><![CDATA[For WordPress users, there are certain scenarios when the typical reverse chronological presentation of content is just not enough. I have experimented with different methods of presenting content on 5thirtyone.com each time a redesign is uploaded &#8211; from the text-centric to the image heavy version in use right now. With hundreds of WordPress driven blogs [...]]]></description> <content:encoded><![CDATA[<p>For <a
href="http://www.wordpress.org/">WordPress</a> users, there are certain scenarios when the <em>typical reverse chronological presentation of content is just not enough</em>. I have experimented with different methods of presenting content on <a
href="http://5thirtyone.com/">5thirtyone.com</a> each time a redesign is uploaded &#8211; from the text-centric to the image heavy version in use right now. With hundreds of WordPress driven blogs being published on a daily basis, it&#8217;s difficult to stand out; even more so if you stick to the standard two-column blog layout.</p><p>The general consensus or recommendation is for users to either a) invest some time into learning the underlying architecture of WordPress in order to create or modify a theme, or b) invest some money for a one-off custom theme. The latter may not sound too appealing for the beginner or casual blogger, so modifying an existing theme like <a
href="http://5thirtyone.com/grid-focus">Grid Focus</a> or <a
href="http://5thirtyone.com/archives/703">October Special</a> might be a good place to start.</p><h3>How can I create a blog without the typical blog layout?</h3><p>A typical blog landing page is comprised of noticeably sized chunks of text differentiated by a catchy titles and [possibly] a few inline images.</p><p
align="center"><img
src="http://5thirtyone.com/wp-content/uploads/2007/12/general-wordpress.gif" alt="Generic WordPress default theme" /></p><p>The typical two-column blog layout works but is used so often that new visitors may slowly blur the lines differentiating your blog from the previous. Sure, you could brighten the page with a few inline post images, but why not step it up a little with <a
href="http://codex.wordpress.org/Using_Custom_Fields">WordPress Custom Fields</a>.</p><h3>What are WordPress Custom Fields?</h3><p>A WordPress post is comprised of the following:</p><ul><li>Title</li><li>Content &#8211; text &amp; images</li><li>Categories</li><li>Tags (if you&#8217;re running WordPress 2.3+)</li></ul><p>Think of <a
href="http://codex.wordpress.org/Using_Custom_Fields">WordPress Custom Fields</a> as extra &quot;containers&quot; of data that can be associated with a post &#8211; content that can be called and used within <a
href="http://codex.wordpress.org/The_Loop">The Loop</a>.</p><h3>Custom post title with lead graphic background</h3><p>The first step to setting yourself apart from the rest of the typical title + content blogs is a little style. Adding a photo or image behind a posts title can help to lure a reader into viewing the main excerpt / permalink of your post.</p><p
align="center"><img
src="http://5thirtyone.com/wp-content/uploads/2007/12/sample-lead-title.gif" alt="Sample lead WordPress title" /></p><p>You can achieve a similar effect using <a
href="http://codex.wordpress.org/Using_Custom_Fields">WordPress Custom Fields</a>.</p><p><strong>First</strong>, create the image / photo that you want to use. For the example above, I create a photo of Boo, our Mini Rat Terrier, titled <code>boo-lead-title.gif</code>. Upload the image to your server and save the URI. If you would like the image and post title to span the entire width of your main content column, you&#8217;ll want to create a lead image with a width to match that of your main column. In the standard K2 theme included with WordPress, that width is <code>450px</code>.</p><p
align="center"><img
src="http://5thirtyone.com/wp-content/uploads/2007/12/custom-field-screenshot.gif" alt="Custom Field Screenshot" /></p><p><strong>Second</strong>, compose a new post. Before saving, scroll towards the bottom of the editor pane and add a new Custom Field in the &#8216;Key&#8217; field. In the example, I created a Custom Field titled <code>lead_image</code>. Paste the previously saved URI in the &#8216;Value&#8217; field. Save the post &#8211; do not publish yet.</p><p><strong>Third</strong>, open the <code>index.php</code> file in your themes directory and find the line beginning with <code>&lt;?php if (have_posts()) : ?&gt;</code>. If you are using the default theme, the area of the file we will be editing can be found below:</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>have_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span>have_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> the_post<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;div class=&quot;post&quot; id=&quot;post-<span style="color: #000000; font-weight: bold;">&lt;?php</span> the_ID<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;
&lt;h2&gt;&lt;a href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> the_permalink<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link to <span style="color: #000000; font-weight: bold;">&lt;?php</span> the_title_attribute<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> the_title<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/a&gt;&lt;/h2&gt;
&lt;div class=&quot;entry&quot;&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> the_content<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Read the rest of this entry'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;/div&gt;
&lt;p class=&quot;postmetadata&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> the_tags<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Tags: '</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">', '</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&lt;br /&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> Posted in <span style="color: #000000; font-weight: bold;">&lt;?php</span> the_category<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">', '</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> | <span style="color: #000000; font-weight: bold;">&lt;?php</span> edit_post_link<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Edit'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">' | '</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> <span style="color: #000000; font-weight: bold;">&lt;?php</span> comments_popup_link<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'No Comments'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'1 Comment'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'% Comments'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/p&gt;
&lt;/div&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endwhile</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div><p>Having previously created a Custom Field called <code>lead_image</code>, we can now call that image from within The Loop. Changes to the above code are in bold below:</p><div
class="wp_syntax"><div
class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>have_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span>have_posts<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">:</span> the_post<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;div class=&quot;post&quot; id=&quot;post-<span style="color: #000000; font-weight: bold;">&lt;?php</span> the_ID<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;
&lt;div class=&quot;lead-image-wrapper&quot;&gt;
&lt;h2&gt;&lt;a href=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> the_permalink<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; rel=&quot;bookmark&quot; title=&quot;Permanent Link to <span style="color: #000000; font-weight: bold;">&lt;?php</span> the_title_attribute<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> the_title<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/a&gt;&lt;/h2&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000088;">$image</span> <span style="color: #339933;">=</span> get_post_meta<span style="color: #009900;">&#40;</span><span style="color: #000088;">$post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;lead_image&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;img src=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">echo</span> <span style="color: #000088;">$image</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; /&gt;
&lt;/div&gt;
&lt;div class=&quot;entry&quot;&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> the_content<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Read the rest of this entry'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>
&lt;/div&gt;
&lt;p class=&quot;postmetadata&quot;&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> the_tags<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Tags: '</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">', '</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'&lt;br /&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> Posted in <span style="color: #000000; font-weight: bold;">&lt;?php</span> the_category<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">', '</span><span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span> | <span style="color: #000000; font-weight: bold;">&lt;?php</span> edit_post_link<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Edit'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">', '</span> <span style="color: #339933;">|</span> <span style="color: #0000ff;">'); ?&gt; &lt;?php comments_popup_link('</span>No Comments<span style="color: #0000ff;">', '</span><span style="color: #cc66cc;">1</span> Comment<span style="color: #0000ff;">', '</span><span style="color: #339933;">%</span> Comments<span style="color: #0000ff;">'); ?&gt;</span>&lt;/p&gt;
&lt;/div&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endwhile</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div><p>Notice that both the <code>php</code> function and post title are wrapped by a new <code>div</code> with a class <code>lead-image-wrapper</code>. Also notice that the title <code>h2</code> is loaded before the image.</p><p><strong>Fourth</strong>, add the following to your <code>style.css</code>.</p><div
class="wp_syntax"><div
class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.lead-image-wrapper</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#000</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.lead-image-wrapper</span> h2 <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">28px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">line-height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">30px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">90px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">12px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.lead-image-wrapper</span> h2 a <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span> <span style="color: #cc00cc;">#fff</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">text-decoration</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.lead-image-wrapper</span> img <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> xxxpx<span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> xxxpx<span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></pre></div></div><p>In order to ensure that the styles are applied, you can either a) remove any previous styles associated with the <code>h2</code> tags loaded on the index page, or b) place the code at the bottom of the stylesheet overriding any previous code &#8211; <a
href="http://www.w3.org/Style/CSS/">Cascading Style Sheets</a>.</p><ul><li>A background color is specified for <code>.lead-image-wrapper</code> in case your image fails to load. Because the title link is white, you want to ensure that the parent element has a background color for readability.</li><li>The title link is positioned absolute relative to the parent element <code>.lead-image-wrapper</code>. Adjust the positioning accordingly for your image.</li><li>Always set a height or width for images &#8211; make <code>.lead-image-wrapper img</code> match the dimensions of the lead_image you have uploaded.</li></ul><p><strong>Fifth</strong>, experiment, experiment, experiment. Part of the learning process is learning by trial and error. Feel free to use the comments for help or feedback.</p><div
id="wherego_related"><h3>Readers Also Read</h3><ul><li><a
href="http://5thirtyone.com/archives/2242" rel="bookmark" class="wherego_title">Not going into orbit, just looking for clean clothes</a></li><li><a
href="http://5thirtyone.com/archives/117" rel="bookmark" class="wherego_title">Chrondata customization quickie</a></li><li><a
href="http://5thirtyone.com/archives/2018" rel="bookmark" class="wherego_title">&#8220;The future of WordPress themes&#8221;, what do you think?</a></li><li><a
href="http://5thirtyone.com/archives/877" rel="bookmark" class="wherego_title">Planning on carrying the momentum, 2007 to 2008</a></li><li><a
href="http://5thirtyone.com/archives/2117" rel="bookmark" class="wherego_title">The Unstandard theme update with new options page</a></li></ul></div>]]></content:encoded> <wfw:commentRss>http://5thirtyone.com/archives/875/feed</wfw:commentRss> <slash:comments>56</slash:comments> </item> <item><title>Remove DRM protection from iTunes tracks with iMovie HD</title><link>http://5thirtyone.com/archives/873</link> <comments>http://5thirtyone.com/archives/873#comments</comments> <pubDate>Mon, 10 Dec 2007 15:45:41 +0000</pubDate> <dc:creator>Derek</dc:creator> <category><![CDATA[Tutorial]]></category> <category><![CDATA[aac]]></category> <category><![CDATA[drm]]></category> <category><![CDATA[itunes]]></category> <category><![CDATA[mp3]]></category> <category><![CDATA[music]]></category> <category><![CDATA[undrm]]></category><guid
isPermaLink="false">http://5thirtyone.com/archives/873</guid> <description><![CDATA[A few days back I found myself perusing the iTunes Music Store looking for a few songs that I had heard via Sirius*. After completing the painless process of purchasing the songs, I immediately synced the tracks to my iPhone and went on my merry way. Because I had spent very little none of my [...]]]></description> <content:encoded><![CDATA[<p>A few days back I found myself perusing the <a
href="http://www.apple.com/itunes/store/">iTunes Music Store</a> looking for a few songs that I had heard via <a
href="http://www.sirius.com/">Sirius</a>*. After completing the painless process of purchasing the songs, I immediately synced the tracks to my iPhone and went on my merry way. Because I had spent <strike>very little</strike> none of my time following the <a
href="http://www.apple.com/pr/library/2007/04/02itunes.html">DRM vs. DRM-free music download option</a> being offered by Apple, I simply downloaded the $0.99 version(s).</p><blockquote><p>DRM-free tracks from EMI will be offered at higher quality 256 kbps AAC encoding, resulting in audio quality indistinguishable from the original recording, for just $1.29 per song. In addition, iTunes customers will be able to easily upgrade their entire library of all previously purchased EMI content to the higher quality DRM-free versions for just 30 cents a song. iTunes will continue to offer its entire catalog, currently over five million songs, in the same versions as todayâ€”128 kbps AAC encoding with DRMâ€”at the same price of 99 cents per song, alongside DRM-free higher quality versions when available.</p></blockquote><p>Great. So Apple now offers DRM-free tracks from EMI as well as an option to upgrade existing DRM locked songs to their DRM-free variant for $1.29 or $0.30 respectively. Want to find out which songs are offered as DRM-free purchases? Open the iTunes Music Store and navigate through <a
href="http://www.apple.com/pr/library/2007/05/30itunesplus.html">iTunes Plus</a>. Here you <em>may find some of the songs</em> you are looking for. You may also come to realize that <em>songs you may want to download DRM-free are not available</em>.</p><p>So what options do you have if the song you wish to purchase is not available? While you can always ask uncle <a
href="http://en.wikipedia.org/wiki/BitTorrent">Bittorrent</a>, possible run-ins with your ISP and the law may not sound all too enticing. The safest &#8211; and legal &#8211; route would be to purchase the songs through the iTunes Music Store. Personally, the rule that would allow an individual to authorize a track for playback on up to 5 machines is something I find acceptable for a digital medium which I purchased. Furthermore, I hate the fact that if I am signed out of the iTunes Music Store, I need to continue to keep a machine authorized or enter my Apple ID &amp; password in order to listen to a song.</p><h3>Remove DRM protection using iTunes + CD-R/W</h3><p>Probably the most widely accepted method for stripping purchased songs of DRM protection is burning tracks to a CD-R/W then re-importing back into the iTunes library. A method guaranteed to free you of DRM madness.</p><ul><li>Create an iTunes playlist containing your purchased songs.</li><li>Insert a blank CD-R or a CD-RW.</li><li>Burn the playlist to disk.</li><li>Re-import the songs after a successful burn.</li><li>Deleting the original purchased tracks.</li></ul><p>At one point, <a
href="http://www.burningthumb.com/drmdumpster.html" rel="nofollow">DRM Dumpster</a> was a free solution which automated the process of locating purchased tracks burning them to disk and re-importing without any user intervention. Currently the software is provided as-is for $25. No thank you. I would much rather do the above steps myself or, <em>make use of Apple&#8217;s own iMovie HD to do the same. Albeit at a slower rate BUT without the need for an actual CD-R or CD-RW</em>.</p><h3>Remove iTunes Music Store DRM with Apple software in Leopard</h3><p>The current iteration of iMovie released with the <a
href="http://www.amazon.com/exec/obidos/ASIN/B000BX5JQG/5thirtyone-20">iLife &#8217;08</a> software bundle is iMovie 7.1. However, in order to remove DRM protection, you will need iMovie HD &#8211; previously bundled with iLife &#8217;06. For those &#8211; like me &#8211; who received iLife &#8217;08 bundled with <a
href="http://www.amazon.com/exec/obidos/ASIN/B000FK88JK/5thirtyone-20">Mac OS X Leopard</a>, <a
href="http://www.apple.com/support/downloads/imovieHD6.html">iMovie HD is a separate application download</a>. Once downloaded and installed, start iMovie HD and &#8216;Create a New Project&#8217; titled &quot;DRM-free&quot;. Save the project to your Desktop.</p><p
align="center"><img
src="http://5thirtyone.com/wp-content/uploads/2007/12/imovie-new-project.gif" alt="Create a New Project in iMovie" /></p><p><img
class="floatleft" src="http://5thirtyone.com/wp-content/uploads/2007/12/imovie-media.gif" alt="iMovie media tab" /><img
class="floatright" src="http://5thirtyone.com/wp-content/uploads/2007/12/imovie-browser.gif" alt="iMovie media tab" />In the iMovie window, select the &#8216;Media&#8217; tab located between &#8216;Themes&#8217; and &#8216;Editing&#8217;. You will notice that the top right portion of the interface now offers a media browser. Select the &#8216;Audio&#8217; tab and locate the playlist which contains purchased music, or search by artist / title.</p><p>Select the DRM-laden song and drag the file from the media browser into the iMovie timeline where it says &quot;Drag audio here to build your project.&quot;</p><p><img
class="floatleft" src="http://5thirtyone.com/wp-content/uploads/2007/12/imovie-share.gif" alt="Shareâ€¦ sub menu item" />In order to export the song, iMovie requires that a visual image be associated with the audio track &#8211; <em>iMovie thinks that it is going to be exporting a movie</em>. Simply drag a blank image (or any other image) to the track above the previously imported audio file. Once iMovie has processed the image, select the &#8216;Shareâ€¦&#8217; sub menu item from found inside &#8216;Share&#8217; in iMovie&#8217;s menu bar.</p><p
align="center"><img
src="http://5thirtyone.com/wp-content/uploads/2007/12/imovie-expert-share.gif" alt="Expert share settings" /></p><p>Ensure that &#8216;Expert Settings&#8217; is selected in the &quot;Compress movie for:&quot; drop-down menu. Selecting &#8216;Expert Settings&#8217; mode will provide the options to export the file as an audio file. Select the &#8216;Share&#8217; button.</p><p>In the Save asâ€¦ dialogue, select &quot;Sound to AIFF&quot; in the Export drop-down menu, Choose an appropriate directory for iMovie to export to, title the file, and select &#8216;Save&#8217;. Depending on your machine configuration, iMovie will compress and export the movie project as an audio file in 15-40 seconds.</p><p><img
class="floatleft" src="http://5thirtyone.com/wp-content/uploads/2007/12/imovie-convert-aac.gif" alt="Convert AIFF to AAC" />Locate the exported AIFF audio file and drag to your iTunes Library. Right-click on the file and select &quot;Convert Selection to AAC&quot;. Once completed, &#8216;Get Info&#8217; on the new file, edit meta data, add album art, and trash the originally purchased and AIFF audio files from your iTunes library.</p><h3>DRM-free iTunes Music Store purchases without wasting resources</h3><p>The above steps may be far more tedious than simply burning to disk and re-importing. However, the process can be further simplified by creating an <a
href="http://www.apple.com/downloads/macosx/automator/">Automator</a> action to replay the steps above. I think the upside of not having to waste actual media (CD-R or CD-RW) in order to burn and re-import songs is well worth the tedious process.</p><h3>Side banter and miscellaneous notes</h3><p><em>* If anyone is a paying subscriber, please feel free to comment with your thoughts on whether or not Sirius is a service worth paying for.</em> I am currently making use of a 3 month limited trial in my <a
href="http://5thirtyone.com/archives/871">Volkswagen R32</a> which only offers a few genre presets.</p><p>iMovie export of DRM protected files inspired by <a
href="http://seidai.50webs.com/Seidai%20Software.html">Seidai Software&#8217;s FairGame</a> [which did not operate correctly under <a
href="http://www.amazon.com/exec/obidos/ASIN/B000FK88JK/5thirtyone-20">Mac OS X 10.5 Leopard</a>].</p><h3>Get the Best Software for your Computer</h3><p>Looking for the <a
href="http://www.typesofsoftware.com/">best types of software</a> for your Mac? There&#8217;s all kinds of free <a
href="http://graphics.stanford.edu/software/">software</a> available on the net if you know where to look. From essentials <a
href="http://www.typesofsoftware.com/free-cd-burning-software.php">like free CD burning software</a> to the more <a
href="http://www.typesofsoftware.com/astrology-software.php">obscure astrology software</a> there is sure to be the program for you!</p><div
id="wherego_related"><h3>Readers Also Read</h3><ul><li><a
href="http://5thirtyone.com/archives/1089" rel="bookmark" class="wherego_title">Some apps &amp; games stay on my iPhone out of guilt</a></li><li><a
href="http://5thirtyone.com/archives/1979" rel="bookmark" class="wherego_title">iTunes Genius a Dunce? Check out &quot;ilikebsides&quot;</a></li><li><a
href="http://5thirtyone.com/archives/875" rel="bookmark" class="wherego_title">WordPress Custom Fields; laying text over your lead graphic</a></li><li><a
href="http://5thirtyone.com/archives/871" rel="bookmark" class="wherego_title">Volkswagen MkV R32 and the CarsDirect buying experience</a></li><li><a
href="http://5thirtyone.com/archives/2049" rel="bookmark" class="wherego_title">Backblaze: Secure unlimited automatic backups for $5</a></li></ul></div>]]></content:encoded> <wfw:commentRss>http://5thirtyone.com/archives/873/feed</wfw:commentRss> <slash:comments>36</slash:comments> </item> <item><title>Rich HTML email signatures straight from Gmail</title><link>http://5thirtyone.com/archives/821</link> <comments>http://5thirtyone.com/archives/821#comments</comments> <pubDate>Mon, 14 May 2007 19:00:42 +0000</pubDate> <dc:creator>Derek</dc:creator> <category><![CDATA[Tutorial]]></category> <category><![CDATA[email]]></category> <category><![CDATA[extension]]></category> <category><![CDATA[firefox]]></category> <category><![CDATA[gmail]]></category> <category><![CDATA[google]]></category> <category><![CDATA[html]]></category> <category><![CDATA[signature]]></category><guid
isPermaLink="false">http://5thirtyone.com/archives/821</guid> <description><![CDATA[One of the benefits of using a dedicated email application like Apple Mail or Mozilla Thunderbird is the ability to send emails which included rich HTML signatures. These email signatures are easily recognizeable and often include hyperlinks, images, or a combination of the two. Although Gmail users could easily access their accounts via POP allowing [...]]]></description> <content:encoded><![CDATA[<p>One of the benefits of using a dedicated email application like <a
href="http://www.apple.com/macosx/features/mail/">Apple Mail</a> or <a
href="http://www.mozilla.com/en-US/thunderbird/">Mozilla Thunderbird</a> is the ability to send emails which included rich HTML signatures. These email signatures are easily recognizeable and often include hyperlinks, images, or a combination of the two. Although Gmail users could easily access their accounts via POP allowing for HTML emails, web-based users <strike>are</strike> were forced to use plain text signatures. For quite some time, I yearned for the ability to add a little more personality to my emails. Unfortunately, because I managed all my email accounts via Gmail&#8217;s web interface, the option was non-existent. That was until I discovered the <a
href="https://addons.mozilla.org/en-US/firefox/addon/4866">Better Gmail Firefox extension</a>.</p><p>After installing the <a
href="http://getfirefox.com">Firefox</a>-only <a
href="https://addons.mozilla.org/en-US/firefox/addon/4866">Better Gmail extension</a>, you&#8217;ll discover a handful of configurable options &#8211; one of which is the &quot;Allow HTML in Signature&quot; option under Gmail > Settings. Once the option is selected, you now have free reign as far as HTML signatures are concerned.</p><h3>Getting started with your basic HTML signature</h3><p>Before embarking on the task of creating an HTML signature appropriate for your own needs, take some time to read through <a
href="http://www.campaignmonitor.com/blog/archives/2006/03/a_guide_to_css_support_in_emai.html">David Greiner&#8217;s A Guide to CSS Support in Email</a>. Although the goal for this tutorial is not as robust as a full blown CSS / HTML announcement email, the tables which outline what email clients support what rules is of significant value (well worth bookmarking).</p><h3>Creating a single line signature + graphic</h3><p>In order to show how easy it is to create an HTML signature using the web version of <a
href="http://gmail.com">Gmail</a> + <a
href="https://addons.mozilla.org/en-US/firefox/addon/4866">Better Gmail extension</a>, we&#8217;ll create a single line signature which includes 1) an avatar / favicon, 2) your name, 3) contact info, and 4) a URL (website, blog, etc.).</p><p
align="center"><img
src="/wp-content/uploads/2007/05/simple-signature.png" alt="Simple single line signature with Gmail" /></p><p>Unfortunately, due to some email client incompatibilities, the best way to create an HTML signature similar to that found in the image above is with the use of an HTML <code>table</code>.</p><div
class="wp_syntax"><div
class="code"><pre class="html" style="font-family:monospace;">&lt;table style=&quot;font-size:11px;color:#555;border-collapse:collapse;&quot;&gt;
&lt;tr&gt;
&lt;td&gt;&lt;img src=&quot;http://5thirtyone.com/5.gif&quot; alt=&quot;531&quot; /&gt;&lt;/td&gt;
&lt;td&gt;Your Name //&lt;/td&gt;
&lt;td&gt;123-456-7890 (mobile) //&lt;/td&gt;
&lt;td&gt;&lt;a href=&quot;http://your.url.com&quot;&gt; your.url.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</pre></div></div><p><strong>Important:</strong> Notice the inline CSS? Inline styling for the <code>form</code> element allows us to resize and customize the color of the font. It is also very important not to neglect the <code>&lt;img alt=&quot;&quot;</code> which is displayed by default when a recipients mail client blocks images from emails.</p><h3>Use your HTML signatures wisely</h3><p>Keep in mind that most, if not all, free email services will &#8211; by default &#8211; remove external images from emails. That is why the aforementioned <code>alt=&quot;&quot;</code> is important in order for recipients to know what they may be missing. Don&#8217;t overload your HTML signatures with too much fluff. Keep it simple and light; your contacts will thank you. [<a
title="Hosted Exchange Hosting" href="http://www.sherweb.com/hosted-exchange">Hosted Exchange Hosting</a>]</p><div
id="wherego_related"><h3>Readers Also Read</h3><ul><li><a
href="http://5thirtyone.com/archives/849" rel="bookmark" class="wherego_title">Back to school Threadless sale, if school&#8217;s your thing</a></li><li><a
href="http://5thirtyone.com/archives/845" rel="bookmark" class="wherego_title">Warning! Gmail users beware, fake upgrade emails</a></li><li><a
href="http://5thirtyone.com/archives/820" rel="bookmark" class="wherego_title">WordPress Grid Focus</a></li><li><a
href="http://5thirtyone.com/archives/2049" rel="bookmark" class="wherego_title">Backblaze: Secure unlimited automatic backups for $5</a></li><li><a
href="http://5thirtyone.com/archives/2171" rel="bookmark" class="wherego_title">Gmail IMAP vs. Push, sanity more important than Push?</a></li></ul></div>]]></content:encoded> <wfw:commentRss>http://5thirtyone.com/archives/821/feed</wfw:commentRss> <slash:comments>100</slash:comments> </item> <item><title>Resize &amp; reposition your browser &quot;bookmarklets&quot;</title><link>http://5thirtyone.com/archives/803</link> <comments>http://5thirtyone.com/archives/803#comments</comments> <pubDate>Sun, 08 Apr 2007 04:50:46 +0000</pubDate> <dc:creator>Derek</dc:creator> <category><![CDATA[Tutorial]]></category> <category><![CDATA[bookmarklet]]></category> <category><![CDATA[browser]]></category> <category><![CDATA[guide]]></category> <category><![CDATA[resize]]></category><guid
isPermaLink="false">http://5thirtyone.com/archives/803</guid> <description><![CDATA[Firefox bookmarks bar [screenshot] with various bookmarklets for resizing &#38; repositioning the browser window On a fairly regular basis, I find myself resizing &#38; repositioning the browser window in order to &#34;work happy&#34;. Be it general web browsing, web development, or multi-tasking, the browser window and position has a noticeable impact on what I&#8217;m doing. [...]]]></description> <content:encoded><![CDATA[<p
align="center"><img
width="500" height="158" src="/wp-content/uploads/2007/04/bookmarks-toolbar.jpg" alt="Firefox browser bookmarks toolbar" /></p><p
class="img_sub">Firefox bookmarks bar [screenshot] with various bookmarklets for resizing &amp; repositioning the browser window</p><p>On a fairly regular basis, I find myself resizing &amp; repositioning the browser window in order to &quot;work happy&quot;. Be it general web browsing, web development, or multi-tasking, the browser window and position has a noticeable impact on what I&#8217;m doing. Being fairly detail oriented, I prefer resizing &amp; positioning the browser window &#8211; in relation to other application windows &#8211; to specific pixel coordinates. At one point, I was using a special wallpaper [grid] which helped line elements up to their respective coordinates.</p><p>Realizing that the task of resizing &amp; repositioning the browser window could be simplified using JavaScript browser bookmarklets, I created and added similar snippets to accommodate my needs on a 2560&#215;1600 resolution screen:</p><p><code>javascript:self.resizeTo(1280,screen.availHeight);self.moveTo(640,0);</code></p><p>The above will resize the browser window horizontally to 1280px, and vertically to the constraints of the work area. If the dock is hidden (OS X), the browser height would be 1600px. If the dock is visible, the vertical height would be y minus the height of the dock.</p><p><code>javascript:self.resizeTo(1024,screen.availHeight);self.moveTo(768,0);</code></p><p>Alternatively, in order to center a browser window with a max width of 1024, the above snippet would do the trick. The general math to calculate the x,y coordinates for <code>self.moveTo(x,y)</code> can be gathered with the following:</p><ul><li>Decide on the max-width of the browser window &#8211; 1024</li><li>Divide the horizontal resolution of your screen by 2 &#8211; 2560px / 2 = 1280</li><li>Divide your anticipated browser width by 2 and subtract this figure from the centerline &#8211; 1280-(1024/2)=768</li></ul><p>Using 1024 as the max-width for the browser window on a 2560&#215;1600 resolution screen, the coordinates to center the browser window would be <code>self.moveTo(768,0);</code>. Confused? That&#8217;s OK. Right-click on any of the links below for your respective screen resolution and select &quot;Bookmark this link&quot;. Saving the links to your browser bookmarks bar will provide you with quick access to resize and center your browser window.</p><ul><li><em>1024 resolution:</em> <a
href="javascript:self.resizeTo(800,screen.availHeight);self.moveTo(112,0);">800</a></li><li><em>1280 resolution:</em> <a
href="javascript:self.resizeTo(800,screen.availHeight);self.moveTo(240,0);">800</a>, <a
href="javascript:self.resizeTo(1024,screen.availHeight);self.moveTo(128,0);">1024</a></li><li><em>1440 resolution:</em> <a
href="javascript:self.resizeTo(800,screen.availHeight);self.moveTo(320,0);">800</a>, <a
href="javascript:self.resizeTo(1024,screen.availHeight);self.moveTo(208,0);">1024</a>, <a
href="javascript:self.resizeTo(1280,screen.availHeight);self.moveTo(80,0);">1280</a></li><li><em>1680 resolution:</em> <a
href="javascript:self.resizeTo(800,screen.availHeight);self.moveTo(440,0);">800</a>, <a
href="javascript:self.resizeTo(1024,screen.availHeight);self.moveTo(328,0);">1024</a>, <a
href="javascript:self.resizeTo(1280,screen.availHeight);self.moveTo(200,0);">1280</a>, <a
href="javascript:self.resizeTo(1440,screen.availHeight);self.moveTo(120,0);">1440</a></li><li><em>1920 resolution:</em> <a
href="javascript:self.resizeTo(800,screen.availHeight);self.moveTo(560,0);">800</a>, <a
href="javascript:self.resizeTo(1024,screen.availHeight);self.moveTo(448,0);">1024</a>, <a
href="javascript:self.resizeTo(1280,screen.availHeight);self.moveTo(320,0);">1280</a>, <a
href="javascript:self.resizeTo(1440,screen.availHeight);self.moveTo(240,0);">1440</a></li><li><em>2560 resolution:</em> <a
href="javascript:self.resizeTo(800,screen.availHeight);self.moveTo(880,0);">800</a>, <a
href="javascript:self.resizeTo(1024,screen.availHeight);self.moveTo(768,0);">1024</a>, <a
href="javascript:self.resizeTo(1280,screen.availHeight);self.moveTo(640,0);">1280</a>, <a
href="javascript:self.resizeTo(1440,screen.availHeight);self.moveTo(560,0);">1440</a></li></ul><p>Note that in order for the above browser bookmarklets to work, you will need to make sure that JavaScript browser window resizing <em>is not</em> disabled in your browser preferences.</p><p
align="center"><img
src="/wp-content/uploads/2007/04/browser-js-settings.jpg" alt="Firefox browser preferences" /></p><p
class="img_sub">Double-check to make sure that your browser settings do not disable JavaScript browser window resizing</p><p>What other browser bookmarklets do you use on a regular basis? Add your recommendations in the comments so that others might benefit as well.</p><h3>Get the Best Software for your Computer</h3><p>Looking for the <a
href="http://graphics.stanford.edu/software/">best software</a> on the web? Sometimes it can be tough to find things <a
href="http://www.typesofsoftware.com/landscape-software.php">like landscape software</a>, while other programs <a
href="http://www.typesofsoftware.com/music-software.php">like music software</a> seem to be everywhere. Thankfully the internet is full of <a
href="http://www.typesofsoftware.com/">all types of software</a>, so there&#8217;s sure to be something for everyone.</p><div
id="wherego_related"><h3>Readers Also Read</h3><ul><li><a
href="http://5thirtyone.com/archives/517" rel="bookmark" class="wherego_title">Andy Budd grid overlay bookmarklet</a></li><li><a
href="http://5thirtyone.com/archives/804" rel="bookmark" class="wherego_title">WordPress China Users, operating on their own terms</a></li><li><a
href="http://5thirtyone.com/archives/802" rel="bookmark" class="wherego_title">Fonts 500 &#8211; The web&#8217;s Top 500 free font downloads</a></li></ul></div>]]></content:encoded> <wfw:commentRss>http://5thirtyone.com/archives/803/feed</wfw:commentRss> <slash:comments>20</slash:comments> </item> <item><title>Preventing content from &quot;shifting&quot; for Adblockers</title><link>http://5thirtyone.com/archives/788</link> <comments>http://5thirtyone.com/archives/788#comments</comments> <pubDate>Wed, 14 Mar 2007 07:57:20 +0000</pubDate> <dc:creator>Derek</dc:creator> <category><![CDATA[Tutorial]]></category> <category><![CDATA[adblock]]></category> <category><![CDATA[code]]></category> <category><![CDATA[css]]></category> <category><![CDATA[design]]></category> <category><![CDATA[xhtml]]></category><guid
isPermaLink="false">http://5thirtyone.com/archives/788</guid> <description><![CDATA[Anyone who inserts contextual advertisements into their pages &#8211; like Google Adsense &#8211; are aware of the fact that some readers block advertisements. Oftentimes, methods for removing advertisements from view alter the structure of a page, in turn, changing the layout. For some websites or blogs, this does not pose a problem. For websites created [...]]]></description> <content:encoded><![CDATA[<p
align="center"><img
src="/wp-content/uploads/2007/03/adsense_blocked.gif" alt="Consistent page with or without ads" /></p><p>Anyone who inserts contextual advertisements into their pages &#8211; like Google Adsense &#8211; are  aware of the fact that some readers <em>block advertisements</em>. Oftentimes, methods for removing advertisements from view alter the structure of a page, in turn, changing the layout. For some websites or blogs, this does not pose a problem. For websites created to present both content and advertisements in harmony, removing ad elements may have a negative impact on a pages layout.</p><h3>Ultimately, the author controls layout</h3><p>Contrary to what some readers [would like to] believe, the author <em>ultimately</em> controls how content is displayed on a site. The author also reserves the right to present advertisements [hopefully, in a tasteful manner]. The argument for both sides of the fence is lengthy and one which this post does not address. What we will address is the use of simple HTML/CSS to designate advertisement elements. Areas of a page which do not collapse are disappear from view using rudimentary adblocking tools like <a
href="https://addons.mozilla.org/firefox/10/">Firefox&#8217;s Adblock extension</a>.</p><h3>Prevent the adblock &quot;shift&quot;</h3><p>When users remove standard advertisement scripts from view, the ad element collapses moving surrounding elements. In order to control the layout of a page from shifting, I wrap the ad <code>script</code> with a <code>div</code> which I then apply a fixed width &amp; height to using CSS. I also add a &quot;title&quot; to the <code>div</code> to let readers with adblocking enabled know what is missing.</p><p
align="center"><img
src="/wp-content/uploads/2007/03/adsense_bordered.jpg" alt="1px bordered Adsense block" /></p><p>The corresponding HTML for a 468&#215;60 text link Google Banner might look like:</p><p><code>&lt;div id=&quot;adsense_468&quot;&gt;<br
/> &lt;p id=&quot;adtitle&quot;&gt;Advertisement&lt;/p&gt;<br
/> &lt;center&gt;...INSERT ADSENSE CODE...&lt;/center&gt;<br
/> &lt;/div&gt;</code></p><p>With a few lines of CSS, add a fixed width &amp; height to the <code>#adsense_468</code>. Similar to the advertisement presentation for the Grid Focus, we&#8217;ll also add a 1px border and use <code>position: absolute;</code> to move the title to the top right corner.</p><p><code>#adsense_468 { width: 495px; height: 70px; border: 1px solid #BBB; padding-top: 5px; position: relative; }<br
/> #adsense_468 #adtitle { font-size: 11px; position: absolute; display: block; background: #FFF; padding:0 3px; top: -8px; right: 12px; }</code></p><p>The question now is, <em>who out there is adblocking?</em> Come clean! <img
src='http://5thirtyone.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p><h3>Take Care of your Hosting Issues</h3><p>Worried that you are paying to much for <a
href="http://www.fortunecity.com/">your hosting</a>? Get the best <a
href="http://www.hosting-website.us/">website hosting</a> available. They can also take care of your <a
href="http://www.hosting-website.us/domain-registration.html">domain registration needs</a>, making it easier than ever to <a
href="http://www.west.asu.edu/IT/start/web_tools/resources.htm">host a site</a> without breaking the bank.</p><div
id="wherego_related"><h3>Readers Also Read</h3><ul></ul></div>]]></content:encoded> <wfw:commentRss>http://5thirtyone.com/archives/788/feed</wfw:commentRss> <slash:comments>28</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (user agent is rejected)
Database Caching 46/55 queries in 0.082 seconds using disk

Served from: 5thirtyone.com @ 2010-09-02 15:27:20 -->