<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Webmaster-Source</title>
	
	<link>http://www.webmaster-source.com</link>
	<description>Useful Resources For Webmasters</description>
	<lastBuildDate>Wed, 22 May 2013 11:36:02 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Webmaster-source" /><feedburner:info uri="webmaster-source" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Webmaster-source</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebmaster-source" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebmaster-source" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebmaster-source" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/Webmaster-source" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebmaster-source" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FWebmaster-source" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FWebmaster-source" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><item>
		<title>WordPress 4.0 Would Be a Good Chance for a Rewrite</title>
		<link>http://feedproxy.google.com/~r/Webmaster-source/~3/em2MqbHo6nM/</link>
		<comments>http://www.webmaster-source.com/2013/05/22/wordpress-4-0-would-be-a-good-chance-for-a-rewrite/#comments</comments>
		<pubDate>Wed, 22 May 2013 11:36:02 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=5062</guid>
		<description><![CDATA[It&#8217;s no secret that the WordPress codebase is a mess. It seems that not a week goes by without some blogger publishing a post criticizing it. Unfortunately, fixing it is no simple matter. One of the goals the WordPress project holds is to maintain compatibility with older plugins and themes that may not have been [...]]]></description>
				<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  src="http://media.webmaster-source.com/wp-content/uploads/2013/04/wordpress-logo-type.png" alt="WordPress" width="249" height="57" class="alignright size-full wp-image-5065" />It&#8217;s no secret that the WordPress codebase is a mess. It seems that not a week goes by without some blogger publishing a post criticizing it. Unfortunately, fixing it is no simple matter.</p>
<p>One of the goals the WordPress project holds is to maintain compatibility with older plugins and themes that may not have been updated to work with the latest version, which means, well, not changing things that would break old plugins. Or adding new functions and leaving the older, redundant ones behind to maintain compatibility. It&#8217;s that methodology that led the developers to bake the infamous <a href="http://en.wikipedia.org/wiki/Magic_quotes">Magic Quotes</a> functionality into WordPress itself, when it has been deprecated and removed from newer versions of PHP, so as to not break plugins expecting that behavior. (Which means plugin developers have to unescape strings before passing them to prepared statements, like they <em>should</em> be doing.)</p>
<p>That&#8217;s just one example of something <em>I</em> find vexing about WordPress, and not really indicative of the deeper <em>structural</em> issues that others complain about.<span id="more-5062"></span></p>
<p>Sadly, the core developers would never agree to just dump everything and rewrite from scratch. It would break everyone&#8217;s plugins and themes, and it would take forever for them to be rewritten. That thought lead me to an idea, though. There&#8217;s a similar parallel to this: Python.</p>
<p>Version three of the Python language was released several years ago, but Python 2.6/2.7 are still used more widely than the latest and greatest. Why? Because scripts written for Python 2.x have to be adjusted to work with the newer version, which doesn&#8217;t retain backwards-compatibility. Projects like the <a href="https://www.djangoproject.com/">Django framework</a> are currently straddling the two versions, offering support for both through a compatibility layer, while slowly phasing out the older. Their plans are to slowly drop support for previous point-releases in the 2.x line while targeting Python 3.</p>
<p>A similar roadmap could be used with WordPress. Let&#8217;s say that WordPress 4.0 should be a completely rewritten, modern PHP application with a minimum requirement of PHP 5.3. The developer team would basically create a new dev branch and get to work, while still maintaining the 3.x branch for awhile. As the new version progresses, developers of plugins and themes could follow along and incrementally make changes to support any differences in the API. This would make it possible to do a full rewrite, and give the creators of <em>actively developed</em> plugins and themes a chance to catch up. (It&#8217;s high time to axe antique plugins designed for Magic Quotes and other PHP4 crimes against humanity.)</p>
<p>Once the 4.0 branch reaches completion, and the timeline for third-party developers to update their stuff nears its end, the 3.x branch is ended. Sites that depend on ye olde software could still delay updating until their dependencies are patched.</p>
<p>For another parallel, look to <a href="http://laravel.com/">Laravel</a>. They have the old Laravel 3, which people looking for a stable framework stick with, and the subject-to-change development branch, <a href="http://four.laravel.com/">Laravel 4</a>. The latter is significantly different, and will one day replace Laravel 3, but the older version isn&#8217;t being dumped until the shiny new version is 100% complete.</p>
<p>Personally, I think this issue is going to need to be addressed soon. WordPress&#8217;s reputation of being a &#8220;bloated mess of spaghetti code&#8221; is surely exaggerated, but certainly not unfounded. It needs work. Yes, it will cause incompatibilities, but that&#8217;s a part of the life cycle for any major software product. Sometimes you just need to cut the legacy software loose and begin anew, like Apple did with the OS 9 to OS X transition.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=em2MqbHo6nM:Mu7PgEOzTqE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=em2MqbHo6nM:Mu7PgEOzTqE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=em2MqbHo6nM:Mu7PgEOzTqE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=em2MqbHo6nM:Mu7PgEOzTqE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=em2MqbHo6nM:Mu7PgEOzTqE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=em2MqbHo6nM:Mu7PgEOzTqE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=em2MqbHo6nM:Mu7PgEOzTqE:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=em2MqbHo6nM:Mu7PgEOzTqE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Webmaster-source/~4/em2MqbHo6nM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster-source.com/2013/05/22/wordpress-4-0-would-be-a-good-chance-for-a-rewrite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.webmaster-source.com/2013/05/22/wordpress-4-0-would-be-a-good-chance-for-a-rewrite/</feedburner:origLink></item>
		<item>
		<title>CSS Zen Garden Returns</title>
		<link>http://feedproxy.google.com/~r/Webmaster-source/~3/QWvtqRurL_Q/</link>
		<comments>http://www.webmaster-source.com/2013/05/15/css-zen-garden-returns/#comments</comments>
		<pubDate>Wed, 15 May 2013 11:09:30 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=5095</guid>
		<description><![CDATA[It&#8217;s been ten years since CSS Zen Garden launched with its goal to excite and inspire people to build creative designs with the much more limited tools CSS offered at the time. A decade later, it&#8217;s back. Given how the CSS landscape has changed since the original CSS Zen Garden, it will be interesting to [...]]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s been ten years since <a href="http://www.csszengarden.com/">CSS Zen Garden</a> launched with its goal to excite and inspire people to build creative designs with the much more limited tools CSS offered at the time. <a href="http://mezzoblue.com/archives/2013/05/07/10_years/">A decade later, it&#8217;s back.</a> Given how the CSS landscape has changed since the original CSS Zen Garden, it will be interesting to see what people create with the new requirements.</p>
<blockquote><p>So for the tenth anniversary, the Zen Garden is open for business once more. I’ve <a href="https://github.com/mezzoblue/csszengarden.com">thrown the codebase on Github</a>, given the dusty copy a refresh, started the conversion of the site to HTML5, and brought all of the existing designs kicking and screaming into the modern age. The work isn’t done yet, but it’s a darn sight closer to how we would build it these days. If you see an area that needs help, consider sending a patch. (Here’s the current <a href="https://github.com/mezzoblue/csszengarden.com/issues">list of issues</a> to resolve, for example.)</p></blockquote>
<p><a href="http://mezzoblue.com/archives/2013/05/07/10_years/">10 Years</a> [Mezzoblue]</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=QWvtqRurL_Q:Zb1wBSNhfj0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=QWvtqRurL_Q:Zb1wBSNhfj0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=QWvtqRurL_Q:Zb1wBSNhfj0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=QWvtqRurL_Q:Zb1wBSNhfj0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=QWvtqRurL_Q:Zb1wBSNhfj0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=QWvtqRurL_Q:Zb1wBSNhfj0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=QWvtqRurL_Q:Zb1wBSNhfj0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=QWvtqRurL_Q:Zb1wBSNhfj0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Webmaster-source/~4/QWvtqRurL_Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster-source.com/2013/05/15/css-zen-garden-returns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.webmaster-source.com/2013/05/15/css-zen-garden-returns/</feedburner:origLink></item>
		<item>
		<title>Adobe Kills Creative Suite, Demands Monthly Subscription</title>
		<link>http://feedproxy.google.com/~r/Webmaster-source/~3/KKpIHQ7k1sI/</link>
		<comments>http://www.webmaster-source.com/2013/05/08/adobe-kills-creative-suite-demands-monthly-subscription/#comments</comments>
		<pubDate>Wed, 08 May 2013 11:30:49 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=5087</guid>
		<description><![CDATA[At the Adobe MAX conference this week, Adobe announced that they will be discontinuing their Creative Suite products (Photoshop, Illustrator, etc.) in favor of their subscription-based &#8220;Creative Cloud&#8221; service. Instead of purchasing the software outright, and upgrading at your leisure, the new system involves paying a monthly subscription fee in order to continue using the [...]]]></description>
				<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-5089" alt="Adobe Creative Cloud" src="http://media.webmaster-source.com/wp-content/uploads/2013/05/adobe-creative-cloud.png" width="200" height="89" />At the Adobe MAX conference this week, Adobe <a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/201305/050613AdobeUpdatesCreativeCloud.html">announced</a> that they will be discontinuing their Creative Suite products (Photoshop, Illustrator, etc.) in favor of their subscription-based &#8220;Creative Cloud&#8221; service. Instead of purchasing the software outright, and upgrading at your leisure, the new system involves paying a monthly subscription fee in order to continue using the software. It costs $50/month for access to the Creative Suite products, or $20/month for a single product (e.g. just Photoshop).</p>
<p>If you&#8217;re someone like me, who doesn&#8217;t purchase every version, waiting years between upgrades, this is a very unpleasant development. (I just moved from CS1 to CS5 during the past year, and the impetus behind that decision was the lack of support for legacy PowerPC software on newer versions of OS X. I upgraded to a newer MacBook Pro, and had to pick up a newer version of Photoshop to go with it.)</p>
<p>The move shouldn&#8217;t make huge difference if you already upgrade annually, as you&#8217;re basically paying the $600 upgrade fee perpetually, but it&#8217;s not great if you prefer to skip versions or buy secondhand.</p>
<p>Existing users for Creative Suite 3 or higher can get a reduced rate of $30/month for their first year, but will have to pay full price thereafter.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=KKpIHQ7k1sI:87P1h1khpUM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=KKpIHQ7k1sI:87P1h1khpUM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=KKpIHQ7k1sI:87P1h1khpUM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=KKpIHQ7k1sI:87P1h1khpUM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=KKpIHQ7k1sI:87P1h1khpUM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=KKpIHQ7k1sI:87P1h1khpUM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=KKpIHQ7k1sI:87P1h1khpUM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=KKpIHQ7k1sI:87P1h1khpUM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Webmaster-source/~4/KKpIHQ7k1sI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster-source.com/2013/05/08/adobe-kills-creative-suite-demands-monthly-subscription/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.webmaster-source.com/2013/05/08/adobe-kills-creative-suite-demands-monthly-subscription/</feedburner:origLink></item>
		<item>
		<title>How IMDB’s Speedy Search Suggestions Work</title>
		<link>http://feedproxy.google.com/~r/Webmaster-source/~3/o2-3BgiUoHs/</link>
		<comments>http://www.webmaster-source.com/2013/05/01/how-imdbs-speedy-search-suggestions-work/#comments</comments>
		<pubDate>Wed, 01 May 2013 11:35:56 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[static]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=5049</guid>
		<description><![CDATA[If you type a few letters into the search field over at the Internet Movie Database, you might notice how fast it is. That&#8217;s because they&#8217;re not served dynamically from their primary servers. IMDB, instead, serves the JSON data for search suggestions from a CDN, resulting in a significant speed boost. They use pregenerated static [...]]]></description>
				<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-5050 imgborder" alt="IMDB Search JSON" src="http://media.webmaster-source.com/wp-content/uploads/2013/03/imdbsuggestjson.png" width="300" height="207" />If you type a few letters into the search field over at the <a href="http://imdb.com/">Internet Movie Database</a>, you might notice how fast it is. That&#8217;s because they&#8217;re not served dynamically from their primary servers. IMDB, instead, serves the JSON data for search suggestions from a CDN, resulting in a significant speed boost. They use pregenerated static files to make this possible.</p>
<p>For example, if you visit this URL, you&#8217;ll get a JSON file of results for Harry Potter films:</p>
<pre class="brush: plain; title: ; notranslate">http://sg.media-imdb.com/suggests/h/harry.json</pre>
<p>The &#8220;h&#8221; directory means the query starts with an &#8220;h,&#8221; as they group their result sets alphabetically, and the &#8220;harry&#8221; part is what was typed into the search box. So if you wanted results that would match Doctor Who, you could use <a href="http://sg.media-imdb.com/suggests/d/doct.json"><code>/d/doct.json</code></a>. (Spaces are replaced with underscores.)</p>
<p>They only seem to have result sets for 4-5 character inputs, though. So you can query &#8220;ince&#8221; but not &#8220;inception.&#8221; The latter will result in an error. I guess most searches common enough to be matched in the suggestion box are covered within that limitation.</p>
<p>It&#8217;s a clever implementation, and it has to save a lot of computing power on a site that large, in addition to being fast.</p>
<p>(Note that this is not a public API, and IMDB/Amazon probably wouldn&#8217;t be happy about you scraping it or anything like that. But it&#8217;s a nice thing to learn from.)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=o2-3BgiUoHs:uZ4GYvsbE6M:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=o2-3BgiUoHs:uZ4GYvsbE6M:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=o2-3BgiUoHs:uZ4GYvsbE6M:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=o2-3BgiUoHs:uZ4GYvsbE6M:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=o2-3BgiUoHs:uZ4GYvsbE6M:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=o2-3BgiUoHs:uZ4GYvsbE6M:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=o2-3BgiUoHs:uZ4GYvsbE6M:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=o2-3BgiUoHs:uZ4GYvsbE6M:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Webmaster-source/~4/o2-3BgiUoHs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster-source.com/2013/05/01/how-imdbs-speedy-search-suggestions-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.webmaster-source.com/2013/05/01/how-imdbs-speedy-search-suggestions-work/</feedburner:origLink></item>
		<item>
		<title>WordPress Security Advisory: Harden Your Admin Login</title>
		<link>http://feedproxy.google.com/~r/Webmaster-source/~3/spuyn0v06SQ/</link>
		<comments>http://www.webmaster-source.com/2013/04/24/wordpress-security-advisory-harden-your-admin-login/#comments</comments>
		<pubDate>Wed, 24 Apr 2013 11:58:00 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=5075</guid>
		<description><![CDATA[There has been news lately of a distributed attack against WordPress sites. A growing botnet has been running dictionary attacks against sites powered by WordPress, in effort to gain access to the the admin panel and infect the server. As is usually the case with botnets, infected servers are assimilated into the pool of compromised [...]]]></description>
				<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-5065" alt="WordPress" src="http://media.webmaster-source.com/wp-content/uploads/2013/04/wordpress-logo-type.png" width="249" height="57" />There has been news lately of <a href="http://arstechnica.com/security/2013/04/huge-attack-on-wordpress-sites-could-spawn-never-before-seen-super-botnet/">a distributed attack against WordPress sites</a>. A growing <a href="http://en.wikipedia.org/wiki/Botnet">botnet</a> has been running <a href="http://en.wikipedia.org/wiki/Dictionary_attack">dictionary attacks</a> against sites powered by WordPress, in effort to gain access to the the admin panel and infect the server. As is usually the case with botnets, infected servers are assimilated into the pool of compromised systems that make up the botnet and put to use for nefarious purposes such as DDoS attacks.</p>
<p>It&#8217;s important to note that this is <em>not</em> a WordPress security flaw, but rather an attempt to systematically guess passwords.</p>
<p>The attacks consist of simple POST requests to <code>wp-login.php</code> with a supplied username of <code>admin</code> and one of many simple, insecure passwords. I&#8217;ve noticed plenty in my logs, including <code>rainydays</code>, <code>sophie1</code>, and <code>wordpress</code>. The requests come from a rotation of IP addresses in the botnet, making it difficult to block them outright.</p>
<p>It&#8217;s easy enough to protect yourself from the attacks, providing you follow some simple best practices.</p>
<h3>1. Get Rid of the Admin User</h3>
<p>Historically, every WordPress installation would come with an administrative user named <code>admin</code>, which was created during the setup process. In more recent versions, the setup screen prompts you to choose your own username instead of providing a default. Check the Users screen in your WordPress backend to see if a user named <code>admin</code> exists. If it does, you should replace it with a profile that has a unique name, ensuring that the new account has administrative privileges.</p>
<p>Having a user account with that default name is a bad idea, because numerous attacks over the years have operated under the assumption that the operators of many WordPress sites will have been too lazy to change it. The current attack only tries passwords for a user named <code>admin</code>, as well, so ensuring that such a user does not exist will go a long way toward protecting your site.<span id="more-5075"></span></p>
<h3>2. Set a Strong Password</h3>
<p>What&#8217;s the common theme among these passwords?</p>
<ul>
<li>sophie1</li>
<li>rainydays</li>
<li>roberts</li>
<li>online</li>
<li>onions</li>
</ul>
<p>They&#8217;re all incredibly simple and insecure, and they&#8217;re all ones that were tried right here on Webmaster-Source recently. Obviously you want to avoid passwords like those if you want to avoid being compromised.</p>
<p>For a basic, reasonably strong password, your password should:</p>
<ul>
<li>Be at least eight characters long</li>
<li>Have a mixture of upper and lower case letters</li>
<li>Contain numbers and non-alphanumeric symbols</li>
</ul>
<p>An easy way to create something secure and memorable is to pick a phrase that means something to you and use the first letter of each word, mixing up the case and adding some numbers and symbols. For example, &#8220;The Wheel of Time turns and Ages come and pass&#8221; would become <code>TWoTtaAc&amp;p13</code>. Complex, yet still possible to remember.</p>
<p>Or you could go with <a href="http://xkcd.com/936/">the XKCD method</a> and pick four random, unrelated words and use them as your pass<em>phrase</em>. (e.g. &#8220;double pizza kitten book.&#8221;) As the comic explains, such a password can actually be <em>more</em> secure against a brute-force attack, and is far easier to remember than a conventional password.</p>
<h3>3. Block the Bots</h3>
<p>Install a plugin like <a href="http://wordpress.org/extend/plugins/bad-behavior/">Bad Behavior</a> (which will also help cut down on spam comments) or <a href="http://wordpress.org/extend/plugins/limit-login-attempts/">Limit Login Attempts</a>. Both plugins attempt to hinder bot activity, though through different means. Bad Behavior detects suspicious requests and blocks them, optionally using the <a href="http://www.projecthoneypot.org/">Project Honeypot</a> database to improve its effectiveness. Limit Login Attempts will block IP addresses if they continually make incorrect login attempts.</p>
<h3>4. CloudFlare</h3>
<p><a href="https://www.cloudflare.com/">CloudFlare</a> is an interesting service that speeds up your site and mitigates security threats by sitting between the user and your server. You update your domain to point to their servers, and they act similarly to a CDN, caching your site and analyzing the incoming traffic. If you&#8217;re running off a cheap shared hosting plan, it could make a significant improvement to your loading speed. I don&#8217;t use their services personally, but they&#8217;ve been instrumental in mitigating DDoS attacks and traffic spikes for some high-profile sites, and they&#8217;re <a href="http://blog.cloudflare.com/patching-the-internet-fixing-the-wordpress-br">on top of</a> the current WordPress threat.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=spuyn0v06SQ:h6pyAEjpxnw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=spuyn0v06SQ:h6pyAEjpxnw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=spuyn0v06SQ:h6pyAEjpxnw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=spuyn0v06SQ:h6pyAEjpxnw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=spuyn0v06SQ:h6pyAEjpxnw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=spuyn0v06SQ:h6pyAEjpxnw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=spuyn0v06SQ:h6pyAEjpxnw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=spuyn0v06SQ:h6pyAEjpxnw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Webmaster-source/~4/spuyn0v06SQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster-source.com/2013/04/24/wordpress-security-advisory-harden-your-admin-login/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.webmaster-source.com/2013/04/24/wordpress-security-advisory-harden-your-admin-login/</feedburner:origLink></item>
		<item>
		<title>ServerBear: Performance Benchmarking For Linux Servers</title>
		<link>http://feedproxy.google.com/~r/Webmaster-source/~3/UFAI99tJyWg/</link>
		<comments>http://www.webmaster-source.com/2013/04/17/serverbear-performance-benchmarking-for-linux-servers/#comments</comments>
		<pubDate>Wed, 17 Apr 2013 10:21:08 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Hosting]]></category>
		<category><![CDATA[benchmarks]]></category>
		<category><![CDATA[servers]]></category>
		<category><![CDATA[VPS]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=5059</guid>
		<description><![CDATA[The popular options for VPS hosting for the past few years have been the venerable Linode, VPS.net (my provider of choice since 2009), the late SliceHost, Rackspace and Amazon EC2. A new name has been cropping up more and more lately, though: DigitalOcean. After seeing it mentioned yet again recently, I decided to check out [...]]]></description>
				<content:encoded><![CDATA[<p>The popular options for VPS hosting for the past few years have been the venerable Linode, VPS.net (my provider of choice since 2009), the late SliceHost, Rackspace and Amazon EC2. A new name has been cropping up more and more lately, though: <a href="http://digitalocean.com/">DigitalOcean</a>. After seeing it mentioned <a href="http://blog.newsblur.com/post/45632737156/three-months-to-scale-newsblur">yet again</a> recently, I decided to check out their web site and see what all the fuss about. Apparently, they&#8217;re very competitively priced, charging about one quarter the price for a comparable offering for Linode. There are pros and cons for each (Linode offers more CPU cores, DigitalOcean has SSDs, for instance) but the price is very attractive. Heck, shared hosting from reputable providers tends to cost around that.</p>
<p>Fast forwarding a bit to spare you the gritty details, I went looking for benchmarks to see how DigitalOcean stacks up against the major competitors. In doing so, I found a new Interesting Thing.</p>
<p><a href="http://serverbear.com/">ServerBear</a> provides &#8220;a no hassle all-in-one UnixBench, IO, IOPS &amp; Network performance test for Linux Servers,&#8221; and compiles an index of benchmarks for the different price points offered by dozens of web hosts. You can look up a service, <a href="http://serverbear.com/9806/digitalocean">such as DigitalOcean</a> in this case, and view benchmarks for each plan purveyed by the host.<span id="more-5059"></span></p>
<p>They also rank the hosts with a &#8220;BearScore&#8221; that represents the performance and specs vs. the monetary cost. Of course, there&#8217;s more to choosing a host than just raw performance. Reliability, knowledgeable staff, and quality support when something goes wrong are also very important. Unfortunately, those things are harder to quantify statistically.</p>
<p><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-5060" alt="ServerBear Benchmarks" src="http://media.webmaster-source.com/wp-content/uploads/2013/04/serverbear-bench-digitalocean.png" width="600" height="379" /></p>
<p>Looking at the statistics, this up-and-coming DigitalOcean seems pretty good. Their $10/month offering seems to outperform my two-node VM from VPS.net (which is currently priced at $38/month for new customers&#8230;) in most areas, except for network speed. DigitalOcean, according to other sources as well, seems to have slower internet connectivity than Linode and VPS.net. But at a fraction of the price, it&#8217;s a very attractive option.</p>
<p><a href="http://serverbear.com/">ServerBear: Performance Benchmarking For Linux Servers</a> [serverbear.com]</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=UFAI99tJyWg:yC2pCVKF6xU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=UFAI99tJyWg:yC2pCVKF6xU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=UFAI99tJyWg:yC2pCVKF6xU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=UFAI99tJyWg:yC2pCVKF6xU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=UFAI99tJyWg:yC2pCVKF6xU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=UFAI99tJyWg:yC2pCVKF6xU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=UFAI99tJyWg:yC2pCVKF6xU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=UFAI99tJyWg:yC2pCVKF6xU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Webmaster-source/~4/UFAI99tJyWg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster-source.com/2013/04/17/serverbear-performance-benchmarking-for-linux-servers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.webmaster-source.com/2013/04/17/serverbear-performance-benchmarking-for-linux-servers/</feedburner:origLink></item>
		<item>
		<title>BlogBuzz April 13, 2013</title>
		<link>http://feedproxy.google.com/~r/Webmaster-source/~3/VN5LV3GHOP4/</link>
		<comments>http://www.webmaster-source.com/2013/04/13/blogbuzz-april-13-2013/#comments</comments>
		<pubDate>Sat, 13 Apr 2013 10:14:42 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[BlogBuzz]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=5072</guid>
		<description><![CDATA[ Alfred 2: Rewritten From The Ground Up, Workflows, Themes, and More The Nerdary — Laravel 4 The Anatomy of Web Typography “Like”-able Content: Spread Your Message with Third-Party Metadata The same app 4 times: PHP vs Python vs Ruby vs Clojure Google going its own way, forking WebKit rendering engine Responsive Nav: A Simple JavaScript [...]]]></description>
				<content:encoded><![CDATA[<ul>
<li><a href="http://www.macstories.net/reviews/alfred-2-rewritten-from-the-ground-up-workflows-themes-and-more/"> Alfred 2: Rewritten From The Ground Up, Workflows, Themes, and More </a></li>
<li><a href="http://www.thenerdary.net/post/30859565484/laravel-4">The Nerdary — Laravel 4</a></li>
<li><a href="http://webdesign.tutsplus.com/articles/typography-articles/the-anatomy-of-web-typography/">The Anatomy of Web Typography</a></li>
<li><a href="http://alistapart.com/article/like-able-content-spread-your-message-with-third-party-metadata">“Like”-able Content: Spread Your Message with Third-Party Metadata</a></li>
<li><a href="http://adambard.com/blog/PHP-ruby-python-clojure-webapps-by-example/">The same app 4 times: PHP vs Python vs Ruby vs Clojure</a></li>
<li>Google going its own way, forking WebKit rendering engine</li>
<li><a href="http://coding.smashingmagazine.com/2013/04/09/javascript-plugin-for-responsive-navigation/">Responsive Nav: A Simple JavaScript Plugin For Responsive Navigation</a></li>
<li><a href="http://blog.linode.com/2013/04/09/linode-nextgen-ram-upgrade/">Linode NextGen: RAM Upgrade</a></li>
<li><a href="http://www.engadget.com/2013/04/09/att-1gbps-fiber-internet-austin-texas-official/">AT&amp;T announces plans for 1Gbps fiber service in Austin, Texas; Google gets immediate competition</a> — It looks like Google&#8217;s plan is working. ISPs are currently scared enough to amp up their offerings in areas where Google is threatening to do business, though not enough yet to improve their offerings nationwide&#8230;</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=VN5LV3GHOP4:znqT-swKwM0:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=VN5LV3GHOP4:znqT-swKwM0:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=VN5LV3GHOP4:znqT-swKwM0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=VN5LV3GHOP4:znqT-swKwM0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=VN5LV3GHOP4:znqT-swKwM0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=VN5LV3GHOP4:znqT-swKwM0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=VN5LV3GHOP4:znqT-swKwM0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=VN5LV3GHOP4:znqT-swKwM0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Webmaster-source/~4/VN5LV3GHOP4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster-source.com/2013/04/13/blogbuzz-april-13-2013/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.webmaster-source.com/2013/04/13/blogbuzz-april-13-2013/</feedburner:origLink></item>
		<item>
		<title>WordPress 3.6 to Have Audio/Video Support in Core</title>
		<link>http://feedproxy.google.com/~r/Webmaster-source/~3/-qHPWS82azE/</link>
		<comments>http://www.webmaster-source.com/2013/04/10/wordpress-3-6-to-have-audiovideo-support-in-core/#comments</comments>
		<pubDate>Wed, 10 Apr 2013 10:16:01 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Audio]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=5069</guid>
		<description><![CDATA[Here&#8217;s some great news from the WordPress development blog: WordPress 3.6 is going to have built-in support for audio/video playback. You will be able to upload a media file, and WordPress will handle playback with the MediaElement.js. Shortcodes will be available, as well as template tags for theming support. &#8230;there is now native support for [...]]]></description>
				<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-5065" alt="WordPress" src="http://media.webmaster-source.com/wp-content/uploads/2013/04/wordpress-logo-type.png" width="249" height="57" />Here&#8217;s some great news from the WordPress development blog: WordPress 3.6 is going to have <a href="http://make.wordpress.org/core/2013/04/08/audio-video-support-in-core/">built-in support for audio/video playback</a>. You will be able to upload a media file, and WordPress will handle playback with the <a href="http://mediaelementjs.com/">MediaElement.js</a>. Shortcodes will be available, as well as template tags for theming support.</p>
<blockquote><p>&#8230;there is now native support for Audio and Video in core! There has been great support for embeds by way of <code>WP_Embed</code> and oEmbed providers for a while, but, if you wanted to play an MP3 from your Media Library, you had to install a plugin. Supporting audio and video in core gives bands, podcasters, vloggers, et al the ability to easily and beautifully expresses themselves through sounds and moving pictures without using an external service.</p></blockquote>
<p>This should go nicely with the coming changes to Post Formats—unless the plans have change, a UI based on <a href="http://www.webmaster-source.com/2012/02/06/crowd-favorites-wordpress-post-formats-admin-ui/">the one by Crowd Favorite</a> is going to be a part of the WordPress core, hopefully making post formats actually useful. (I&#8217;ve been using the Crowd Favorite plugin on my personal blog for awhile now, and it&#8217;s great.)</p>
<p>Another part I find interesting is the addition of embed handlers for common media files. You will be able to paste an URL to an AAC/MP3/etc. into a post and it will be seamlessly replaced by a media player, just like how oEmbed works.</p>
<p><a href="http://make.wordpress.org/core/2013/04/08/audio-video-support-in-core/">Audio / Video support in Core</a> [Make WordPress]</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=-qHPWS82azE:YByRyB0nqeY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=-qHPWS82azE:YByRyB0nqeY:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=-qHPWS82azE:YByRyB0nqeY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=-qHPWS82azE:YByRyB0nqeY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=-qHPWS82azE:YByRyB0nqeY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=-qHPWS82azE:YByRyB0nqeY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=-qHPWS82azE:YByRyB0nqeY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=-qHPWS82azE:YByRyB0nqeY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Webmaster-source/~4/-qHPWS82azE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster-source.com/2013/04/10/wordpress-3-6-to-have-audiovideo-support-in-core/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.webmaster-source.com/2013/04/10/wordpress-3-6-to-have-audiovideo-support-in-core/</feedburner:origLink></item>
		<item>
		<title>HTML and CSS: Develop with Tomorrow’s Standards Today by Brian P. Hogan</title>
		<link>http://feedproxy.google.com/~r/Webmaster-source/~3/ZmabqDv92N8/</link>
		<comments>http://www.webmaster-source.com/2013/04/03/html-and-css-develop-with-tomorrows-standards-today-by-brian-p-hogan/#comments</comments>
		<pubDate>Wed, 03 Apr 2013 11:04:49 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[(x)html]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=5045</guid>
		<description><![CDATA[I recently unearthed a review copy of a book that somehow got lost in the shuffle a couple of years ago, HTML5 and CSS3: Develop with Tomorrow&#8217;s Standards Today by Brian P. Hogan, which is too bad, since it&#8217;s one of the better books I&#8217;ve seen on the subject. It&#8217;s a comprehensive primer on the [...]]]></description>
				<content:encoded><![CDATA[<p><img style=' float: right; padding: 4px; margin: 0 0 2px 7px;'  class="alignright size-full wp-image-5046" alt="HTML5 and CSS3: Develop with Tomorrow's Standards Today" src="http://media.webmaster-source.com/wp-content/uploads/2013/03/brianhogan-html5css3book.png" width="200" height="240" />I recently unearthed a review copy of a book that somehow got lost in the shuffle a couple of years ago,<a href="http://www.amazon.com/gp/product/1934356689/webmasterso0d-20"><em> HTML5 and CSS3: Develop with Tomorrow&#8217;s Standards Today</em></a> by Brian P. Hogan, which is too bad, since it&#8217;s one of the better books I&#8217;ve seen on the subject. It&#8217;s a comprehensive primer on the changes in HTML5 and CSS3. I enjoyed reading through the book after I unburied it last week.</p>
<p>It features a chapter on logically marking up page structure with the new semantic tags (<code>header</code>, <code>nav</code>, <code>section</code>, <code>article</code>, etc.), which explains the contexts they should be used in with a hands-on example of restructuring a blog without excessive divs. A lot of online tutorials make the error of suggesting the <code>aside</code> element for a blog sidebar, which the book helpfully points out as wrong. The <code>section</code> element is the proper tag for the job, as it denotes an arbitrary section of the page, whereas <code>aside</code> is for broken-out sections of your article content, such as pullquotes or diagrams.</p>
<p>From there the author moves on to some CSS3 tricks using newly-added selectors. He shows some simple methods to add zebra-striping to tables with pseudo-classes and add visible URLs to links via a print stylesheet with <code>:after</code>. There&#8217;s a brief section demonstrating media queries, as well some on the new JavaScript APIs—localStorage and history pushState, for example. There&#8217;s even a bit on using cache manifests to set up offline access.</p>
<p>Oh, and the deprecations. HTML5 deprecates a good many tags and attributes. There is a section listing those, as well as some modern alternatives, such as opening links in new windows without the deprecated <code>target</code> attribute. It can be done cleanly and semantically by using JavaScript, without impacting the user&#8217;s ability to middle-click a link and open a new tab&#8230;which far too many sites <em>still</em> do today. If you do that, you need to read this book just for that reason.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=ZmabqDv92N8:vItEQ5yaVas:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=ZmabqDv92N8:vItEQ5yaVas:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=ZmabqDv92N8:vItEQ5yaVas:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=ZmabqDv92N8:vItEQ5yaVas:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=ZmabqDv92N8:vItEQ5yaVas:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=ZmabqDv92N8:vItEQ5yaVas:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=ZmabqDv92N8:vItEQ5yaVas:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=ZmabqDv92N8:vItEQ5yaVas:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Webmaster-source/~4/ZmabqDv92N8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster-source.com/2013/04/03/html-and-css-develop-with-tomorrows-standards-today-by-brian-p-hogan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.webmaster-source.com/2013/04/03/html-and-css-develop-with-tomorrows-standards-today-by-brian-p-hogan/</feedburner:origLink></item>
		<item>
		<title>How Amazon Solved the Dropdown Delay Problem</title>
		<link>http://feedproxy.google.com/~r/Webmaster-source/~3/N6_FLJrBVLE/</link>
		<comments>http://www.webmaster-source.com/2013/03/20/how-amazon-solved-the-dropdown-delay-problem/#comments</comments>
		<pubDate>Wed, 20 Mar 2013 11:24:51 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[menus]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://www.webmaster-source.com/?p=5035</guid>
		<description><![CDATA[If you&#8217;ve ever made a dropdown menu, you&#8217;re probably familiar with the &#8220;hover delay problem,&#8221; where a user tries to diagonally move the mouse from a submenu trigger to the menu that pops out, which causes the menu to snap closed when it loses focus. A common remedy is to add a delay, so the [...]]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;ve ever made a dropdown menu, you&#8217;re probably familiar with the &#8220;hover delay problem,&#8221; where a user tries to diagonally move the mouse from a submenu trigger to the menu that pops out, which causes the menu to snap closed when it loses focus. A common remedy is to add a delay, so the user has time to get their cursor from point A to point B without the menu closing or changing. Unfortunately, this makes menus seem sluggish, as there&#8217;s a small (but noticeable) delay before menus open or change.</p>
<p>Amazon, however, uses a more advanced trick, which cleverly solves the problem while enabling the menu to be snappy and delay-free. They track the cursor movement to determine the user&#8217;s intent. If it&#8217;s moving diagonally toward the submenu, the menu stays open. If it&#8217;s moving down the list, the submenu instantly changes. No delays making it seem sluggish, and no irritations from glitchy menus.</p>
<p>Ben Kamens, lead developer at Khan Academy, <a href="http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown">described this behavior in an interesting blog post</a> and released a jQuery plugin that replicates it.</p>
<p><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-5036" alt="Amazon Menu Triangle" src="http://media.webmaster-source.com/wp-content/uploads/2013/03/amazon-menu-intent.png" width="600" height="413" /></p>
<p>As it turns out, Apple has been using the same principle for their OS&#8217;s menus for a long time. At least since the early 1990s, perhaps earlier, though I&#8217;m not familiar enough with Apple&#8217;s history to pinpoint exactly when. It&#8217;s funny how often the wheel is reinvented&#8230;</p>
<p><a href="http://bjk5.com/post/44698559168/breaking-down-amazons-mega-dropdown">Breaking down Amazon’s mega dropdown</a> [Ben Kamens]</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=N6_FLJrBVLE:2yNAgmaFcaU:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=N6_FLJrBVLE:2yNAgmaFcaU:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=N6_FLJrBVLE:2yNAgmaFcaU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=N6_FLJrBVLE:2yNAgmaFcaU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=N6_FLJrBVLE:2yNAgmaFcaU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=N6_FLJrBVLE:2yNAgmaFcaU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?i=N6_FLJrBVLE:2yNAgmaFcaU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Webmaster-source?a=N6_FLJrBVLE:2yNAgmaFcaU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/Webmaster-source?d=7Q72WNTAKBA" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/Webmaster-source/~4/N6_FLJrBVLE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.webmaster-source.com/2013/03/20/how-amazon-solved-the-dropdown-delay-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.webmaster-source.com/2013/03/20/how-amazon-solved-the-dropdown-delay-problem/</feedburner:origLink></item>
	</channel>
</rss><!-- Served from: www.webmaster-source.com @ 2013-05-22 12:02:09 by W3 Total Cache -->
