<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><description>Website design and development from Cyprus by Alex Cican. Check out my portfolio »</description><title>SicanStudios</title><generator>Tumblr (3.0; @sicanstudios)</generator><link>http://sicanstudios.com/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/sicanstudios" /><feedburner:info uri="sicanstudios" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://tumblr.superfeedr.com/" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/3.0/</creativeCommons:license><feedburner:emailServiceId>sicanstudios</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>Ignore Details Early On</title><description>&lt;p&gt;I was re-reading &lt;a href="http://gettingreal.37signals.com/"&gt;“Getting Real”&lt;/a&gt; from 37Signals and stumbled across a very important section, in my opinion. Now that I think about it, it is also one of the reasons why I &lt;a href="https://twitter.com/#!/sican/status/170287755891449856"&gt;fired my first client&lt;/a&gt; (yes, I do that as well!). I share the section below, check it out:&lt;/p&gt;
&lt;p&gt;—&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Work from large to small&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We’re crazy about details.&lt;/p&gt;
&lt;p&gt;The space between objects&lt;br/&gt;The perfect type leading&lt;br/&gt;The perfect color&lt;br/&gt;The perfect words&lt;br/&gt;Four lines of code instead of seven&lt;br/&gt;90% vs 89%&lt;br/&gt;760px vs 750px&lt;br/&gt;$39/month vs. $49/month&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Success and satisfaction is in the details. &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;However, success isn’t the only thing you’ll find in the details. You’ll also find stagnation, disagreement, meetings, and delays. These things can kill morale and lower your chances of success.&lt;/p&gt;
&lt;p&gt;How often have you found yourself stuck on a single design or code element for a whole day? How often have you realized that the progress you made today wasn’t real progress? This happens when you focus on details too early in the process. There’s plenty of time to be a perfectionist. Just do it later.&lt;/p&gt;
&lt;p&gt;Don’t worry about the size of your headline font in week one. You don’t need to nail that perfect shade of green in week two. You don’t need to move that “submit” button three pixels to the right in week three. Just get the stuff on the page for now. Then use it. Make sure it works. Later on you can adjust and perfect it.&lt;/p&gt;
&lt;p&gt;Details reveal themselves as you use what you’re building. You’ll see what needs more attention. You’ll feel what’s missing. You’ll know which potholes to pave over because you’ll keep hitting them. That’s when you need to pay attention, not sooner.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=2wkA_34H1_k:KeEczBkTutM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=2wkA_34H1_k:KeEczBkTutM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=2wkA_34H1_k:KeEczBkTutM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=2wkA_34H1_k:KeEczBkTutM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=2wkA_34H1_k:KeEczBkTutM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=2wkA_34H1_k:KeEczBkTutM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/2wkA_34H1_k" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/2wkA_34H1_k/17759585755</link><guid isPermaLink="false">http://sicanstudios.com/post/17759585755</guid><pubDate>Fri, 17 Feb 2012 11:36:00 +0200</pubDate><category>article</category><category>advice</category><category>opinion</category><feedburner:origLink>http://sicanstudios.com/post/17759585755</feedburner:origLink></item><item><title>Twitter CSS Button</title><description>&lt;p&gt;&lt;a href="http://dl.dropbox.com/u/48552248/websites/demos/twitter_button/index.html"&gt;&lt;img src="http://media.tumblr.com/tumblr_lzjb87lS9F1r7a99l.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I browse Dribbble often and I’m amazed by the talent most of the  folks on Dribbble have! I came across a shot yesterday (18/11/2011) by &lt;a href="http://dribbble.com/shots/322776-Twitter-UI?list=popular&amp;offset=5" target="_blank"&gt;Matt Gentile&lt;/a&gt; of an awesome Twitter button he created.&lt;/p&gt;
&lt;p&gt;Not only that; he also gives away the PSD &lt;a href="http://www.icondeposit.com/design:18" rel="nofollow" target="_blank"&gt;for free&lt;/a&gt;. I downloaded it and liked it so much I decided to code his design just for fun, as a Saturday afternoon practice.&lt;/p&gt;
&lt;h2&gt;Icons? What Icons?&lt;/h2&gt;
&lt;p&gt;I’m  not using icons anymore for my designs. They’re a pain to make, resize,  optimise and adjust (CSS sprites). I’m using a new idea — for the web;  Wedbings has been around for quite awhile now — which is incorporating  all the modern icons in a vector html-compliant typeface. Sounds  interesting? Check out &lt;a href="http://www.justbenicestudio.com/studio/websymbols/" target="_blank"&gt;extra info and download here&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;The Button&lt;/h2&gt;
&lt;p&gt;The  button was coded in HTML5 and CSS 3. Note that it has no images! The  button adjusts for three states: normal, hover and active.&lt;/p&gt;
&lt;p&gt;&lt;a class="button" href="http://dl.dropbox.com/u/48552248/websites/demos/twitter_button/index.html"&gt;&lt;span&gt;View the button →&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It  displays a slightly different version of the original design &amp;mdash  bird is looking to the right and has different feathers — but that’s  not an issue. The problem I encountered was how to code the shadow  inside of the bird (text). As developers know, CSS &lt;span class="code"&gt;text-shadow&lt;/span&gt; property doesn’t have an &lt;span class="code"&gt;inset&lt;/span&gt; modifier like &lt;span class="code"&gt;box-shadow&lt;/span&gt; has. The solution I came up with was to stack text shadows on top of each other.&lt;/p&gt;
&lt;h2&gt;Inset text-shadow with CSS&lt;/h2&gt;
&lt;p&gt;The method of creating a pseudo-inset effect is simple. Have the bottom &lt;span class="code"&gt;text-shadow&lt;/span&gt; without feather far above from the text. Stack the next &lt;span class="code"&gt;text-shadow&lt;/span&gt; on top of it, lower, with some feathering and lighter colour. Finally, add another &lt;span class="code"&gt;text-shadow&lt;/span&gt; even lower with feathering and an even lighter colour. The last &lt;span class="code"&gt;text-shadow&lt;/span&gt; should match the colour of the text.&lt;/p&gt;
&lt;p&gt;When  tested on Chrome it looks somewhat bad. It’s a bit blurry. I am aware  that there are other solutions on the Internet but none of them work on  Firefox, yet. And I’m on Firefox, so… But if you’re interested here’s a  cool way of doing it for Chrome/Safari, &lt;a href="http://simurai.com/post/698681341/inset-text-shadow" rel="nofollow" target="_blank"&gt;code developed by Simon&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=anaJ-gI8EPg:THtwVJbO5TA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=anaJ-gI8EPg:THtwVJbO5TA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=anaJ-gI8EPg:THtwVJbO5TA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=anaJ-gI8EPg:THtwVJbO5TA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=anaJ-gI8EPg:THtwVJbO5TA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=anaJ-gI8EPg:THtwVJbO5TA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/anaJ-gI8EPg" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/anaJ-gI8EPg/17760814328</link><guid isPermaLink="false">http://sicanstudios.com/post/17760814328</guid><pubDate>Fri, 17 Feb 2012 10:55:00 +0200</pubDate><category>twitter</category><category>css</category><category>coding</category><category>portfolio</category><feedburner:origLink>http://sicanstudios.com/post/17760814328</feedburner:origLink></item><item><title>Categories in Wordpress not appearing problem</title><description>&lt;p&gt;During my switch to different servers last week, I’ve encountered a  problem with Wordpress. The Categories were not displaying, along with  the posts assigned to those categories — for example inside &lt;em&gt;site.com/blog&lt;/em&gt; nothing would be displayed.&lt;/p&gt;
&lt;p&gt;The  Categories were not appearing in the admin panel as well. Even after  deleting the categories and trying to add them again, it would say “A  term with the name provided already exists with this parent”. Then I had  the idea to check inside PHPMyAdmin and the categories were there; but  still, on the website they wouldn’t display.&lt;/p&gt;
&lt;h3&gt;Solution&lt;/h3&gt;
&lt;p&gt;The  solution came to me when I encountered a different error. Trying to  upload something within Wordpress, I got the error “Missing a temporary  folder”. Then it came to me: In the effort of making my Wordpress more  secure, I changed the permissions of my &lt;span class="code"&gt;tmp&lt;/span&gt; folder inside the root of my server.&lt;/p&gt;
&lt;p&gt;For this problem to be fixed, you have to change your &lt;span class="code"&gt;tmp&lt;/span&gt; folder’s permissions to 777. To do that, you need to be a sudo user or logged in as &lt;span class="code"&gt;root&lt;/span&gt;. Type-in the following command:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;sudo chmod 777 /tmp&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;That’s it! Test it out and let me know if it solved your problem!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=gu4cDN-yGkA:NTV_HIZjTUE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=gu4cDN-yGkA:NTV_HIZjTUE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=gu4cDN-yGkA:NTV_HIZjTUE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=gu4cDN-yGkA:NTV_HIZjTUE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=gu4cDN-yGkA:NTV_HIZjTUE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=gu4cDN-yGkA:NTV_HIZjTUE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/gu4cDN-yGkA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/gu4cDN-yGkA/17713947118</link><guid isPermaLink="false">http://sicanstudios.com/post/17713947118</guid><pubDate>Thu, 16 Feb 2012 18:07:27 +0200</pubDate><category>wordpress</category><category>coding</category><category>tutorial</category><feedburner:origLink>http://sicanstudios.com/post/17713947118</feedburner:origLink></item><item><title>Portfolio vs Blog: A Mexican standoff</title><description>&lt;p&gt;Another blog post by yours truly — posted one day apart from the  last. I feel like I’m Mozilla, implementing their short release cycle of  Firefox (they’re at FF8 already) on my blog. Today I want to talk about  this website for a bit. I’ve been having some thoughts lately, on  whether I should focus on writing more often for this blog or adding new  work to my portfolio.&lt;/p&gt;
&lt;h3&gt;The Blog&lt;/h3&gt;
&lt;p&gt;Having a blog is great.  You get to share your thoughts, your opinions, your experiences and in  my case teach people and solve their problems. The most visited pages of  this website are the ones that belong to my blog. But writing often and  maintaining it, sucks.&lt;/p&gt;
&lt;p&gt;I’m guilty of doing this: Go on Google,  search for my problem, find a blog that teaches the solution — usually  within the top three Google results — read the solution and get out. No  commenting on the post — unless something doesn’t work, no subscribing  to it, nothing. Not to mention bumping into types of blog posts like the  one you’re reading now. My head is screaming: “I don’t care!”.&lt;/p&gt;
&lt;p&gt;Well  this has become a problem for me. Although I’m getting near-the-top  positions in search results for many keywords, I don’t appreciate it.  Google traffic comes, reads my solution and GTFO. My website’s bounce  rate reflects this behaviour at it’s at around 73%, which is high. There  are a number of possible causes for this, one being my writing. Another  could be the length of the blog post. Who has time in 2011/12 to spend  eight minutes on a blog post?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;“But Alex, you don’t have any kind of signup/subscribe form on your blog”&lt;/em&gt; I hear you say. I used to have.&lt;/p&gt;
&lt;p&gt;I  used to have not one, but two forms on the same page making it  impossible to miss. And you know what the result was? Countless  unverified e-mails and around 300-400 subscribers with an click rate of  15%. Apparently shoving signup forms in people’s faces and making them  subscribe doesn’t work in the long term anymore. It’s much like website  or magazine advertising nowadays. And FYI, advertising should only be  used for reinforcing a brand — sticking in the person’s memory — not  trying attract new loyal customers with it. Word of mouth is the only  form of advertising that continues thriving. And there isn’t any word of  mouth for this blog in the way it has evolved.&lt;/p&gt;
&lt;h3&gt;The Portfolio&lt;/h3&gt;
&lt;p&gt;The  portfolio is the most important aspect of this website. It’s firmly  embedded in the ideology of SicanStudios: the portfolio should speak in  the name of the design company. The portfolio is the first thing a  visitor sees — unless they’re coming from search engines — when visiting  my site. That happens because it has its own dedicated big orange  button on the homepage of this site. And it’s doing its job at  attracting eyeballs perfectly.&lt;/p&gt;
&lt;p&gt;I designed the browsing experience  of my portfolio is such way, to favour the latest website/work. Not only  that, but also to subtly make the visitor accord more time for each  piece — more than he would for a thumbnail — and allow me, the designer,  to explain the design choices and production.&lt;/p&gt;
&lt;p&gt;In our era, when  the web changes that fast, I know my portfolio is dated. And this  saddens me, because my skills are better than what I show in that  portfolio. And I acknowledge the fact that my skills are getting better  with each new project.&lt;/p&gt;
&lt;h3&gt;The Mexican Standoff&lt;/h3&gt;
&lt;p&gt;Having a blog  has the potential to go evergreen — blog posts written 2 years ago are  still read nowadays — whereas browsing a portfolio work is only  temporary. At most it will make an impact on the visitor and like my  website design and development skills — maybe get a retweet. With the  blog I help many people find solutions to their problems whereas with a  portfolio I help no-one but myself, improving my skills whilst  completing new work.&lt;/p&gt;
&lt;p&gt;The potential clients and companies don’t  care about your blog; have you ever gotten a client through your blog? I  haven’t. All they care about is (I hope not “qualifications” in the  design industry) your portfolio. Is it any good?&lt;/p&gt;
&lt;p&gt;“Well… NO it’s not because I was writing tutorials and helping people on my blog” is not a valid answer.&lt;/p&gt;
&lt;p&gt;So, which one is it: The Portfolio or the Blog? “Both” I hear you say? Should I remind you that a day has only 24 hours?&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;I  tried to make this blog post short enough for you to finish — I know  you don’t finish my blog posts, I check my stats. So, this is what’s  bothering me the last couple of days. Care to share your opinion? I’d  love your input on this subject matter. Post a comment &lt;a href="http://192.168.10.3/sicanstudios/wp-admin/post.php?post=1732&amp;action=edit#respond"&gt;here&lt;/a&gt; (preferred) or &lt;a href="http://twitter.com/?status=@sican" target="_blank"&gt;on Twitter&lt;/a&gt;. Cheers!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=4KP4_Hz2h9g:uOiT-Pgqh04:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=4KP4_Hz2h9g:uOiT-Pgqh04:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=4KP4_Hz2h9g:uOiT-Pgqh04:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=4KP4_Hz2h9g:uOiT-Pgqh04:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=4KP4_Hz2h9g:uOiT-Pgqh04:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=4KP4_Hz2h9g:uOiT-Pgqh04:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/4KP4_Hz2h9g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/4KP4_Hz2h9g/17713923279</link><guid isPermaLink="false">http://sicanstudios.com/post/17713923279</guid><pubDate>Thu, 16 Feb 2012 18:06:40 +0200</pubDate><category>portfolio</category><category>blog</category><category>article</category><category>opinion</category><feedburner:origLink>http://sicanstudios.com/post/17713923279</feedburner:origLink></item><item><title>How to set cookies in JavaScript</title><description>&lt;p&gt;Cookies are an important part of browsers. Without them, we couldn’t  browse websites that require authentication, such as social networks  since we’d be asked for our password at each new page. We couldn’t write  an e-mail, or buy something. In general, our use would be fairly  limited to browsing only passive websites. Therefore, cookies are an  important part of a developer’s arsenal. In this tutorial we’ll focus  only on a small part of cookies, setting and editing cookies using  jQuery.&lt;/p&gt;
&lt;p&gt;I’ll be using a cookie plugin created by Klaus Hartl. We do not need to edit anything in this file, just call it after jQuery. &lt;a href="http://sicanstudios.com/wp-content/uploads/2011/10/cookie.js"&gt;Download the script →&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Step 1 - HTML first&lt;/h3&gt;
&lt;p&gt;Based  on the example above, we create a div and inside it we have two  messages. The one that will be displayed only one time, when the page is  loaded and the one that will be displayed after the first one was  shown. I used heading tags to separate them from one another:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;div class="message"&gt;&lt;br/&gt;&lt;h1&gt;This message is displayed only the first time you visit this page. Refresh to hide it!&lt;/h1&gt;&lt;br/&gt;&lt;h3&gt;This is shown only after the previous message was shown in  the last visit. Even when you refresh the page, the browser remembers  your option. In case JS is disabled, this message is more important and  should be displayed!&lt;/h3&gt;&lt;br/&gt;&lt;/div&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Step 2 - CSS&lt;/h3&gt;
&lt;p&gt;I  always take into account JavaScript being disabled. It’s good practice  and makes your website more accessible and user friendly. In case  JavaScript is disabled, we don’t want to confuse our visitor and have  both messages display at the same time. We need to hide the first  message by default, in the CSS. We will display the message it in the  JavaScript section:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;h1 {display:none;}&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Step 3 - Initialising&lt;/h3&gt;
&lt;p&gt;It’s best for page loading times, to add JavaScript at the bottom of the page, before the &lt;span class="code"&gt;&lt;/body&gt;&lt;/span&gt; tag. First, we need to call jQuery.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;a href="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"&gt;http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js&lt;/a&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Next we call the cookie script. Make sure you add the correct URL pointing to the script.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;script type="text/javascript" src="cookie.js"&gt;&lt;/script&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Below it, we add an empty script and inside it, we start coding:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;script type="text/JavaScript"&gt;&lt;br/&gt;&lt;/script&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Step 4 - JavaScript&lt;/h3&gt;
&lt;p&gt;First, we will reverse what we did in our CSS file. Display the initial message (&lt;span class="code"&gt;h1&lt;/span&gt;), and hide the second message (&lt;span class="code"&gt;h3&lt;/span&gt;).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$(document).ready(function() {&lt;br/&gt; $('.message h1').css("display", "block"); &lt;br/&gt; $('.message h3').css("display", "none"); &lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Next  we add the cookie code. There are two parts to this: one that checks  the cookie and the other that adds the cookie. First, we will check for  the cookie (I explain why later). If the ID of the cookie is set to &lt;span class="code"&gt;hide&lt;/span&gt;, then hide the first message and display the second:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var cookie_mesage = $.cookie('welcome');&lt;br/&gt; if (cookie_mesage == 'hide') { &lt;br/&gt; $('.message h1').css("display", "none");&lt;br/&gt; $('.message h3').css("display", "block");&lt;br/&gt; };&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Before we close the &lt;span class="code"&gt;script&lt;/span&gt; tag, we have to add the cookie that will hide the first message. We add  it at the end, because if we were to add it before the code that checks  (see above) the cookie, it would hide the first message from the  beginning. Adding it at the end ensures that the message will be hidden  the next time the page is loaded.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$.cookie('welcome', 'hide');&lt;br/&gt; });&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The complete code for the first example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;script type="text/JavaScript"&gt;&lt;br/&gt; $(document).ready(function() {&lt;br/&gt; $('.message h1').css("display", "block");&lt;br/&gt; $('.message h3').css("display", "none"); &lt;br/&gt;&lt;br/&gt; var cookie_mesage = $.cookie('welcome');&lt;br/&gt;&lt;br/&gt; if (cookie_mesage == 'hide') { &lt;br/&gt; $('.message h1').css("display", "none");&lt;br/&gt; $('.message h3').css("display", "block");&lt;br/&gt; };&lt;br/&gt; $.cookie('welcome', 'hide');&lt;br/&gt; });&lt;br/&gt; &lt;/script&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Step 5 - Add cookie on click&lt;/h3&gt;
&lt;p&gt;In  the second example of the demo page, you saw that the message was  hidden and the other one was displayed, only after you clicked on the  “X”. First we need to add an &lt;span class="code"&gt;a href&lt;/span&gt; tag to our HTML. I added it inside the first message, so that when it’s hidden, the button will be hidden as well:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;h1&gt;This message is displayed only the first time you visit this page. Refresh to hide it!&lt;br/&gt; &lt;a href="#" title="Hide This Message"&gt;X&lt;/a&gt;&lt;/h1&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Position the “X” to the top of the container using the &lt;span class="code"&gt;relative/absolute&lt;/span&gt; trick in the CSS:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.message {position:relative}&lt;br/&gt;.message a {position:absolute;top:0;right:0;}&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Inside the &lt;span class="code"&gt;script&lt;/span&gt; tag, we add the code to do something once the &lt;span class="code"&gt;a href&lt;/span&gt; is clicked:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$('.message a').click(function() { &lt;br/&gt; return false;&lt;br/&gt; });&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Inside  the function we will be using classes to identify when a user has  clicked or not. First we check to see if we already have a class &lt;span class="code"&gt;clicked&lt;/span&gt; assigned to the link. If yes, do nothing. If we don’t have a class, it  means that the user hasn’t clicked on the link before. Fade out the  first message and queue the second one, once it’s finished. Finally, add  a cookie with the variable &lt;span class="code"&gt;clicked&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var $this = $(this);&lt;br/&gt;&lt;br/&gt; if ($this.hasClass('clicked')) { }&lt;br/&gt; else { &lt;br/&gt; $(this).addClass('clicked'); &lt;br/&gt; $('.message h1').delay(200).fadeOut(1300)&lt;br/&gt;&lt;br/&gt; .queue(function(n) { &lt;br/&gt; $('.message h3').css("display", "block"); &lt;br/&gt; n();&lt;br/&gt; });&lt;br/&gt; $.cookie('welcome', 'clicked'); }&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;But wait, we are not done! We need to check if the cookie has the &lt;span class="code"&gt;clicked&lt;/span&gt; variable attached to it:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var cookie_mesage_clicked = $.cookie('welcome'); &lt;br/&gt; if (cookie_mesage_clicked == 'clicked') {&lt;br/&gt; $('.message_click a').addClass('clicked');&lt;br/&gt; $('.message_click h1').css("display", "none");&lt;br/&gt; $('.message_click h3').css("display", "block");&lt;br/&gt; };&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The complete code for the second example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;script type="text/JavaScript"&gt;&lt;br/&gt; $(document).ready(function() {&lt;br/&gt; $('.message h1').css("display", "block"); &lt;br/&gt; $('.message h3').css("display", "none"); &lt;br/&gt; $('.message a').click(function() { &lt;br/&gt;&lt;br/&gt; var $this = $(this);&lt;br/&gt;&lt;br/&gt; if ($this.hasClass('clicked')) { }&lt;br/&gt; else { &lt;br/&gt; $(this).addClass('clicked'); &lt;br/&gt; $('.message h1').delay(200).fadeOut(1300)&lt;br/&gt;&lt;br/&gt; .queue(function(n) { &lt;br/&gt; $('.message h3').css("display", "block"); &lt;br/&gt; n();&lt;br/&gt; });&lt;br/&gt;&lt;br/&gt; $.cookie('welcome', 'clicked'); }&lt;br/&gt; return false;&lt;br/&gt; });&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var cookie_mesage_clicked = $.cookie('welcome'); &lt;br/&gt; if (cookie_mesage_clicked == 'clicked') {&lt;br/&gt; $('.message_click h1').css("display", "none");&lt;br/&gt; $('.message_click h3').css("display", "block");&lt;br/&gt; };&lt;br/&gt; });&lt;br/&gt; &lt;/script&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Step 6 - Accessibility&lt;/h3&gt;
&lt;p&gt;If  you disable JavaScript and you check the page, the first message will  be completely hidden because we hid it in the CSS; that is good. But if  you disable stylesheets both messages are visible, creating confusion.  Why would you want stylesheets disabled? Well for one: screen-readers;  used by blind people, they read only what’s in the HTML disregarding  CSS. To fix this problem and make our website even more user friendly we  have to add the first message in the &lt;span class="code"&gt;script&lt;/span&gt; tag, so that it will be displayed only if the user has JavaScript enabled.&lt;/p&gt;
&lt;p&gt;To do that, remove the first message from the HTML. Then we just append the message to the &lt;span class="code"&gt;.message&lt;/span&gt; div inside jQuery. Note that this has to go before the JavaScript code in which you hide the initial message (&lt;span class="code"&gt;h1&lt;/span&gt;).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$('.message').append('&lt;h1&gt;You can only hide this message, by  pressing x at the top of this box &lt;a href="#" title="Hide This  Message"&gt;X&lt;/a&gt;&lt;/h1&gt;');&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;There  are many uses of cookies. Showing a one-time only message is one. Or  showing a message until you click to hide it is another popular use —  now you know how to create your own &lt;a href="http://www.hellobar.com/" rel="nofollow" target="_blank"&gt;Hellobar&lt;/a&gt;. The next step is authenticating users and saving sessions in the cookies.&lt;/p&gt;
&lt;p&gt;Any questions or praises in the comments section below.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=Fdq5XIUCkWs:dRJyytULQqs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=Fdq5XIUCkWs:dRJyytULQqs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=Fdq5XIUCkWs:dRJyytULQqs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=Fdq5XIUCkWs:dRJyytULQqs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=Fdq5XIUCkWs:dRJyytULQqs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=Fdq5XIUCkWs:dRJyytULQqs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/Fdq5XIUCkWs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/Fdq5XIUCkWs/17713883971</link><guid isPermaLink="false">http://sicanstudios.com/post/17713883971</guid><pubDate>Thu, 16 Feb 2012 18:05:25 +0200</pubDate><category>javascript</category><category>html</category><category>coding</category><category>tutorial</category><feedburner:origLink>http://sicanstudios.com/post/17713883971</feedburner:origLink></item><item><title>Create an auto width CSS button without floats</title><description>&lt;p&gt;Recently, when coding a website for a client I stumbled across a  problem. I wanted to create a button with some padding left and right  that would resize itself according to the text that’s in it. So I  couldn’t use a fixed width. Furthermore, I wanted to use it more than  once and position it in different parts of the layout. So I couldn’t  float the button. Continue reading to see the solution I came up with.&lt;/p&gt;
&lt;h3 class="title"&gt;The problem&lt;/h3&gt;
&lt;p&gt;Create a button with &lt;span class="code"&gt;10px top/bottom&lt;/span&gt; and &lt;span class="code"&gt;15px left/right&lt;/span&gt; padding. It should automatically adjust its width and have the  possibility to be placed wherever in the layout, following the alignment  of its parent container. For example, if the container with the text is  aligned on the right, the button should also be aligned on the right.&lt;/p&gt;
&lt;p&gt;Using a &lt;span class="code"&gt;width&lt;/span&gt; property will mean that I would have to create several classes (small,  medium, large) representing buttons with different width. Then, decide  which will be the large buttons and assign that particular class to  them. Unnecessary extra work and coding. Using a &lt;span class="code"&gt;float&lt;/span&gt; property (widely used method) means that I cannot position that button  in the center to match the text above the button, for example.&lt;/p&gt;
&lt;h3 class="title"&gt;HTML Code&lt;/h3&gt;
&lt;p&gt;First we need to add the HTML. We create a simple &lt;span class="code"&gt;href&lt;/span&gt; link with a class &lt;span class="code"&gt;button&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;a href="#" class="button"&gt;This is a button&lt;/a&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;CSS Code&lt;/h3&gt;
&lt;p&gt;The CSS code required to create the button is displayed below:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.button{&lt;br/&gt; padding: 10px 15px;&lt;br/&gt; line-height: 50px;&lt;br/&gt; font-size: 20px;&lt;br/&gt; background-color: #971b00;&lt;br/&gt; }&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Pretty simple right? That’s all you need to make this work. Experiment with the &lt;span class="code"&gt;line-height&lt;/span&gt; property. That is used to separate the button from the other buttons or  text, above/below it. Additional CSS3 code is recommended (not  displayed in this tutorial) to sexify your button.&lt;/p&gt;
&lt;h3 class="title"&gt;Second Solution&lt;/h3&gt;
&lt;p&gt;The first solution is good, but I ended up using this one for my client’s website. In this solution, the &lt;span class="code"&gt;line-height&lt;/span&gt; property is not used to separate the button from the other buttons/text  vertically but define the height of the button. Furthermore, the  buttons are separated vertically using a &lt;span class="code"&gt;margin&lt;/span&gt; property.&lt;/p&gt;
&lt;h3 class="title"&gt;CSS Code&lt;/h3&gt;
&lt;p&gt;The code I used to create the buttons in the second method is below:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.button_second{&lt;br/&gt; padding: 0 15px;&lt;br/&gt; display: inline-block;&lt;br/&gt; line-height: 45px;&lt;br/&gt; font-size: 20px;&lt;br/&gt; margin-bottom: 7px;&lt;br/&gt; background-color: #971b00;&lt;br/&gt; }&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;This  is my version of a CSS button. I prefer the second method, but the  first one works just as well. I tested the CSS button and it displays  seamlessly on Firefox, Safari, Chrome and IE+7. What do you think? Any  problems or suggestions you might have?&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=bo3KChZ4PHs:ugxYH4mv3Y8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=bo3KChZ4PHs:ugxYH4mv3Y8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=bo3KChZ4PHs:ugxYH4mv3Y8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=bo3KChZ4PHs:ugxYH4mv3Y8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=bo3KChZ4PHs:ugxYH4mv3Y8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=bo3KChZ4PHs:ugxYH4mv3Y8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/bo3KChZ4PHs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/bo3KChZ4PHs/17713774779</link><guid isPermaLink="false">http://sicanstudios.com/post/17713774779</guid><pubDate>Thu, 16 Feb 2012 18:02:02 +0200</pubDate><category>css</category><category>coding</category><category>tutorial</category><feedburner:origLink>http://sicanstudios.com/post/17713774779</feedburner:origLink></item><item><title>Display top message bar on click like Twitter</title><description>&lt;p&gt;Say that you want to display a message bar on top when the user saves  their preferences. Or when the user adds a product into the cart,  provide them with feedback that it was added successfully. In this  tutorial I will show you how to do that using jQuery. Furthermore, we  will be passing variables from an HTML form to JavaScript, check them  with PHP and display the appropriate message. Finally we will be adding  some jQuery animations to the final message. Let’s dive in!&lt;/p&gt;
&lt;h3 class="title"&gt;Displaying the message&lt;/h3&gt;
&lt;p&gt;If  you go to Twitter and change the design of your profile, you have two  options: save it or cancel. When you click “save”, the website reloads  with a message on top sliding down saying “Your profile customization  has been saved”. Inspired from this message, I decided to write a  tutorial showing you how to do that.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lzhtrdyFE21r7a99l.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;For  this example we will be passing the name from a name field and saving  it into a hypothetical database — functionality not included in this  tutorial. In order for the user to view the message, they must have  JavaScript enabled. But, if the user doesn’t have JS enabled on their  browser, the value of text field should still be saved into the  database; the only difference is that the message won’t be displayed.&lt;/p&gt;
&lt;p&gt;Things  to check: we need to save the text field’s value only when the user  clicks the button, not when they reload the page. Also we have to check  that the user inserted a valid name. Both these checks will be done  using PHP.&lt;/p&gt;
&lt;p&gt;Note that in order to run PHP code (server-side  language) you need to add your PHP file on a server and run it from  there, or install a virtual server on your PC.&lt;/p&gt;
&lt;h3 class="title"&gt;HTML Form&lt;/h3&gt;
&lt;p&gt;First we need to create the HTML Form. There isn’t an action to this form, but you should have one. The &lt;span class="code"&gt;action=” “&lt;/span&gt; value of the form can point to a PHP file for example, and it defines  what the form does and where it sends the values. We add classes to the  inputs so that we can separately style them in CSS.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;form action=" " method="post"&gt;&lt;br/&gt; &lt;p&gt;&lt;br/&gt; &lt;input type="text" class="name_field" name="name" size="18" value="Insert your Name" /&gt;&lt;br/&gt; &lt;input type="submit" class="save_btn" name="submit" value="Add Me" /&gt;&lt;br/&gt; &lt;/p&gt;&lt;br/&gt; &lt;/form&gt;&lt;br/&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;JavaScript Code&lt;/h3&gt;
&lt;p&gt;Now, it’s time for the fun part. First we call jQuery JS and then add the “magic” script shown below:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;script type="text/javascript"&gt;&lt;br/&gt;$(function() {&lt;br/&gt;$("&lt;div /&gt;", { class: 'topbar', text: "Thank you, you have been added to our database!" }).hide().prependTo("body")&lt;br/&gt;.slideDown('fast').delay(9000).slideUp(function() { $(this).remove(); });&lt;br/&gt; });&lt;br/&gt; &lt;/script&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In short, we create a function, add a div with a class &lt;span class="code"&gt;topbar&lt;/span&gt;,  add some text to it and prepend it to the body of the page. The entire  message is hidden from the user. Next, we add some animation to the  message to sexify it a bit. We slide down the message fast, remain in  that position (delay) for 9 seconds and then slide the message back up  and remove the function.&lt;/p&gt;
&lt;p&gt;If you add the code and refresh the page,  a message should be displayed every time you refresh the page. Now it’s  a good time to add some CSS to the &lt;span class="code"&gt;topbar&lt;/span&gt; class and improve the design of the message.&lt;/p&gt;
&lt;h3 class="title"&gt;Additional functionality and errors&lt;/h3&gt;
&lt;p&gt;I  said that we will be adding some PHP as well. First we need to call the  script only when the user clicks the button. Before the JavaScript, we  add some PHP code to check if the button was clicked:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;?php if (isset($_POST['submit'])){?&gt;&lt;br/&gt;&lt;/code&gt;&lt;?php }?&gt;&lt;/p&gt;
&lt;p&gt;If the &lt;span class="code"&gt;submit&lt;/span&gt; button is set, do something. Inside the curly brackets, we add the JS script.&lt;/p&gt;
&lt;p&gt;Next, I want to display the name from the text field inside the message to make it more personal. To do that, we just &lt;span class="code"&gt;echo&lt;/span&gt; the value of the name field. To save the value into a database, is  another story not covered in this tutorial (let me know if you would  like it covered, in the comments).&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;?php echo $_POST['name']; ?&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;So, the code up to now should look like this:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;?php if (isset($_POST['submit'])){?&gt;&lt;br/&gt; &lt;script type="text/javascript"&gt;&lt;br/&gt; $(function() {&lt;br/&gt; $("&lt;div /&gt;", { class: 'topbar', text: "Thank you " + "&lt;?php  echo $_POST['name']; ?&gt;" + ", you have been added to our database!"  }).hide().prependTo("body")&lt;br/&gt; .slideDown('fast').delay(9000).slideUp(function() { $(this).remove(); });&lt;br/&gt; });&lt;br/&gt; &lt;/script&gt; &lt;br/&gt;&lt;?php }?&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The  final checks we will be making are: on click, ensure that the name  field is not the same as the value (if it’s the same then the user  didn’t input anything), that the string of the field is between 2 and 20  characters and that the field is not empty. The third part is actually  handled by another script that also hides the text’s value on focus and  displays it back if nothing is changed (named &lt;span class="code"&gt;empty_field.js&lt;/span&gt; in the demo page).&lt;/p&gt;
&lt;p&gt;So,  to make the aforementioned changes the script needs to be altered. The  PHP code that checks the name field is listed below. The code checks if  the name equals &lt;span class="code"&gt;Insert your Name&lt;/span&gt; OR if the  length of the string is over 20 characters OR if the length of the  string is under 3 characters then display an error message.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;?php if (($_POST['name'] == 'Insert your Name') || ((strlen($_POST['name']) &gt; 20) || (strlen($_POST['name']) &lt; 3))) &lt;br/&gt; {echo 'Please try again! And this time, insert your real name!';}?&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;So, here is the final, entire code:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;form action=" " method="post"&gt;&lt;br/&gt; &lt;p&gt;&lt;br/&gt; &lt;input type="text" class="name_field" name="name" size="18" value="Insert your Name" /&gt;&lt;br/&gt; &lt;input type="submit" class="save_btn" name="submit" value="Add Me" /&gt;&lt;br/&gt; &lt;/p&gt;&lt;br/&gt; &lt;/form&gt;&lt;br/&gt; &lt;?php if (isset($_POST['submit'])){?&gt;&lt;br/&gt;&lt;br/&gt; &lt;script type="text/javascript"&gt;&lt;br/&gt; $(function() {&lt;br/&gt;&lt;br/&gt; $("&lt;div /&gt;", { class: 'topbar', text: "&lt;?php if  (($_POST['name'] == 'Insert your Name') || ((strlen($_POST['name']) &gt;  20) || (strlen($_POST['name']) &lt; 3))) {echo 'Please try again! And  this time, insert your real name!';} else { echo 'Thank you ' .  $_POST['name'] . ', you have been added to our database';}?&gt;&lt;br/&gt; " }).hide().prependTo("body").slideDown('fast').delay(9000).slideUp(function() { $(this).remove(); });&lt;br/&gt;&lt;br/&gt; });&lt;br/&gt; &lt;/script&gt;&lt;br/&gt; &lt;?php }?&gt; &lt;/code&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;I  hope you found this tutorial useful. Feel free to play around with the  code and change the design or place of the message to suit your needs.  You can even create a Lightbox-like version of the message with an “OK”  dialog box that darkens the screen, if the message is important.  Furthermore, with some extra PHP coding you can also save the value(s)  to a database or an external file if you want! Have any questions? Pop  them in the comments section!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=coDP0ZCeAO0:UjC3wGBO-9I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=coDP0ZCeAO0:UjC3wGBO-9I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=coDP0ZCeAO0:UjC3wGBO-9I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=coDP0ZCeAO0:UjC3wGBO-9I:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=coDP0ZCeAO0:UjC3wGBO-9I:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=coDP0ZCeAO0:UjC3wGBO-9I:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/coDP0ZCeAO0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/coDP0ZCeAO0/17713713792</link><guid isPermaLink="false">http://sicanstudios.com/post/17713713792</guid><pubDate>Thu, 16 Feb 2012 18:00:00 +0200</pubDate><category>html</category><category>css</category><category>javascript</category><category>coding</category><category>tutorial</category><feedburner:origLink>http://sicanstudios.com/post/17713713792</feedburner:origLink></item><item><title>Hide and show a div</title><description>&lt;p&gt;Hiding and showing a div in HTML is really simple to do. In this  tutorial I will show you how to do that using only CSS. I will also show  you another version of hiding and showing divs using jQuery.  Furthermore, we will take the necessary precautions if Javascript is  disabled. Let’s dive in!&lt;/p&gt;
&lt;h3 class="title"&gt;Hide and show a div with CSS&lt;/h3&gt;
&lt;p&gt;The first method, involves using only CSS. We will use the CSS pseudo-class &lt;span class="code"&gt;:hover&lt;/span&gt;.  The idea is that we want to hide the div once the user has moved their  mouse over it and display something else instead. This effect is  commonly used when you have a subscribe button. It saves space, without  compromising the necessary information for the user.&lt;/p&gt;
&lt;h3 class="title"&gt;HTML Code&lt;/h3&gt;
&lt;p&gt;First we need to add the HTML. We create a div, &lt;span class="code"&gt;.subscribe&lt;/span&gt;; inside it we add another div and a form, which is hidden at first. Once the user moves their mouse over the &lt;span class="code"&gt;.subscribe&lt;/span&gt; div, the inside div is hidden and the form is displayed. The form was made to work with &lt;a href="http://feedburner.google.com/" rel="nofollow"&gt;FeedBurner&lt;/a&gt;.  You can replace the form with whatever you want. If you want the form  to work for your account, replace “sicanstudios” from the &lt;span class="code"&gt;…a/mailverify?uri=”xxxxx”&lt;/span&gt; and &lt;span class="code"&gt;value=”xxxxx”&lt;/span&gt; with your FeedBurner URI.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;div class="subscribe"&gt;&lt;br/&gt; &lt;div&gt;Subscribe to this website&lt;/div&gt;&lt;br/&gt; &lt;form action="http://feedburner.google.com/fb/a/mailverify"  method="post" target="popupwindow"  onsubmit="window.open('http://feedburner.google.com/fb/a/mailverify?uri=sicanstudios',  'popupwindow', 'scrollbars=yes,width=550,height=520');return true" &gt;&lt;br/&gt; &lt;p&gt;&lt;br/&gt; &lt;input type="text" class="email_field" name="email" size="18" value="E-mail address" /&gt;&lt;br/&gt; &lt;input type="hidden" value="sicanstudios" name="uri" /&gt;&lt;br/&gt; &lt;input type="hidden" name="loc" value="en_US" /&gt;&lt;br/&gt; &lt;input class="email_btn" name="submit" type="submit" value="Done" /&gt;&lt;br/&gt; &lt;/p&gt;&lt;br/&gt; &lt;/form&gt;&lt;br/&gt; &lt;/div&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;CSS Code&lt;/h3&gt;
&lt;p&gt;Next we have to add some CSS. By default, the elements that will be hidden are: a)the &lt;span class="code"&gt;form&lt;/span&gt; and b)the inside div (once the &lt;span class="code"&gt;.subscribe&lt;/span&gt; div is hovered). To affect something with CSS you add “ &lt;span class="code"&gt;&gt;&lt;/span&gt; ” at the end of the class. For example: &lt;span class="code"&gt;.this_class&gt;affects_this&lt;/span&gt;. The one class you are changing must be a child of the parent class (in the previous example &lt;span class="code"&gt;affects_this&lt;/span&gt; is the child of &lt;span class="code"&gt;.this_class&lt;/span&gt;). The second CSS statement, tells the browser to show the form once the &lt;span class="code"&gt;.subscribe&lt;/span&gt; div is hovered.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;form, .subscribe:hover&gt;div {display:none;}&lt;br/&gt;.subscribe:hover&gt;form {display:block;}&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;That’s all you need to make this work. Now, it’s up to you; style it and make it look sexy with some cool CSS3 coding.&lt;/p&gt;
&lt;h3 class="title"&gt;Hide and show a div with JavaScript&lt;/h3&gt;
&lt;p&gt;In this second example, we hide and show a div using a JavaScript library, called &lt;a href="http://jquery.com/" rel="nofollow"&gt;jQuery&lt;/a&gt;.  This time, we won’t hide the div when it’s hovered but when it’s  clicked. By default the divs will be hidden; once they are clicked, they  become visible, displaying the text inside. Also, we want each div to  be “independent“ from one another. Meaning, if I click on the first div  to see its contents, the other divs should remain hidden.&lt;/p&gt;
&lt;h3 class="title"&gt;HTML Code&lt;/h3&gt;
&lt;p&gt;To  get this to work, we will add two divs, one inside the other. The outer  div will always be displayed, along with a title wrapped inside an &lt;span class="code"&gt;h3&lt;/span&gt; heading. The inner div will be hidden by default and once the outer div  is clicked, the inner div will be shown. Feel free to alter the code to  your needs. For example you can hide the divs completely once they are  clicked, or you can add a button to hide them.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;div class="text_container"&gt;&lt;br/&gt; &lt;h3&gt;This is a third title...&lt;/h3&gt;&lt;br/&gt; &lt;div&gt;&lt;!--div that we want to hide--&gt;&lt;br/&gt; &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam  blandit, eros id adipiscing congue, lorem ante sagittis elit, id  malesuada nibh est sed orci&lt;/p&gt;&lt;br/&gt; &lt;/div&gt;&lt;br/&gt; &lt;/div&gt;&lt;!--end div_text_container--&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;CSS Code&lt;/h3&gt;
&lt;p&gt;In the CSS we will add two classes. One class, named &lt;span class="code"&gt;.hidden&lt;/span&gt;, will hide the element and the other named &lt;span class="code"&gt;.visible&lt;/span&gt; will display the element. Since we want to affect the div inside, we will be adding &lt;span class="code"&gt;&gt;div&lt;/span&gt;to the class. You can change it to whatever you want, for example &lt;span class="code"&gt;&gt;span&lt;/span&gt;. This will affect the &lt;span class="code"&gt;span&lt;/span&gt; element inside the outer div.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.hidden&gt;div {display:none;}&lt;br/&gt; .visible&gt;div {display:block;}&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;JavaScript Code&lt;/h3&gt;
&lt;p&gt;Up  until now, nothing happens. The divs are still visible and when you  click on them, nothing happens. For a good reason; if the user has  JavaScript disabled on their browser, they should still be able see and  read the content of the divs. You should always use JavaScript as an  enhancement and improve the browsing experience not degrade it.&lt;/p&gt;
&lt;p&gt;Now,  inside JavaScript we will hide the divs once the document has finished  loading. This will be our default state. We hide the divs by adding a  CSS class called &lt;span class="code"&gt;hidden&lt;/span&gt; to the outer div called &lt;span class="code"&gt;.text_container&lt;/span&gt;. This will trigger CSS to hide the inner div.&lt;/p&gt;
&lt;p&gt;Once the user has clicked the div we will check to see if the div has a class &lt;span class="code"&gt;hidden&lt;/span&gt; then we remove it and add the class &lt;span class="code"&gt;visible&lt;/span&gt; which will show the inner div. If it doesn’t have the &lt;span class="code"&gt;hidden&lt;/span&gt; class then it means that the inner div is visible; add a class &lt;span class="code"&gt;hidden&lt;/span&gt; to the outer div to hide the inner div. Don’t forget to call jQuery before adding the following script:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;script type="text/javascript"&gt;&lt;br/&gt; $(document).ready(function(){&lt;br/&gt; $('.text_container').addClass("hidden");&lt;br/&gt; $('.text_container').click(function() {&lt;br/&gt; var $this = $(this);&lt;br/&gt;&lt;br/&gt; if ($this.hasClass("hidden")) {&lt;br/&gt; $(this).removeClass("hidden").addClass("visible");&lt;br/&gt;&lt;br/&gt; } else {&lt;br/&gt; $(this).removeClass("visible").addClass("hidden");&lt;br/&gt; }&lt;br/&gt; });&lt;br/&gt; });&lt;br/&gt; &lt;/script&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;See  how simple it is to hide and show a div? As a farewell gift from me to  you, I will share with you another JS code. Following the same pattern  of this code you can manipulate CSS values from within JavaScript  directly, without having the need to add a class.&lt;/p&gt;
&lt;p&gt;You can alter many CSS values, for example the JS code below will hide the &lt;span class="code"&gt;.text_container&lt;/span&gt; element and change the font colour to red.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$('.text_container').css("display", "none");&lt;br/&gt; $('.text_container').css("color", "red");&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Use the code wisely. If you have any questions, ask them in the comments section below.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=H8FzYgBdebs:8IAbtDeBzCM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=H8FzYgBdebs:8IAbtDeBzCM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=H8FzYgBdebs:8IAbtDeBzCM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=H8FzYgBdebs:8IAbtDeBzCM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=H8FzYgBdebs:8IAbtDeBzCM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=H8FzYgBdebs:8IAbtDeBzCM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/H8FzYgBdebs" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/H8FzYgBdebs/17713617323</link><guid isPermaLink="false">http://sicanstudios.com/post/17713617323</guid><pubDate>Thu, 16 Feb 2012 17:57:03 +0200</pubDate><category>html</category><category>javascript</category><category>coding</category><category>tutorial</category><feedburner:origLink>http://sicanstudios.com/post/17713617323</feedburner:origLink></item><item><title>How to speed up your website</title><description>&lt;p&gt;Having a fast website is crucial nowadays. With the attention span of  the Internet users decreasing constantly, you need to have a fast  loading website. Go slow and you will lose any potential customer that  visits your website. Google is penalising slow websites as well. I know,  because I got “punished” almost a year ago; they stripped one page-rank  from this website — punishment continuing to these days. This factor:  website loading time, is a potential dealbreaker. So, let me show you  some methods of speeding up your website.&lt;/p&gt;
&lt;h3 class="title"&gt;Checking your speed&lt;/h3&gt;
&lt;p&gt;First,  we need to establish the current loading time of the website. To do  that, you need to download a plugin for your browser called &lt;a href="http://developer.yahoo.com/yslow/" rel="nofollow"&gt;YSlow&lt;/a&gt;.  After you installed Firebug, YSlow and restarted the browser, you  should have an icon in the bottom right corner of your browser. Click it  and run it on your website. Now, there is a catch. The website’s  loading time also depends on the client’s Internet speed. So, when I  refer to checking your speed I mean writing down the size of your  website.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lzhtekTmhj1r7a99l.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;Finished? Okay, let’s start reducing the loading time of your website. I’ll present the methods by each subject.&lt;/p&gt;
&lt;h3 class="title"&gt;Javascript&lt;/h3&gt;
&lt;p&gt;Remove  all unnecessary scripts and fancy effects that can be achieved using  PHP. For example, displaying your Twitter feed. You may argue that with  this way you load the server more. Yes, but it’s an insignificant amount  and I prefer it rather that overloading the client’s machine. By  removing scripts you also reduce the requests you make to the server to  fetch that script. So there you have it; win-win situation. Another  clever solution if your website is running with WordPress is to use IF  statements to load certain scripts. For example, there is no point in  loading that Fancybox script used to preview full size images if the  user isn’t on a post page. The code for that:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;?php if (  is_single()) echo '&lt;script type="text/javascript"  src="http://www.yourwebsite.com/javascript/fancybox.js"&gt;&lt;/script&gt;';?&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Place  your Javascript at the bottom of the page. The functionality of this is  to allow the page and the style of it to load completely before loading  the script with those fancy effects. The benefits are that your browser  doesn’t hang mid-air waiting for that script to load and then continue  loading the page.&lt;br/&gt; Make your Javascript files external. Keep the HTML  only for content. By doing that, the browser can cache the script file,  whereas having it inside the HTML would be loaded every time the HTML  file is requested. You get a faster website instantly!&lt;/p&gt;
&lt;p&gt;Combine  your Javascript files into one big file. The benefit is that you reduce  the script requests to one. This can be tricky though. Conflicts between  effects could appear. Start by creating a &lt;span class="code"&gt;.js&lt;/span&gt; file and inserting in it, one effect at a time. Test your website to  see if the effects work. If yes, continue adding the effects until you  are done. If one of the effects doesn’t work, you could try to alternate  places with another effect (place the one on top of the other). It goes  without saying that libraries such as jQuery should be at the top,  inside that massive JS file. Some tweaking to your Javascript code is  required. Generally it’s good to add each effect inside its own  function:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;$(function() {&lt;br/&gt; .&lt;br/&gt; .&lt;br/&gt; });&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Minify  your Javascript code. Minification is the practice of removing  unnecessary characters, such as spaces, from code to reduce its size. Go  here to &lt;a href="http://www.minifycss.com/css-compressor/" rel="nofollow" target="_blank"&gt;minify your CSS&lt;/a&gt; and here to &lt;a href="http://www.minifyjs.com/javascript-compressor/" rel="nofollow" target="_blank"&gt;minify your JS&lt;/a&gt;.  It produces an “ugly”, crushed version of your code, which you will  have a hard time editing. So, make sure you have the files backed up in  their original state. If you are using WordPress you can install &lt;a href="http://wordpress.org/extend/plugins/wp-minify/" rel="nofollow" target="_blank"&gt;this plugin&lt;/a&gt; or &lt;a href="http://wordpress.org/extend/plugins/w3-total-cache/" rel="nofollow" target="_blank"&gt;this one&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class="title"&gt;Images&lt;/h3&gt;
&lt;p&gt;Images  are a big timewaster. Use CSS3 to style your buttons and graphic  elements. You can simulate any Photoshop effect with CSS3. Don’t forget  that users on Internet Explorer cannot see CSS3 elements (IE 8 or  earlier); in the custom CSS file for my IE hacks I also add the image  versions of the design elements.&lt;/p&gt;
&lt;p&gt;Use CSS image sprites. This means  adding all the images that are used in your website inside one file. By  doing so, you minimise HTTP requests. Then, you can position each  design element, for example the logo, by using CSS code to move the  sprite image around:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.logo{&lt;br/&gt; background: url('./images/sprite.png') 50px 100px no-repeat;}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This technique should also be implemented when adding hovering effects on an element, a logo for example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.logo{&lt;br/&gt; background: url('./images/sprite.png') 50px 100px no-repeat;}&lt;br/&gt; .logo:hover{&lt;br/&gt; background: url('./images/sprite.png') 50px -100px no-repeat;}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lzhtdvzUtz1r7a99l.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;In  Photoshop, save your images for the “Web and Devices”  (Alt+Shift+Ctrl+S), not just selecting “save” or “save as”. This will  result in a much smaller sized (in &lt;span class="code"&gt;kB&lt;/span&gt;) image.  Also, crop your image to allow space only for the necessary elements;  don’t create a 500px by 500px image for a 100px square.&lt;/p&gt;
&lt;p&gt;Smush your images. Smushing your images removes unnecessary bytes from the files. A popular free service is &lt;a href="http://www.smushit.com/ysmush.it/" rel="nofollow" target="_blank"&gt;Smush.it&lt;/a&gt;. Also available as a &lt;a href="http://wordpress.org/extend/plugins/wp-smushit/" rel="nofollow" target="_blank"&gt;Wordpress plugin&lt;/a&gt;. Apart from the content images, don’t forget to smush your favicons and image sprites.&lt;/p&gt;
&lt;p&gt;Use  fewer images with your content. I know; they attract attention and  enhance the browsing experience. But they can also ruin it completely,  by never allowing the website to finish loading. I get pissed at people  who add images only for the sake of it; images without relevancy to the  content. On the other hand, images can be used as a traffic source.  Click to read &lt;a href="http://www.sicanstudios.com/5-easy-ways-to-increase-traffic-to-your-website/"&gt;how I managed to increase my traffic by 570% using images&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Do not resize images in HTML:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;img src="./images/large_500px_480px.jpg" width="100px" height="90px" alt="big image"/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Don’t  ever do that. Why? Because you’re forcing your users to download larger  files than they need, making thus your website slower. Your images will  look awful because browsers don’t do a very good job at resizing images  and resizing in the browser requires more time to render the page and  uses more of your viewer’s system resources and RAM.&lt;/p&gt;
&lt;h3 class="title"&gt;HTML and CSS&lt;/h3&gt;
&lt;p&gt;Learn how to code properly. Do not use many selectors:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;#header #menu .submenu ul li ul li.hidden{font-size:20px;}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The above code is the same as the below:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;li.hidden{font-size:20px;}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Another way to reduce your CSS file size is to use smart coding. For example this is not smart:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;#footer{margin:10px 20px 10px 20px;}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The same can be achieved with the following code:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;#footer{margin:10px 20px;};&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;There are many ways to write good code; I won’t go into detail in this post; if you want, read &lt;a href="http://www.smashingmagazine.com/2007/05/10/70-expert-ideas-for-better-css-coding/" rel="nofollow"&gt;more here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Validate &lt;a href="http://validator.w3.org/" rel="nofollow" target="_blank"&gt;your HTML&lt;/a&gt; and &lt;a href="http://jigsaw.w3.org/css-validator/" rel="nofollow" target="_blank"&gt;CSS code&lt;/a&gt;. If your CSS code doesn’t validate because of the &lt;span class="code"&gt;“-moz-opacity”&lt;/span&gt; or the &lt;span class="code"&gt;“-moz-box-shadow”&lt;/span&gt; it’s OK. But often you simply forget a closing bracket; this can lead  to page rendering issues later on. And don’t assume that because the  website loads fine on your machine to load fine on a different one.  Reduce those errors.&lt;/p&gt;
&lt;h3 class="title"&gt;Other Savings&lt;/h3&gt;
&lt;p&gt;Compress your files with &lt;span class="code"&gt;gzip&lt;/span&gt;. Learn &lt;a href="http://pixeljar.net/2009/06/06/how-to-gzip-your-site-components/" rel="nofollow" target="_blank"&gt;how here&lt;/a&gt;. If you are using Wordpress, the plugins mentioned earlier in the minify section, should do that for you automatically.&lt;/p&gt;
&lt;p&gt;Remove entity tags. By removing the &lt;span class="code"&gt;ETag&lt;/span&gt; you disable the ability of the browser to validate the files, relying  on your expires headers and cache control. Add the following code in  your .htaccess file:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Header unset ETag&lt;br/&gt; FileETag None&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Speaking of .htacces files, do you know how to remove extensions (.php, .html) from pages? If no, check out my tutorial &lt;a href="http://www.sicanstudios.com/how-to-remove-php-html-htm-extensions-with-htaccess/"&gt;How to remove .php, .html, .htm extensions with .htaccess&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Remove iFrames. The Facebook like button at the top of this page, above the title is costing me around &lt;span class="code"&gt;10KB&lt;/span&gt; in size, increasing the page’s loading time. Is it worth it? Why not  just replace it with a simple text link? Speaking of which, did you  click it yet? :p&lt;/p&gt;
&lt;p&gt;If you are using WordPress, utilise the least  amount of plugins. Installing many plugins, heavily overloads the  database making it slower. Also, databases should be optimised at least  once a month. A plugin for WordPress that does that (ironic isn’t it?)  is &lt;a href="http://wordpress.org/extend/plugins/wp-dbmanager/" rel="nofollow" target="_blank"&gt;this one&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Get  a good hosting server. Especially if you get sudden spikes of traffic  from Digg, StumbleUpon, etc. These spikes can crash your server. If you  are getting lots of traffic regularly, consider dedicated servers on  which only your website is hosted (more expensive). A good company is &lt;a href="http://www.linode.com/?r=022e0b15f9ca01f47d97d85cdc11576df36c2b25" rel="nofollow" target="_blank"&gt;Linode&lt;/a&gt; which hosts a plethora of popular websites without problem.&lt;/p&gt;
&lt;p&gt;Use  a Content Delivery Network (CDN). A Content Delivery Network is a  system of computers containing copies of data. In short, the user  accesses a copy of your website near them, as opposed to all users  accessing the same central server, creating bottlenecks near that  server. Check out &lt;a href="https://www.cloudflare.com/" rel="nofollow" target="_blank"&gt;CloudFlare&lt;/a&gt;. Basic account is FREE!&lt;/p&gt;
&lt;p&gt;Consider hosting your comments on external platforms like &lt;a href="http://disqus.com/" rel="nofollow" target="_blank"&gt;Disqus&lt;/a&gt;.  In doing so, the server is doesn’t have to save, process and access  your comments every time the page is loaded. Furthermore, spam comments  are automatically checked by them; another plus. &lt;a href="http://www.engadget.com/" rel="nofollow" target="_blank"&gt;Engadget&lt;/a&gt; and many others use it, why not you?&lt;/p&gt;
&lt;h3 class="title"&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Having  a fast website is very important. Now you know how. I presented you  with many methods of speeding up your website. Go ahead and use them on  your website, today!&lt;br/&gt; This list is on-going; meaning, I will add even more methods later.&lt;/p&gt;
&lt;p&gt;But in the meantime, do you have any tips on how to speed up a website? Comment below!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=dgd9jzM6djY:SxQabB_Sn_k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=dgd9jzM6djY:SxQabB_Sn_k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=dgd9jzM6djY:SxQabB_Sn_k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=dgd9jzM6djY:SxQabB_Sn_k:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=dgd9jzM6djY:SxQabB_Sn_k:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=dgd9jzM6djY:SxQabB_Sn_k:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/dgd9jzM6djY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/dgd9jzM6djY/17713523375</link><guid isPermaLink="false">http://sicanstudios.com/post/17713523375</guid><pubDate>Thu, 16 Feb 2012 17:54:00 +0200</pubDate><category>website</category><category>guide</category><category>tutorial</category><feedburner:origLink>http://sicanstudios.com/post/17713523375</feedburner:origLink></item><item><title>Top 5 reasons why you shouldn't start creating websites</title><description>&lt;p&gt;The Internet is expanding; that’s a no-brainer. And with it, the  market and the business opportunities. More than ever, I see ads  claiming to show how to make shitloads of money from working at home via  the Internet. One way to do that is to work as a freelance website  designer/developer. This post is intended to expose the risks of that  and what I’ve learned from working in the field.&lt;/p&gt;
&lt;p&gt;In this post, I assume you will be dealing with both the design and the development of the websites yourself, as I have.&lt;/p&gt;
&lt;h3 class="title"&gt;Reason #1 – It takes time&lt;/h3&gt;
&lt;p&gt;It  takes a long time to master the skills of HTML and CSS. Yes, you may  learn them in a flash (they’re easy languages to learn) but it takes  time to master them. Don’t forget that you also have to learn how to  design a website, how to compose the elements on the page, what colours  to use, what fonts to use, what backgrounds, and the list is endless. At  the beginning it is very hard to get it right. With time, practice and  experience, you train your eye to see these things which help you create  “better” websites and faster too. Not to mention that you can skyrocket  your hourly rate.&lt;/p&gt;
&lt;p&gt;But, the constant improvement and growth of  technology makes it even harder for you to keep up. The browsers  constantly change, new ones also emerge. So, you are happy that you  finished the website and you go to test your website on all these  browsers; but you discover that in one browser (hint) your website isn’t  displaying properly. On you go in search for hacks and solutions.  Mobile phones are entering the game now, so you also have to learn how  to optimise your website for mobile phones — small file sizes for fast  loading times, stripped design, keep in mind the small screen and more… —  HTML5 along with CSS3 are entering the arena. Go find out more about  these.&lt;/p&gt;
&lt;p&gt;More companies and individuals now want to update their  content by themselves. They demand that you use a CMS (Content  Management System) to develop their website on. On you go to learn PHP,  MySQL, how to create a theme, what CMS to use, how to install it etc.  Because of the trend, companies now want to be active on social media,  so they request from you to create them a customised page for their  Facebook Fan page on which visitors will land first. They read that this  would help them convey their brand better and engage more with their  visitors, increasing thus their fan base. On you go to learn FBML  (Facebook Markup Language). Lastly they insist in displaying their  Twitter updates on their website. On you go in search for ways to do  that.&lt;/p&gt;
&lt;p&gt;There’s a strong possibility that by the time you’ve learned  and mastered all those skills, the trends would have changed. So, you  are now left behind, watching helplessly how others who ride the “trend  wave” get your clients.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lzht95D3xW1r7a99l.gif"/&gt;&lt;/p&gt;
&lt;p class="sub_photo"&gt;&lt;em&gt;How websites looked in 1999 (Photo from: &lt;a href="http://www.pixelpunk.com/i/web-med-democrat.gif" rel="nofollow" target="_blank"&gt;PixelPunk&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;There  is a hidden pitfall, which goes by: “I don’t follow trends”. Well  buddy, as far as I’m concerned, you can design your website like it’s  1999 but don’t expect to get any clients… Maybe your daddy will get them  for you.&lt;/p&gt;
&lt;h3 class="title"&gt;Reason #2 – The competition&lt;/h3&gt;
&lt;p&gt;I’m  telling you up front; the competition is fierce! I often feel that the  Internet is filled with website designers and developers! Wherever I  turn my head —digitally of course— there is a dude or a dudette offering  website design services. Now, whether they know how to design and  develop a website is irrelevant. Yes, completely irrelevant. Because  there are many clients, hell I believe the majority of them, who want a  website created for the minimum amount of money. It doesn’t matter if  it’s going to cost them more in the long run. They just don’t see the  forest behind the tree. And to share with you a trade secret: avoid  clients that say they don’t have the budget! They’re a pain to work  with. I figured a way to repel those timewasters. In my contact form, I  added a “what’s your budget” option if the message is work related.  Problem solved!&lt;/p&gt;
&lt;p&gt;And get this: there is always going to be someone  who can do the job, faster, or cheaper or even better than you. This  applies to any business. But in the website creation business, the  amount of people who can do it faster and cheaper than you is infinitely  larger!&lt;/p&gt;
&lt;p&gt;Frankly, it is too crowded and we don’t need another one  “joining us”! Don’t get me wrong, join the website development business,  but don’t say I didn’t warn you and don’t expect to become a  millionaire…&lt;/p&gt;
&lt;h3 class="title"&gt;Reason #3 – There are no standards&lt;/h3&gt;
&lt;p&gt;There  are certain standards and quality controls that you need to follow when  creating a laptop for example. From the client side, there is also a  standard of price versus quality. You know that if you want to buy a  good laptop you are required to spend something in the range of $600 –  $1000. If you want a “top” laptop you will go for an Apple MacBook or an  Alienware and expect to pay somewhere in the range of $1200 – $7000. My  point is that you can estimate your value for money. Furthermore, you  can even consult with the plethora of websites that review laptops and  choose the best laptop based on their tests, maximising your value for  money and minimising risk.&lt;/p&gt;
&lt;p&gt;This kind of standard, the price you  need to pay for a quality product, is inexistent with websites. You can  pay something from $0 (&lt;a href="http://carbonmade.com/" rel="nofollow" target="_blank"&gt;carbonmade.com&lt;/a&gt;, &lt;a href="http://www.webs.com/" rel="nofollow" target="_blank"&gt;webs.com&lt;/a&gt;, &lt;a href="http://www.freewebsites.com/" rel="nofollow" target="_blank"&gt;freewebsites.com&lt;/a&gt;, &lt;a href="http://www.wix.com/" rel="nofollow" target="_blank"&gt;wix.com&lt;/a&gt;) to $45 – $159 (PSD to HTML: &lt;a href="http://www.xhtmlchop.com/" rel="nofollow" target="_blank"&gt;xhtmlchop.com&lt;/a&gt;, &lt;a href="http://www.psd2html.com/" rel="nofollow" target="_blank"&gt;psd2html.com&lt;/a&gt;)  to $15000 (for a full e-commerce hand crafted, custom made with extra  benefits). There is no price point limit! Apart from this being  confusing to your clients, it is also confusing to you, the developer.  You don’t know how much to charge; hell you aren’t even sure if you  should charge by the hour or by the project!&lt;/p&gt;
&lt;p&gt;To expand an  aforementioned point: quality controls. There aren’t any in the  websites’ world. You can create a website without a &lt;span class="code"&gt;DOCTYPE&lt;/span&gt; as long as it renders, it’s OK; now, gimme the money! No matter how  crappy the coding is if you deliver, the client won’t say no. That is  until they realise that blind users can’t browse their website or that  older versions of browsers don’t even render their website. Too late for  that though; the bird has left the nest.&lt;/p&gt;
&lt;p&gt;There is another  possibility that the client could be well informed and demand from you  to ensure that the website renders in other browsers, deals with long  loading times, has a mobile version, has a SEO thought construction,  improves conversion rates, and many more. This is what separates the  professionals from the amateurs. Here is where true professionals can  shine. The downside is that there aren’t many clients like that. But  this type of client is a charm to work with. Yes, they may be demanding  and limiting your creative spirit, but they know exactly what they want,  making your life easier. And if you CAN deliver — or even, over-deliver  — you have nothing to worry about!&lt;/p&gt;
&lt;p&gt;Want to join this chaotic business? Be my guest! But again, don’t say I didn’t warn you!&lt;/p&gt;
&lt;h3 class="title"&gt;Reason #4 – The Client&lt;/h3&gt;
&lt;p&gt;This  one is tied in with the previous reason, the lack of standards. Because  of a utopian perception of things, the client assumes that they can ask  for the moon and the stars and be given to them. Moreover, they make  that outrageous request and offer to repay you with an average car. As  soon as you say that it’s impossible and that you need at least three  average cars to fulfill their request, they threaten to go to someone  else. Now it depends on you; if you are low on cash you will suck it up  and finish the job, whereas if you are a kick-ass person &amp;mdash a  starving kick-ass person or not, it doesn’t matter &amp;mdash you will  show them the finger and move on. There is one asset you need to improve  in this kind of business: dealing with clients. Sure, bad clients exist  anywhere but if you join this business you will discover that there is  no shortage of them here.&lt;/p&gt;
&lt;h3 class="title"&gt;Reason #5 – It can get lonely&lt;/h3&gt;
&lt;p&gt;Being  a one man army, jack of all trades can become tiresome at some point.  Working infinite hours in front of a computer (developer, designer),  dealing with money (accountant), dealing with problems (IT support),  dealing with clients (secretary), etc. can exhaust you in no time. As  you can see, you need to develop many qualities and have strong  character. There won’t be anyone behind you (or “above” you) checking to  see if you’ve done any work. Not to mention that your work/life balance  will be disrupted. But if you are like me and realised that you can get  more done by eliminating distractions such as coffee breaks, telephone  interruptions, meetings, colleagues, then this profession might be worth  another look.&lt;/p&gt;
&lt;p&gt;That is in short, my experience with freelancing.  If you’d like to “join us” and want to learn more on freelancing, where  to get started, etc. ask me your questions in the comments section  below.&lt;/p&gt;
&lt;p&gt;Are you a freelancer? Do you intend to becoming one? Comment below!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=9G0X86hCMhU:w20SeddFXMs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=9G0X86hCMhU:w20SeddFXMs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=9G0X86hCMhU:w20SeddFXMs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=9G0X86hCMhU:w20SeddFXMs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=9G0X86hCMhU:w20SeddFXMs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=9G0X86hCMhU:w20SeddFXMs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/9G0X86hCMhU" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/9G0X86hCMhU/17713379751</link><guid isPermaLink="false">http://sicanstudios.com/post/17713379751</guid><pubDate>Thu, 16 Feb 2012 17:49:00 +0200</pubDate><category>website</category><category>article</category><category>freelance</category><category>advice</category><feedburner:origLink>http://sicanstudios.com/post/17713379751</feedburner:origLink></item><item><title>Display different content depending on the category in WordPress</title><description>&lt;p&gt;In this tutorial I’ll explain how to take your WordPress theme to a  new level and detach it from the typical blog type template. Basically,  we’ll be displaying different content depending on the category the post  is in. By mastering this technique, the possibilities are trully  endless.&lt;/p&gt;
&lt;h3 class="title"&gt;Customising content&lt;/h3&gt;
&lt;p&gt;Using &lt;a href="http://wordpress.org/" rel="nofollow" title="WordPress" target="_blank"&gt;WordPress&lt;/a&gt; as a CMS is very “in” nowadays. I’ll be transferring all my websites to  WordPress in the following months as it enables hassle free maintenance  and makes updating easy. You can do so much customising within  WordPress, such as adding custom fields, displaying different styles  (CSS) for each category, picking random posts, displaying custom content  to search engine visitors, and some wackier stuff such as displaying  all untagged posts, displaying different content depending on day,  customising the dashboard and many, many more!&lt;/p&gt;
&lt;p&gt;In this tutorial we’ll focus on displaying different content for each category.&lt;/p&gt;
&lt;h3 class="title"&gt;First Method&lt;/h3&gt;
&lt;p&gt;For this tutorial we’ll assume that we have two categories that we want to customise: &lt;em&gt;contact&lt;/em&gt; and &lt;em&gt;news&lt;/em&gt; and that you are using WordPress 2.9 or newer (if you aren’t, use the &lt;em&gt;second method&lt;/em&gt; explained below).&lt;/p&gt;
&lt;p&gt;First, go in your template folder (located inside &lt;span class="code"&gt;wordpress_root/wp-content/themes/&lt;/span&gt;) and create two PHP files called:&lt;br/&gt;&lt;span class="code"&gt;category-contact.php&lt;/span&gt; and &lt;span class="code"&gt;category-news.php&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;By default, the template hierarchy within WordPress will select the first file that matches the following list:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;&lt;span class="code"&gt;category-slug.php &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="code"&gt;category-ID.php &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="code"&gt;category.php &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="code"&gt;archive.php &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="code"&gt;index.php&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;So if you try to view the &lt;em&gt;contact&lt;/em&gt; of &lt;em&gt;news&lt;/em&gt; category now, it will show a blank page. That’s it basically! You can  now, go inside each category’s PHP file and add whatever you want  inside; the default template’s PHP will be bypassed.&lt;/p&gt;
&lt;p&gt;What if you have a dozen or so categories, do you have to create a dozen of PHP files with the categories names? No!&lt;/p&gt;
&lt;p&gt;You just add the default content that you want to be displayed on most categories within the &lt;em&gt;archive.php&lt;/em&gt; page and create only PHP files for the categories you want to customise. Or, you can do it by using the &lt;em&gt;second method&lt;/em&gt; explained below.&lt;/p&gt;
&lt;h3 class="title"&gt;Second Method&lt;/h3&gt;
&lt;p&gt;The second method is to create two PHP files for the two categories we want to edit, place them inside the theme and name them:&lt;br/&gt;&lt;br/&gt;&lt;span class="code"&gt;category_contact.php&lt;/span&gt;&lt;br/&gt;&lt;span class="code"&gt;category_news.php&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Next, create another PHP file and name it &lt;br/&gt;&lt;br/&gt;&lt;span class="code"&gt;category_other.php&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;This will be the alternative content to be displayed when the visitor selects neither the &lt;em&gt;contact&lt;/em&gt; nor the &lt;em&gt;news&lt;/em&gt; category.&lt;/p&gt;
&lt;p&gt;Now, you go inside the &lt;em&gt;archive.php&lt;/em&gt; page and delete everything that’s inside. Add the following code:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;?php&lt;br/&gt; if (is_category('contact')) {include (TEMPLATEPATH . '/category_contact.php');&lt;br/&gt; } elseif (is_category('news')) {include (TEMPLATEPATH . '/category_news.php');&lt;br/&gt; } else {include (TEMPLATEPATH . '/category_other.php');&lt;br/&gt; } ?&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;So we’re basically saying, if the category selected is &lt;em&gt;contact&lt;/em&gt;, display the &lt;span class="code"&gt;category_contact.php&lt;/span&gt;. If the category selected is &lt;em&gt;news&lt;/em&gt;, display the &lt;span class="code"&gt;category_news.php&lt;/span&gt;. If none of the &lt;em&gt;ifs&lt;/em&gt; are true, then display the &lt;span class="code"&gt;category_other.php&lt;/span&gt;. Simple and very efficient!&lt;/p&gt;
&lt;h3 class="title"&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;The same principle can be applied to the &lt;em&gt;posts template&lt;/em&gt;.  Say that you have a post which you want to display differently, add a  gallery at the end for example. You can apply the same idea from the  second method (haven’t tried it with the first method).&lt;/p&gt;
&lt;p&gt;I hope you understood the concept!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=qMdd8GpUXlQ:ypsXaAs-koQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=qMdd8GpUXlQ:ypsXaAs-koQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=qMdd8GpUXlQ:ypsXaAs-koQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=qMdd8GpUXlQ:ypsXaAs-koQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=qMdd8GpUXlQ:ypsXaAs-koQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=qMdd8GpUXlQ:ypsXaAs-koQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/qMdd8GpUXlQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/qMdd8GpUXlQ/17713268037</link><guid isPermaLink="false">http://sicanstudios.com/post/17713268037</guid><pubDate>Thu, 16 Feb 2012 17:45:00 +0200</pubDate><category>wordpress</category><category>coding</category><category>tutorial</category><category>php</category><feedburner:origLink>http://sicanstudios.com/post/17713268037</feedburner:origLink></item><item><title>How to remove .php, .html, .htm extensions with .htaccess</title><description>&lt;p&gt;I recently wanted to remove the extensions from my website, to make  the URLs more user friendly and search engine friendly as well. I  stumbled over how to remove the .php extension from a PHP page. What  about .html? I wanted to remove those as well! In this tutorial I’ll  show you how to do it easily editing the .htaccess file.&lt;/p&gt;
&lt;h3 class="title"&gt;What is the .htaccess file&lt;/h3&gt;
&lt;p&gt;The .htaccess file is a simple &lt;span class="code"&gt;ASCII&lt;/span&gt; file that you would create with a text editor like Notepad. It provides  a way to make configuration changes on a per-directory basis.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Note that &lt;span class="code"&gt;.htaccess&lt;/span&gt; is the file’s extension. It isn’t &lt;span class="code"&gt;file.htaccess&lt;/span&gt;, it is simply &lt;span class="code"&gt;.htaccess&lt;/span&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;.htaccess  files affect the directory they are placed in and all sub-directories.  For example if there is one .htaccess file located in your root  directory (&lt;span class="code"&gt;yoursite.com&lt;/span&gt;), it would affect &lt;span class="code"&gt;yoursite.com/content/&lt;/span&gt;, &lt;span class="code"&gt;yoursite.com/content/images/&lt;/span&gt; etc.&lt;/p&gt;
&lt;p&gt;It  is important to remember that this can be prevented &amp;mdash if, for  example, you did not want certain htaccess commands to affect a specific  directory — by placing a new htaccess file within the directory you  don’t want affected with the changes, and removing the specific  command(s) from the new htaccess file that you do not want affecting  this directory.&lt;/p&gt;
&lt;h3 class="title"&gt;Features&lt;/h3&gt;
&lt;p&gt;With an .htaccess file you can:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Redirect the user to different page&lt;/li&gt;
&lt;li&gt;Password protect a specific directory&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.sicanstudios.com/block-an-ip-address-from-website/"&gt;Block users by IP (Check out my tutorial)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Preventing hot linking of your images&lt;/li&gt;
&lt;li&gt;Rewrite URIs&lt;/li&gt;
&lt;li&gt;Specify your own Error Documents&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;In this tutorial we’ll be focusing only on rewriting URIs.&lt;/p&gt;
&lt;h3 class="title"&gt;Removing Extensions&lt;/h3&gt;
&lt;p&gt;To remove the .php extension from a PHP file for example &lt;span class="code"&gt;yoursite.com/wallpaper.php&lt;/span&gt; to &lt;span class="code"&gt;yoursite.com/wallpaper&lt;/span&gt; you have to add the following code inside the .htaccess file:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;RewriteEngine On&lt;br/&gt; RewriteCond %{REQUEST_FILENAME} !-f&lt;br/&gt; RewriteRule ^([^\.]+)$ $1.php [NC,L]&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If you want to remove the .html extension from a html file for example &lt;span class="code"&gt;yoursite.com/wallpaper.html&lt;/span&gt; to &lt;span class="code"&gt;yoursite.com/wallpaper&lt;/span&gt; you simply have to alter the code above to match the filename:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;RewriteRule ^([^\.]+)$ $1.html [NC,L]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;That’s it! You can now link pages without needing to add the extension of the page. For example:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;a href="http://whatever.com/wallpaper" title="wallpaper"&gt;wallpaper&lt;/a&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;Adding a trailing slash at the end&lt;/h3&gt;
&lt;p&gt;I  received many requests asking how to add a trailing slash at the end.  Ignore the first code and insert the following code. The first four  lines deal with the removal of the extension and the following, with the  addition of the trailing slash. Link to the HTML or PHP file as shown  above. Don’t forget to change the code if you want it applied to an HTML  file.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;RewriteEngine On&lt;br/&gt; RewriteCond %{REQUEST_FILENAME} !-f&lt;br/&gt; RewriteRule ^([^/]+)/$ $1.php&lt;br/&gt; RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php&lt;br/&gt; RewriteCond %{REQUEST_FILENAME} !-f&lt;br/&gt; RewriteCond %{REQUEST_FILENAME} !-d&lt;br/&gt; RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$&lt;br/&gt; RewriteRule (.*)$ /$1/ [R=301,L]&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;Removing both extensions&lt;/h3&gt;
&lt;p&gt;Some  people asked how you can remove the extension from both HTML and PHP  files. I haven’t got a coding solution for that. But, you could just  rename your HTML file from &lt;span class="code"&gt;.html&lt;/span&gt; or &lt;span class="code"&gt;.htm&lt;/span&gt; to &lt;span class="code"&gt;.php&lt;/span&gt; and add the code for removing the &lt;span class="code"&gt;.php&lt;/span&gt; extension&lt;/p&gt;
&lt;h3 class="title"&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;For those who are not so experienced with &lt;span class="code"&gt;.htaccess&lt;/span&gt; files there is an online tool for creating .htaccess files. It is pretty good for novice users and very easy to use. &lt;a href="http://www.htaccesseditor.com/en.shtml" rel="nofollow" title="htaccess Editor" target="_blank"&gt;Visit their website →&lt;/a&gt;.&lt;/p&gt;
&lt;h3 class="title"&gt;Updates&lt;/h3&gt;
&lt;p&gt;Attention GoDaddy users: In order to remove the extensions you need to enable &lt;span class="code"&gt;MultiViews&lt;/span&gt;. The code should look like this:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Options -MultiViews&lt;br/&gt; RewriteEngine On&lt;br/&gt; RewriteCond %{REQUEST_FILENAME} !-d&lt;br/&gt; RewriteCond %{REQUEST_FILENAME} !-f&lt;br/&gt; RewriteRule ^([^\.]+)$ $1.php [NC,L]&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=7Sp3aA1K3ME:Ky3BV2M-rxo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=7Sp3aA1K3ME:Ky3BV2M-rxo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=7Sp3aA1K3ME:Ky3BV2M-rxo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=7Sp3aA1K3ME:Ky3BV2M-rxo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=7Sp3aA1K3ME:Ky3BV2M-rxo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=7Sp3aA1K3ME:Ky3BV2M-rxo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/7Sp3aA1K3ME" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/7Sp3aA1K3ME/17713225206</link><guid isPermaLink="false">http://sicanstudios.com/post/17713225206</guid><pubDate>Thu, 16 Feb 2012 17:44:00 +0200</pubDate><category>url</category><category>htaccess</category><category>coding</category><category>html</category><category>php</category><category>tutorial</category><feedburner:origLink>http://sicanstudios.com/post/17713225206</feedburner:origLink></item><item><title>How to customise the title tag in WordPress</title><description>&lt;p&gt;In this tutorial I’ll demonstrate how using PHP, you can display  different title tags depending on what page you’re viewing. So, you can  display the tagline of the website on the homepage and on an individual  post display only the post’s title. This is an example of how you can  customise your Wordpress theme to suit your needs.&lt;/p&gt;
&lt;h3 class="title"&gt;Customise the title tag&lt;/h3&gt;
&lt;p&gt;Say that you are on the &lt;em&gt;home&lt;/em&gt; page and you want to display in the &lt;em&gt;title tag&lt;/em&gt; the name of the website and the description. Now say that you want when you navigate away from the &lt;em&gt;home&lt;/em&gt; page and move to the &lt;em&gt;category&lt;/em&gt; page, to display in the &lt;em&gt;title tag&lt;/em&gt; the category and the name of the website without the description.  Or when you are inside a &lt;em&gt;post&lt;/em&gt; page and you only want to display the name of the post with the name of the website. How do you do it?&lt;/p&gt;
&lt;h3 class="title"&gt;Step 1&lt;/h3&gt;
&lt;p&gt;Go to your &lt;em&gt;header.php&lt;/em&gt; file within your active template and locate the &lt;strong&gt;&lt;span class="code"&gt;&lt;title&gt;&lt;/title&gt;&lt;/span&gt; &lt;/strong&gt;tags. There are three types of pages we need to keep in mind:&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Post page&lt;/li&gt;
&lt;li&gt;Category page&lt;/li&gt;
&lt;li&gt;Simple page&lt;/li&gt;
&lt;li&gt;Home page&lt;/li&gt;
&lt;/ol&gt;&lt;h3 class="title"&gt;Post Page&lt;/h3&gt;
&lt;p&gt;We first need to check if the page is a &lt;em&gt;post page&lt;/em&gt;.  If it’s true, then display the title of the post and the name of the  blog (or whatever else you want to display). Below is the code you need  to add inside the title tag (unfinished code):&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;?php if ( is_single() ) { wp_title(' '); ?&gt; &amp;raquo; &lt;?php bloginfo('name'); ?&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This will display the title of the post &lt;span class="code"&gt;wp_title(’ ‘);&lt;/span&gt; followed by a “»” and the name of the blog &lt;span class="code"&gt;bloginfo(‘name’); &lt;/span&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;Category Page&lt;/h3&gt;
&lt;p&gt;If the page isn’t a &lt;em&gt;post page&lt;/em&gt;, we need to check if the page is a &lt;em&gt;category page&lt;/em&gt;.  If it is, then display the category title and the name of the blog (or  whatever else you want to display). Below is the code you need to add  inside the title tag:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;?php } elseif (is_category() ) {single_cat_title(); ?&gt; &amp;raquo; &lt;?php bloginfo('name'); ?&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This will display the title of the category &lt;span class="code"&gt;single_cat_title();&lt;/span&gt; followed by a “»” and the name of the blog &lt;span class="code"&gt;bloginfo(‘name’); &lt;/span&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;Simple Page&lt;/h3&gt;
&lt;p&gt;This  is the kind of page which you can add yourself inside WordPress. You  can have various pages, such as a “Contact” page, “Testimonials” page  etc. If the page isn’t a post or a category then it could be a page. If  it is, then display the page’s title and the name of the blog (or  whatever else you want to display). Below is the code you need to add  inside the title tag:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;?php } elseif (is_page() ) {wp_title(' '); ?&gt; &amp;raquo; &lt;?php bloginfo('name'); ?&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;This will display the title of the page &lt;span class="code"&gt;wp_title(’ ‘);&lt;/span&gt; followed by a “»” and the name of the blog &lt;span class="code"&gt;bloginfo(‘name’); &lt;/span&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;Home page&lt;/h3&gt;
&lt;p&gt;If the page is none of the above, then it means that it is a different kind of page, probably the &lt;em&gt;home page&lt;/em&gt;.  If so, display the name of the blog and the description of it (or  whatever else you want to display). Below is the code you need to add  inside the title tag:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;?php } else { ?&gt;&lt;?php bloginfo('name'); ?&gt; &amp;raquo; &lt;?php bloginfo('description'); ?&gt;&lt;?php }?&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;So the complete title tag should look like this:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&lt;title&gt;&lt;?php if ( is_single() ) { wp_title(' '); ?&gt;  &amp;raquo; &lt;?php bloginfo('name'); ?&gt;&lt;?php } elseif  (is_category() ) {single_cat_title(); ?&gt; &amp;raquo; &lt;?php  bloginfo('name');&lt;br/&gt; ?&gt;&lt;?php } elseif (is_page() ) {wp_title('  '); ?&gt; &amp;raquo; &lt;?php bloginfo('name'); ?&gt;&lt;?php } else {  ?&gt;&lt;?php bloginfo('name'); ?&gt; &amp;raquo; &lt;?php  bloginfo('description'); ?&gt;&lt;?php }?&gt;&lt;/title&gt;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Of  course, you could change the title tag to suit your needs; this is just  a demonstration of what can be achieved. The important message to take  away is that WordPress PHP snippets are very powerful and can be used in  many ways.&lt;/p&gt;
&lt;p&gt;Also, check out the &lt;a href="http://wpcandy.com/wp-content/uploads/WordPress-Help-Sheet.pdf" rel="nofollow" target="_blank"&gt;Wordpress help sheet&lt;/a&gt; to see more PHP snippets and codes helping you customise a Wordpress theme easily!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=jt_9g70Mw5c:OOgpT48oKHU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=jt_9g70Mw5c:OOgpT48oKHU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=jt_9g70Mw5c:OOgpT48oKHU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=jt_9g70Mw5c:OOgpT48oKHU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=jt_9g70Mw5c:OOgpT48oKHU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=jt_9g70Mw5c:OOgpT48oKHU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/jt_9g70Mw5c" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/jt_9g70Mw5c/17713152301</link><guid isPermaLink="false">http://sicanstudios.com/post/17713152301</guid><pubDate>Thu, 16 Feb 2012 17:41:51 +0200</pubDate><category>wordpress</category><category>coding</category><category>tutorial</category><feedburner:origLink>http://sicanstudios.com/post/17713152301</feedburner:origLink></item><item><title>The most important CSS trick you’ll ever need</title><description>&lt;p&gt;Having experienced the awful taste of designing layouts with tables when I developed a &lt;a href="http://www.myspace.com/infernocy" rel="nofollow" title="Inferno on MySpace"&gt;myspace&lt;/a&gt; design for my band, I learned how hard it is to develop a customised  myspace design. I would’ve been nowhere near to finishing the design in  time if I hadn’t made use of this CSS “trick”. Which is not really a  “trick”, it’s a clever use of a CSS property.&lt;/p&gt;
&lt;h3 class="title"&gt;CSS Trick&lt;/h3&gt;
&lt;p&gt;I’ll jump right into the subject. The most important CSS “trick” you’ll ever need is:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;border: solid 1px;&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;That’s it! All you need to add to an element is a border! Let’s see some applications for it.&lt;/p&gt;
&lt;h3 class="title"&gt;Aligning elements&lt;/h3&gt;
&lt;p&gt;Say  that you want to align two elements which are absolute positioned on  the screen. How do you align them perfectly? This is especially  important if you’re developing a grid based design (such as the &lt;a href="http://960.gs/" rel="nofollow" target="_blank"&gt;960&lt;/a&gt;)  The elements must be aligned spot on. Of course, there are widgets and  pre-made CSS templates to ensure that, but let’s do it by hand.&lt;/p&gt;
&lt;p&gt;For example, we want to bring the top container text down aligned with the other container.&lt;/p&gt;
&lt;p&gt;All  you have to do is add a border to both of the elements and move the top  container down to match the other container’s position. We move it  down, by adding value to the &lt;span class="code"&gt;top:&lt;/span&gt; property:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.text1{ position: absolute; top: XX; left: XX; }&lt;/code&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;Replacing text link with image&lt;/h3&gt;
&lt;p&gt;Let’s  say that you want to replace the boring text link with a button. The  button is an image and you want to make it clickable. You also want to  remove the text from the link, since the button image already includes  it. How do you do it?&lt;/p&gt;
&lt;p&gt;First, we need to replace the HTML link with the image button. To do so, we add to the link a class &lt;span class="code"&gt;link&lt;/span&gt; and add a background image to it. The background image is the button.  We then hide the HTML text from inside the link with the property &lt;span class="code"&gt;text-indent:-9999px&lt;/span&gt;. Finally, we add a some width and height to the link (preferably the same size as your button):&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.link {&lt;br/&gt; width: 223px;&lt;br/&gt; height: 73px;&lt;br/&gt; display: block;&lt;br/&gt; text-indent: -9999px;&lt;br/&gt; background-image: url('../images/image_button.jpg');&lt;br/&gt; background-repeat: no-repeat;&lt;br/&gt; margin: 50px 0 0 80px;&lt;br/&gt; }&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Next,  we just add a border and try to match the height and width with the  button. Furthermore, we also need to change the position of the button  with &lt;span class="code"&gt;margin:&lt;/span&gt; CSS property:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.link {&lt;br/&gt; border: solid 1px;width: 223px;&lt;br/&gt; height: 73px;&lt;br/&gt; display: block;&lt;br/&gt; text-indent: -9999px;&lt;br/&gt; background-image: url('../images/image_button.jpg');&lt;br/&gt; background-repeat: no-repeat;&lt;br/&gt; margin: 50px 0 0 80px;&lt;br/&gt; }&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3 class="title"&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;There  are many applications for this “trick”, you just need to explore them.  Hope you enjoyed the tutorial and the “trick” will be useful and you  will make it part of your web development process!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=88b1SxOFmuA:WiYeJ4JUUXM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=88b1SxOFmuA:WiYeJ4JUUXM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=88b1SxOFmuA:WiYeJ4JUUXM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=88b1SxOFmuA:WiYeJ4JUUXM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=88b1SxOFmuA:WiYeJ4JUUXM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=88b1SxOFmuA:WiYeJ4JUUXM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/88b1SxOFmuA" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/88b1SxOFmuA/17713086578</link><guid isPermaLink="false">http://sicanstudios.com/post/17713086578</guid><pubDate>Thu, 16 Feb 2012 17:39:46 +0200</pubDate><category>css</category><category>trick</category><category>coding</category><category>tutorial</category><feedburner:origLink>http://sicanstudios.com/post/17713086578</feedburner:origLink></item><item><title>Different content or CSS depending on iOS version</title><description>&lt;p&gt;I’m currently caught in the process of developing my first web  application. I’m optimising it to work and look great for the iPhone and  the iPad. The testing of the app is done on my iPhone 3G running iOS  4.2 — the last supported iOS for this device. I don’t have an iPad so I  thought of testing it using “online simulators”. Don’t bother…&lt;/p&gt;
&lt;p&gt;Aside  from resizing the browser size — operation you can do by yourself — and  adding an iPhone/iPad-like address bar, they’re rubbish at rendering  the page like a mobile browser. In order to test the app on other  devices, I went to my local “App Store” where they have all the latest  Apple devices running iOS 5. I was surprised to see that there were a  number of differences in the way the page rendered compared to my iPhone  3G.&lt;/p&gt;
&lt;h3&gt;New addition to my browser checks?&lt;/h3&gt;
&lt;p&gt;How a website is  displayed depends largely on the browser — Firefox, Chrome, Safari,  Opera, IE8, IE9. Although the number of differences in the way a website  is rendered is being reduced with every new version of a browser that  comes out — for example IE8 vs IE9 — it’s far from insignificant. So,  every once-in-a-while during the development stage I check the website  in other browsers and fix the inconsistencies — if possible.&lt;/p&gt;
&lt;p&gt;Now, I  believe, I have to add iOS (iOS4 vs iOS5) to that check. I won’t go  into all of the differences, but one of the biggest is that in iOS4 you  could not have fixed elements on the page and a scrolling &lt;span class="code"&gt;div&lt;/span&gt; — you had to use JavaScript alternatives, like &lt;a href="http://cubiq.org/iscroll-4" rel="nofollow" target="_blank"&gt;iScroll&lt;/a&gt;, to mimic the effect. This is fixed with iOS5: just add the following code and mobile rendering of that &lt;span class="code"&gt;div&lt;/span&gt; will be similar to a desktop browser:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-webkit-overflow-scrolling: touch;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Older versions of iOS&lt;/h3&gt;
&lt;p&gt;If  you don’t care about older versions of iOS and you only want to support  the latest version, that’s fine. But I think we’re not quite there yet.  It’s a similar situation to the “IE6”. A couple of years ago, even  though there were new versions of IE out there, we had to include hacks  into our code to make the website look as good as possible on IE6.  Slowly, as usage of that version dropped, we stopped supporting it  nowadays.&lt;/p&gt;
&lt;h3&gt;Add content or change CSS values depending on iOS&lt;/h3&gt;
&lt;p&gt;Nonetheless, in order to check for what iOS use the code below. I have setup my &lt;span class="code"&gt;HTML/CSS&lt;/span&gt; to cater for iOS4 and I make any changes for iOS5, using JavaScript.  The code below will check if the user is using iOS5 and will change the  CSS property &lt;span class="code"&gt;bottom&lt;/span&gt; to a value of 0 for the &lt;span class="code"&gt;footer&lt;/span&gt; of the page. Note that the value is in pixels. Moreover, it will append to the &lt;span class="code"&gt;body&lt;/span&gt; of the page some text or HTML element.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var iOS5 = navigator.userAgent.match(/OS 5_/i) != null;&lt;br/&gt; if (iOS5) {&lt;br/&gt; $("footer").css('bottom','0');&lt;br/&gt; $("body").append('&lt;h3&gt;This is for iOS5&lt;/h3&gt;');&lt;br/&gt; }&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;That’s  it basically! There are many uses for this script. One idea would be to  only load certain scripts — for example iScroll — in order for the  website to work great in older versions of iOS, if the user is on iOS4  or below. That will save some precious bandwidth for the user that views  your website using iOS5. Other uses not related to iOS would be to  cater for different browsers. For example in Firefox the web font looks  great, but in Chrome it needs some extra letter-spacing. Use the code  below:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;var chrome = navigator.userAgent.match(/Chrome/i) != null;&lt;br/&gt; if (chrome) {&lt;br/&gt; $("body").css('letter-spacing','0.5');&lt;br/&gt; }&lt;br/&gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Am  I forgetting something? Yes, I am: Android OS. If only I could get my  hands on an Android device and test my websites/apps on it. In the  meantime I can only trust my coding skills and hope that the page looks  at least “good”.&lt;/p&gt;
&lt;p&gt;As for my web app — details coming soon… You should &lt;a href="http://twitter.com/sican" rel="nofollow" target="_blank"&gt;follow me on Twitter&lt;/a&gt; for updates.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=7en-2yUkVhQ:umDbrjoqnTY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=7en-2yUkVhQ:umDbrjoqnTY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=7en-2yUkVhQ:umDbrjoqnTY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=7en-2yUkVhQ:umDbrjoqnTY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=7en-2yUkVhQ:umDbrjoqnTY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=7en-2yUkVhQ:umDbrjoqnTY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/7en-2yUkVhQ" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/7en-2yUkVhQ/17713985665</link><guid isPermaLink="false">http://sicanstudios.com/post/17713985665</guid><pubDate>Thu, 16 Feb 2012 12:51:00 +0200</pubDate><category>css</category><category>javascript</category><category>coding</category><category>tutorial</category><feedburner:origLink>http://sicanstudios.com/post/17713985665</feedburner:origLink></item><item><title>5 easy ways to increase traffic to your website by 570%</title><description>&lt;p&gt;In this tutorial I’m going to share with you my personal experience  of how I managed to go from an average of 94 unique visitors per day to an  average of 630 visitors per day and still growing. I divided the  tutorial in 5 easy steps for you to follow.&lt;/p&gt;
&lt;h2 class="title"&gt;Minimum Effort&lt;/h2&gt;
&lt;p&gt;Due  to the lack of free time I had, and still have, I did the bare minimum  to increase my website’s exposure. Such methods like advertising your  website, guest posting, performing A/B testing and studies, building  connections, link trading and many other didn’t apply to me. By applying  the &lt;a href="http://en.wikipedia.org/wiki/Pareto_principle" rel="nofollow" title="Pareto Principle on Wikipedia" target="_blank"&gt;Pareto principle&lt;/a&gt; I managed to get the biggest results by doing the bare minimum. In this tutorial, I’ll explain exactly the actions that I did.&lt;/p&gt;
&lt;h2 class="title"&gt;1. Start a blog&lt;/h2&gt;
&lt;p&gt;Nowadays,  starting a blog is a great way to connect with your readers, increase  your website’s visitors and get your name out in the blogosphere. That’s  why many companies have started a blog and they regularly post on it.  Furthermore, connecting the blog with some sort of social network  (Twitter or Facebook) is another trending solution which is being used  by many companies and individuals.&lt;/p&gt;
&lt;p&gt;With  time, search engines will index your blog’s content. As a result, more  and more visitors will be visiting your website after searching on  search engines topics that you’ve covered in your blog.&lt;/p&gt;
&lt;p&gt;When you’ve finally decided that you want to start a blog, the next step is to decide your &lt;a href="http://en.wikipedia.org/wiki/Niche_market" rel="nofollow" title="Niche on Wikipedia" target="_blank"&gt;niche&lt;/a&gt;. This is very important as it will help you create a name for yourself and be seen as an expert in that niche.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;For example Darren Rowse is known as a successful blogger blogging on &lt;/em&gt;&lt;a href="http://www.problogger.net/" rel="nofollow" title="ProBlogger" target="_blank"&gt;&lt;em&gt;Problogger&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Make sure that your blog is well designed, easy to use and navigate (add a search function), accessible (&lt;a href="http://validator.w3.org/" rel="nofollow" title="W3C Validator" target="_blank"&gt;validate&lt;/a&gt; your website and fix those HTML errors) and that you post frequently on  it. Schedule at least once per week to post on the blog and stick to  that schedule.&lt;/p&gt;
&lt;p&gt;And last, don’t start a blog just for the sake of it! People will notice! Write passionately and post great content!&lt;/p&gt;
&lt;p class="read_more"&gt;Read more:&lt;br/&gt;&lt;a href="http://www.problogger.net/archives/2005/02/05/what-is-a-blog/" rel="nofollow" target="_blank"&gt;What is a Blog?&lt;/a&gt;&lt;br/&gt;&lt;a href="http://weblogs.about.com/od/creatingablog/ht/CreateBlog5Step.htm" rel="nofollow" target="_blank"&gt;Create a Blog for Free in 4 Easy Steps&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.2createawebsite.com/traffic/create-free-blog.html" rel="nofollow" target="_blank"&gt;How to Create a Blog&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.problogger.net/archives/2006/02/14/blogging-for-beginners-2/" rel="nofollow" target="_blank"&gt;Blogging Tips for Beginners&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.problogger.net/archives/2005/12/20/18-lessons-ive-learnt-as-a-blogger/" rel="nofollow" target="_blank"&gt;18 Lessons I’ve Learned about Blogging&lt;/a&gt;&lt;br/&gt;&lt;a href="http://sethgodin.typepad.com/seths_blog/2006/06/how_to_get_traf.html" rel="nofollow" target="_blank"&gt;How to get traffic for your blog&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.stevepavlina.com/blog/2006/05/how-to-make-money-from-your-blog/" rel="nofollow" target="_blank"&gt;How to Make Money From Your Blog&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.webreference.com/authoring/bus_blog/" rel="nofollow" target="_blank"&gt;10 Big Benefits Of A Busy Business Blog&lt;/a&gt;&lt;br/&gt;&lt;a href="http://it.toolbox.com/blogs/elsua/10-great-strategic-benefits-of-blogging-9233" rel="nofollow" target="_blank"&gt;10 Great Strategic Benefits of Blogging&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.problogger.net/archives/2009/11/05/12-types-of-stories-you-can-tell-on-your-blog/" rel="nofollow" target="_blank"&gt;14 Types of Stories You Can Tell On Your Blog&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="title"&gt;2. Content is king, or is it?&lt;/h2&gt;
&lt;p&gt;Ensure  that you deliver high quality original content on your blog. Make your  content easy to understand and minimize grammatical or spelling errors.  By writing high quality posts, other people will link to your article,  resulting in your post and blog to be read by even more people.&lt;/p&gt;
&lt;p&gt;Based  on my experience, it usually creates a “snowball” effect which goes  like this: influential people read your post and if they like it, they  go and talk about it. Many people listen and now then they come to read  the post resulting in them going and talking about the blog post to  their audience and so on.&lt;/p&gt;
&lt;p&gt;But still, there are tons of great blogs with awesome content but they don’t get the deserved attention and nobody reads them.&lt;/p&gt;
&lt;p&gt;That’s  because you have to make sure that your content has solid foundations  where to sit on. Things like attractive web design, valid and accessible  code, being active in social media, fast website loading times, good  SEO (explained later on), big readership matters (created over time) and  can help your content market itself easier.&lt;/p&gt;
&lt;p&gt;Mack Collier writes great about this topic &lt;a href="http://moblogsmoproblems.blogspot.com/2009/06/idea-that-content-is-king-in-blogging.html" rel="nofollow" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p class="read_more"&gt;Read More:&lt;br/&gt;&lt;a href="http://www.problogger.net/archives/2005/12/30/tens-tips-for-writing-a-blog-post/" rel="nofollow" target="_blank"&gt;Ten Tips for writing a blog post&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.vanseodesign.com/web-design/post-formatting-and-design/" rel="nofollow" target="_blank"&gt;How to design your posts to guarantee they get read&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.problogger.net/archives/2009/11/01/how-to-write-a-blog-post-that%E2%80%99s-stickier-than-velcro/" rel="nofollow" target="_blank"&gt;How to Write a Blog Post That’s Stickier than Velcro&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.problogger.net/archives/2009/10/26/how-to-get-past-the-blank-page-by-creating-urgency/" rel="nofollow" target="_blank"&gt;How To Get Past The Blank Page By Creating Urgency&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.problogger.net/archives/2009/09/03/9-things-to-do-to-make-sure-your-next-blog-post-is-read-by-more-than-your-mom/" rel="nofollow" target="_blank"&gt;9 Things to Do To Make Sure Your Next Blog Post is Read by More than Your Mom&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.crazyengineers.com/forum/blogs/2174-how-write-successful-blog-must-read.html" rel="nofollow" target="_blank"&gt;How to Write a Successful Blog&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.searchengineguide.com/shawn-campbell/content-is-king-but-linking-is-queen.php" rel="nofollow" target="_blank"&gt;Content is King, but Linking is Queen&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="title"&gt;3. SEO&lt;/h2&gt;
&lt;p&gt;If you don’t know what it is, &lt;a href="http://en.wikipedia.org/wiki/Search_engine_optimization" rel="nofollow" title="SEO on Wikipedia" target="_blank"&gt;read about it here&lt;/a&gt;.  Although many disagree, for me this is one of the best methods I managed to increase my unique visitors.&lt;/p&gt;
&lt;p&gt;How? By improving my search engine rankings.&lt;/p&gt;
&lt;p&gt;So, how do you improve your search engine rankings?&lt;/p&gt;
&lt;p&gt;Make sure you have relevant page titles on all your pages. First insert the most important keyword and then other details.&lt;/p&gt;
&lt;p class="read_more"&gt;Example:&lt;br/&gt;&lt;br/&gt;&lt;code&gt; BEFORE: “MySite.com | Web Design Page”&lt;br/&gt;&lt;br/&gt; AFTER: “Web Design Page | MySite.com”&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Ensure that you have included a &lt;span class="code"&gt;meta description&lt;/span&gt; which is unique for each page. The description is picked up by search  engines and is displayed when they present that page in the search  results.&lt;/p&gt;
&lt;p&gt;Add &lt;a href="http://en.wikipedia.org/wiki/Alt_attribute" rel="nofollow" title="Alt_attribute on Wikipedia" target="_blank"&gt;alt&lt;/a&gt; and &lt;a href="http://www.netmechanic.com/news/vol6/html_no1.htm" rel="nofollow" title="Title attribute" target="_blank"&gt;title&lt;/a&gt; attributes to images.&lt;/p&gt;
&lt;p&gt;Write  your posts using headings (h1,h2,h3) and include keywords in them. It  helps search engine spiders better understand the content of the post.  Use headings in order of importance. H1 is for the title and the “theme”  of your post, the H2 is for the secondary points and so on.&lt;/p&gt;
&lt;p&gt;Last  but not least, include a sitemap for your website. Sitemaps inform  search engine crawlers that their pages are available for crawling.&lt;/p&gt;
&lt;p class="read_more"&gt;Read more:&lt;br/&gt;&lt;a href="http://www.highrankings.com/metadescription" rel="nofollow" target="_blank"&gt;The Meta Description Tag&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.problogger.net/archives/2009/09/21/5-ways-to-get-your-blog-indexed-by-google-in-24-hours/" rel="nofollow" target="_blank"&gt;5 Ways to Get Your Blog Indexed by Google in 24 Hours&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.amitbhawani.com/blog/seo-alt-title-attributes-images/" rel="nofollow" target="_blank"&gt;Add Alt and Title Attributes to Images&lt;/a&gt;&lt;br/&gt;&lt;a href="http://devbee.com/drupal_seo" rel="nofollow" target="_blank"&gt;Drupal SEO is Easy&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.ksl-consulting.co.uk/google_seo_advice.html" rel="nofollow" target="_blank"&gt;Expert Google SEO Tips &amp; Advice&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.freeinstanttraffic.com/blog/seo-wordpress-and-keywords-in-url.html" rel="nofollow" target="_blank"&gt;SEO , Wordpress and Keywords in URL&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.readwriteweb.com/enterprise/2009/02/seo-primer-improve-business-website-ranking.php" rel="nofollow" target="_blank"&gt;SEO Primer: Improve Your Business Website’s Ranking&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.toprankblog.com/2009/03/ses-ny-improve-seo-through-blogs-feeds/" rel="nofollow" target="_blank"&gt;Improve SEO Through Blogs &amp; Feeds&lt;/a&gt;&lt;br/&gt;&lt;a href="http://websitegrader.com/" rel="nofollow" target="_blank"&gt;Website Grader&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.seomoz.org/tools" rel="nofollow" target="_blank"&gt;SEO Tools&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="title"&gt;4. Freebies!&lt;/h2&gt;
&lt;p&gt;Everyone loves free stuff! So, give it to them!&lt;/p&gt;
&lt;p&gt;It  can be anything: icons, wallpapers, games, software, subscriptions,  entertainment, advice, demos and tryouts or even useful information.  This is a very powerful way of attracting people. Many companies offer  demos of their product to try out. After testing, you decide that like  the product but in order to enable the full features, you have to  purchase it. So you do. It’s that simple.&lt;/p&gt;
&lt;p&gt;Many game companies  proceed in the same way; they offer a demo of their game for you to try,  experience the new features and then, after you are convinced of the  high quality, you are determined to purchase their game.&lt;/p&gt;
&lt;p&gt;Even on a  blog, you come to read meaningful, quality posts and tutorials that  solve your problems and if they do solve them, you come again or  subscribe to the blog.&lt;/p&gt;
&lt;p&gt;Where’s the blogger’s gain in this? Well  apart from the personal satisfaction of having a voice and being heard,  if you have an advertisement section you can also earn some income. Many  bloggers have quit their job and became full time bloggers.&lt;/p&gt;
&lt;p&gt;So, start giving something for free today! You’ll see the difference!&lt;/p&gt;
&lt;p class="read_more"&gt;Read more:&lt;br/&gt;&lt;a href="http://www.affiliateseeking.com/ashow/279.html" rel="nofollow" target="_blank"&gt;SEO: How to Promote Your Web Site with Freebies&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.problogger.net/archives/2007/11/15/how-i-make-money-blogging/" rel="nofollow" target="_blank"&gt;How I Make Money Blogging&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="title"&gt;5. Post loads of images&lt;/h2&gt;
&lt;p&gt;Adding images is a great way to earn extra traffic! Remember to optimise your &lt;span class="code"&gt;alt&lt;/span&gt; tag and &lt;span class="code"&gt;title&lt;/span&gt; tag and don’t overfill them with irrelevant keywords. Search engines  are clever; they match the keywords to the text associated with the  image and discard the irrelevant images.&lt;/p&gt;
&lt;p class="read_more"&gt;Read more:&lt;br/&gt;&lt;a href="http://www.inconsequentiallogic.com/2009/09/using-post-images-to-increase-traffic.html" rel="nofollow" target="_blank"&gt;Using Post Images to Increase Traffic to Your Site&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.foodbloggersunite.com/2009/05/3-ways-to-increase-traffic-with-better.html" rel="nofollow" target="_blank"&gt;3 Ways To Increase Traffic With Better Food Photos&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.yousaytoo.com/google-image-search-increase-blog-traffic-2/121285" rel="nofollow" target="_blank"&gt;Google Image Search Increase Blog Traffic&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.predictivedomaining.com/2009/03/06/images-increase-traffic/" rel="nofollow" target="_blank"&gt;Using images to increase traffic&lt;/a&gt;&lt;br/&gt;&lt;a href="http://wphacks.com/increase-blog-traffic-with-images/" rel="nofollow" target="_blank"&gt;Increase Traffic by Choosing the Right Images for your Post&lt;/a&gt;&lt;/p&gt;
&lt;h2 class="title"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;There  are certainly a lot more ways to increase your website traffic, but for  me, these are the ones that worked best! Here’s a list with some useful  resources and more ways to increase traffic, in case you want to do  some more reading:&lt;/p&gt;
&lt;p class="read_more"&gt;&lt;a href="http://www.buzzle.com/articles/effective-techniques-increase-website-traffic.html" rel="nofollow" target="_blank"&gt;Effective Techniques Increase Website Traffic&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.honeytechblog.com/20-easy-ways-to-increase-website-traffic/" rel="nofollow" target="_blank"&gt;20 Easy Ways to Increase Website Traffic &lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.freeinstanttraffic.com/blog/3-proven-free-methods-to-increase-your-website-traffic.html" rel="nofollow" target="_blank"&gt;3 Proven Free Methods to Increase Your Website Traffic&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.problogger.net/archives/2009/10/12/how-to-go-from-1-to-1000000-users-or-readers/" rel="nofollow" target="_blank"&gt;How to Go from 1 to 1,000,000 Users (or Readers)&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.seobook.com/archives/001792.shtml" rel="nofollow" target="_blank"&gt;101 Ways to Build Link Popularity&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.seopedia.org/internet-marketing-and-seo/101-web-marketing-ideas-and-tips/" rel="nofollow" target="_blank"&gt;101 Web Marketing Ideas and Tips &lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.problogger.net/archives/2005/09/15/8-reasons-why-lists-are-good-for-getting-traffic-to-your-blog/" rel="nofollow" target="_blank"&gt;8 Reasons Why Lists are Good for Getting Traffic to your Blog&lt;/a&gt;&lt;br/&gt;&lt;a href="http://performancing.com/3_ways_to_immediately_increase_search_engine_traffic/" rel="nofollow" target="_blank"&gt;3 Ways to Immediately Increase Search Engine Traffic&lt;/a&gt;&lt;br/&gt;&lt;a href="http://sethgodin.typepad.com/seths_blog/2006/06/how_to_get_traf.html" rel="nofollow" target="_blank"&gt;How to get traffic for your blog&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.copyblogger.com/blogging-sins/" rel="nofollow" target="_blank"&gt;The 7 Deadly Sins of Blogging&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.linkbuildingblog.com/" rel="nofollow" target="_blank"&gt;Link Building Blog&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.squidoo.com/topfreethings" rel="nofollow" target="_blank"&gt;The 9 Free Things Every Site (or Lens!) Should Do&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.copyblogger.com/blog-comment-traffic/" rel="nofollow" target="_blank"&gt;Is Commenting on Blogs a Smart Traffic Strategy?&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.copyblogger.com/no-money-blogging/" rel="nofollow" target="_blank"&gt;Why You Can’t Make Money Blogging&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.copyblogger.com/how-to-be-interesting/" rel="nofollow" target="_blank"&gt;How to Be Interesting&lt;/a&gt;&lt;br/&gt;&lt;a href="http://www.copyblogger.com/increase-blog-subscribers/" rel="nofollow" target="_blank"&gt;How to Increase Your Blog Subscription Rate by 254%&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=0Hmc5jfZI0g:JhSrVcrab0I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=0Hmc5jfZI0g:JhSrVcrab0I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=0Hmc5jfZI0g:JhSrVcrab0I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=0Hmc5jfZI0g:JhSrVcrab0I:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=0Hmc5jfZI0g:JhSrVcrab0I:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=0Hmc5jfZI0g:JhSrVcrab0I:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/0Hmc5jfZI0g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/0Hmc5jfZI0g/17680530916</link><guid isPermaLink="false">http://sicanstudios.com/post/17680530916</guid><pubDate>Thu, 16 Feb 2012 01:43:53 +0200</pubDate><category>tutorial</category><feedburner:origLink>http://sicanstudios.com/post/17680530916</feedburner:origLink></item><item><title>Moved to tumblr</title><description>&lt;p&gt;Hi guys, to make a long story short, today I got hacked. Partly it was my fault. Nontheless, all my  websites got wiped from the face of the Internet. Setting them back  online was not easy, and I hadn’t enabled auto backup on my VPS so the  last backup I did was in December.&lt;/p&gt;
&lt;p&gt;Frustrated, whilst I was trying to bring the websites back online and  they wouldn’t connect with the MySQL, I decided: “Enough!”. Kill the  contract with the hosting company, keep the domain names and go for  social media profiles.&lt;/p&gt;
&lt;p&gt;But the sad thing, apart from my other websites not working, was my blog with all the tutorials was also gone, along  with the Google juice and the 700 daily unique visitors.&lt;/p&gt;
&lt;p&gt;So, I decided to create this blog on tumblr. From here on, expect new and old tutorials at this address!&lt;/p&gt;
&lt;p&gt;My portfolio can be viewed over on &lt;a href="http://dribbble.com/sican"&gt;Dribbble&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=_C084tDpWvY:WQS8YsmcpIQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=_C084tDpWvY:WQS8YsmcpIQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=_C084tDpWvY:WQS8YsmcpIQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=_C084tDpWvY:WQS8YsmcpIQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/sicanstudios?a=_C084tDpWvY:WQS8YsmcpIQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/sicanstudios?i=_C084tDpWvY:WQS8YsmcpIQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/sicanstudios/~4/_C084tDpWvY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/sicanstudios/~3/_C084tDpWvY/17674451988</link><guid isPermaLink="false">http://sicanstudios.com/post/17674451988</guid><pubDate>Thu, 16 Feb 2012 00:03:00 +0200</pubDate><feedburner:origLink>http://sicanstudios.com/post/17674451988</feedburner:origLink></item></channel></rss>

