<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Degrama - Online Superstars</title> <atom:link href="http://www.degrama.com/feed/" rel="self" type="application/rss+xml" /><link>http://www.degrama.com</link> <description>Just another WordPress weblog</description> <lastBuildDate>Wed, 03 Mar 2010 02:53:53 +0000</lastBuildDate> <generator>http://wordpress.org/?v=2.9.1</generator> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Are You Failing Your Client?</title><link>http://www.degrama.com/freelancing/are-you-failing-your-client/</link> <comments>http://www.degrama.com/freelancing/are-you-failing-your-client/#comments</comments> <pubDate>Wed, 03 Mar 2010 02:43:53 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Freelancing]]></category> <category><![CDATA[Project Management]]></category><guid
isPermaLink="false">http://www.degrama.com/?p=406</guid> <description><![CDATA[Meet John the client. John runs a reasonably large website. He is a marketer who considers himself smart, articulate and professional. That said, he doesn’t know much about Web design, and so he needs your help. John comes to you with a clear set of business objectives and asks for a quote. But what happens [...]]]></description> <content:encoded><![CDATA[<p>Meet John the client. John runs a reasonably large website. He is a marketer who considers himself smart, articulate and professional. That said, he doesn’t know much about Web design, and so he needs your help. John comes to you with a clear set of business objectives and asks for a quote. But what happens next leaves John confused, frustrated and extremely unhappy.</p><p><strong>Explain Why You Are Asking About Money</strong></p><p>Before giving John his quote, you ask a little more about the project. After chatting for a few minutes, you ask him about his <strong>budget</strong>. A fair question, you think. After all, you could approach the project in so many ways. Without knowing the budget, knowing where to begin is impossible. In your mind, building a website is like building a house. Without knowing the budget, you can’t possibly know how many rooms the client can afford or what materials you should use to build.</p><p>John, on the other hand, is instantly suspicious. Why would you want to know about his budget? The only reason he can think of is that you want to make sure you don’t charge him less than what he is willing to give. Besides, he doesn’t really know his budget. How the heck is he supposed to know how much a website costs?</p><p><img
src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/money-20100210-1629242.jpg" alt="Money-20100210-1629242 in Is John The Client Dense or Are You Failing Him?" width="479" height="262" /><br
/> <em>Don’t come across as money-grubbing.</em> (<a
href="http://flic.kr/p/6eyE3T">Image credit</a>)</p><p>John leaves, determined to find a Web designer who doesn’t want to take advantage of him. Fortunately for you, all of the other designers he speaks with also neglect to explain why they need to know about his budget, and so you manage to win the project after all.</p><h3>Justify Your Recommendations In Language John Can Understand</h3><p>Once you have won the job, you arrange a kick-off meeting to <strong>nail down the specifications</strong>. However, John instantly regrets his decision to hire you because his worse fears have been confirmed. In his eyes, you are all of a sudden trying to squeeze more money out of him as you waffle about the importance of usability and accessibility. John doesn’t care about disabled users. He doesn’t expect disabled users to visit his website anyway.</p><p>And as for usability, surely the job of the Web designer is to make the website usable. Why do we need expensive usability testing? He is pretty certain that usability testing involves expensive things like cameras, labs and two-way mirrors. You thought you had explained these issues clearly. You spoke of WCAG 2, and you mentioned Jakob Neilsen. You are beginning to wonder if John is a bit thick.</p><p><img
src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/confused-20100210-1632551.jpg" alt="Confused-20100210-1632551 in Is John The Client Dense or Are You Failing Him?" width="480" height="268" /><br
/> <em>Avoid techno-babble if you expect clients to understand what you’re talking about.</em> (<a
href="http://flic.kr/p/frJ48">Image credit</a>)</p><p>Perhaps if you had talked about accessibility in terms of assessing search engine rankings and testing usability as a way to increase conversion, then John might have listened. As it is, John puts his foot down and refuses to pay for any of these “unnecessary extras.”</p><h3>Include John In The Process</h3><p>You walk away from the kick-off meeting pleased to have a signed contract. But that feeling in the pit of your stomach tells you that this might be another one of those projects. Regardless, you try to be optimistic, and you dive into the design process. Almost immediately, you get a phone call from John asking if there is anything for him to see. You explain that it is still early in the process and that you are not ready to present anything. John sounds disappointed but resigned.</p><p>A short while later, you are ready to <strong>present the design</strong> to John. You are pleased with the result. It took you a lot more time than you had budgeted for, but it was worth it. The final design is extremely easy to use and will make for a great portfolio piece.</p><p><img
src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/hide-20100210-1637471.jpg" alt="Hide-20100210-1637471 in Is John The Client Dense or Are You Failing Him?" width="480" height="210" /><br
/> <em>Stop hiding from your clients. Show them your work early on, and include them in the process.</em> (<a
href="http://flic.kr/p/4n6M23">Image credit</a>)</p><p>When John sees the design, he is horrified. From his perspective, you have entirely missed the point. The design clashes with his offline marketing materials and doesn’t hit the right selling points. Also, he is convinced that his suppliers will hate it and, although they are not his end users, their opinion matters.</p><p>After a tense conference call, you feel demoralized but have struck a compromise that hopefully will make John happy. You wonder in hindsight whether showing John some of your initial ideas and sketches would have been better. Perhaps you should have presented a wireframe first.</p><h3>Educate John About Design</h3><p>After much agonizing and compromise, you are once again ready to present to John. John is much happier with the new design and feels it is heading in the right direction. However, he does have some concerns. For starters, he has to scroll to see most of the content, and yet white space takes up either side of the design. He tells you to move key content into this wasted space. Also, as he thinks about his young male target audience, he realizes that the color scheme is too effeminate, so he tells you to change it to blue.</p><p>While John feels somewhat happier, you feel crushed. You feel as though he is trying to do the job for you. The instructions to move this there and change this color to that makes you feel like you have been reduced to pushing pixels.</p><p><img
src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/Teaching-20100210-164155.jpg" alt="Teaching-20100210-164155 in Is John The Client Dense or Are You Failing Him?" width="480" height="242" /><br
/> <em>Educate your clients so they make more informed decisions.</em> (<a
href="http://flic.kr/p/Hf2E7">Image credit</a>)</p><p>By this point, you are sure the client is dim, and now you just want him to sign off on a design. At no stage do you think to ask John <strong>why he is requesting these changes</strong>. Perhaps if you had appreciated his thinking, you could have explained concepts such as screen resolution and suggested an alternative to corporate blue, which is so over-used on the Web.</p><p>Instead, you wash your hands of the design and just give John what he wants.</p><h3>Communicate With John Regularly</h3><p>Now that the design is complete, you turn your attention to building it. John certainly won’t care about your code. Now you can finally do things right.</p><p>It’s a big job and takes a lot of time. Even though you put too much time into the design and washed your hands of it, you still have your pride. You are not about to cut corners with the code. After all, other designers might look at it and judge you! You work really hard, putting in more work than you probably should have. John even manages to slip in some extra functionality at the scoping phase, which turns out to be a pain in the butt.</p><p>For his part, John is wondering what’s going on. He hasn’t heard from you in weeks. Surely the website must be ready now? He decides to email you to ask how things are progressing. You reply with a short email telling him that everything is progressing smoothly. You never did like project management, and you are sure John would prefer that you spend time building his website instead of writing him detailed reports.</p><p>John receives your email and is becoming increasingly frustrated. What does “progressing smoothly” mean? He writes back asking for an expected date of completion, and you reply with a rough estimate.</p><p>The date comes and goes without a word from you. After all, it was merely an estimate, and several complications have delayed completion by a few days. John finally loses his temper and calls you. He tells you that he has arranged a marketing campaign to coincide with the launch date, and because he hadn’t heard from you, he presumed everything was on schedule.</p><p><img
src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/communication-20100210-1645141.jpg" alt="Communication-20100210-1645141 in Is John The Client Dense or Are You Failing Him?" width="479" height="258" /><br
/> <em>Communicate with your client regularly.</em> (<a
href="http://flic.kr/p/691uEj">Image credit</a>)</p><p>You defend yourself, citing “scope creep” and unanticipated delays. But responding is difficult when John says, “All I needed was a weekly email keeping me up to date on progress.”</p><h3>Explain John’s Ongoing Role</h3><p>By this stage, the relationship has broken down entirely. You finish your work, and the website finally launches. Begrudgingly, John pays the invoice after delaying it for as long as possible. What amazes you most is John’s pronouncement that he is bitterly disappointed with the result. How can that be when you gave him exactly what he asked for? This guy isn’t just thick: he’s a jerk!</p><p>Of course, John sees things differently. He came to you with a list of his business objectives, and the website has failed to meet any of them. He had hoped to launch the website, watch it <strong>achieve his objectives</strong> and then move on to the next project. Instead, after an initial spike in interest, the number of users and inquiries dropped over time, and the website stagnated.</p><p><img
src="http://media.smashingmagazine.com/cdn_smash/wp-content/uploads/2010/02/seedling-20100210-164927.jpg" alt="Seedling-20100210-164927 in Is John The Client Dense or Are You Failing Him?" width="480" height="318" /><br
/> <em>Ensure that your client understands what kind of ongoing care their website will need.</em> (<a
href="http://flic.kr/p/68QFDp">Image credit</a>)</p><p>What John does not realize is that websites need continued love and support. You cannot build a website and then abandon it. John has to nurture it by adding new content, engaging with visitors and planning for ongoing development.</p><p>If only someone had told him.</p><h3>The Moral Of The Story</h3><p>It’s amazing how quick we are to judge our clients.</p><p>As Web designers, we communicate and empathize for a living. Our job is to communicate messages to our clients’ users. We create usable websites by putting ourselves in the position of our users, which allows us to design around their needs.</p><p>Why, then, do we so often seem to be incapable of empathizing or communicating with our clients? Perhaps it is time for us to apply the skills we have cultivated as Web designers to our own customers.</p> ]]></content:encoded> <wfw:commentRss>http://www.degrama.com/freelancing/are-you-failing-your-client/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Reduce spam with recaptcha and encryption.</title><link>http://www.degrama.com/development/reduce-spam-with-recaptcha-and-encryption/</link> <comments>http://www.degrama.com/development/reduce-spam-with-recaptcha-and-encryption/#comments</comments> <pubDate>Sun, 31 Jan 2010 02:29:33 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[PHP]]></category><guid
isPermaLink="false">http://www.degrama.com/?p=388</guid> <description><![CDATA[Recently one of our clients was experiencing excessive amounts of spam due to poor captcha. Which I&#8217;m sure happens to anyone who thinks (2+8=) is going to stop spam bots. Anyway onto our solution![Demo] &#8211; Required: [ReCaptcha]
What it does »
No visible email addresses online. For example we take an email address like.
Email Normal: bluemans@live.com
Email Encrypted: [...]]]></description> <content:encoded><![CDATA[<p>Recently one of our clients was experiencing excessive amounts of spam due to poor captcha. Which I&#8217;m sure happens to anyone who thinks (2+8=) is going to stop spam bots. Anyway onto our solution!</p><p><span
id="more-388"></span></p><p><a
href="http://www.degrama.com/examples/email-encrypt.php" target="_blank">[Demo]</a> &#8211; Required: <a
href="http://recaptcha.net/whyrecaptcha.html" target="_blank">[ReCaptcha]</a></p><h3>What it does »</h3><p>No visible email addresses online. For example we take an email address like.<br
/> <strong>Email Normal:</strong> bluemans@live.com<br
/> <strong>Email Encrypted:</strong> Ag8bHRQKKxQOCQAYSQwEHg (sexy right?)</p><p><img
style="float:right" title="Anti Spam with Encryption and Captcha" src="http://www.degrama.com/wp-content/uploads/anti-spam.jpg" alt="" width="125" height="125" /><br
/> The visitor clicks &#8220;Contact Owner&#8221;. Then we are promoted with re-captcha human verification. If the visitor correctly answers the question the email address is then decrypted and the visitor can send a message.</p><h3>How To »</h3><p>I created the test file below &#8220;email-encrypt.php&#8221; for a quick demonstration.</p><div
class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div
class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span
style="color: #000000; font-weight: bold;">function</span> XOREncryption<span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$InputString</span><span
style="color: #339933;">,</span> <span
style="color: #000088;">$KeyPhrase</span><span
style="color: #009900;">&#41;</span><span
style="color: #009900;">&#123;</span><br
/> <br
/> <span
style="color: #000088;">$KeyPhraseLength</span> <span
style="color: #339933;">=</span> <a
href="http://www.php.net/strlen"><span
style="color: #990000;">strlen</span></a><span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$KeyPhrase</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <br
/> <span
style="color: #666666; font-style: italic;">// Loop trough input string</span><br
/> <span
style="color: #b1b100;">for</span> <span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$i</span> <span
style="color: #339933;">=</span> <span
style="color: #cc66cc;">0</span><span
style="color: #339933;">;</span> <span
style="color: #000088;">$i</span> <span
style="color: #339933;">&amp;</span>lt<span
style="color: #339933;">;</span> <a
href="http://www.php.net/strlen"><span
style="color: #990000;">strlen</span></a><span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$InputString</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span> <span
style="color: #000088;">$i</span><span
style="color: #339933;">++</span><span
style="color: #009900;">&#41;</span><span
style="color: #009900;">&#123;</span><br
/> <br
/> <span
style="color: #666666; font-style: italic;">// Get key phrase character position</span><br
/> <span
style="color: #000088;">$rPos</span> <span
style="color: #339933;">=</span> <span
style="color: #000088;">$i</span> <span
style="color: #339933;">%</span> <span
style="color: #000088;">$KeyPhraseLength</span><span
style="color: #339933;">;</span><br
/> <br
/> <span
style="color: #666666; font-style: italic;">// Magic happens here:</span><br
/> <span
style="color: #000088;">$r</span> <span
style="color: #339933;">=</span> <a
href="http://www.php.net/ord"><span
style="color: #990000;">ord</span></a><span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$InputString</span><span
style="color: #009900;">&#91;</span><span
style="color: #000088;">$i</span><span
style="color: #009900;">&#93;</span><span
style="color: #009900;">&#41;</span> ^ <a
href="http://www.php.net/ord"><span
style="color: #990000;">ord</span></a><span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$KeyPhrase</span><span
style="color: #009900;">&#91;</span><span
style="color: #000088;">$rPos</span><span
style="color: #009900;">&#93;</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <br
/> <span
style="color: #666666; font-style: italic;">// Replace characters</span><br
/> <span
style="color: #000088;">$InputString</span><span
style="color: #009900;">&#91;</span><span
style="color: #000088;">$i</span><span
style="color: #009900;">&#93;</span> <span
style="color: #339933;">=</span> <a
href="http://www.php.net/chr"><span
style="color: #990000;">chr</span></a><span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$r</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #009900;">&#125;</span><br
/> <br
/> <span
style="color: #b1b100;">return</span> <span
style="color: #000088;">$InputString</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #009900;">&#125;</span><br
/> <br
/> <span
style="color: #666666; font-style: italic;">// Helper functions, using base64 to</span><br
/> <span
style="color: #666666; font-style: italic;">// create readable encrypted texts:</span><br
/> <br
/> <span
style="color: #000000; font-weight: bold;">function</span> ecrypt<span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$InputString</span><span
style="color: #339933;">,</span> <span
style="color: #000088;">$KeyPhrase</span><span
style="color: #009900;">&#41;</span><span
style="color: #009900;">&#123;</span><br
/> <span
style="color: #000088;">$InputString</span> <span
style="color: #339933;">=</span> XOREncryption<span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$InputString</span><span
style="color: #339933;">,</span> <span
style="color: #000088;">$KeyPhrase</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #000088;">$InputString</span> <span
style="color: #339933;">=</span> <a
href="http://www.php.net/base64_encode"><span
style="color: #990000;">base64_encode</span></a><span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$InputString</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #000088;">$InputString</span> <span
style="color: #339933;">=</span> <a
href="http://www.php.net/str_replace"><span
style="color: #990000;">str_replace</span></a><span
style="color: #009900;">&#40;</span><a
href="http://www.php.net/array"><span
style="color: #990000;">array</span></a><span
style="color: #009900;">&#40;</span><span
style="color: #0000ff;">'='</span><span
style="color: #339933;">,</span><span
style="color: #0000ff;">'+'</span><span
style="color: #339933;">,</span><span
style="color: #0000ff;">'/'</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">,</span><span
style="color: #0000ff;">''</span><span
style="color: #339933;">,</span><span
style="color: #000088;">$InputString</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #b1b100;">return</span> <span
style="color: #000088;">$InputString</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #009900;">&#125;</span><br
/> <br
/> <span
style="color: #000000; font-weight: bold;">function</span> dcrypt<span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$InputString</span><span
style="color: #339933;">,</span> <span
style="color: #000088;">$KeyPhrase</span><span
style="color: #009900;">&#41;</span><span
style="color: #009900;">&#123;</span><br
/> <span
style="color: #000088;">$InputString</span> <span
style="color: #339933;">=</span> <a
href="http://www.php.net/base64_decode"><span
style="color: #990000;">base64_decode</span></a><span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$InputString</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #000088;">$InputString</span> <span
style="color: #339933;">=</span> <a
href="http://www.php.net/strtr"><span
style="color: #990000;">strtr</span></a><span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$InputString</span><span
style="color: #339933;">,</span> <span
style="color: #0000ff;">'+/='</span><span
style="color: #339933;">,</span> <span
style="color: #0000ff;">'-_-'</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #000088;">$InputString</span> <span
style="color: #339933;">=</span> XOREncryption<span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$InputString</span><span
style="color: #339933;">,</span> <span
style="color: #000088;">$KeyPhrase</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #b1b100;">return</span> <span
style="color: #000088;">$InputString</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #009900;">&#125;</span><br
/> <br
/> <span
style="color: #000088;">$Str_Test</span><span
style="color: #339933;">=</span><span
style="color: #000088;">$_POST</span><span
style="color: #009900;">&#91;</span><span
style="color: #0000ff;">'email'</span><span
style="color: #009900;">&#93;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #000088;">$Str_Test</span> <span
style="color: #339933;">=</span> ecrypt<span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$Str_Test</span><span
style="color: #339933;">,</span> <span
style="color: #0000ff;">&quot;keyphrase&quot;</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <br
/> <span
style="color: #b1b100;">ECHO</span> <span
style="color: #0000ff;">'Email Normal: '</span><span
style="color: #339933;">.</span><span
style="color: #000088;">$_POST</span><span
style="color: #009900;">&#91;</span><span
style="color: #0000ff;">'email'</span><span
style="color: #009900;">&#93;</span><span
style="color: #339933;">.</span><span
style="color: #0000ff;">&quot;<br
/> &quot;</span><span
style="color: #339933;">;</span><br
/> <br
/> <span
style="color: #b1b100;">ECHO</span> <span
style="color: #0000ff;">'Email Encrypted: '</span><span
style="color: #339933;">.</span><span
style="color: #000088;">$Str_Test</span><span
style="color: #339933;">.</span><span
style="color: #0000ff;">&quot;<br
/> <br
/> &quot;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #000088;">$Str_Test2</span> <span
style="color: #339933;">=</span> dcrypt<span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$Str_Test</span><span
style="color: #339933;">,</span> <span
style="color: #0000ff;">&quot;keyphrase&quot;</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <br
/> <span
style="color: #b1b100;">ECHO</span> <span
style="color: #0000ff;">&quot;Email Decrypted: &quot;</span><span
style="color: #339933;">.</span><span
style="color: #000088;">$Str_Test2</span><span
style="color: #339933;">.</span><span
style="color: #0000ff;">&quot;<br
/> &quot;</span><span
style="color: #339933;">;</span><br
/> <br
/> ?<span
style="color: #339933;">&amp;</span>gt<span
style="color: #339933;">;</span><br
/> <br
/> <span
style="color: #339933;">&lt;</span>form id<span
style="color: #339933;">=</span><span
style="color: #0000ff;">&quot;form1&quot;</span> action<span
style="color: #339933;">=</span><span
style="color: #0000ff;">&quot;#&quot;</span> method<span
style="color: #339933;">=</span><span
style="color: #0000ff;">&quot;post&quot;</span><span
style="color: #339933;">&gt;&lt;</span>label<span
style="color: #339933;">&gt;</span>Email<span
style="color: #339933;">:</span><br
/> <br
/> <span
style="color: #339933;">&lt;</span>input id<span
style="color: #339933;">=</span><span
style="color: #0000ff;">&quot;email&quot;</span> name<span
style="color: #339933;">=</span><span
style="color: #0000ff;">&quot;email&quot;</span> type<span
style="color: #339933;">=</span><span
style="color: #0000ff;">&quot;text&quot;</span> <span
style="color: #339933;">/&gt;</span><br
/> <br
/> <span
style="color: #339933;">&lt;/</span>label<span
style="color: #339933;">&gt;</span><br
/> <br
/> <span
style="color: #339933;">&lt;</span>label<span
style="color: #339933;">&gt;</span><br
/> <br
/> <span
style="color: #339933;">&lt;</span>input id<span
style="color: #339933;">=</span><span
style="color: #0000ff;">&quot;submit&quot;</span> name<span
style="color: #339933;">=</span><span
style="color: #0000ff;">&quot;submit&quot;</span> type<span
style="color: #339933;">=</span><span
style="color: #0000ff;">&quot;submit&quot;</span> value<span
style="color: #339933;">=</span><span
style="color: #0000ff;">&quot;Submit&quot;</span> <span
style="color: #339933;">/&gt;</span><br
/> <br
/> <span
style="color: #339933;">&lt;/</span>label<span
style="color: #339933;">&gt;</span><br
/> <br
/> <span
style="color: #339933;">&lt;/</span>form<span
style="color: #339933;">&gt;</span></div></div><h3>Conclusion</h3><p>Easy to implement, and results are awesome.<br
/> - Install ReCaptcha<br
/> - Setup Encrypt<br
/> - Test and experiment</p> ]]></content:encoded> <wfw:commentRss>http://www.degrama.com/development/reduce-spam-with-recaptcha-and-encryption/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Friends 4Ever Animal Rescue</title><link>http://www.degrama.com/work/f4e/</link> <comments>http://www.degrama.com/work/f4e/#comments</comments> <pubDate>Sun, 31 Jan 2010 00:20:25 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Work]]></category><guid
isPermaLink="false">http://www.degrama.com/?p=382</guid> <description><![CDATA[
]]></description> <content:encoded><![CDATA[<p><a
href="http://friends4ever.ca"><img
src="http://www.degrama.com/wp-content/uploads/friends4ever-website-full.jpg" alt="" title="Friends 4Ever Animal Rescue Non-Profit" width="900" height="796" class="alignnone size-full wp-image-383" /></a></p> ]]></content:encoded> <wfw:commentRss>http://www.degrama.com/work/f4e/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>SIECSI</title><link>http://www.degrama.com/work/siecsi-website/</link> <comments>http://www.degrama.com/work/siecsi-website/#comments</comments> <pubDate>Sat, 30 Jan 2010 23:36:35 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Work]]></category><guid
isPermaLink="false">http://www.degrama.com/?p=375</guid> <description><![CDATA[
]]></description> <content:encoded><![CDATA[<p><img
src="http://www.degrama.com/wp-content/uploads/siecsi-full1.jpg" alt="" title="SIECSI Website Design" width="900" height="698" class="alignnone size-full wp-image-380" /></p> ]]></content:encoded> <wfw:commentRss>http://www.degrama.com/work/siecsi-website/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Freelance For Hire</title><link>http://www.degrama.com/work/f4h/</link> <comments>http://www.degrama.com/work/f4h/#comments</comments> <pubDate>Sat, 30 Jan 2010 16:33:52 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Work]]></category><guid
isPermaLink="false">http://www.degrama.com/?p=364</guid> <description><![CDATA[
Freelance For Hire is a combination of extensive competitor research, two extremely talented designers, one guru php programmer, and myself the marketing specialist. We continue to support and provide excellent customer service to Freelance For Hire. If you like our work please contact us for more information and a free quote.Contact UsFree Quote]]></description> <content:encoded><![CDATA[<div
class="workleft"> Freelance For Hire is a combination of extensive competitor research, two extremely talented designers, one guru php programmer, and myself the marketing specialist. We continue to support and provide excellent customer service to Freelance For Hire. If you like our work please <a
href="http://www.degrama.com/contact/">contact us</a> for more information and a <a
title="Free Quote" href="http://www.degrama.com/free-quote/">free quote</a>.</div><div
class="workright"> <a
class="workcontactus" href="/contact" title="Contact Us">Contact Us</a><a
class="workhireus" href="/free-quote" title="Free Quote">Free Quote</a></div><p><img
class="alignnone size-full wp-image-365" title="Freelance For Hire" src="http://www.degrama.com/wp-content/uploads/freelance-for-hire-full.jpg" alt="" width="900" height="1390" /></p> ]]></content:encoded> <wfw:commentRss>http://www.degrama.com/work/f4h/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Customized Navigation bar in Wordpress</title><link>http://www.degrama.com/wordpress/customized-navigation-bar-in-wordpress/</link> <comments>http://www.degrama.com/wordpress/customized-navigation-bar-in-wordpress/#comments</comments> <pubDate>Fri, 29 Jan 2010 20:52:09 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Wordpress]]></category> <category><![CDATA[Wordpress Hacks]]></category> <category><![CDATA[Wordpress Tricks]]></category><guid
isPermaLink="false">http://www.degrama.com/?p=344</guid> <description><![CDATA[Adding too many pages to a WordPress blog that has a navigation bar in the header can really make your Wordpress blog a mess. There are options to control what pages are shown in the navigation bar and even a way to add external links.How To »
The Template Tag, wp_list_pages(), displays a list of WordPress [...]]]></description> <content:encoded><![CDATA[<p>Adding too many pages to a WordPress blog that has a navigation bar in the header can really make your Wordpress blog a mess. There are options to control what pages are shown in the navigation bar and even a way to add external links.<br
/> <span
id="more-344"></span></p><h3>How To »</h3><p>The Template Tag, wp_list_pages(), displays a list of WordPress Pages as links. It is often used to customize the Sidebar or Header. So now the code of the top nav bar will look like this:</p><div
class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div
class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;ul id=&quot;pagenav&quot;&gt;<br
/> &nbsp; &nbsp;&lt;li class=&quot;<span
style="color: #000000; font-weight: bold;">&lt;?php</span> <span
style="color: #b1b100;">if</span> <span
style="color: #009900;">&#40;</span> is_home<span
style="color: #009900;">&#40;</span><span
style="color: #009900;">&#41;</span> <span
style="color: #009900;">&#41;</span> <span
style="color: #009900;">&#123;</span> <span
style="color: #b1b100;">echo</span> <span
style="color: #0000ff;">'current_page_item'</span><span
style="color: #339933;">;</span> <span
style="color: #009900;">&#125;</span> <span
style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt; &lt;a title=&quot;<span
style="color: #000000; font-weight: bold;">&lt;?php</span> bloginfo<span
style="color: #009900;">&#40;</span><span
style="color: #0000ff;">'name'</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span> <span
style="color: #000000; font-weight: bold;">?&gt;</span>&quot; href=&quot;<span
style="color: #000000; font-weight: bold;">&lt;?php</span> bloginfo<span
style="color: #009900;">&#40;</span><span
style="color: #0000ff;">'url'</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span> <span
style="color: #000000; font-weight: bold;">?&gt;</span>&quot;&gt;Home&lt;/a&gt;&lt;/li&gt;<br
/> &lt;/ul&gt;</div></div><p>You can simply edit the header.php file and exclude any page id you want, you can also include the pages you want.</p><h3>Creating Two-Tiered Conditional Navigation in Wordpress »</h3><p>A common navigational scheme, parent pages on top and child pages (if they exist) on bottom:</p><p><img
class="alignnone size-full wp-image-328" title="Wordpress two tiered navigation" src="http://www.degrama.com/wp-content/uploads/wordpress-two-tiered-navigation.jpg" alt="" width="500" height="120" /></p><h3>How To »</h3><p>Darren Hoyt goes through a nice solution to help us: 1) query the page, 2) determine if there are child pages, and 3) properly highlight both the .current_page_parent and .current_page_item links.</p><div
class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border: 1px solid #9F9F9F;width:435px;"><div
class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">post_parent<span
style="color: #009900;">&#41;</span><br
/> <span
style="color: #000088;">$children</span> <span
style="color: #339933;">=</span> wp_list_pages<span
style="color: #009900;">&#40;</span><span
style="color: #0000ff;">&quot;title_li=&amp;child_of=&quot;</span><span
style="color: #339933;">.</span><span
style="color: #000088;">$post</span><span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">post_parent</span><span
style="color: #339933;">.</span><span
style="color: #0000ff;">&quot;&amp;echo=0&quot;</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span> <span
style="color: #b1b100;">else</span><br
/> <span
style="color: #000088;">$children</span> <span
style="color: #339933;">=</span> wp_list_pages<span
style="color: #009900;">&#40;</span><span
style="color: #0000ff;">&quot;title_li=&amp;child_of=&quot;</span><span
style="color: #339933;">.</span><span
style="color: #000088;">$post</span><span
style="color: #339933;">-&gt;</span><span
style="color: #004000;">ID</span><span
style="color: #339933;">.</span><span
style="color: #0000ff;">&quot;&amp;echo=0&quot;</span><span
style="color: #009900;">&#41;</span><span
style="color: #339933;">;</span><br
/> <span
style="color: #b1b100;">if</span> <span
style="color: #009900;">&#40;</span><span
style="color: #000088;">$children</span><span
style="color: #009900;">&#41;</span> <span
style="color: #009900;">&#123;</span> <span
style="color: #000000; font-weight: bold;">?&gt;</span></div></div><p>And then he show us how to use CSS to make sure the :active and :hover states display correctly whether or not subpages exist — if they do, the primary nav uses current_page_parent, if they don’t, it resorts to simply current_page_item.</p><h3>Use breadcrumbs</h3><p>Breadcrumbs are great for so many reasons: usability, SEO, etc. In terms of plugins, there are many options, my favorite is <a
title="Yoast Breadcrumbs" href="http://yoast.com/wordpress/breadcrumbs/" target="_blank">Yoast’s Breadcrumbs</a>, because it’s easy to implement. Another <a
title="Breadcrumb plugin" href="http://justintadlock.com/archives/2009/04/05/breadcrumb-trail-wordpress-plugin" target="_blank">breadcrumbs plugin</a>, gives you a new template tag called breadcrumb_trail() that you can place anywhere in your theme. Once that’s done, it’ll display a hierarchical menu of where the current visitor is on your site. It’s quite useful if you have more than a few pages or posts.</p><p><a
href="http://www.degrama.com/wp-content/uploads/wordpress-breadcrumbs.jpg"><img
class="alignnone size-full wp-image-327" title="Wordpress Breadcrumbs" src="http://www.degrama.com/wp-content/uploads/wordpress-breadcrumbs.jpg" alt="" width="500" height="40" /></a></p> ]]></content:encoded> <wfw:commentRss>http://www.degrama.com/wordpress/customized-navigation-bar-in-wordpress/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Creating a static homepage in Wordpress</title><link>http://www.degrama.com/wordpress/creating-a-static-homepage-in-wordpress/</link> <comments>http://www.degrama.com/wordpress/creating-a-static-homepage-in-wordpress/#comments</comments> <pubDate>Fri, 29 Jan 2010 20:46:43 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Wordpress]]></category> <category><![CDATA[Wordpress Hacks]]></category> <category><![CDATA[Wordpress Tricks]]></category><guid
isPermaLink="false">http://www.degrama.com/?p=317</guid> <description><![CDATA[By default, a WordPress home page shows chronological blog post entries — with the most recent post at the top. If your goal is to have a WP-created Page with static information, WordPress will allow you to select a different page as your home page so that you can display more traditional content like information [...]]]></description> <content:encoded><![CDATA[<p>By default, a WordPress home page shows chronological blog post entries — with the most recent post at the top. If your goal is to have a WP-created Page with static information, WordPress will allow you to select a different page as your home page so that you can display more traditional content like information about yourself or your business.<br
/> <span
id="more-317"></span><br
/> <strong>How To »</strong><br
/> In your admin area, just go to Setting » Reading. Here you can decide if your home page will display your blog posts or a static page, if you choose a static page you can also choose which page to be your home page from the select box.</p><p><img
src="http://www.degrama.com/wp-content/uploads/wordpress-static-homepage-300x120.jpg" alt="" title="Wordpress Static Homepage How" width="300" height="120" class="alignnone size-medium wp-image-329" /></p><p><strong>Points to take care »</strong><br
/> First problem you may run into when you make a static page your home page is that the link to that page now appears in the main site navigation. Usually the page called “Home” in the main site navigation. This tutorial shows how to remove one of those links from your site navigation so that visitors to your site are not confused by the duplicate link.<br
/> The second problem is you will see that link again in the sidebar widget, the fix is pretty simple. The WordPress Pages navigation widget now allows you to exclude any page from its links by inserting the Page IDs of pages you want to exclude into the “Exclude” box in the Pages widget.</p> ]]></content:encoded> <wfw:commentRss>http://www.degrama.com/wordpress/creating-a-static-homepage-in-wordpress/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Free WordPress Theme Zexee</title><link>http://www.degrama.com/themes/wordpress-themes/free-wordpress-theme-zexee/</link> <comments>http://www.degrama.com/themes/wordpress-themes/free-wordpress-theme-zexee/#comments</comments> <pubDate>Fri, 22 Jan 2010 00:46:11 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Wordpress Themes]]></category> <category><![CDATA[Free]]></category> <category><![CDATA[Wordpress]]></category><guid
isPermaLink="false">http://www.degrama.com/?p=276</guid> <description><![CDATA[Zexee is a free, two column WordPress theme originally based on The Design Superhero’s previous design. This theme was designed with the main focus being on typography and a unique look. The theme is released especially for Six Revisions readers. The theme is provided to users under the open source GNU General Public License.Previews
Here are some screenshots of Zexee.
Front pagePost headlineSidebarThreaded [...]]]></description> <content:encoded><![CDATA[<p><strong>Zexee</strong> is a free, two column WordPress theme originally based on <a
href="http://thedesignsuperhero.com/" target="_blank">The Design Superhero</a>’s previous design. This theme was designed with the main focus being on typography and a unique look. The theme is <strong>released especially for Six Revisions readers</strong>. The theme is provided to users under the open source <a
href="http://www.gnu.org/copyleft/gpl.html" target="_blank">GNU General Public License</a>.</p><p><span
id="more-276"></span></p><h3>Previews</h3><p>Here are some screenshots of Zexee.</p><h4>Front page</h4><p><img
src="http://images.sixrevisions.com/2010/01/23-02_zexee_preview01.jpg" alt="Preview" width="550" height="762" /></p><h4>Post headline</h4><p><img
src="http://images.sixrevisions.com/2010/01/23-03_zexee_preview02.jpg" alt="Preview" width="550" height="561" /></p><h4>Sidebar</h4><p><img
src="http://images.sixrevisions.com/2010/01/23-04_zexee_preview03.jpg" alt="Preview" width="550" height="561" /></p><h4>Threaded comments</h4><p><img
src="http://images.sixrevisions.com/2010/01/23-05_zexee_preview04.jpg" alt="" width="550" height="302" /></p><h3>Demo</h3><ul><li>You can see the functional <strong><a
href="http://themes.thedesignsuperhero.com/zexee/">live demo of Zexee on The Design Superhero</a></strong>.</li></ul><h3>Download</h3><ul><li><a
href="http://downloads.sixrevisions.com/zexee.zip">zexee</a> (ZIP, 0.31 MB)</li></ul> ]]></content:encoded> <wfw:commentRss>http://www.degrama.com/themes/wordpress-themes/free-wordpress-theme-zexee/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Friends 4Ever</title><link>http://www.degrama.com/portfolio/website-design/friends-4ever/</link> <comments>http://www.degrama.com/portfolio/website-design/friends-4ever/#comments</comments> <pubDate>Sat, 09 Jan 2010 23:43:24 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Website Design]]></category><guid
isPermaLink="false">http://www.degrama.com/?p=272</guid> <description><![CDATA[]]></description> <content:encoded><![CDATA[]]></content:encoded> <wfw:commentRss>http://www.degrama.com/portfolio/website-design/friends-4ever/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Roylances</title><link>http://www.degrama.com/portfolio/website-design/roylances/</link> <comments>http://www.degrama.com/portfolio/website-design/roylances/#comments</comments> <pubDate>Sat, 28 Nov 2009 18:31:59 +0000</pubDate> <dc:creator>admin</dc:creator> <category><![CDATA[Website Design]]></category> <category><![CDATA[Portfolio]]></category><guid
isPermaLink="false">http://www.degrama.com/?p=141</guid> <description><![CDATA[]]></description> <content:encoded><![CDATA[]]></content:encoded> <wfw:commentRss>http://www.degrama.com/portfolio/website-design/roylances/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- This site's performance optimized by W3 Total Cache. Dramatically improve the speed and reliability of your blog!

Learn more about our WordPress Plugins: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk
Database Caching 14/24 queries in 0.009 seconds using disk

Served from: pac-ds6.simplehelix.com @ 2010-03-10 01:57:19 -->