<?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>Soliciting Fame &#187; Web Design</title>
	<atom:link href="http://solicitingfame.com/category/web-design/feed/" rel="self" type="application/rss+xml" />
	<link>http://solicitingfame.com</link>
	<description>by Eric W. Warnke</description>
	<lastBuildDate>Thu, 29 Mar 2012 00:52:08 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-alpha-20291</generator>
		<item>
		<title>Perfect Social Sharing Buttons</title>
		<link>http://solicitingfame.com/2012/03/28/perfect-social-sharing-buttons/</link>
		<comments>http://solicitingfame.com/2012/03/28/perfect-social-sharing-buttons/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 23:25:33 +0000</pubDate>
		<dc:creator>Eric Warnke</dc:creator>
				<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://solicitingfame.com/?p=450</guid>
		<description><![CDATA[Alrighty, last week I was complaining about how social sharing buttons are broken. Update: they still are, however, I just stumbled upon The Next Web&#8217;s share button. Look how amazing it is! It counts the number of shares they have around the web. Pure awesomeness. The only thing missing is the one-click share but that&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Alrighty, last week I was complaining about how <a  title="Social Sharing Buttons are Busted" href="http://solicitingfame.com/2012/03/23/social-sharing-buttons-are-busted/">social sharing buttons are broken</a>.</p>
<p>Update: they still are, however, I just stumbled upon<a  href="http://thenextweb.com/"> The Next Web&#8217;</a>s share button. Look how amazing it is! It counts the number of shares they have around the web. Pure awesomeness.</p>
<div id="attachment_451" class="wp-caption aligncenter" style="width: 623px"><a  href="http://solicitingfame.com/wordpress/wp-content/uploads/2012/03/perfect-share-buttons.jpg" class="thickbox no_icon" rel="gallery-450" title="perfect-share-buttons"><img class=" wp-image-451 " title="perfect-share-buttons" src="http://solicitingfame.com/wordpress/wp-content/uploads/2012/03/perfect-share-buttons.jpg" alt="Image of great social sharing buttons from The Next Web" width="613" height="286" /></a><p class="wp-caption-text">Share button perfection</p></div>
<p>The only thing missing is the one-click share but that&#8217;s hardly a detraction.</p>
<p>Kudos, TNW, way to be progressive.</p>
<div> If you liked this post you should <a  href="http://twitter.com/EricWarnke">follow me on twitter: @EricWarnke</a></div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://solicitingfame.com/2012/03/28/perfect-social-sharing-buttons/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Social Sharing Buttons are Busted</title>
		<link>http://solicitingfame.com/2012/03/23/social-sharing-buttons-are-busted/</link>
		<comments>http://solicitingfame.com/2012/03/23/social-sharing-buttons-are-busted/#comments</comments>
		<pubDate>Sat, 24 Mar 2012 00:00:40 +0000</pubDate>
		<dc:creator>Eric Warnke</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://solicitingfame.com/?p=402</guid>
		<description><![CDATA[Any self respecting web developer out there probably has the same problem I do, share buttons don&#8217;t play well together. Here is an example screenshot from Backup Box It seems kind of ok at first, except that none of the bubbles are the same size. Google is the worst for this, at least the vertical [...]]]></description>
			<content:encoded><![CDATA[<p>Any self respecting web developer out there probably has the same problem I do, share buttons don&#8217;t play well together.</p>
<p>Here is an example screenshot from Backup Box</p>
<p style="text-align: center;"><a  href="http://solicitingfame.com/wordpress/wp-content/uploads/2012/03/broken-social-share-buttons.png" class="thickbox no_icon" rel="gallery-402" title="broken social share buttons"><img class="size-full wp-image-403 aligncenter" title="broken social share buttons" src="http://solicitingfame.com/wordpress/wp-content/uploads/2012/03/broken-social-share-buttons.png" alt="" width="339" height="98" /></a></p>
<p style="text-align: left;">It seems kind of ok at first, except that none of the bubbles are the same size. Google is the worst for this, at least the vertical height of the Facebook, Twitter, LinkedIn, and Buffer widgets are equal.</p>
<p style="text-align: left;">Ignoring bubble size, lets look at how I implemented this.</p>
<p style="text-align: left;">First up, Facebook:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>div id<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;fb-root&quot;</span><span style="color: #339933;">&gt;&lt;/</span>div<span style="color: #339933;">&gt;</span><br />
<span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>d<span style="color: #339933;">,</span> s<span style="color: #339933;">,</span> id<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span><br />
<span style="color: #003366; font-weight: bold;">var</span> js<span style="color: #339933;">,</span> fjs <span style="color: #339933;">=</span> d.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span>s<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br />
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>d.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>id<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066; font-weight: bold;">return</span><span style="color: #339933;">;</span><br />
js <span style="color: #339933;">=</span> d.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span>s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> js.<span style="color: #660066;">id</span> <span style="color: #339933;">=</span> id<span style="color: #339933;">;</span><br />
js.<span style="color: #660066;">src</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;//connect.facebook.net/en_GB/all.js #xfbml=1&amp;appId=210899475625228&quot;</span><span style="color: #339933;">;</span><br />
fjs.<span style="color: #660066;">parentNode</span>.<span style="color: #660066;">insertBefore</span><span style="color: #009900;">&#40;</span>js<span style="color: #339933;">,</span> fjs<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#40;</span>document<span style="color: #339933;">,</span> <span style="color: #3366CC;">'script'</span><span style="color: #339933;">,</span> <span style="color: #3366CC;">'facebook-jssdk'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;/</span>script<span style="color: #339933;">&gt;</span></div></td></tr></tbody></table></div>
<p>&lt;div class=&#8221;fb-like&#8221; data-href=&#8221;http://www.mybackupbox.com&#8221; data-send=&#8221;false&#8221; data-layout=&#8221;box_count&#8221; data-font=&#8221;verdana&#8221; style=&#8221;top:-3px;right:-1px&#8221;&gt;&lt;/div&gt;</p>
<p style="text-align: left;">I need to add a div for them, for whatever reason, then paste in a bunch of wonky JS to get the right tags and link to their script. The final part is the actual like div, which I expect. They make use of the HTML5 compliant data attributes, which is awesome. You&#8217;ll notice that I had to modify the styles to actually line it up with the other widgets. One should not have to do that. You&#8217;ll also notice that their JS source is a nice // instead of http or https, this gets around browser rules about insecure content. More about this later.</p>
<p style="text-align: left;">Next we have Twitter, they&#8217;re my second favourite:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>a <span style="color: #003366; font-weight: bold;">class</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;twitter-share-button&quot;</span> data<span style="color: #339933;">-</span>url<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http://mybackupbox.com&quot;</span> data<span style="color: #339933;">-</span>via<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;BackupBox&quot;</span> data<span style="color: #339933;">-</span>text<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;Scheduled transfers between FTP and Dropbox, and lots more!&quot;</span> data<span style="color: #339933;">-</span>count<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;vertical&quot;</span><span style="color: #339933;">&gt;</span>Tweet<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span><br />
<br />
<span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;!</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>d<span style="color: #339933;">,</span>s<span style="color: #339933;">,</span>id<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><span style="color: #003366; font-weight: bold;">var</span> js<span style="color: #339933;">,</span>fjs<span style="color: #339933;">=</span>d.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span>s<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>d.<span style="color: #660066;">getElementById</span><span style="color: #009900;">&#40;</span>id<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>js<span style="color: #339933;">=</span>d.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span>s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>js.<span style="color: #660066;">id</span><span style="color: #339933;">=</span>id<span style="color: #339933;">;</span> js.<span style="color: #660066;">src</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;//platform.twitter.com/widgets.js&quot;</span><span style="color: #339933;">;</span> fjs.<span style="color: #660066;">parentNode</span>.<span style="color: #660066;">insertBefore</span><span style="color: #009900;">&#40;</span>js<span style="color: #339933;">,</span>fjs<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#40;</span>document<span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;script&quot;</span><span style="color: #339933;">,</span><span style="color: #3366CC;">&quot;twitter-wjs&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;&lt;/</span>script<span style="color: #339933;">&gt;</span></div></td></tr></tbody></table></div>
<p style="text-align: left;">Twitter uses an a tag instead of an, no big deal. They also make use of data attributes, so thumbs up. I add a line of javascript but I still have to actually write some JS instead of just linking&#8230; *sigh*</p>
<p>Now Google:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;div class=&quot;g-plusone&quot; data-size=&quot;tall&quot; data-href=&quot;//mybackupbox.com&quot;&gt;&lt;/div&gt;<br />
<br />
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span><br />
&nbsp;window.___gcfg <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>lang<span style="color: #339933;">:</span> <span style="color: #3366CC;">'en-GB'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span><br />
<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><br />
&nbsp;<span style="color: #003366; font-weight: bold;">var</span> po <span style="color: #339933;">=</span> document.<span style="color: #660066;">createElement</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> po.<span style="color: #660066;">type</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'text/javascript'</span><span style="color: #339933;">;</span> po.<span style="color: #660066;">async</span> <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">true</span><span style="color: #339933;">;</span><br />
&nbsp;po.<span style="color: #660066;">src</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">'https://apis.google.com/js/plusone.js'</span><span style="color: #339933;">;</span><br />
&nbsp;<span style="color: #003366; font-weight: bold;">var</span> s <span style="color: #339933;">=</span> document.<span style="color: #660066;">getElementsByTagName</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span> s.<span style="color: #660066;">parentNode</span>.<span style="color: #660066;">insertBefore</span><span style="color: #009900;">&#40;</span>po<span style="color: #339933;">,</span> s<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp;<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp;<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></div></td></tr></tbody></table></div>
<p>What the heck? 10,000 engineers can&#8217;t come up with something a bit simpler than this? I&#8217;ll give them credit for using a sprite (since if you manually change the height of their iframe in the console you can see all the images), but not much else. Data attributes are good. Tons of stupid javascript is not.</p>
<p>LinkedIn, the best share button implementation on the internet!:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;//platform.linkedin.com/in.js&quot;</span> type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span><br />
<br />
&nbsp;<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;IN/Share&quot;</span> data<span style="color: #339933;">-</span>url<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http://mybackupbox.com&quot;</span> data<span style="color: #339933;">-</span>counter<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;top&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span></div></td></tr></tbody></table></div>
<p>Damn, that was simple! Two lines! There is ONE problem with LinkedIn&#8217;s implementation that I&#8217;ll mention further down.</p>
<p>Last but not least is Buffer. These guys are new to the scene, doing an awesome job, so I try to support them:</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>div style<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;display:inline; margin-left:5px&quot;</span><span style="color: #339933;">&gt;&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http://bufferapp.com/add&quot;</span> data<span style="color: #339933;">-</span>text<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;Scheduled transfers between FTP and Dropbox, and lots more! via @BackupBox&quot;</span> data<span style="color: #339933;">-</span>url<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http://mybackupbox.com&quot;</span> data<span style="color: #339933;">-</span>count<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;vertical&quot;</span><span style="color: #339933;">&gt;</span>Buffer<span style="color: #339933;">&lt;/</span>a<span style="color: #339933;">&gt;</span><br />
<br />
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http://static.bufferapp.com/js/button.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;&lt;/</span>div<span style="color: #339933;">&gt;</span></div></td></tr></tbody></table></div>
<p>Ok, Buffer does a great job too, following in the footsteps of Twitter and LinkedIn, no doubt. Their only mark against them is they don&#8217;t support HTTPs. I actually had removed them from our homepage at the time of writing because of this.</p>
<p>The BIGGEST problem that ALL of these buttons have is that they don&#8217;t support a data-href without a protocol prefix, ie. //. Every one, excluding Google+ requires me to specific http:// or https://. This is a serious problem if you have an SSL certificate. For example, Facebook discriminates likes between https and whether you include the www prefer in your domain. There&#8217;s a potential four different like counts the we can have. I can either change the code to https://mybackupbox.com and lose our likes or leave it as http://www.mybackupbox.com and retain them. I shouldn&#8217;t have to make this decision <img src='http://solicitingfame.com/wordpress/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  For new companies like Buffer, having their javascript link not support SSL means that I have to remove them or have the &#8220;mark of the beast&#8221; beside my URL.</p>
<div id="attachment_405" class="wp-caption aligncenter" style="width: 219px"><a  href="http://solicitingfame.com/wordpress/wp-content/uploads/2012/03/mark-of-the-beast-2.0.png" class="thickbox no_icon" rel="gallery-402" title="Mark of the beast 2.0"><img class="size-full wp-image-405" title="Mark of the beast 2.0" src="http://solicitingfame.com/wordpress/wp-content/uploads/2012/03/mark-of-the-beast-2.0.png" alt="" width="209" height="34" /></a><p class="wp-caption-text">&quot;Mark of the beast 2.0&quot;</p></div>
<p>A few things to mention. A good share button will have:</p>
<ul>
<li>One &lt;div&gt; tag where the button will go</li>
<li>One &lt;script&gt; <strong>link</strong>&nbsp;to an external file</li>
<li>All settings are defined using HTML5 data attributes</li>
<li>Support for non-prefixed links to their scripts, eg. //twitter.com/plugin.js</li>
<li>Support for non-prefixed data-href links for their buttons so developers are forced to choose.</li>
</ul>
<p>This post barely scratches the surface when it comes to share buttons. We&#8217;re only using the bubble count style and each widget has multiple form factors. Hopefully these companies can get it together and standardize on things. Maybe that&#8217;ll be my next project? Who knows.</p>
<p>If you liked this post you should follow me on Twitter: <a  href="http://twitter.com/EricWarnke">@EricWarnke</a></p>
<p>You should also check out our latest project, <a  href="http://mybackupbox.com">http://mybackupbox.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://solicitingfame.com/2012/03/23/social-sharing-buttons-are-busted/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jQuery .keyup() vs .change() vs .bind()</title>
		<link>http://solicitingfame.com/2011/11/09/jquery-keyup-vs-bind/</link>
		<comments>http://solicitingfame.com/2011/11/09/jquery-keyup-vs-bind/#comments</comments>
		<pubDate>Wed, 09 Nov 2011 20:36:33 +0000</pubDate>
		<dc:creator>Eric Warnke</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://solicitingfame.com/?p=380</guid>
		<description><![CDATA[I&#8217;ve found that using .keyup() in jQuery doesn&#8217;t always work like I want. For example, if I want to ensure that a user can&#8217;t put a special character into an input field I want to check for that character every time the input changes. Only using .keyup() allows someone to right-click and paste a bad [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve found that using .keyup() in jQuery doesn&#8217;t always work like I want. For example, if I want to ensure that a user can&#8217;t put a special character into an input field I want to check for that character every time the input changes. Only using .keyup() allows someone to right-click and paste a bad value in.</p>
<p>Instead I use .bind(&#8220;change keyup input&#8221;) to catch all changes on an input field, regardless of how they are done.</p>
<p>For example:</p>
<pre class="prettyprint">// detect the change
$('input#myId').bind("change keyup input",function() {
    // if there's a bad value
    if (this.value.match(/[^a-zA-Z0-9\-_\s]/g)) {
        // replace it with nothing
&nbsp;&nbsp;&nbsp;     this.value = this.value.replace(/[^a-zA-Z0-9\-_\s]/g, '');
&nbsp;&nbsp;&nbsp; }
});</pre>
<p>Pretty simple, eh?</p>
<p>If you liked this you should <a  href="http://twitter.com/EricWarnke" target="_blank">follow me on Twitter</a> where I tweet about startups, code, and other useful things.</p>
]]></content:encoded>
			<wfw:commentRss>http://solicitingfame.com/2011/11/09/jquery-keyup-vs-bind/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Cheap Vinyl Cutting</title>
		<link>http://solicitingfame.com/2009/02/06/cheap-vinyl-cutting/</link>
		<comments>http://solicitingfame.com/2009/02/06/cheap-vinyl-cutting/#comments</comments>
		<pubDate>Fri, 06 Feb 2009 18:52:31 +0000</pubDate>
		<dc:creator>Eric Warnke</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://solicitingfame.com/?p=233</guid>
		<description><![CDATA[Running multiple businesses and being friends with similar people we all know how expensive it is to have any sort of signs made. We&#8217;re very much do-it-yourself kind of people, so we bought a vinyl cutter. First off, this thing was cheap. We shopped around and found a cutter from US Cutters on eBay (don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>Running multiple businesses and being friends with similar people we all know how expensive it is to have any sort of signs made. We&#8217;re very much do-it-yourself kind of people, so we bought a vinyl cutter.</p>
<p>First off, this thing was cheap. We shopped around and found a cutter from <a  href="http://stores.shop.ebay.com/USCutter-for-Vinyl-Cutters-etc__W0QQ_armrsZ1" target="_blank">US Cutters on eBay</a> (don&#8217;t buy from their website). After negotiating my own shipping the end price door to door was around $505. Not too shabby for a 36&#8243; vinyl cutting monster.</p>
<p>The cutter itself is about 50&#8243; long and it comes with a stand. Along with the tiny little cutting blades there is a pen plotting attachment that you can use to draw with.</p>
<p>We&#8217;ve cut a few things already, mostly stuff for Rob&#8217;s farm as you will see in the pictures.</p>
<p>Applying vinyl is pretty straight forward as long as you think things through in advance. It&#8217;s really sticky and once it&#8217;s on whatever surface you are using it&#8217;s not really coming off without being destroyed.</p>
<p>Anyway, with the amount we spent it&#8217;ll save us a fortune in sign making costs. Since cutting a few yards of vinyl ourselves will cost about $4/yard and having a shop do it would cost 10 times that.
<a  href="http://solicitingfame.com/2009/02/06/cheap-vinyl-cutting/attachment/200902051497/" title="200902051497"><img width="150" height="150" src="http://solicitingfame.com/wordpress/wp-content/uploads/2009/02/200902051497-150x150.jpg" class="attachment-thumbnail" alt="200902051497" title="200902051497" /></a>
<a  href="http://solicitingfame.com/2009/02/06/cheap-vinyl-cutting/attachment/200902051495/" title="200902051495"><img width="150" height="150" src="http://solicitingfame.com/wordpress/wp-content/uploads/2009/02/200902051495-150x150.jpg" class="attachment-thumbnail" alt="200902051495" title="200902051495" /></a>
<a  href="http://solicitingfame.com/2009/02/06/cheap-vinyl-cutting/attachment/200902051494/" title="200902051494"><img width="150" height="150" src="http://solicitingfame.com/wordpress/wp-content/uploads/2009/02/200902051494-150x150.jpg" class="attachment-thumbnail" alt="200902051494" title="200902051494" /></a>
<a  href="http://solicitingfame.com/2009/02/06/cheap-vinyl-cutting/attachment/200902051492/" title="200902051492"><img width="150" height="150" src="http://solicitingfame.com/wordpress/wp-content/uploads/2009/02/200902051492-150x150.jpg" class="attachment-thumbnail" alt="200902051492" title="200902051492" /></a>
<a  href="http://solicitingfame.com/2009/02/06/cheap-vinyl-cutting/attachment/200902051490/" title="200902051490"><img width="150" height="150" src="http://solicitingfame.com/wordpress/wp-content/uploads/2009/02/200902051490-150x150.jpg" class="attachment-thumbnail" alt="200902051490" title="200902051490" /></a>
<a  href="http://solicitingfame.com/2009/02/06/cheap-vinyl-cutting/attachment/200902051498/" title="200902051498"><img width="150" height="150" src="http://solicitingfame.com/wordpress/wp-content/uploads/2009/02/200902051498-150x150.jpg" class="attachment-thumbnail" alt="200902051498" title="200902051498" /></a>
</p>
]]></content:encoded>
			<wfw:commentRss>http://solicitingfame.com/2009/02/06/cheap-vinyl-cutting/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS Frameworks</title>
		<link>http://solicitingfame.com/2009/02/02/css-frameworks/</link>
		<comments>http://solicitingfame.com/2009/02/02/css-frameworks/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 21:05:23 +0000</pubDate>
		<dc:creator>Eric Warnke</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://solicitingfame.com/?p=225</guid>
		<description><![CDATA[I&#8217;m going to start developing sites using a CSS framework. I&#8217;ve read lots of arguments for and against and I feel like I won&#8217;t be delving into super complicated content anytime soon and therefore a prebuilt framework should speed things up a lot. That&#8217;s really the goal that myself and Rob and going for, speed. [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m going to start developing sites using a CSS framework. I&#8217;ve read lots of arguments for and against and I feel like I won&#8217;t be delving into super complicated content anytime soon and therefore a prebuilt framework should speed things up a lot.</p>
<p>That&#8217;s really the goal that myself and Rob and going for, speed. We&#8217;re aiming to create inexpensive, customized, and well designed websites for small businesses and organizations. In order to keep prices down and profits up that means we need to be fast. I think that using a CSS framework will help me out.</p>
<p>I watched Yahoo&#8217;s <a  href="http://developer.yahoo.com/yui/grids/">YUI introduction video</a> by Nate Koechley and it taught me a lot. Yes I have to submit to their div names and whatnot but I think it&#8217;ll speed things up.</p>
]]></content:encoded>
			<wfw:commentRss>http://solicitingfame.com/2009/02/02/css-frameworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Community WiFi Routers Available!</title>
		<link>http://solicitingfame.com/2009/01/24/free-community-wifi-routers-available/</link>
		<comments>http://solicitingfame.com/2009/01/24/free-community-wifi-routers-available/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 19:52:46 +0000</pubDate>
		<dc:creator>Eric Warnke</dc:creator>
				<category><![CDATA[Web Design]]></category>
		<category><![CDATA[WiFi]]></category>
		<category><![CDATA[free wifi]]></category>

		<guid isPermaLink="false">http://solicitingfame.com/?p=219</guid>
		<description><![CDATA[I put up the PayPal page for our Free WiFi Project. Now anyone is able to easily order a router from us. I made the &#8220;executive&#8221; decision to start calling each device a Community Router. Alternatively you could say Community HotSpot or Community Node, just throw Community in there because that&#8217;s what it&#8217;s all about [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-133" style="margin: 10px;" title="wifilogo" src="http://solicitingfame.com/wordpress/wp-content/uploads/2008/06/wifilogo.png" alt="wifilogo" width="214" height="73" align="left" />I put up the PayPal page for our Free WiFi Project. Now anyone is able to easily order a router from us.</p>
<p>I made the &#8220;executive&#8221; decision to start calling each device a Community Router. Alternatively you could say Community HotSpot or Community Node, just throw Community in there because that&#8217;s what it&#8217;s all about <img src='http://solicitingfame.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Whether you want to help out at home or work you can order a <a  href="http://free-wifi.ca/expand.php" target="_blank">community router on our website</a> for $60. We&#8217;ll send you a box in the mail with instructions and everything you need to get started.</p>
<p>Tell your friends and let&#8217;s get Edmonton connected!</p>
]]></content:encoded>
			<wfw:commentRss>http://solicitingfame.com/2009/01/24/free-community-wifi-routers-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Open-Mesh Logo Disappoints</title>
		<link>http://solicitingfame.com/2008/07/29/new-open-mesh-logo-disappoints/</link>
		<comments>http://solicitingfame.com/2008/07/29/new-open-mesh-logo-disappoints/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 16:44:37 +0000</pubDate>
		<dc:creator>Eric Warnke</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[WiFi]]></category>
		<category><![CDATA[open-mesh]]></category>

		<guid isPermaLink="false">http://solicitingfame.com/?p=161</guid>
		<description><![CDATA[This morning I noticed that Open-Mesh introduced a new logo. I certainly hope it&#8217;s a stop-gap before a better logo because this one looks like someone spent five minutes learning Photoshop while making it. To Mike and anyone involved with Open-Mesh, I suggest you check out Worth1000. It&#8217;s an awesome site where you can get [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I noticed that Open-Mesh introduced a new logo.</p>
<p><a  href="http://solicitingfame.com/wordpress/wp-content/uploads/2008/07/omlogo2.gif" class="thickbox no_icon" rel="gallery-161" title="omlogo2"><img class="alignnone size-full wp-image-162" title="omlogo2" src="http://solicitingfame.com/wordpress/wp-content/uploads/2008/07/omlogo2.gif" alt="" width="210" height="32" /></a></p>
<p>I certainly hope it&#8217;s a stop-gap before a better logo because this one looks like someone spent five minutes learning Photoshop while making it.</p>
<p>To Mike and anyone involved with Open-Mesh, I suggest you check out <a  href="http://www.worth1000.com/search.asp?search=logo" target="_blank">Worth1000</a>. It&#8217;s an awesome site where you can get a really quality logo for only a couple hundred dollars.</p>
]]></content:encoded>
			<wfw:commentRss>http://solicitingfame.com/2008/07/29/new-open-mesh-logo-disappoints/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP Gallery Directory Image Reader</title>
		<link>http://solicitingfame.com/2008/05/25/php-gallery-directory-image-reader/</link>
		<comments>http://solicitingfame.com/2008/05/25/php-gallery-directory-image-reader/#comments</comments>
		<pubDate>Mon, 26 May 2008 00:48:26 +0000</pubDate>
		<dc:creator>Eric Warnke</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[directory]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://solicitingfame.com/?p=115</guid>
		<description><![CDATA[I wrote a neat little script to simply read a directory, search for thumbnails, then print a list with links to the larger images. I look for the thumbnails so it doesn&#8217;t get images that don&#8217;t have small versions. There are limitations, for example if you put a PDF with &#8216;.thumb&#8217; in the directory it [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote a neat little script to simply read a directory, search for thumbnails, then print a list with links to the larger images. I look for the thumbnails so it doesn&#8217;t get images that don&#8217;t have small versions.</p>
<p>There are limitations, for example if you put a PDF with &#8216;.thumb&#8217; in the directory it will try to link it as an image. This is ok for me because I&#8217;m controlling what goes in the directories. I suppose I could add a check for it later if I need to.</p>
<blockquote><p>&lt;?php</p>
<p>/* This little snippet takes the directory and looks for any files with &#8216;.thumb&#8217;. Then it takes out the &#8216;.thumb&#8217; to link to the big image. Then it makes a nice little list. */</p>
<p>$dir = &#8216;gallery/gallery2/&#8217;; /* Point to the right gallery directory */</p>
<p>echo &#8220;&lt;ul&gt;&#8221;;</p>
<p>if ($handle = opendir($dir)) {</p>
<p>while (false !== ($file = readdir($handle))) { /* Loop over directory */</p>
<p>if (strpos($file, &#8216;.thumb&#8217;)) { /* Look for the .thumb */</p>
<p>$filebig = str_replace(&#8216;.thumb&#8217;,&#8221;,$file);  /* Remove .thumb for our big files */</p>
<p>echo &#8220;&lt;li&gt;&lt;a href=\&#8221;$dir$filebig\&#8221; rel=\&#8221;lightbox[1]\&#8221;&gt;&lt;img src=\&#8221;$dir$file\&#8221; border=\&#8221;0\&#8221;/&gt;&lt;/a&gt;&lt;/li&gt;\n&#8221;; /* Make the list with both file names */</p>
<p>}</p>
<p>}</p>
<p>closedir($handle); /* Finish */</p>
<p>}</p>
<p>echo &#8220;&lt;/ul&gt;&#8221;</p>
<p>?&gt;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://solicitingfame.com/2008/05/25/php-gallery-directory-image-reader/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Open Mesh Networks Round 2</title>
		<link>http://solicitingfame.com/2008/05/25/open-mesh-networks-round-2/</link>
		<comments>http://solicitingfame.com/2008/05/25/open-mesh-networks-round-2/#comments</comments>
		<pubDate>Sun, 25 May 2008 21:27:22 +0000</pubDate>
		<dc:creator>Eric Warnke</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Poor Service]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[WiFi]]></category>
		<category><![CDATA[Meraki]]></category>
		<category><![CDATA[open-mesh]]></category>

		<guid isPermaLink="false">http://solicitingfame.com/?p=112</guid>
		<description><![CDATA[I posted earlier about buying a Meraki Pro Wireless Repeater. So far it&#8217;s been doing pretty well sitting in the window. This last week I&#8217;ve had over 100 people access it and most of them were not in my cafe. I&#8217;d say that&#8217;s pretty good for the first router. Because it&#8217;s doing well I decided [...]]]></description>
			<content:encoded><![CDATA[<p>I posted <a  href="http://solicitingfame.com/2008/04/18/mesh-wifi-networks-are-cool/" target="_blank">earlier</a> about buying a Meraki Pro Wireless Repeater. So far it&#8217;s been doing pretty well sitting in the window. This last week I&#8217;ve had over 100 people access it and most of them were not in my cafe. I&#8217;d say that&#8217;s pretty good for the first router.</p>
<p>Because it&#8217;s doing well I decided to order 20 of the <a  href="http://open-mesh.com/" target="_blank">Open-Mesh</a> routers. At that number I get them for $39.99 each. The plan is to cover my street in wireless and then go and sell ads to the businesses that operate in the area.</p>
<p><img class="alignleft size-full wp-image-113" style="float: left;" title="No Meraki" src="http://solicitingfame.com/wordpress/wp-content/uploads/2008/05/nomeraki.png" alt="No Meraki Picture" width="147" height="82" />The reason I&#8217;m switching to Open-Mesh from Meraki is pretty clear cut. First the price of a Meraki router is like three times more than an Open-Mesh one. The gain isn&#8217;t that much smaller and I can easily stick a bigger antenna on them.</p>
<p>Open-Mesh also comes pre-flashed with <a  href="http://www.blogin.it/" target="_blank">RO.B.IN</a> which is an open source mesh network. Meraki has proprietary, locked down, restricted software that doesn&#8217;t let me properly implement a good splash page, which is essentially my goal.</p>
<p>At a municipal WiFi focus group a month ago I learned about the proposal of having an Edmonton WiFi portal of sorts that shows you information about the area you are in. I think some sort of Wiki would be perfect for this and I&#8217;m going to look into it for my project.</p>
<p>My friend, Mack, suggested that I demo the mesh network stuff at the next <a  href="http://barcamp.pbwiki.com/DemoCampEdmonton" target="_blank">DemoCampEdmonton</a>. While it would be interesting to show, it&#8217;s not my technology, I&#8217;m just doing an implementation.</p>
]]></content:encoded>
			<wfw:commentRss>http://solicitingfame.com/2008/05/25/open-mesh-networks-round-2/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>DreamHost is a Nightmare!</title>
		<link>http://solicitingfame.com/2008/05/25/dreamhost-is-a-nightmare/</link>
		<comments>http://solicitingfame.com/2008/05/25/dreamhost-is-a-nightmare/#comments</comments>
		<pubDate>Sun, 25 May 2008 20:27:42 +0000</pubDate>
		<dc:creator>Eric Warnke</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Poor Service]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[dreamhost]]></category>

		<guid isPermaLink="false">http://solicitingfame.com/?p=111</guid>
		<description><![CDATA[On March 5th I purchased an account with DreamHost. I&#8217;d heard good things about them and they&#8217;re a fairly large name in the world of web hosting. Unfortunately our relationship was not meant to be. The last two months have been pretty frustrating as DreamHost was constantly having problems and my blog was extremely slow. [...]]]></description>
			<content:encoded><![CDATA[<p>On March 5th I purchased an account with DreamHost. I&#8217;d heard good things about them and they&#8217;re a fairly large name in the world of web hosting. Unfortunately our relationship was not meant to be.</p>
<p>The last two months have been pretty frustrating as DreamHost was constantly having problems and my blog was extremely slow. Even just navigating their control panel was a boring nightmare. And WordPress! It&#8217;s slow enough as it is but when I have to wait a full minute to post something it&#8217;s not bearable.</p>
<p>So I switched to GoDaddy. My friend Rob and I pitched in for a Virtual Dedicated Server together and it&#8217;s only costing about $35/month total. So far it&#8217;s going well and I have a lot more options for customization with their full cPanel install that DreamHost&#8217;s dumbed down manager.</p>
<p>I am still well within the 90 day refund policy that DreamHost has so I emailed them today asking for a refund. Hopefully they don&#8217;t make up an excuse and just give it to me.</p>
]]></content:encoded>
			<wfw:commentRss>http://solicitingfame.com/2008/05/25/dreamhost-is-a-nightmare/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

