<?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>Unwrongest</title>
	<atom:link href="http://www.unwrongest.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.unwrongest.com</link>
	<description>Interaction Designer and Interface Developer</description>
	<lastBuildDate>Wed, 30 Jun 2010 11:24:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Why are we typing passwords twice?</title>
		<link>http://www.unwrongest.com/blog/why-are-we-typing-passwords-twice/</link>
		<comments>http://www.unwrongest.com/blog/why-are-we-typing-passwords-twice/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 18:35:25 +0000</pubDate>
		<dc:creator>Jan Jarfalk</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://www.unwrongest.com/?p=502</guid>
		<description><![CDATA[We are typing passwords twice because of legacy design patterns we forgot to abandon. There is no reason for why everybody should suffer just because a few can't type their password correctly. I jump confirmation ship!]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve created about ten sign-up forms the last year and all of them has a &#8220;Confirm password&#8221;-input. My only sure reasons for that extra input field are habit and preconceived ideas. </p>
<h2>We are typing our passwords twice because</h2>
<p>To find out the reason for the &#8220;confirm password&#8221; input field I did some light Googling. This is why other people adds an extra password field to their sign up forms. </p>
<p><strong>a)</strong> We use this as confirmation that we typed what we meant to type.<br />
<strong>b)</strong> It is a convention, it is what we expect and therefor get.<br />
<strong>c)</strong> Web developers are bad habit forming idiots with preconceived ideas<br />
<strong>d)</strong> if we type it twice we are more likely to remember it.</p>
<h2>I am a combination</h2>
<p>For me it is a combination. A is probably the original thought behind it, but it is also something that I just expect to be there. But I also think it&#8217;s legacy design. Something I should have abandon years ago, or at least when I learned to create a better solution of my own.</p>
<h3>A &#8211; Confirmation</h3>
<p>My guesstimate is that most people actually do type their passwords correctly, even if they only see stars or bullets. If they don&#8217;t, they will probably find out soon enough and use the &#8220;I forgot my password&#8221;-link. I don&#8217;t think everybody should suffer just because a few can&#8217;t type their password correctly.</p>
<h3>B &#8211; Convention </h3>
<p>It is actually not so much a convention now days as it might have been a couple of years ago. Just look at <a href="http://virb.com/join" target="_ new">Virb</a> or <a href="http://www.facebook.com" target="_ new">Facebook</a>.</p>
<h3>C &#8211; Idiocy</h3>
<p>Most web developers aren&#8217;t idiots, but there are somethings we, I at least, do without thinking much about it. One of those things is probably creating an extra input and force you to type your password twice. </p>
<h3>D &#8211; Memory</h3>
<p>No.</p>
<h2>Instead of confirm password</h2>
<p>One solution is to just kill that extra input, like Virb and Facebook have done. Another is to replace it with a &#8220;Show Password&#8221;-checkbox using the <a href="http://www.unwrongest.com/projects/show-password/">Show Password</a> Jquery plugin.</p>
<p><iframe id="demo" style="border: 1px solid #ccc; width: 620px; height: 140px;" src="http://sandbox.unwrongest.com/forms/jquery.showpassword.html"></iframe></p>
<p>People who want a confirmation that they spelled their password correctly can tick the checkbox. Others can ignore it. And that I like, stuff you can ignore if it doesn&#8217;t concern you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unwrongest.com/blog/why-are-we-typing-passwords-twice/feed/</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t stop password masking; let the user decide</title>
		<link>http://www.unwrongest.com/blog/dont-stop-password-masking-let-the-user-decide/</link>
		<comments>http://www.unwrongest.com/blog/dont-stop-password-masking-let-the-user-decide/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 14:51:17 +0000</pubDate>
		<dc:creator>Jan Jarfalk</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.unwrongest.com/?p=468</guid>
		<description><![CDATA[<a href="http://www.unwrongest.com/projects/show-password/">'Show password'</a> is a small and simple Jquery plugin that let your users decide whether they want their password fields masked or not. ]]></description>
			<content:encoded><![CDATA[<p><iframe id="demo" style="border: 1px solid #ccc; width: 620px; height: 140px;" src="http://sandbox.unwrongest.com/forms/jquery.showpassword.html"></iframe></p>
<p>Jacob Nielsen&#8217;s blog post <a href="http://www.useit.com/alertbox/passwords.html" target="_new">&#8216;Stop password masking&#8217;</a> stirred up quite the discussion and divided the web developers into three camps; Stop masking, Don&#8217;t stop masking and Do both!.</p>
<p>I&#8217;m definitely in favor of &#8216;Do both!&#8217; and letting the user decide whether she wants her passwords masked or not. It is very simple to do and it&#8217;s fairly common concept; just look at the screen-shot of the Networks Preferences in Mac OS X above. The same thing can also be found in Microsoft Windows.</p>
<p>The demo in the Iframe above uses the very simple and lightweight Jquery plugin called &#8216;Show password&#8217;. You can get it from the <a href="http://www.unwrongest.com/projects/show-password/">&#8216;Show password&#8217;-project page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unwrongest.com/blog/dont-stop-password-masking-let-the-user-decide/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Show password &#8211; Show or mask password checkbox Jquery plugin</title>
		<link>http://www.unwrongest.com/projects/show-password/</link>
		<comments>http://www.unwrongest.com/projects/show-password/#comments</comments>
		<pubDate>Sun, 05 Jul 2009 14:39:33 +0000</pubDate>
		<dc:creator>Jan Jarfalk</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://www.unwrongest.com/?p=479</guid>
		<description><![CDATA[‘Show password’ is a small and simple Jquery plugin that let your users decide whether they want their password fields masked or not. ]]></description>
			<content:encoded><![CDATA[<p>&#8220;Usability suffers when users type in passwords and the only feedback they get is a row of bullets. Typically, masking passwords doesn&#8217;t even increase security, but it does cost you business due to login failures.&#8221; &#8211;  Jacob Nielsen, <a href="http://www.useit.com/alertbox/passwords.html">Stop password masking</a>.</p>
<p>This Jquery plugin, &#8216;Show password&#8217;, let the user decide whether they want their passwords masked or not. Just take a look at the demo beneath and you&#8217;ll see what I mean.  </p>
<p><iframe id="demo" style="border: 1px solid #ccc; width: 620px; height: 140px;" src="http://sandbox.unwrongest.com/forms/jquery.showpassword.html"></iframe></p>
<h2>How to implement</h2>
<p>Very simple! First you <a href="http://showpassword.googlecode.com/files/jquery.showpassword-1.0.js">download</a>, then you do like this:</p>
<pre class="brush: xml;">
&lt;input id=&quot;text&quot; type=&quot;password&quot; /&gt;
&lt;input id=&quot;checkbox&quot; type=&quot;checkbox&quot; /&gt;&lt;label&gt;Show password&lt;/label&gt;
</pre>
<p>Two html elements are needed; a password field and a checkbox. Then you add the javascript below and change #text and #checkbox to the names of your input IDs.</p>
<pre class="brush: jscript;">
 $('#text').showPassword('#checkbox');
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.unwrongest.com/projects/show-password/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>You can&#8217;t validate email addresses with regular expressions</title>
		<link>http://www.unwrongest.com/blog/email-validation-regular-expressions/</link>
		<comments>http://www.unwrongest.com/blog/email-validation-regular-expressions/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 17:54:30 +0000</pubDate>
		<dc:creator>Jan Jarfalk</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[validation]]></category>

		<guid isPermaLink="false">http://www.unwrongest.com/?p=351</guid>
		<description><![CDATA[There is no way of validating email addresses using regular expressions, but regexps and emails are still a useful mix. You can use a javascript email validation regexp to provide useful user feedback and prevent unnecessary typos.]]></description>
			<content:encoded><![CDATA[<p>There are several reasons to why there cannot be a perfect regular expression for validating email addresses. Firstly; the official standard, RFC 2822, just tells the basic email address syntax; john@doe.superman is a valid email address according to RFC 2822. Also the standard support characters, like &#8221; and [, that some email clients can't handle.</p>
<p>Secondly and more importantly; even if the email matches a perfect regular expression, there are no guarantees that the email address belongs to the user, or even exists.</p>
<p><iframe id="demo" style="border: 1px solid #ccc; width: 620px; height: 140px;" src="http://sandbox.unwrongest.com/forms/jquery.valid8.email.html"></iframe></p>
<p>With all that said I still believe live javascript-based email address checking using regular expressions is a good idea. You can use it to prevent users from doing unnecessary typos. You don't have to force them to pass the validation, just let them know if you suspect the email to be faulty. Try the demo, created with the Jquery plugin <a href="http://www.unwrongest.com/projects/valid8/">Valid8</a>, above and you will see what I mean.</p>
<pre class="brush:js">
/^[a-z0-9!#$%&#038;'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&#038;'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(aero|asia|biz|cat|com|coop|edu|gov|info|int|jobs|mil|mobi|museum|name|net|org|pro|tel|travel.ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|.fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|.il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)\b$/
</pre>
<p>Above is the regular expression I use. It is heavily based on a regexp from <a href="http://www.regular-expressions.info/email.html">regular-expressions.info</a></p>
<h2>How do I validate email addresses if not with regular expressions?</h2>
<p>Sending an email activation link is a perfect way of validating an email address. You email a link the user have to click on to complete the registration. The link should be disposable and often look like this: http://www.unwrongest.com/signup/?guid=8373629375284563</p>
<h2>Never trust client-side validation</h2>
<p>Lastly. Remember that you can never, ever, trust client-side javascript validation. It is very easy to tamper with. All validation you do on the client-side has to be done again on the server-side. Client-side validation should be mainly for the users sake.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unwrongest.com/blog/email-validation-regular-expressions/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Password Strength &#8211; Estimates brute force time (jQuery plugin)</title>
		<link>http://www.unwrongest.com/projects/password-strength/</link>
		<comments>http://www.unwrongest.com/projects/password-strength/#comments</comments>
		<pubDate>Thu, 28 May 2009 13:13:18 +0000</pubDate>
		<dc:creator>Jan Jarfalk</dc:creator>
				<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://www.unwrongest.com/?p=308</guid>
		<description><![CDATA[This plugin shows the strength of you passwords by telling you how long time it would take to brute force them.]]></description>
			<content:encoded><![CDATA[<p>Password Strength tries to calculate how many possibilities the hacker needs to try to guess your password. It makes the assumption that it is possible to test 2800 000 000 of passwords per second &#8211; something that, according to ElcomSoft, is possible with Windows Vista passwords, a high end graphics card and the <a href="http://www.elcomsoft.com/distributed_password_recovery.html" target="_blank">ElcomSoft Distributed Password Recovery software</a>.</p>
<p><iframe id="demo" style="border: 1px solid #ccc; width: 620px; height: 140px;" src="http://sandbox.unwrongest.com/jquery.pwdstr/"></iframe> </p>
<h2>How to use Password Strength</h2>
<p>You need two html elements to use &#8216;Password Strength&#8217;; an input field and an element to show the time in.</p>
<pre class="brush:html">
<input id="pass" type="password" />
<span id="time"></span>
</pre>
<pre class="brush:js">
$('#pass').pwdstr('#time');
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.unwrongest.com/projects/password-strength/feed/</wfw:commentRss>
		<slash:comments>69</slash:comments>
		</item>
		<item>
		<title>Konami Code: Why so verbose, when you can make it in 140 characters?</title>
		<link>http://www.unwrongest.com/blog/konami-code-why-so-verbose-when-you-can-make-it-in-140-characters/</link>
		<comments>http://www.unwrongest.com/blog/konami-code-why-so-verbose-when-you-can-make-it-in-140-characters/#comments</comments>
		<pubDate>Wed, 20 May 2009 14:07:44 +0000</pubDate>
		<dc:creator>Jan Jarfalk</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.unwrongest.com/?p=265</guid>
		<description><![CDATA[There are a lot of Konami Code easter eggs out there and also a lot of guides on how to implement your own. Most of these guides have one thing in common; they are using overly verbose code for something you could fit inside a Twitter tweet.]]></description>
			<content:encoded><![CDATA[<p>The last week I&#8217;ve seen a dozens of blog posts related to <a href="http://www.facebook.com" target="_blank">Facebook&#8217;s</a>, <a href="http://www.jquery.com"  target="_blank">Jquery&#8217;s</a> and <a href="http://konamicodesites.com/"  target="_blank">many others</a> hidden implementation of the &#8216;Konami code&#8217; and how to implement one yourself.</p>
<p>One of the things I noticed was that people tend to write very verbose code, meaning, they tend to write a lot more code then they need too. Take a look at <a href="http://abhinavsingh.com/blog/2009/05/konami-code-on-facebook-how-to-implement-it-on-your-site/" target="_new">Abhi&#8217;s 30-rows implementation</a> or <a href="http://www.trovster.com/lab/plugins/cheat-code/" target="_new">Trevor&#8217;s Cheat Code Jquery plugin(!)</a>.</p>
<p>There are numbers of valid explanations to why people write verbose code; to be overly clear for educational purposes is one. But if you do that, I think you should also teach people that they shouldn&#8217;t make a habit out of it, especially when it comes to something so small that it fits inside a Twitter tweet.</p>
<pre class="brush:js">
// Tweetable Konami code
var k=[];addEventListener("keyup",function(e){ k.push(e.keyCode);if(k.toString().indexOf("38,38,40,40,37,39,37,39,66,65")>=0)cheat()},true);
</pre>
<p>The code above will fire the function cheat() when you enter the Konami Code (up,up,down,down,left,right,left,right,b,a). The code might be a bit too concies, but I was mainly trying to make a point.</p>
<h2>Haven&#8217;t seen the Konami Code in action?</h2>
<p>Go to <a href="http://www.facebook/com">www.facebook.com</a> and login. Click once anywhere on your home page and type the following sequence using your keyboard: Up, Up, Down, Down, Left, Right, Left, Right, B, A, Enter Key. Click again or scroll the page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unwrongest.com/blog/konami-code-why-so-verbose-when-you-can-make-it-in-140-characters/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Let your users know if Firebug slows down your web page.</title>
		<link>http://www.unwrongest.com/blog/if-firebug-slows-down-your-web-page-make-a-suggestion/</link>
		<comments>http://www.unwrongest.com/blog/if-firebug-slows-down-your-web-page-make-a-suggestion/#comments</comments>
		<pubDate>Tue, 19 May 2009 05:48:26 +0000</pubDate>
		<dc:creator>Jan Jarfalk</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[firebug]]></category>

		<guid isPermaLink="false">http://www.unwrongest.com/?p=242</guid>
		<description><![CDATA[If firebug slows down your web page, why not notify the visitors about that fact and make the suggestion that they should disable it.]]></description>
			<content:encoded><![CDATA[<p>I just read a blog post about how to &#8216;<a href="http://blog.dkferguson.com/index.cfm/2009/3/31/Block-Firebug-on-your-site" target="_new">Block Firebug on your site</a>&#8216;. And I really think it is something you shouldn&#8217;t do, no matter if Firebug makes your web page completely unusable or not. What I think you should do is to make a suggestion.</p>
<pre class="brush:js">
&lt;script type="text/javascript">
if( window.console &#038;&#038; window.console.firebug )
    document.getElementsByTagName('body')[0].innerHTML += "&lt;div onclick=\"this.style.display = 'none'\" style='position:absolute; top:0; width:100%; padding: 5px 0; background: #ff7; border-bottom: 1px solid #770; font-weight: bold; text-align: center;'>Firebug can make this web page slow, we suggest you disable it for this web page. Click to close this warning.&lt;/div>";
&lt;/script>
</pre>
<p>Adding the code snippet above to your web page will notify the user that &#8216;Firebug can make the current web page slow&#8217; and make the suggestion that the user should disable it. Look at the image at the top of this post. Adding that yellow bar to the top of the page is all, I think, you should do.</p>
<p>This follows a line of thought I think you always should have when creating web pages. Rarely enforce or disable. Instead you should lead your visitors to the right path with feedback and suggestions. Like that they probably should use strong passwords and, if it slows down your web page, disable Firebug.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unwrongest.com/blog/if-firebug-slows-down-your-web-page-make-a-suggestion/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to speed up WordPress</title>
		<link>http://www.unwrongest.com/blog/how-to-speed-up-wordpress/</link>
		<comments>http://www.unwrongest.com/blog/how-to-speed-up-wordpress/#comments</comments>
		<pubDate>Thu, 07 May 2009 12:33:08 +0000</pubDate>
		<dc:creator>Jan Jarfalk</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://unwr/?p=184</guid>
		<description><![CDATA[For users to feel they are interacting freely the response time must be within 1 second. This is a blog post about how you reach that goal with the help of some simple Wordpress plugins, Firefox extensions and more.]]></description>
			<content:encoded><![CDATA[<p>40 years ago Robert B. Miller wrote a paper on &#8216;Response Time in Man-Computer Conversational Transactions&#8217; which described three levels of response time. A response time of 0.1 seconds feels instantaneous. A response time within 1 second is fast enough for users to feel they are interacting freely and if the response time go above 10 seconds the user&#8217;s will lose its focus on the dialog. Miller concluded that a consistent 2 second response would be ideal.</p>
<p>Then the Internet happened and the rules were changed. In 2001 Zona Research released report that stated that the average web user will wait about eight seconds for a page to download, later known as the &#8217;8 second rule&#8217;.</p>
<p>For a long time, by Internet standards, the 8 second rule misguided web workers to create web pages that just barely keeps the user focused. If you already haven&#8217;t it&#8217;s really the time to create a web page that get your users to feel they are interacting freely. Its time to create a web page that loads up at a lot close to 1 second than 8.</p>
<h2>Dust-Me Selectors a Firefox extension</h2>
<p>Dust-Me Selectors is a Firefox extension that finds unused CSS selectors. You can test pages individually, or spider an entire site, and you&#8217;ll end up with a profile of which selectors are not used anywhere. Essentially it removes unnecessary data that is transferred to the user.<br />
<a href="http://www.sitepoint.com/dustmeselectors/" target="_blank">Download Dust-Me Selectors from Sitepoint</a></p>
<h2>WP CSS a WordPress plugin</h2>
<pre class="brush:html">
&lt;link rel="stylesheet" href="/wp-css-compress.php?f=style.css" type="text/css" />
</pre>
<p>This plugin will combine all your stylesheets in to one, thus reduce the number of HTTP requests required to render the page. It will also strip your files from whitespaces, compress it with GZIP and set a cache expiry time of your choosing.<br />
<a href="http://wordpress.org/extend/plugins/wp-css/">Download WP CSS from WordPress</a></p>
<h2>WP JS a WordPress plugin</h2>
<pre class="brush:html">
&lt;script src="wp-js-compress.php?f=1.js,2.js,3.js" type="text/javascript">&lt;/script>
</pre>
<p>This plugin will GZIP and JSMIN your JavaScript files as well as allowing the ability to put JavaScript files into a single file at the client&#8217;s end. Just like the WP CSS plugin this will reduce the number of HTTP requests and lower your blogs response time.<br />
<a href="http://wordpress.org/extend/plugins/wp-js/">Download WP JS from WordPress</a></p>
<h2>WP Super Cache a WordPress plugin</h2>
<p>This plugin generates static html files from your dynamic WordPress blog. After a html file is generated your webserver will serve that file instead of processing the comparatively heavier and more expensive WordPress PHP scripts. Super Cache also has the feature to compress your html files using GZIP. There is also a special version of WP Super Cache which  has the ability to minify HTML.<br />
<a href="http://wordpress.org/extend/plugins/wp-js/">Download WP Super Cache from WordPress</a><br />
<a href="http://lyncd.com/2008/11/minify-for-wordpress/">Download WP Super Cache with WPSCMin from Lyncd</a></p>
<h2>Optimize DB a WordPress plugin</h2>
<p>This plugin lets you optimize the tables of your database, to reduce their overhead.<br />
<a href="http://wordpress.org/extend/plugins/optimize-db/">Download Optimize DB from WordPress</a></p>
<h2>Yahoo YSlow a Firefox Firebug extension</h2>
<p>YSlow analyzes web pages and suggests ways to improve their performance based on a set of rules for high performance web pages. It lets you know if you have too many DOM elements, if your javascripts are positioned wrong, if you compression is working and much, much more.<br />
<a href="http://developer.yahoo.com/yslow/">Download YSlow from Yahoo</a></p>
<h2>Last, but not least. Upgrade and do a clean up.</h2>
<p>Upgrade WordPress to the latest version. Remove the plugins you are not using and upgrade those you are. Keep your code light. Try to code what you want to code with as few words as elements, attributes and functions as possible. Minimize requests, use css sprites and read Yahoos guide about <a href="http://developer.yahoo.com/performance/rules.html">&#8216;Best Practices for Speeding Up Your Web Site&#8217;</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.unwrongest.com/blog/how-to-speed-up-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tabify &#8211; Tabbed content with ease (jQuery plugin)</title>
		<link>http://www.unwrongest.com/projects/tabify/</link>
		<comments>http://www.unwrongest.com/projects/tabify/#comments</comments>
		<pubDate>Thu, 07 May 2009 03:57:01 +0000</pubDate>
		<dc:creator>Jan Jarfalk</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[navigation]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://unwr/?p=172</guid>
		<description><![CDATA[This Jquery plugin lets you easily create tabbed content. All you need is an ul-element with some li-elements and a couple of related content-divs. The major difference between Tabify and it's competitors is it's size.]]></description>
			<content:encoded><![CDATA[<h2>How to use Tabify</h2>
<p>It is very easy to use Tabify. All you need to do is to create an ul-list, fill it with a couple of li-elements with containing links (tabs) and create a couple of matching content divs. In the example below notice how the href-attribute on the link elements corresponds to the content div IDs.</p>
<pre class="brush: xml;">
&lt;ul id=&quot;menu&quot;&gt;
	&lt;li class=&quot;active&quot;&gt;&lt;a href=&quot;#contentHome&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;#contentGuestbook&quot;&gt;Guestbook&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&lt;a href=&quot;#contentLinks&quot;&gt;Links&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div id=&quot;contentHome&quot;&gt;Content for Home&lt;/div&gt;
&lt;div id=&quot;contentGuestbook&quot;&gt;My guestbook&lt;/div&gt;
&lt;div id=&quot;contentLinks&quot;&gt;Links&lt;/div&gt;
</pre>
<p>When you have created the necessary html code you need to include the javascript file with the plugin and call the tabify method.</p>
<pre class="brush: jscript;">$('ul').tabify();</pre>
<table class="project-table">
<caption>Change log</caption>
<thead>
<tr>
<th class="version">Version</th>
<th class="changes">Changes</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.4</td>
<td>Fixed an issue where a malformed hash would make Tabify crash.</td>
</tr>
<tr>
<td>1.3</td>
<td>Fixed an issue causing the page to jump when you clicked on the tabs</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.unwrongest.com/projects/tabify/feed/</wfw:commentRss>
		<slash:comments>40</slash:comments>
		</item>
		<item>
		<title>Elastic &#8211; Make your textareas grow Facebook style jQuery plugin</title>
		<link>http://www.unwrongest.com/projects/elastic/</link>
		<comments>http://www.unwrongest.com/projects/elastic/#comments</comments>
		<pubDate>Wed, 06 May 2009 13:10:06 +0000</pubDate>
		<dc:creator>Jan Jarfalk</dc:creator>
				<category><![CDATA[projects]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://unwr/?p=150</guid>
		<description><![CDATA[This Jquery plugin makes your textareas grow and shrink to fit it's content. It was inspired by the auto growing textareas on Facebook. The major difference between Elastic and it's competitors is it's weight.]]></description>
			<content:encoded><![CDATA[<p>This Jquery plugin makes your textareas grow and shrink to fit it&#8217;s content. It was inspired by the auto growing textareas on Facebook. The major difference between Elastic and it&#8217;s competitors is it&#8217;s weight.</p>
<p><iframe id="demo" style="border: 1px solid #ccc; width: 620px; height: 300px;" src="http://sandbox.unwrongest.com/forms/jquery.elastic.html"></iframe> </p>
<h2>How to use Elastic</h2>
<p>The usage of Elastic is very straight forward. All you have to do is include the javascript file containing the plugin and use the elastic method.</p>
<pre class="brush: jscript;">
	$('#myTextarea').elastic();
</pre>
<h2>Known issues</h2>
<p><strong>EM</strong> The elastic plugin does work with font sizes, line-heights and such set in em, but it does work better with px. Elastic needs to convert your em value to a pixel value. 1.2em might be 16.56478px which is not exactly the same as 1.2em. After a couple of hundreds of rows the height of the text area is going to be too small or too big.</p>
<table class="project-table">
<caption>Change log</caption>
<thead>
<tr>
<th class="version">Version</th>
<th class="changes">Changes</th>
</tr>
</thead>
<tbody>
<tr>
<td>1.6.4</td>
<td>Fixed issue with minified version and Jquery 1.4.2</td>
</tr>
<tr>
<td>1.6.3</td>
<td>Fixed issue with continuous spaces and words longer than the width of the textarea (Thanks to Michael A Maw,  Eviltwinfletch and  Jibum Jung)</td>
</tr>
<tr>
<td>1.6.2</td>
<td>Fixed an issue with max height in Opera (Thanks to Martin Grandrath)</td>
</tr>
<tr>
<td>1.6.1</td>
<td>Fixed a cpu overhead issue, and changed incorrect css selectors to correct ones.  (Thanks to Eric Caron, Martin Borthiry and Ara T Howard)</td>
</tr>
<tr>
<td>1.6</td>
<td>Fixed an issue with using elastic on multiple textareas (Thanks to Michael for reporting the bug and finding a solution)</td>
</tr>
<tr>
<td>1.5</td>
<td>Complete refactor of the plugin</td>
</tr>
<tr>
<td>1.4</td>
<td>Fixed an issue regarding disappearing carets</td>
</tr>
<tr>
<td>1.3</td>
<td>Made it compatible with JQuery 1.3.2 and added proper support for max-height (scrollbars visible when textarea reaches max height). The animation is removed. (it took to much visual focus and it did not work well with Google Chrome) (Thanks to Casper Fabricius and Marcus Kabele for contributing to this version)</td>
</tr>
<tr>
<td>1.2</td>
<td>Fixed an issue where the textbox height would twitch when using smaller font sizes. (Thanks to Dimitry for reporting the problem and providing a solution.)</td>
</tr>
<tr>
<td>1.1</td>
<td>Fixed a problem with Internet Explorer 6.0 where the plugin didn&#8217;t work if a height attribute in the CSS wasn&#8217;t set. (Thanks to Eric for reporting the problem.).</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.unwrongest.com/projects/elastic/feed/</wfw:commentRss>
		<slash:comments>129</slash:comments>
		</item>
	</channel>
</rss>
