<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">

<title>Rockatee Blog &amp;amp; Book Reviews</title>
	<subtitle type="text">Blog:</subtitle>
	<link rel="alternate" type="text/html" href="http://rockatee.com/blog" />
	<link rel="self" type="application/atom+xml" href="http://rockatee.com/{atom_feed_location}" />
	<updated>2010-09-07T20:04:25Z</updated>
	<rights>Copyright (c) 2010, Maleika Esther Attawel</rights>
	<generator uri="http://expressionengine.com/" version="2.1.0">ExpressionEngine</generator>
	<id>tag:rockatee.com,2010:09:07</id>


	<entry>
	  <title>Bauhaus Clock Wallpaper</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/bauhaus-clock-wallpaper" />
	  <id>tag:rockatee.com,2010:blog/1.58</id>
	  <published>2010-09-07T17:05:22Z</published>
	  <updated>2010-09-07T20:04:25Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Design"
		scheme="http://rockatee.com/news/category/design"
		label="Design" />
	  <category term="Downloads"
		scheme="http://rockatee.com/news/category/downloads"
		label="Downloads" />
	  <content type="html"><![CDATA[
		<h2>Modern Bauhaus Clock Wallpaper</h2>

<p>Everyone who&#39;s studied Bauhaus in adequate depth will immediately see where my clock, heavily inspired by Max Bill&#39;s clock (shape), breaks the pure Bauhaus spirit. The clock clearly has too much belly fat, or non-functional  space, if you prefer. Then again, I&#39;ve never been a strict follower of, well, anything.</p>
<p>While my breaking of one of the fundamental principles that distinguishes <em>Bauhausian</em> modernism from pretty much every other modernism inspired artistic direction dating back to the early  20th Century, isn&#39;t far from being a crime, I herewith present you with the most useless, pointless, futile, drivel-inducing clock known to... this blog.</p>
<p>Download, schmownload, and do whatever suits your fancy. <br>To make it as convenient as possible, I&#39;ve sized them to be 2560x1600 pixels. That should cover most screen resolutions. The wallpaper comes in 7 colour variations and they&#39;re all dull. <em>Dullisciously</em> dull, if I may say so myself. Matter it does not. Aaaand... because I don&#39;t want to indulge any longer in my slightly manic verbal diarrhoe, clearly evident all over this post, I must cease instanter to leave you be and get back to my client work.</p>

<h3>Download:</h3>

<p><a href="http://rockatee.com/files/rockatee.bauhaus.clock.wallpaper.zip" title="Download Rockatee's Bauhaus Clock"><img src="http://rockatee.com/images/uploads/content-files/bauhaus.clock_.wallpaper_.jpg"  alt="Bauhaus Clock" width="400" height="300"></a></p>

<p>Download .zip file (9.37MB): <a href="http://rockatee.com/files/rockatee.bauhaus.clock.wallpaper.zip"  title="Download Rockatee's Bauhaus Clock">Bauhaus Clock Wallpapers</a></p>
		<p>Categories: <a href="http://rockatee.com/blog/category/design/">Design</a> <a href="http://rockatee.com/blog/category/downloads/">Downloads</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/bauhaus/">bauhaus</a>, <a href="http://rockatee.com/tags/tag/download/">download</a>, <a href="http://rockatee.com/tags/tag/wallpaper/">wallpaper</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/bauhaus-clock-wallpaper"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/bauhaus-clock-wallpaper" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>Removing wp_list_pages&amp;apos; class from list items via WordPress Filters</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/removing-wp-list-pages-class-from-list-items-via-wordpress-filters" />
	  <id>tag:rockatee.com,2010:blog/1.57</id>
	  <published>2010-08-23T12:08:01Z</published>
	  <updated>2010-08-23T14:57:04Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Development"
		scheme="http://rockatee.com/news/category/development"
		label="Development" />
	  <content type="html"><![CDATA[
		<p>I&apos;m certainly not a PHP  programmer. Heck, I&apos;m not a programmer at all, unless you count HTML, CSS, and a little Javascript as programming languages, which they are factually not. I am currently coding a design into HTML5 and CSS3 and am integrating it into <a href="http://wordpress.org" title="visit WordPress">WordPress</a>. As I'm being quite persnickety regarding the structure and HTML/CSS of a design, I&apos;m quite unnerved by the rather generous addition of classes, ids and HTML elements/attributes that have been coded knee-deep into WordPress&apos;core. Why, oh why can&apos;t WordPress let me, a humble but markup-aware user,  decide how I create my markup? And why is it required for designers/front-end web developers to dig deep into PHP functions just to be able to get rid of all that extra dispensable markup? No, fun it is not.</p>

<p>But all that whining and complaining aside, WordPress is a good tool. Why be humble...WordPress is an excellent tool! That's why I'm creating another theme that&apos;ll soon be distributed all over the net.</p>

<p>It&apos;s a theme in which I make use of the <code>wp_list_pages</code> function. If you&apos;ve used WordPress for a while, you'll know that this function outputs quite a few extra classes by the name of <code>page-item</code>. Well, I don&apos;t need them and don&apos;t want them in the code. To remove them, I&apos;ve taken all my PHP know-how, ahem, cough... and timbered together a small function, more precisely, a WordPress filter which has the sole purpose of stripping the class attribute and its associated content. 

The ingredients with which the <code>page-item</code> class and the HTML class attribute get removed from the markup is as follows:
    <pre><ol class="code">  <li>function remove_page_class($wp_list_pages) {</li><li>$pattern = '/\&lt;li class="page_item[^&gt;]*&gt;/';</li><li>$replace_with = '&lt;li&gt;'</li><li>return preg_replace($pattern, $replace_with, $wp_list_pages);</li><li>}</li><li>add_filter('wp_list_pages', 'remove_page_class');</li>
</ol> </pre>
This little snippet of code reads (line by line):
<ol>
  <li>1. Create function <code>remove_page_class</code></li>

  <li>2. Define a variable <code>$pattern</code> and assign it a regex pattern that selects the <code>li</code> attribute <code>class</code> and its values</li>

  <li>Define a variable with the code that you want to replace the above with</li>

  <li>3. I use <code>preg_replace</code>, a function that searches and replaces a regular expression. In this case, I'd like to modify the output of <code>$wp_list_pages</code>, thus my <code>preg_replace</code> searches in <code>$wp_list_pages</code> for the markup that matches the value I specified in my <code>$pattern</code> variable and replaces it with the value of my <code>$replace_with</code> variable
</ol>

<p>And that&apos;s pretty much it. If a PHP guru or&mdash; PHP Ninja, as an expert is referred to these days&mdash; and find there&apos;s a better, leaner method, do shout away. I&apos;ve just started learning PHP and am grateful for all sorts of input.</p> 
		<p>Categories: <a href="http://rockatee.com/blog/category/development/">Development</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/php/">php</a>, <a href="http://rockatee.com/tags/tag/theme/">theme</a>, <a href="http://rockatee.com/tags/tag/wordpress/">wordpress</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/removing-wp-list-pages-class-from-list-items-via-wordpress-filters"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/removing-wp-list-pages-class-from-list-items-via-wordpress-filters" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>Rockatee has had a facelift: Responsive Design &amp;amp; 100% fluid layout. Pixels Adieu!</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/rockatee-redisign-facelift-responsive-design-amp-100-fluid-layout" />
	  <id>tag:rockatee.com,2010:blog/1.55</id>
	  <published>2010-08-02T17:41:58Z</published>
	  <updated>2010-08-02T19:52:01Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Update"
		scheme="http://rockatee.com/news/category/update"
		label="Update" />
	  <content type="html"><![CDATA[
		<p>With so many different devices and platforms coming out in all sizes and shapes, I've decided to ditch pixels for layout entirely and have gone for a 100% fluid layout grid that is calculated with percentages only.</p>
<p>The grid is about 92% done, there are still some minor inconsistencies I need to iron out. I realise there are <a href="http://www.google.com/search?q=fluid+css+grids">ready-made CSS grids </a>out there, and I could have just slammed one of them on here. But ready-made CSS grids are like fast-food. You consume them because they're fast, easy, and convenient. And you haven't a clue what's what underneath. You just trust it does everything the way it is propagated. That's one reason I don't really like fast-food. Not that it's bad, but I prefer to cook my own meals if I can. And I prefer to code my own grids, even if it makes the whole process a bit slower. It just feels better. :D</p>

<p>Anyhow, I'm using the latest version of <a href="http://expressionengine.com/">ExpressionEngine</a>, EE2, and I'm having a blast! I found the admin interface to be slightly confusing at first &mdash; still find it a bit counter-intuitive in bits and pieces &mdash; but on the whole, it's refreshing to work with it. The Admin doesn't come off quite as well in Opera 10.60, my favourite browser, as it does in other browsers, but it's good enough for me.</p>

<p>That's all I have to write for now. I'm still working on getting the minor quirks and bugs ironed out, and complete my grid. Should you find any bugs or have critique, want to shout me down, please don't hesitate! <img src="http://dev.rockatee.com/images/smileys/smile.gif" width="19" height="19" alt="smile" style="border:0;" /></p>
		<p>Categories: <a href="http://rockatee.com/blog/category/update/">Update</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/redesign/">redesign</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/rockatee-redisign-facelift-responsive-design-amp-100-fluid-layout"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/rockatee-redisign-facelift-responsive-design-amp-100-fluid-layout" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>Getting Real (Book Review)</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/getting-real-book-review" />
	  <id>tag:rockatee.com,2010:blog/4.21</id>
	  <published>2010-07-17T07:52:56Z</published>
	  <updated>2010-08-03T03:26:00Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Books"
		scheme="http://rockatee.com/news/category/books"
		label="Books" />
	  <content type="html"><![CDATA[
		<p><a href="http://37signals.com/" title="37signals">37signals</a> is one of those companies that have burned themselves into ones memory. Well, they have in mine whenever I think about effective businesses. They are what &mdash; I’m sure not just a few &mdash; software companies, entrepreneurs, and designers want to become: A household brand.</p>

<p>Everything they touch seems to turn into gold, every web application they produce an instant success. Not just for this it stands to reason that they would write about and share with the rest of the world what made them so effective and, eventually, so successful.</p>

<p>What I particularly like about this book is that it’s bold. It’s bold, brisk and highly opinionated. And that’s a good thing in my book (no pun) because you sense the amount of passion and dedication Jason Fried, founder of 37signals, with every drop of ink this book has consumed.</p>

<p>What we get to learn about is their philosophy, their idea of what makes good work great, and the particular frame of mind it takes to do what they have done and continue to do.</p>

<p>What we don’t get to learn are in-depth explanations and thorough examinations on how to implement the ideas and methodologies the fine folk at <a href="http://37signals.com/" visit="37signals">37signals</a> applied to their way of working.</p>

<p>What to do when the conditions, such as deadlines, firm-specific work ethics, a boss, or any and all factors that need to be accounted for and that you have zero control over, overwhelmingly limit and restrict us in our day-to-day work and design process?</p>

<p>If you’re one of a hundred, have no veto and generally little influence over how you work, then you might as well leave this book on the shelves. Likewise, should you expect to be exposed to an in-depth view on interaction design or given technical instructions and guidance on how to apply the propagated methodologies within long established companies with little incentive to change how they work, then you’re out of luck.</p>

<p>However, should you be a small(ish) company, your team comprising no more than a handful of people, have good control over how things get done, can motivate and enthuse your team members to follow a certain dogma, then this book is more than apt and fitting.</p>

<p>In short; <a href="http://gettingreal.37signals.com/" title="Getting Real, the Book"><i>Getting Real</i></a> is a 170 pages long comprehensive mantra on how to get things done.</p>

<p><a href="http://twitter.com/jasonfried" title="visit Jason Fried's Twitter">Fried</a> suggests that we focus on the big idea, that we build from macro to micro, having the big picture and working ourselves down and getting to the nitty gritty details at a much, much later time in the process.</p>

<p>While we’re at it, should you be one of those hopeless perfectionists... [I aggressively wave my arms in the air, nodding vehemently, and that’s a nose-bleeding heavy nod!] you might as well leave that unwanted characteristica at the door before going any further.</p>

<p>So how does ignoring perfectionism and other astronomic ideals set free the means and devices needed to aid us in our journey to becoming more efficient, more successful business people?</p>

<p>Short answer: By <em>getting real</em> (har, har), by not setting goals and expectations we can’t meet, because they’re either impractical or simply unrealistic.</p>

<p>Well, that’s the short answer. The slightly longer answer goes as follows:</p>

<h2>Keeping it Small</h2>

<p>The book gives us plenty examples that demonstrate the advantages of keeping things small. A small team can better manage tasks because there are less people to communicate with, less instances or pre-production cycles to overcome. Being small allows you to react to your site visitors, the people who use your product, faster. Being small makes you agile and permits changes, and bug fixes to be done instantly. Being small reduces the distance between yourself and your customers, service and support can be more personal. Many more advantages are explained in the book, so the ones depicted here are a select few.</p>

<h2>Focusing on the Essentials and Learning to Say No</h2>

<p>Focusing on the big idea does not imply that your product or service must be filled with more features than you can eat. It does not mean that you have to offer everything. It does not mean that you have to outperform your competition, be it in features or in price. <a href="http://twitter.com/jasonfried" title="visit Jason Fried's Twitter">Fried</a> suggests that you outperform your competition by underperforming. While that thought might sound strange at first, the book offers sound reasoning why that makes perfect sense and additionally presents us with opinions of some popular voices in our industry.</p>

<p>He even goes as far as recommending that you upload your unfinished product or service. Why? Because you’ll never have it complete &mdash; that goes back to the perfectionism thing I touched on earlier &mdash; a design, a product, a service, everything is a process, a process of iteration. So why not get it out there, even if it still has a bug or two, needs some code optimization, and no more than barely the essentials?</p>

<p>What you get in return is the most precious thing any of us should value at this very early stage of production - namely the feedback of your customers. The sooner you get your product or service out to the people, the quicker you understand what works and what doesn’t. Those are first-hand reactions to your product. And since those are the people who’ll later be paying for your offerings, it makes good business sense to optimize it to reflect what your site visitors have communicated.</p>


<p>And finally, one more significant aspect of <a href="http://37signals.com" title="visit 37signals">37signals’</a> philosophy is that of negation. Saying no, and saying it often, allows your products to stay focused on what is essential, and do what it is supposed do well. By saying no to every feature you think of at the start of a project, you can quickly learn what you really need by simply leaving out everything else. In other words, the book strongly suggests that the competition isn’t mimicked, that we don’t fill our application with everything that we think we need just because someone else has it. We are encouraged to keep things simple, build on the essentials and add features responsibly and only if these really extend the effectiveness of using said product.</p>

<p>To summarise: Less in every shape or form is neither a deficit nor a hindrance to success. Having a small and smart product or service, one that was borne out of ones own needs and was later formed into a product based on what our customers have said, makes for a powerful, user-centric solution. Being small does not hurt either. It can facilitate more agility, allow us to communicate with our customers closely, react to their feedback quickly and submit our iteration fast and conveniently.</p>

		<p>Categories: <a href="http://rockatee.com/blog/category/books/">Books</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/books/">books</a>, <a href="http://rockatee.com/tags/tag/reviews/">reviews</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/getting-real-book-review"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/getting-real-book-review" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>Conditionals: Manipulate a Class or ID Attribute of Elements in Channel Entries</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/change-any-class-or-id-attribute-of-a-html-element-within-your-weblog-entry" />
	  <id>tag:rockatee.com,2010:blog/1.20</id>
	  <published>2010-07-01T04:02:25Z</published>
	  <updated>2010-08-03T03:29:28Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Development"
		scheme="http://rockatee.com/news/category/development"
		label="Development" />
	  <content type="html"><![CDATA[
		<p>There are plenty of reasons why we sometimes need to have the first or last element in a row to have a different Class than its siblings. If, for example, I wanted to create an unordered list of which the last list item was to contain a different CSS rule than any of the other list items, I'd simply create a <em>class</em> for it within my CSS stylesheet and reference that via the class attribute inside my HTML element:</p>

<ol class="code">
	<li><code>&lt;ul id="nav"&gt;</code></li>
	    <li><code>&lt;li&gt;&lt;a href="homepage.html"&gt;Home&lt;/a&gt;&lt;/li&gt;</code></li>
	    <li><code>&lt;li&gt;&lt;a href="about.html"&gt;About&lt;/a&gt;&lt;/li&gt;</code></li>
	    <li><code>&lt;li <strong>class="last"</strong>&gt; &lt;a href="contact.html"&gt;Contact&lt;/a&gt;&lt;/li&gt;</code></li>
	<li><code>&lt;/ul&gt;</code></li>
</ol>

<p>I might also want to change the last class attribute for the third weblog entry because I've decided that I want my last column to not have any margins.</p>
<p>There are plenty of ways to go about altering the first, last, or odd item, but I've chosen to use one of the very simple means, namely using ExpressionEngine's built-in <a href="http://expressionengine.com/docs/templates/globals/conditionals.html" title="conditional global variables">conditional global variables</a>.</p>

<p>So, to be clear: What I want is to have three columns in a row. All three columns have the same class, in this case the class is <code>column</code>. I want the third column to have the additional CSS class <code>last-item</code> because I'd like to change the value of this item's margin. Yes, we could use CSS' ":last-child" or "nth-child" property, but that's for another day. Today, I'd just like to show you how you can manipulate small chunks of code - or large chunks for that matter - by simply using EE's conditionals and variables. You can apply this logic to pretty much any piece of code you'd like to modify.</p>

<p>Raw HTML code without ExpressionEngine tags:</p>

<ol class="code">
	<li><code>&lt;div class="column"&gt;</code></li>
	<li><code>&lt;h2&gt;My title&lt;/h2&gt;</code></li>
	<li><code>&lt;p&gt;My excerpt&lt;/p&gt;</code></li>
	<li><code>&lt;/div&gt;</code></li>
</ol>

<p>But we want to take advantage of EE's tags and create dynamic content, so our code will now look like this:

<ol class="code">
	<li><code>&#123;exp:weblog:entries weblog="blog" limit="3"&#125;</code></li>
	<li><code>&lt;div class="column"&gt;</code></li>
	<li><code>&lt;h2&gt;{title}&lt;/h2&gt;</code></li>
	<li><code>&lt;p&gt;{excerpt}&lt;/p&gt;</code></li>
	<li><code>&lt;/div&gt;</code></li>
	<li><code>&#123;/exp:weblog:entries&#125;</code></li>
</ol>

<p>The third entry needs a second class appended to the HTML. I'm giving it a class name of "last-item".</p>

<ol class="code">
	<li><code>&#123;exp:weblog:entries weblog="blog" limit="3"&#125;</code></li>
	<li><code>&lt;div class="column {_if count == 3}last-item{/_if}"&gt;</code></li>
	<li><code>&lt;h2&gt;{title}&lt;/h2&gt;</code></li>
	<li><code>&lt;p&gt;{excerpt}&lt;/p&gt;</code></li>
	<li><code>&lt;/div&gt;</code></li>
	<li><code>&#123;/exp:weblog:entries&#125;</code></li>
</ol>
<p>(remove the underscore before the opening and closing <strong>if</strong>)</p>
<p>What's changed? If you look at the class attribute of the div, you'll see that I've added a conditional global variable, namely the <strong>if</strong> conditional. In addition to that I've applied the single variable <code>{count}</code>. In plain English it reads as follows: "If the item is equal to 3 (the third item), then append the CSS class <code>last-item</code> to the HTML element."

<p>And that's it. There are plenty of <a href="http://expressionengine.com/docs/templates/globals/conditionals.html" title="conditional global variables">conditional global variables</a> and <a href="http://expressionengine.com/docs/modules/weblog/variables.html" title="single variables">single variables</a> that allow for tons of flexibility without resorting to add-ons.</p>

<p>In closing it should be noted that this technique works for EE2 as well. Replace <code>weblog</code> with <code>channel</code> and you're good to go.</p>

		<p>Categories: <a href="http://rockatee.com/blog/category/development/">Development</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/expressionengine/">expressionengine</a>, <a href="http://rockatee.com/tags/tag/tutorials/">tutorials</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/change-any-class-or-id-attribute-of-a-html-element-within-your-weblog-entry"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/change-any-class-or-id-attribute-of-a-html-element-within-your-weblog-entry" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>On Being Stale</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/on-being-stale" />
	  <id>tag:rockatee.com,2010:blog/1.13</id>
	  <published>2010-06-24T05:13:22Z</published>
	  <updated>2010-07-17T06:01:24Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Update"
		scheme="http://rockatee.com/news/category/update"
		label="Update" />
	  <content type="html"><![CDATA[
		<p>Typing noise. Letters. Words... something's up...</p>

<p><strong>Yes, I'm alive!</strong></p>

<p>My last blog post has been a while. I'd have loved to be able to say that I was so busy that every effort of stealing a fraction of a minute to quickly write together a post were all but a luckless effort. Or that my clients dragged me into a dark, scary, empty room, shut the door, and condemned me to keep the silence forevermore!</p>

<p>Alas, none of that happened.</p>

<p>I neglected to write anything for no other reason than not finding a reason to write. I concentrated on working on my clients' projects, successfully neglecting and blissfully ignoring everything else.</p>

<p>I am, of course, still working on my clients' projects. However, a designer's life comprises more than working for others, day in, day out. While a priority, I've realised that I tire much quicker when a day's ritual is entirely void of diversion and there's no room left to train the mind and explore ideas that are not bound to a deadline.</p>

<p>And I have ideas. I have plenty ideas. Even some good ones. And now is the time to no longer be my own worst critique, and just put myself out there and write, no matter how futile, horrible, or good.</p>

<p>I've evolved. I've been gradually and consistently honing my skills. I've garnered insights to complex matters that have altered - and dare I say bettered - my view on designing for the web.</p>

<p>These are exciting times to be in the industry. The tasks of a web designer are getting more convoluted, intricated by the day. And, at the same time, the web is getting quite a bit more flexible. It's the electrifying beauty of the insanely fast-paced progression that's prompted me to hop back onto the blogosphere - not that I've ever been part of it - and write about all the things that inspire, astound, irritate, and energize me, and - if I'm lucky - you too.</p>

		<p>Categories: <a href="http://rockatee.com/blog/category/update/">Update</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/updates/">updates</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/on-being-stale"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/on-being-stale" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>Handcrafted CSS</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/handcrafted-css-book-review" />
	  <id>tag:rockatee.com,2010:blog/4.11</id>
	  <published>2010-06-20T06:51:45Z</published>
	  <updated>2010-08-02T06:48:48Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Books"
		scheme="http://rockatee.com/news/category/books"
		label="Books" />
	  <category term="Development"
		scheme="http://rockatee.com/news/category/development"
		label="Development" />
	  <content type="html"><![CDATA[
		<p>It needs to be said;<i> Hancrafted CSS</i> is one of the most motivational and inspiring development books I've ever read. You want to roll up your sleeves and get down to business instantly. It’s beautifully written, engaging, concise, positive, and hopeful. When I have a day where I’m not so keen on the prospect of having to code all day for a client, I read a few pages of the book and... voila!</p>

<h2>Who’s the Author?</h2>

<p><a href="http://www.simplebits.com/" title="visit Simplebits">Dan Cederholm</a> is undoubtedly a renowned and recognized expert in our field and has an audaciously impressive resume, ranging from <a href="http://google.com" title="visit Google">Google</a> to <a href="http://www.mtv.com" title="visit MTV">MTV</a>. He's written two other books, both of which I've read and will review in the not so distant future.</p>

<p>To round off the fantastic reading experience, <a href="http://unstoppablerobotninja.com/" title="visit Unstoppablerobotninja">Ethan Marcotte</a>, another well-respected web designer and senior creative head of <a href="http://airbagindustries.com/" title="visit Airbag Industries">Airbag Industries</a>, treats us to a fine chapter on fluid layout design.</p>

<h2>What’s the Book About?</h2>

<p>As the title suggests, the book is about crafting design with CSS, however not so much with CSS2.1, the current standard, but rather with the über mighty CSS3.</p>

<p>Inevitably, that leads to the question why Cederholm has written a book about a version of a markup language that is neither a standard (yet) nor a language that finds wide support as of July 2010, most notably &mdash; and quite frustratingly &mdash; in Internet Explorer, the world’s most used browser and the designer’s greatest headache, well, the legacy versions anyway.</p>

<p>The answer is quite simple: The book explores design techniques that allow you to circumvent those particular strains that go along with creating designs that look identical in all browsers, from legacy to the newest versions. Cederholm proposes to stop designing with pixel-perfection in mind. While we’ve struggled with rounded corners, experimented with probably no less than twenty different rounded corner techniques, some with the aid of Javascript, some without, all these previous techniques had and have one thing in common; They either require plenty of extra markup, bloating up your beautiful code, need the assistance of a dynamic scripting language (Javascript), use too many images, exhausting your server with an insane amount of extra HTTP-Requests, or forfeit your design’s flexibility and thus make it a pain and a horror prospect, should your client ask for something as trivial as a colour change.</p>

<p>CSS3 offers a property that will make those concerns tremors of the past. That property, that very feature which obviates any and all potential panic attacks is called <code>border-radius</code>. While we still need to use vendor-specific browser prefixes,this is one of those CSS3 properties that can be used today and is supported in all modern browsers, minus all versions of Internet Explorer up to version 8.</p>

<p>So what if clients are not in accordance with the fact that IE doesn’t render the pages like the other browsers do? Cederholm makes the case by creating a fictional Coffee website, implementing a handful of modern CSS3 techniques that render beautifully in Opera, Safari/Chrome, and Firefox and degrade gracefully &mdash; the aesthetics of which are only marginally lost &mdash; in Internet Explorer as well as all other legacy browsers.</p>

<p>It is important to note that Cederholm merely suggests using these techniques, if the environment allows for it. Not every site is suitable for such an aggressively progressive, foward-thinking approach to coding. Sometimes we need to abide by the rules set forth by our clients, boss, our working environment, and most importantly, our target audience. The most advanced and smartest design in the world is worth nil, nada, niente, if the people who visit your site, who are the sole reason of your site’s existence, can’t use it, and use it well.</p>

<p>Cederholm introduces plenty more examples of modern coding techniques, comparing them to older, tried methods, weighs us in on considerations, such as making use of alpha-transparency by using CSS3’s RGBA property, how to make content sections modular, proposing the use of flexible-width layouts &mdash; or should I say fluid grids &mdash; a most inspiring chapter written by <a href="http://unstoppablerobotninja.com/" title="visit Unstoppablerobotninja">Ethan Marcotte</a>, as well as briefly touching on the subject of implementing non-standard fonts via the <code>@font-face</code> property.</p>

<h2>Conclusion</h2>

<p>I can say with great confidence that this is a book that should be in every designer’s bookshelf. There are books that go into much greater detail, but if you are in accordance with the Utilitarian approach to design depicted in this book,  want a well-rounded, wonderfully composed companion that makes you thirst for more in-depth information on any of the topics discussed, then I wholeheartedly recommend this book to you.</p>
		<p>Categories: <a href="http://rockatee.com/blog/category/books/">Books</a> <a href="http://rockatee.com/blog/category/development/">Development</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/books/">books</a>, <a href="http://rockatee.com/tags/tag/css/">css</a>, <a href="http://rockatee.com/tags/tag/progressive+enhancement/">progressive enhancement</a>, <a href="http://rockatee.com/tags/tag/reviews/">reviews</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/handcrafted-css-book-review"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/handcrafted-css-book-review" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>ExpressionEngine: Excluding the currently viewed entry from a recent entries list</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/expressionengine-excluding-currently-viewed-entry-from-recent-entries-list" />
	  <id>tag:rockatee.com,2009:blog/1.12</id>
	  <published>2009-07-09T05:13:22Z</published>
	  <updated>2010-08-02T17:03:25Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Development"
		scheme="http://rockatee.com/news/category/development"
		label="Development" />
	  <category term="Tutorials"
		scheme="http://rockatee.com/news/category/tutorials"
		label="Tutorials" />
	  <content type="html"><![CDATA[
		<p>Scenario: When viewing a single entry, you would like to display the most recent entries on the side, excluding the currently viewed entry.
By default, ExpressionEngine doesn't have a special function or parameter for it.
However, there's a very simple way to add this feature; by creating a <em>global variable</em> and using it as a <em>weblog</em> parameter value.</p>


<p>We start by creating a new <em>global variable</em> and assigning it to the template we use to render our single entries.</p>

<ol class="code">
    <li><code>{assign_variable:current_entry="{segment_3}"}</code></li>
</ol>
<p>What we've done: we have created a new <em>global variable</em> with the name of <em>current_entry</em> and assigned it the value of <em>{segment_3}</em>, the third segment of the URL.</p>
<p>An Example: <em>mysite.com/index.php/blog/single/<strong>my-entry-title</strong></em></p>
<p>In this example, the entry title is the third segment of the URL. <em>index.php</em> does not count as a segment. If you've never worked with ExpressionEngine's URL segments before, you can find <a href="http://expressionengine.com/docs/templates/globals/url_segments.html">all information on how to use them in the EE docs</a>.</p>  
<p>In our single entries template we insert our code somewhere at the top, e.g. below our other assigned global variables.</p>

<ol class="code">
    <li><code>{assign_variable:my_template_group="blog"}</code></li>
    <li><code>{assign_variable:my_weblog="blog"}"}</code></li>
    <li><strong><code>{assign_variable:current_entry="{segment_3}"}</code></strong></li>

</ol>

<p>Now we can apply the newly created <em>global variable</em> to use as a parameter value in our <em>weblog:entries</em> tag.</p>

<h4>The Logic</h4>

<p>We have stored the entry title in <em>{current_entry}</em> in order to use this <em>global variable</em> in our <em>weblog:entries</em> tag as a parameter value. Next, we'll tell our function to exclude the entry title from our recent entries in our single entries template.</p>

<ol class="code">
    <li><code>&lt;ul class="recent-entries"&gt;</code></li>
    <li><code>&#123;exp:weblog:entries weblog="{my_weblog&#125;" dynamic="off" <strong>url_title="not {current_entry}"</strong>}</code></li>

    <li><code>&lt;li&gt;&lt;a href="/blog/single/{url_title}" title="read more on {title}"&gt;{title}&lt;/a&gt;&lt;/li&gt;</code></li>
    <li><code>&#123;/exp:weblog:entries&#125;</code></li>
    <li><code>&lt;/ul&gt;</code></li>

</ol>

<p>It is important to have <em>dynamic="off"</em> in our <em>weblog: entries</em> tag.<br>In this example, we've added the <em>url_title</em> parameter and assigned it the value of <em>{current_entry}</em>. Additionally, we have prepended the value <em>"not"</em>, which translates to the following: if we view a single entry, do <strong>NOT</strong> include the current URL title.</p>

<p>That's it. We could also separate this piece of code from our template and then include it via embeds. However, I prefer to not use too many embeds to ensure that not too many queries are used that might effect speed/performance.</p>
		<p>Categories: <a href="http://rockatee.com/blog/category/development/">Development</a> <a href="http://rockatee.com/blog/category/tutorials/">Tutorials</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/expressionengine/">expressionengine</a>, <a href="http://rockatee.com/tags/tag/tutorial/">tutorial</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/expressionengine-excluding-currently-viewed-entry-from-recent-entries-list"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/expressionengine-excluding-currently-viewed-entry-from-recent-entries-list" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>ExpressionEngine: How to create Gallery Entries</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/expressionengine-how-to-create-gallery-entries" />
	  <id>tag:rockatee.com,2009:blog/1.14</id>
	  <published>2009-07-04T05:13:12Z</published>
	  <updated>2010-07-30T15:58:14Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Development"
		scheme="http://rockatee.com/news/category/development"
		label="Development" />
	  <category term="Tutorials"
		scheme="http://rockatee.com/news/category/tutorials"
		label="Tutorials" />
	  <content type="html"><![CDATA[
		<p>When it comes to designing web sites for clients, one of the things we ask ourselves first is how we can develop a required feature in the most simple and intuitive way possible. Some clients have their web sites maintained by professionals while other clients prefer to maintain their web site autonomically. In the latter case, it is crucial that a client can create content in such a way as to not interfere with anything that requires technical know-how. An example is one of my latest clients; the client wants to create and manage photo galleries. The CMS of choice is <a href="http://www.expressionengine.com/"> ExpressionEngine</a>, my favourite CMS. But &mdash; and I don't mean the passive kind of "raise yer eyebrow, leave out an enormous sigh to make sure everyone in the room notices, shrug shoulders and move on" kind of "but" &dash; it's the type of "but" that can make and break initial tool decisions.</p>

<p>Of course one cannot expect any CMS to come full-fledged with a  "anything-you-want-and-so-much-more-you-really-never-should-have" off-the-shelf feature-set.
However, the default EE Gallery Module leaves some things to be desired, particularly when you do not want a client to have to meddle with servers, templates, and create new folders for a gallery each time the client decides to make a new one.</p>

<p>However, as with any top-notch CMS, you have a thriving, agile and smart community that supports the software and goes out of their way to fill these gaps with high-quality third-party add-ons that facilitate and  extend features that make every non-programmer occasionally breakout into silly, frenetic outbursts.</p>

<p>That should be the initial reaction with these two methods you can use to create a nifty, usable, and convenient means which which your client can create galleries on the spot without having to resort to technical mumbo-jumbo:</p>

<ul>
    <li>Using <a href="http://www.solspace.com/">Solspace's</a> <a href="http://www.solspace.com/software/detail/gallery_extended/"> Gallery Extended</a>  module (commercial)</li>
    <li>Using <a href="http://brandon-kelly.com/">Brandon Kelley's</a> <a href="http://brandon-kelly.com/fieldframe/">FieldFrame</a> extension and combining it with nGen Works' nGen FileField field type as well as adding additional beauty by using Lumis' image resizing plugin that is conveniently labeled <a href="http://www.lumis.com/page/imgsizer/">ImgSizer</a></li>
</ul>

<p>I will focus on the second method.</p>


<h4>Requirements for our entry gallery functionality:</h4>

<ul>
    <li>- jQuery for the Admin Panel</li>
    <li>- Brandon Kelley's <a href="http://brandon-kelly.com/fieldframe">FieldFrame Framework</a> extension</li>
    <li>- nGen Works' <a href="http://www.ngenworks.com/software/ee/ngen-file-field/">nGen File Field</a> type for FieldFrame</li>
    <li>- Lumis' <a href="http://www.lumis.com/page/imgsizer/">ImgSizer</a> plugin</li>
</ul>

<h4>The setup:</h4>

<p><strong>1.</strong> Make sure you have <a href="http://www.jquery.com">jQuery</a> enabled in your Admin Panel. If you're running a newer installation of ExpressionEngine, you already have that feature.If you don't, then <a href="http://www.ngenworks.com/"> nGen Works'</a><a href="http://www.ngenworks.com/software/ee/cp_jquery/"> cp-jquery</a> extension will help you out. However, make certain that you're running the latest versions of jQuery to avoid any issues. A convenient method is to simply link to <a href="http://code.google.com/intl/de-DE/apis/ajaxlibs/documentation/"> Google's Ajax Libraries</a> for<a href="http://code.google.com/intl/de-DE/apis/ajaxlibs/documentation/#jquery"> jQuery</a>  and <a href="http://code.google.com/intl/de-DE/apis/ajaxlibs/documentation/#jqueryUI">jQuery UI</a>. Alternatively, just place a copy of <a href="http://docs.jquery.com/Downloading_jQuery#Current_Release"> jQuery</a> and <a href="http://jqueryui.com/download">jQuery UI</a> somewhere on your server and link to it.</p>

<img src="http://rockatee.com/images/ee_article_gallery_01.png" alt="Screenshot displaying the jQuery extension fields">

<p><strong>2.</strong> Upload and install FieldFrame in your extensions folder and enable the extension in your <em>Extensions Manager</em>.You should now see a new item called <em>Fieldtypes Manager</em> in your Admin Panel under <em>Admin -> Utilities</em>.</p>

<p><strong>3.</strong> Upload ImgSizer to your <em>plugins</em> folder.</p>

<p><strong>4.</strong> Upload nGen FileField into your <em>fieldtypes</em> folder under <em>/extensions/fieldtypes/</em>.</p>

<p><strong>5.</strong> Now you can use the new extension to define the <em>Custom Weblog Field</em> for the weblog where you intend to use entries as galleries. Create a new <em>Custom Weblog Field</em> and name it <em>image_upload</em> (or something else, but I'll use it for this example). <br>
Specify the <em>Field Type</em> and choose <em>FF Matrix</em> as your <em>Field Type</em>. Why <em>FF Matrix</em>? Because I'd like to do more than just upload an image file. I'd like to have multiple fields where I can add information relevant to the image, hence <em>FF Matrix</em> is the sensible choice.</p>

<p>You should see something like this:</p>

<img src="http://rockatee.com/images/ee_article_custom_field_02.png" alt="Screenshot displaying the Custom Field Setup">

<p><strong>6.</strong> Now I'd like to have a field where I can explicitly describe the alt attribute. Of course you can create any other fields you deem necessary. Create them as you see fit. For this example, I'll just create two columns, one for the image file and one for the alt attribute.</p>

<p>The first column should hold my image, so I will name it <em>image</em>. Do not forget to specify the <em>File upload location</em>. The second column should hold the content for my alt attribute, so I'll name it <em>alt_descr</em>. The <em>Cell Type</em> for my image is a <em>nGen</em> field, the second column should be plain <em>text</em>.</p>

<img src="http://rockatee.com/images/ee_article_matrix_config_03.png" alt="Screenshot displaying the Field Matrix Setup">

<p><strong>7.</strong> Save everything and when you publish a new entry, you should see these fields now.</p>

<img src="http://rockatee.com/images/ee_article_publish_04.png" alt="Screenshot displaying Publish Tab">

<p><strong>8.</strong> I now need to add the HTML to accomodate our new functionality in the templates. I'll leave out the styling and other considerations as that bears no relevance.</p>

<p>Firstly, here's my basic HTML structure for the gallery:</p>

<ol class="code">
    <li><code>&lt;ul class="my-gallery"&gt;</code></li>

    <li><code>&lt;li&gt;&lt;a href="path_to_large_image.jpg"&gt;&lt;img src="my_thumbnail.jpg" alt="my thumbnail"&gt;&lt;&lt;/a&gt;&lt;/li&gt;</code></li>
    <li><code>&lt;/ul&gt;</code></li>
</ol>

<p>Secondly, we'll add our new functions to display the images and alt attributes:</p>

<ol class="code">
    <li><code>&lt;ul class="my-gallery"&gt;</code></li>
   <li><code>&#123;exp:weblog:entries weblog="photography"&#125;</code></li>
    <li><code>{image_upload}</code></li>
    <li><code>&lt;li&gt;&lt;a href="{image}"&gt;&lt;&#123;exp:imgsizer:size src="{image&#125;" width="55" height="35" alt="{alt_descr}"}&lt;/a&gt;&lt;/li&gt;</code></li>
    <li><code>{/image_upload}</code></li>
    <li><code>&#123;/exp:weblog:entries&#125;</code></li>
    <li><code>&lt;/ul&gt;</code></li>

</ol>

<p>In human words, I wrap my  list items into the custom field variable pair, <em>{image_upload}</em>, the field we just created. I then specify what I want to be displayed, thus using my image field to reference the image path by placing <em>{image}</em> into the href attribute. Next I tell EE that I want to have thumbnails, ergo I use the <a href="http://www.lumis.com/page/imgsizer/">ImgSizer</a> plugin code that does the work for me. Finally, I add my alt attribute description {alt_descr}.

<p>And that's basically all that is needed to use entries as galleries in <a href="http://www.expressionengine.com/">ExpressionEngine</a>. Solspace's <a href="http://www.solspace.com/software/detail/gallery_extended/">Gallery Extended</a> module  is another method, but I haven't tried it out yet, so cannot compare how it fairs in terms of ease of implementation. It has several more options like creating relationships and delicious whatsits. Knowing Solspace, however, I have no doubt it's a fantastic method as well, so choose whatever fits your requirements best!</p>

		<p>Categories: <a href="http://rockatee.com/blog/category/development/">Development</a> <a href="http://rockatee.com/blog/category/tutorials/">Tutorials</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/expressionengine/">expressionengine</a>, <a href="http://rockatee.com/tags/tag/tutorial/">tutorial</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/expressionengine-how-to-create-gallery-entries"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/expressionengine-how-to-create-gallery-entries" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>Highlighting menu items with ExpressionEngine</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/highlighting-menu-items-with-expressionengine" />
	  <id>tag:rockatee.com,2008:blog/1.19</id>
	  <published>2008-10-08T03:48:40Z</published>
	  <updated>2010-07-30T15:56:42Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Development"
		scheme="http://rockatee.com/news/category/development"
		label="Development" />
	  <content type="html"><![CDATA[
		<p>There are indeed are variety of means by which you can highlight a menu item of the current page you're on. One way would be to use ExpressionEngine's <a href="http://expressionengine.com/docs/templates/embedding_templates.html">embedded template</a> functionality which is very sophisticated. The downside in my view is that you have to &mdash; as the name implies &mdash embed a template which may not always be the optimal solution, depending on your amount of embedded templates and your general structure preferences. I usually try to not use too many embedded templates in order to allow for less performance overhead, but your preferences may vary and technically, there is nothing wrong with going that route. </p>

<p>So, to highlight your current navigation item, you would create an <strong>embed variable</strong>.</p>

<p>This is the standard structure of an embed variable:</p>

<ol class="code">
<li>&#123;embed="mytemplate" parameter name == "parameter value"&#125;</li>
</ol>

<p>Example:</p>

<ol class="code">
<li>&#123;embed="navigation" sausage == "frankfurter"&#125;</li>
</ol>

<p>In plain text this means your embed variable consists of the parameter name of <strong>sausage</strong> with a parameter value of <strong>frankfurter</strong>.</p>

<p>For my navigation, I would then create a parameter value for each navigational element within each template which would look like the following for my portfolio index page:</p>

<img src="http://rockatee.com/images/article_nav2.jpg" alt="">

<p>Rinse and repeat for each page you link to in your navigation.</p>

<p>Next, you will want to create the embedded template. I use a separate template group for my embedded templates and have assigned it the name <strong>inc</strong>. My navigation template is called <strong>_navi</strong>, hence, in order for EE to understand that we want to highlight the current navigation item, we have to tell it to do so by implementing conditional variables, in this case the <strong>if</strong> statement.</p>


<img src="http://rockatee.com/images/article_nav.jpg" alt="">

<p>Another really nifty way of having your current navigation item highlighted, is by using <a href="http://solspace.com/">Solspace's</a> <a href="http://www.solspace.com/software/detail/selected/c/plugins/">Selected</a> plugin. It's extremely easy to set up, and does not require any embedding or the use of conditionals for simple setups.</p>

<p>If, for example, you had a list of weblog entry links in your left column and the single entry in your right column and wanted to highlight the current item a user was on, then you would use something like this:</p>

<ol class="code">
<li>&lt;ul&gt;</li>
<li>&#123;exp:weblog:entries weblog="{my_weblog&#125;"}</li>
<li>&#123;exp:selected item="{segment_2&#125;" replace="class='selected'"}</li>
<li>&lt;li {selected_{url_title}}&gt;&lt;a href="{/comment_url_title_auto_path}" title="{title}"&gt;{title}&lt;/a&gt;&lt;/li&gt;</li>
<li>&#123;/exp:selected&#125;</li>
<li>&#123;/exp:weblog:entries&#125;</li>
<li>&lt;/ul&gt;</li>
</ol>

<p>(remove the slash in the <strong>comment_url_title_auto_path</strong> variable. EE automatically turns it into a link in my entries).</p>
<img src="http://rockatee.com/images/article_nav3.jpg" alt="">
<p>You can also use a static menu:</p>

<ol class="code">
<li>&lt;ul&gt;</li>
<li>&#123;exp:selected item="{segment_1&#125;" replace="class='selected'"}</li>
<li>&lt;li {selected_news}&gt;&lt;a href="/news/" title="Latest News"&gt;Latest News</a>&lt;/li&gt;</li>
<li>&lt;li {selected_about}&gt;&lt;a href="/about/" title="About"&gt;About</a>&lt;/li&gt;</li>
<li>&#123;/exp:selected&#125;</li>
<li>&lt;/ul&gt;</li>
</ol>

<p>Here, the second part of the parameter is your actual value, in this case it is the first segment (<strong>segment_1</strong>) that is replaced, so if you want to highlight a segment, you'd give the second part of the paramter the exact url title. In my example, the exact url title is <strong>news</strong> and <strong>about</strong> respectively.</p>

<p>There are many more uses for the <a href="http://solspace.com/">Solspace</a> plugin, but here I've highlighted two possibilities of its use.</p>



		<p>Categories: <a href="http://rockatee.com/blog/category/development/">Development</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/development/">development</a>, <a href="http://rockatee.com/tags/tag/expressionengine/">expressionengine</a>, <a href="http://rockatee.com/tags/tag/tutorials/">tutorials</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/highlighting-menu-items-with-expressionengine"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/highlighting-menu-items-with-expressionengine" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>RSS and Atom Feeds now Working</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/rss-and-atom-feeds-now-working" />
	  <id>tag:rockatee.com,2008:blog/1.18</id>
	  <published>2008-08-14T03:47:18Z</published>
	  <updated>2010-07-30T15:55:20Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Update"
		scheme="http://rockatee.com/news/category/update"
		label="Update" />
	  <content type="html"><![CDATA[
		<p>I've been contacted by a few readers that neither my Atom feed nor my RSS feed were working. This is truly embarassing, I must admit to my shame. The past few weeks have been explosive (in a good way) and I've had little time to write articles and such due to the simple fact that I'm currently overwhelmed with client work.</p>
<p>There has also been quite a good amount of spam that paved its way through my comments and thus affected my readers as they received those wonderfully precise and eloquent trash in their mailbox. I have done away with that by implementing a captcha feature. I despise captchas with a passion, but at the moment, this seems the quickest and easiest, if not entirely accessible way of preventing the agressive spam of lately. Should you know of a wiser solution, do share.</p>
<p>Meanwhile, I am not in the least prepared to neglect cleaning up the rest of the few remaining quirks and minor technical issues and will attend to these bit by bit, and sooner rather than later.</p>
<p> On the writing aspect of things, quite a few articles are in the pipeline and waiting to be released, so do stay tuned and I'll do my best to not disappoint. </p> <img src="http://dev.rockatee.com/images/smileys/smile.gif" width="19" height="19" alt="smile" style="border:0;" />

		<p>Categories: <a href="http://rockatee.com/blog/category/update/">Update</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/updates/">updates</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/rss-and-atom-feeds-now-working"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/rss-and-atom-feeds-now-working" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>On the Perils of Poor Documentation</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/on-the-perils-of-poor-documentation" />
	  <id>tag:rockatee.com,2008:blog/1.17</id>
	  <published>2008-08-03T03:44:23Z</published>
	  <updated>2010-07-30T15:54:25Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Development"
		scheme="http://rockatee.com/news/category/development"
		label="Development" />
	  <content type="html"><![CDATA[
		<p>Whether you’re a high-school or University graduate, there’s one thing our mentors have tried to impregnate into our brains as a vital tool to comprehend and memorise the information we are taking in; making notes of what we read, see, and hear.
Granted, to some it may seem redundant or far too time-consuming to engage in exhaustive documentation of one’s reading and learning material. And there are indeed areas of learning where you don’t need it. </p>

<h4>If I do it with Books, why not do it with Websites?</h4>

<p>What do your books look like? Are they neat and clean? I don’t mean coffee marks or other unnescessary stains or speckles of dirt; I mean clear signs that a book is heavily used. My books mdash; for the most part mdash; are a complete mess. Why? Because they’re tools. They’re the hammer and chisel I use, sometimes abuse, excessively amd exhaustively. I write extensive notes on the sides of a page, sometimes a hundred words or more. I underline paragraphs, add questions or exclamation marks when I feel something is either right on the mark or when I’m uncertain of the meaning of certain paragraphs. I use a yellow neon-marker to mark passages that contain a thesis, mark passages in neon-pink that illustrate possible anti-thesis/counter-arguments, and finally use a green marker to highlight the thesis’ conclusion.
I place paper notes where adequate with bullet points to help me find the proper information I seek next time I need it.
In short, my books look used, torn, and often have very little resemblance in apperance to when I originally bought them.</p>
<p>
On the web, having a documentation habitus, is of even greater importance, unless you design solely for yourself.</p>

<p>Only recently, I’ve made it a habit to always document significant steps taken during the course of designing a web site for a client. 
While doing this may be considered a daunting and unnerving task, it can pay off in the end, and in more ways than one.</p>

<h4>The Benefits are not Limited to the Designer</h4>

<p>Firstly, I tend to experiment a lot when constructing and prototyping a new design. This is not only a fun task, but also a very challenging one many times.
Designing layouts that contain stylistic touches that are not overly common, usually require for my CSS to be extravagant as well. There is no way at all, I will remember what I did to client x’s design four years ago. Not remembering means lots of searching and guesswork. Lots of searching means lots of time wasted. I can’t tell you how many times I’ve had to revisit my own techniques because I had failed to document exactly why and how I coded something, relying on my memory entirely, which is not a very wise thing to do. 
</p>
<p>Secondly, documenting code and explaining why I have written a piece of code in such way or another, also tells me that I understand exactly what I’m doing. If I don’t know the whys and hows, or have quickly looked up a technique from a book without having learned the methods applied thoroughly, I won’t be able to explain it, right? Right.Therefore, documenting properly can be a good mirror to my current level of expertise.</p>

<p>Thirdly, the  most important benefit to documenting my code is to enable clients and developers to maintain the site independently from me, should they so choose, and doing it beautifully, without breaking the design, its aesthetics, and its accessible markup.</p>

<h4>Well-documented Code is more than a Memory Crutch</h4>

<p>What it really is, is a:</p>

<ul><li><strong> Accessibility Enabler</strong> - I am able to explain why I used non-semantic containers such as the span element, and slightly more semantic mdash; but still fairly neutral mdash; such as the div element to construct my contact form instead of using a list or table.Because opinions on Best Practices in the Web Standards world differ quite significantly in many areas, having good arguments for doing what I do and being able to explain why I chose what I chose, allows for insight, discussion, and enhancements. I can replace certain elements based on newly won cognition on how to best present specific information.</li>

<li><strong> Usability Enforcer</strong> - When having performed a re-design for Jane Doe’s company, I’ll have documented why I’ve done away with the poorly executed drop-down menu and instead applied a one-level navigation, and placed sub-menu items on the right-hand side. Shall a designer/developer mdash; at any given time mdash; seek to make changes to the navigation architecture, he’ll know and understand the reasoning behind my design decision.</li>

<li><strong> Efficiency Maker</strong> - Obviously, having documented my code will help save time. I can come back to a design I’ve made years ago and can quickly access the information and logic of the code applied.
I may just want to modify the colour scheme slightly. Perhaps I’d like to reduce the markup significantly, optimize, or enhance it to accomodate new browser-integrated CSS rules and the like. I can do this easily when I have my style-, and HTML documents well commented. It not only saves me a lot of time and headaches, and the client lots of money, but is simultaneously most beneficial to developers or teams who work on and maintain the same site.</li>
</ul>
<p>
So, making notes, writing good documentation is not a waste of time, not in the long run. I wish I had started out this way when creating websites and using the space I’m given in a HTML or style document, and mdash; for extensive documentation mdash; use separate documents to write down a table of contents, just like any good book does.</p>
		<p>Categories: <a href="http://rockatee.com/blog/category/development/">Development</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/development/">development</a>, <a href="http://rockatee.com/tags/tag/workflow/">workflow</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/on-the-perils-of-poor-documentation"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/on-the-perils-of-poor-documentation" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>Type Foundries &#45; Great Professional Fonts, and Free too!</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/type-foundries-great-professional-fonts-and-free-too" />
	  <id>tag:rockatee.com,2008:blog/1.16</id>
	  <published>2008-07-23T03:41:16Z</published>
	  <updated>2010-07-30T15:53:18Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Design"
		scheme="http://rockatee.com/news/category/design"
		label="Design" />
	  <content type="html"><![CDATA[
		<p>In my pursuit of purchasing a new typefaces, I never do so without paying a short visit to a foundry's freebie area. While most quality typefaces need to be paid for, sometimes, free typefaces find their way into my font collection, either because they're marvelously beautiful &mdash; or, because they allow for me to experiment. </p><p>Anyway, I have selected a few fonts (it is a good idea to read the license agreements for each of these releases) that I really like and have put on display below. At the very bottom of the article, you'll find the links to some of these foundries as they offer quite a few fluffy typefaces for free that I have not listed.</p> 

<h3>Stylish &mdash; by Stefan Hattenbach</h3>
<p><img src="http://rockatee.com/images/uploads/font_stylish.gif" alt="" /></p>
<p><a href="http://www.macrhino.com/dox/0244.html" title="Stylish">Download Link</a> | Distributed by <a href="hhttp://www.macrhino.com/" title="Mac Rhino Fonts">MRF</a></p>
<h3>FF Nuovo &mdash; by Xavier Dupré and Martin Majoor</h3>
<p><img src="http://rockatee.com/images/uploads/font_nuovo.gif" alt="" /></p>
<p><a href="http://www.fontfont.com/downloads/" title="FF Nuovo">Download Link</a> | Distributed by <a href="http://www.fontfont.com" title="FontFont">FontFont</a></p>
<h3>FF MT &mdash; by Erik Spiekermann</h3>
<p><img src="http://rockatee.com/images/uploads/font_mt.gif" alt="" /></p>
<p><a href="http://www.macrhino.com/dox/0244.html" title="MT">Download Link</a> | Distributed by <a href="http://www.fontfont.com" title="FontFont">FontFont</a></p>
<h3>Lido STF &amp; Lido STF Condensed</h3>
<p><img src="http://rockatee.com/images/uploads/font_lido.gif" alt="" /></p>
<p><img src="http://rockatee.com/images/uploads/font_lido_con.gif" alt="" /></p>
<p><a href="http://www.stormtype.com/typefaces-fonts-shop/free.php?buy=T122#T122" title="Lido">Download Link</a> | Distributed by <a href="http://www.stormtype.com" title="Stormtype">Stormtype</a></p>
<h3>Gentium</h3>
<p><img src="http://rockatee.com/images/uploads/font_gentium.gif" alt="" /></p>
<p><a href="http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&item_id=Gentium_basic" title="Gentium">Download Link</a> | Distributed by <a href="http://www.sil.org/" title="SIL">SIL</a></p>
<h3>Teaspoon &mdash; by Haley Fiege</h3>
<p><img src="http://rockatee.com/images/uploads/font_teaspoon.gif" alt="" /></p>
<p><a href="http://www.fontbros.com/free_fonts.php" title="Teaspoon">Download Link</a> | Distributed by <a href="http://www.fontbros.com/" title="Font Bros">Font Bros</a></p>
<h3>Sovereign</h3>
<p><img src="http://rockatee.com/images/uploads/font_sovereign.gif" alt="" /></p>
<p><a href="http://www.type.co.uk/index.php?p=FreeFonts" title="Sovereign">Download Link</a> | Distributed by <a href="http://www.type.co.uk/" title="Font Bros">type.co.uk</a></p>
<h3>And a few More</h3>
<ul>
<li><a href="http://www.josbuivenga.demon.nl/index.html" title="exljbris">exljbris</a></li>
<li><a href="http://www.macrhino.com" title="Mac Rhino Fonts">Mac Rhino Fonts</a></li>
<li><a href="http://www.dersven.de/select_category/7.html" title="DerSven">DerSven</a></li>
<a href="http://www.fontbros.com/free_fonts.php" title="Font Bros">Font Bros</a></li>
<li><a href="http://moorstation.org/typoasis/designers/klein03/index.htm" title="Manfred Klein">Manfred Klein</a></li>
<li><a href="http://moorstation.org/typoasis/designers/steffmann/index.htm#K" title="Dieter Steffmann">Dieter Steffmann</a></li>
<li><a href="http://www.stormtype.com/typefaces-fonts-shop/free.php?buy=T122#T122" title="Stormtype">Stormtype</a></li>
<li><a href="http://fontfont.com" title="FontFont">FontFont</a></li>
</ul>

		<p>Categories: <a href="http://rockatee.com/blog/category/design/">Design</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/fonts/">fonts</a>, <a href="http://rockatee.com/tags/tag/foundries/">foundries</a>, <a href="http://rockatee.com/tags/tag/type/">type</a>, <a href="http://rockatee.com/tags/tag/typography/">typography</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/type-foundries-great-professional-fonts-and-free-too"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/type-foundries-great-professional-fonts-and-free-too" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>New WordPress Theme Release for Smashing Magazine</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/new-wordpress-theme-release-for-smashing-magazine" />
	  <id>tag:rockatee.com,2008:blog/1.15</id>
	  <published>2008-07-16T03:36:00Z</published>
	  <updated>2010-07-30T15:52:03Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <category term="Freebies"
		scheme="http://rockatee.com/news/category/freebies"
		label="Freebies" />
	  <content type="html"><![CDATA[
		<p>While I'm a huge ExpressionEngine afficionado, I do also work with other CMSes and blogging platforms.
I know there are a plethora of options to choose from and while I do belive each CMS might probably be good in their own right &mdash; as long as the code isn't bloated and their markup practices not outdated &mdash; we would still be left with more choices we can possible master. One CMS or blogging platform &mdash; though I've never quite understood the difference and would rather label it simple CMS application &mdash; is WordPress.
I do like it a lot and I think it has its place, even in the professional world. What I like a lot about WordPress is that it's very easy to create themes. The templating system is easy to understand and the widget functionality allows for quick and convenient content placement.</p>

<p><a href="http://smashingmagazine.com/" title="Smashing Magazine">Smashing Magazine</a> &mdash; a magazine I've grown to love and visit quite often &mdash; is releasing one of my themes today, so a big hurrah is in order and I'm quite thrilled and honoured, I must admit.</p>

<p><img src="http://rockatee.com/images/uploads/content-files/wordpress_fun_theme.jpg"  alt="WordPress Fun Theme" width="450" height="300" style="border: 0;" alt="image" /></p>

<p>If you do like fun eyecandy with not too much graphic overhead, head on to <a href="http://www.smashingmagazine.com/2008/07/16/wordpress-fun-a-free-wordpress-theme/" title="Smashing Magazine">Smashing Magazine</a> and download the theme!</p>




		<p>Categories: <a href="http://rockatee.com/blog/category/freebies/">Freebies</a> </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/freebies/">freebies</a>, <a href="http://rockatee.com/tags/tag/themes/">themes</a>, <a href="http://rockatee.com/tags/tag/wordpress/">wordpress</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/new-wordpress-theme-release-for-smashing-magazine"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/new-wordpress-theme-release-for-smashing-magazine" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>

	<entry>
	  <title>Internet Explorer 6: Last Character Duplication</title>
	  <link rel="alternate" type="text/html" href="http://rockatee.com/blog/internet-explorer-6-last-character-duplication" />
	  <id>tag:rockatee.com,2008:blog/1.3</id>
	  <published>2008-07-15T18:11:56Z</published>
	  <updated>2010-07-30T15:50:58Z</updated>
	  <author>
			<name>Maleika Esther Attawel</name>
			<email>info@rockatee.com</email>
				  </author>

	  <content type="html"><![CDATA[
		<p>While I've been working with IE6's bugs for years, I had not encountered this curious CSS bug. At first I was in true wonderment whether it was my eyes or a solid overdose of caffeine. 
Alas, after a good night's sleep and plenty of bottled water to cleanse my cells, it turns out my eyes weren't betraying me after all.</p>

<p>The problem was that IE6 would duplicate the last character of the last list item of a floated element and place it on a new line.
Having never seen this error before, I was only slightly amused and rather baffled as to what might be causing this drop to the next line. </p>

<p><img src="http://rockatee.com/images/art_ie6_css_letter_bug_correct_display.jpg"  width="450" height="300" alt="Correct Display"></p>
<p><span class="caption"><strong>Image 1.1:</strong> This is how it should be displayed.</span></p>
<p><img src="http://rockatee.com/images/rt_ie6_css_letter_bug.jpg"  width="450" height="300" alt="Internet Explorer 6 Last Character Duplication"></p>
<p><span class="caption"><strong>Image 1.2:</strong> IE6's rendering bug. IE6 duplicates the last character of the last floated element and throws it onto the next line</span></p>
</p>

<p>The first thing I did was to go through my CSS rules, one by one, trying to see what might cause IE6 to have such a hiccup. So, I checked the widths for my child elements and re-calculated the total width and they matched the width of their parent element. </p>

<p>After some intense, albeit fruitless thinking, I went to my <a href="http://positioniseverything.net/" title="Position is Everything">favourite rescue</a> and found that this bug had been <a href="http://www.positioniseverything.net/explorer/dup-characters.html" title="Duplicate Characters">documented</a>. The culprit were the comments I had made in my code. I always comment my code, so the possibility of IE6 coughing blood over them in this case didn't cross my mind for a minute. This bug does not seem to occur as much as the other well-known IE rendering bugs. I still do not understand it. Perhaps there is no plausible explanation for it.</p>

<p> If anyone has figured it out, do shout.</p>
		<p>Categories: </p>
		<p>Tags: <a href="http://rockatee.com/tags/tag/browsers/">browsers</a>, <a href="http://rockatee.com/tags/tag/internet+explorer/">internet explorer</a>, <a href="http://rockatee.com/tags/tag/rendering+bugs/">rendering bugs</a></p>
		<p><a href="http://api.tweetmeme.com/share?url=http://rockatee.com/blog/post/internet-explorer-6-last-character-duplication"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http://rockatee.com/blog/post/internet-explorer-6-last-character-duplication" height="61" width="51" /></a></p>
	  ]]></content>
	</entry>


</feed>