Ruby On Rails – Short Intro

This is a guest contributed article by Srirangan of Programmers Assist.

A website that I visit pretty regularly, Sitepoint.com, today published an excellent introduction for Ruby On Rails (ROR). I, like many of the web developers, have been terribly curious about this almost “magical, no fuss” web development language, hence the time was perfect for Sitepoint to come out with the article.

Danny’s article on Sitepoint gave a brief introduction, but more-so stressed and emphasized on the “ease of development” that ROR brings along.

We’ve witnessed years of almost three decades of “hero worshipping” OOP techniques in software programming, and for a brief period with the onset of PHP5, we’ve witnessed the same in the web programming sector. Now with the introduction of ROR, this can only increase .. increase exponentially. :)

And it is a good thing, this OOP, it is good!

Now as my interest in ROR has surely surfaced, I visit Wikipedia to see what they have to say about this new magical Utopian web programming language. And I must say the blokes at Wikipedia have done an excellent job maintaining the entry for ROR. It is definitely a must read for anybody even remotely interested.

But what really caught my eye was the Philosophy Of Ruby On Rails. It adheres to the DRY principle, Dry – Don’t Repeat Yourself. Something I yearned for in PHP/Perl/ASP/Coldfusion, but like nirvana never could find it. If ROR can ever so remotely make DRY a practical principle, I will be the first to leave all and start ‘practicing the ROR religion’.

Another defining principle of ROR is – Convention Over Configuration. Which Wikipedia graciously explains as, and I quote:

“Convention Over Configuration” means that the programmer
only needs to define configuration which is unconventional. For example, if there is a Post class in model, the corresponding table in the database is posts, but if the table is unconventional (e.g. blogposts), it must be specified manually (set_table_name “blogposts”)”

Eh, sounds not too bad for a lazy inefficient web developer like myself, does it .. 😉

As I get all excited about ROR, I’ve finally decided to try it out on my little localhost tonight. Taking the plunge, metaphorically. I do hope ROR does live up to all this hype that its surrounded by and I’ve indulged in.



Managing Multiple Sites

Managing multiple websites can be a daunting and challenging process. For many people, even keeping control of one site isn’t the easiest thing to do. This guide is aimed to help you manage and run multiple sites, without giving up on them.

Know Your Goals

Many designers wait until they have just settled down – and then jump right into a new project or site. This is common. It also can create very many problems. Depending on the types of sites you may have open, you could be require to have new content flowing in everyday, and with every additional site your working on, it becomes quite a hassle to keep track of everything.

So the first thing you do is figure out exactly what you want and your visitors expect out of each site.

  • How often does each of your sites need to be updated?
  • Will you be posting original content that takes longer to write, or just making small updates from time to time?
  • If you are managing multiple sites, will you have a few other contributors, or will you be the sole contributor of content and images to your site?


The next step is to prioritize your sites. Most times when you find yourself managing multiple sites, there are some that have a much greater importance over others.

Take a look at Devlounge right now. As we head into the summer months, I’m managing Astereostudio for displaying work and a personal blog, Soundchronicle, a music review site I threw together in three days, and of course Devlounge. Out of all of these, Devlounge holds far more importance, because of it’s much higher popularity and it’s importance to me to provide constant and fresh content for my visitors. Keep in mind a few things when prioritizing your sites:

  • Which one of my sites is currently the most active and most popular? Keep the focus on this one.
  • Before I start a new project, am I sure I can handle the workload? Know in advance whether you may become busy before you are able to get the new site off the ground, because if you become sidetracked, chances are the site is no more.
  • Plan before action – Many times, you’ll come up with a new idea and jump right into it without any preparation. This can almost always lead to failure. Devlounge was in the works since December of 2005, and finally launched in April 2006. By giving yourself time and a chance to manage the creation, content, and launch of your site or project, you increase your chances of successful launching and keeping another site active.



Prebuilt Launch

As promised, we have launched our WordPress theme to stand as our “finale” in the WordPress Customization Series.

Prebuilt is a red / white / grey based WordPress theme, coded in valid XHTML and CSS, which is now ready for download.

You can grab it from here.

This posts’ comments will remain open for discussion.



9Rules Results Expected

The fourth round of 9Rules submissions, which ended on May 18th, is due to finalize it’s choices for network acceptance over the upcoming week. From 9rules’ blog:

“Next week we will be publishing a master list of all the sites that were accepted into Round 4 and after that we will start with the individual write ups on the sites. We figured it would be better this way since no one will have to wait weeks/months to see if they got in or not. So stay tuned.”

Once again, we wish everyone best of luck.



Kristin Pishdadi

Kristin Pishdadi, Chicago based photographer and designer, drops by to let Devlounge go “behind the camera” and get some insight on designing and photography.

Devlounge: Hey Kristin, thanks for putting the camera down for a sec to answer some questions with us. For anyone yet to see Low End Theory, mind introducing yourself and giving a brief background about your site?

Kristin Pishdadi

Kristin Pishdadi: Hi. My name’s Kristin Pishdadi, I’m 25 years old and live in Chicago with my husband and two kids.

My site “Low End Theory” is a continuation of my old site which was titled “The Love Movement”. Both titles are inspired by the titles of two albums by “A Tribe Called Quest”. The names have no significant meanings. I am just a fan. J .

LET has been online for a little over a year now. It’s been a fun journey from the beginning. I’ve met a lot of great people along the way and learnt a lot about myself in the process.

DL: Mainly you are a photographer. How’d you get involved and photography, and what camera do you use?

KP: I’ve always been very artistic. I paint, draw, and play 4 different musical instruments. Initially, photography was a hobby, but it quickly turned into a passion.

I used to work as a freelance designer but drifted away from it because I just wasn’t enjoying it as a job anymore. When I decided to take a shot at photography as more than a hobby I signed up for some workshops and classes to help develop my photographic style.

My primary SLR is a Canon 20D, but I also have an older Digital Rebel, along with a big variety of film cameras.

(C) Kristin Pishdadi

DL: When taking pictures, any specific characteristics you try to focus on capturing?

KP: I try to focus on color and composition. I don’t photograph anything specific but I do make it a point to keep a camera with me 24/7.

You’d be surprised at the number of times I have driven along and seen something I had to photograph. I’ve always turned around and gone for the shot.

(C) Kristin Pishdadi

DL: At the same time, you use your knack for photography and deliver some beautiful sites. LET was recently featured very high in the CSS Reboot. What goes into redesigning a site, especially one like LET which has been redesigned so frequently (thanks to your extensive site history, we can see a great progressions in design.)

“You’d be surprised at the number of times I have driven along and seen something I had to photograph.”

KP: I’ve been designing for a long time. Unfortunately I did not jump on to the web standards bandwagon when I should have. When I first started LET it was to teach myself CSS/XHTML. The progression of what I have learned along the way is very obvious if you view the screenshots of my site.

The Reboot design was adapted partly from my last design. The last design worked well for my site, and I wanted to keep with a similar structure and keep my site recognizable to my visitors. The header took a big change and the page structure was flip flopped, but I kept all of the content organized the same way to make it easy for people to find what they were looking for.

Low End Theory

DL: Do you prefer leaving images untouched, or cleaning them up here and there in photoshop before publishing them?

KP: I prefer leaving them untouched. I shoot in RAW format and usually don’t touch anything besides the levels & the white balance.

DL: Any other hobbies or interests you have that you wouldn’t mind sharing?

KP: I’m a tomboy of sorts. I’m a gamer and I’m into dsm’s.

I used to play and travel to lan parties with an all girls CS team, but I’ve moved on from PC gaming to the xbox 360. Anyone out there who wants to play with me, feel free to add “kpishdadi” to your friends list.

We’ve also got a project DSM we’ve been working on (-for the last year-) since last year. It’s a 98 Eclipse GSX with an upgraded turbo and lots of other goodies.

DL: Finally, you are greatly respected by many of the most popular bloggers. This shows a lot in a blogging / designing web mostly dominated by males. Any advice you can give, especially to females, to help get them involved in designing?

KP: Dive in! It’s easier than you would expect it to be. Feel free to ask me for help too. I don’t mind helping anyone who asks.

DL: Thanks again Kristin. Keep up the consistent great work.

KP: You’re very welcome. Good luck with the new site, it’s coming along great.

Kristin’s work is currently being featured in a Chicago Based Photography Show, open through July 2006. For more information, visit the gallery’s page.



Customizing WordPress: Plugins

In our WordPress Customization Series, you’ve learned how to handle the header, make some basic layout changes, and most recently, go from html to a wordpress theme quickly and easily. Now, we want to review some of our favorite plugins which are essential to any WordPress installation.

Spam Protection

First and foremost, comment spam has to be stopped in it’s tracks. There are two plugins that combine to do an absolute excellent job at stopping comment spam.

Akismet – An included plugin with WordPress 2.0+, Akismet uses a globally managed blacklist to automatically detect comment spam. Akismet requires an API-Key obtained from WordPress.com, and running it afterwards is effortless.

Spam Karma 2 – Spam Karma 2 is another spam killer. SK2 uses a “karma” system to decide if comments are posting to many links and repeating to many words. SK does a great job at detecting what is and isn’t spam, and you can set various levels of intensity for it’s filters.

Spell Checking

Corrector – The most recent spell checker plugin I stumbled upon is by far the best I’ve seen. Corrector uses ajax to check and correct spelling, without even leaving the post. This plugin is quick and is essential in eliminating costly grammar mistakes in posts.

Recent Comments

Get Recent Comments – Get recent comments is a comment getter that can pull the x latest amount of comments without any other unnecessary features. Get Recent Comments only takes a line of php code to display comments wherever and however you want to anywhere on your blog.

Subscribe To Comments

Filosofo Enroll Comments – There are many similar plugins, by my personal favorite is Filosofo’s Enroll Comments. Enroll comments allows someone to automatically become a “subscriber” of a post that they comment on if they check off that they’d like to receive notification of followup posts. When the user is logged in, at the end of each comment form the user is allowed to manage their subscribed comments.


Gravatars – Gravatars allow your users commenting to have an avatar for themselves, as assigned by gravatar.com, which serves avatars all over the place (Globably Recognized Avatar). They are very easy to implant and can be customized using a small amount of css.


Ultimate Tag Warrior – UTC is the best system for tagging posts in wordpress. Tags allow your posts to be found much easily by searching, and it also indexes them on places like Technorati. UTC is a highly adapatable plugin that gives you many options in a simple, drop in plugin.


These are just some of the many WordPress Plugins available today, which allow you to take wordpress to the next level quickly and easily. This is only a short list, because we wanted to focus on plugins you really need to have, not list every great plugin in every category. All these plugins can be obtained from the WP Plugins database.

Coming up next week, the release of our anticipated Prebuilt theme for wordpress, with support for some of the best plugins right out of the box. Stay tuned for more information.



Choosing A Host

More often then not, you find yourself looking for web hosts to house your own sites, blogs, and other projects. How much thought do you put into deciding what host to go with? Maybe you should put a little more into it.

The Shelter For Your Site

Choosing a host can be a daunting task, because every other site you see, and every other advertisement in most popular design communities are all for hosting, and all with different hosting companies. Each one offers different features, and all for different prices.

To start, choosing a host is not something to be taken lightly. When you host your site on another companies servers, you expect your data to be protected. By protected we mean safe from everything – crashes, attacks, and oh yeah, the hosting company just vanishing one morning.

Tip 1: Your Needs

The first thing to consider when choosing a host is your needs. How many sites do you plan to host on this one plan? What amount of space and bandwidth will you need? You always want to give yourself a little bit more room to work with than a little less. For example, you plan on only writing a blog, so you settle for a meager 25MB. You soon find you posted images in every entry, and you’ve loaded the server up with extra things – and now you’re out of room.

First things first, create a list of what you’re looking for in terms of features. Try answering some of these questions:

  • Cpanel or Plesk? – Both offers there own pros and cons. Take a look around if you’ve never worked with either of them before, and decide what control panel you’d rather have.
  • How much storage space am I looking for? – Come up with a rough estimate on how much space your site(s) may need, and try adding 5 to 10 extra megs, just in case your estimation was short. In most cases, you can cut down that extra space for a few dollars off your monthly bill.
  • How much bandwidth will I need? – Is your site original or has the potential to become very popular? Or are you running a small site or portfolio? These factors can help determine how much bandwidth you’ll need to handle your traffic. Most of time, it’s better to start off small, and buy more bandwidth as your traffic increases, because all sites start off slow, and an excessive amount of bandwidth would in turn be wasted in the first few months of a new site.
  • What features do I need support for? – Are you going to need Mysql databases and php support? It’s important to know ahead of time what extra features and things you need in order for your site to operate. While most hosts offer mysql databases and php by default, some may not, and there may be other features you need, such as support for Ruby On Rails, which not all hosts have.


Homepage News

New Rollouts Coming Soon

As you may know, Devlounge was submitted to 9Rules yesterday. I have a few layout changes to roll out, including removing the “news” headline from the homepage entirely (they will find a new home as “Internal News”.), and adding two of the latest articles & interviews to the site, in the place of where the news headlines are now. The current location of “Latest Articles and Interviews” will be replaced with our featured review (of a product or service, say, Mint), and a special feature. This will most likely be images that will change frequently to redirect to certain things.

These roll outs are currently on hold, because we have no idea when 9Rules may be checking the site, and we don’t want to run into any code trouble during that time. Once the roll outs are complete (after we find out if we’re in or out), the homepage will show much greater focus on more of our content.

Stay tuned.



Customizing WordPress: Advanced

On a day where more of the focus is on 9Rules, we’re back to finish the layouting elements of our WordPress Customization series.

In our last few articles, we’ve covered the importance of the WordPress Header file, and beginning layout changes, which were mostly minor code edits to accomplish certain things. Now we get to the heart of WordPress – taking advantage of it’s features to use it as much more than a blog.

Here We Go Again

Most beginners accept WordPress as what it is – a simple way for them to get their own ideas and opinions out by posting blog entries. Then there are the designers or more code-knowledgeable people who take WordPress to the next step, by adding there own graphics and customizing design elements in css files. Finally, there are those who understand everything wordpress is capable of, and they take advantage of all those features.

Multiple Post Queries

One great feature of WordPress is it’s ability to run multiple post queries. So, what does that mean in English? First, you must understand that WordPress knows what it’s doing by using a function called “The Loop“. The loop is how everything is done in WordPress, and it is used over and over again (hence, the loop ;)).

The loop decides how each post will be displayed, and what parameters go into certain functions. So what exactly is multiple queries? By default, WordPress themes tend to have a standard loop on their main index, which gathers all posts from every categories, and displays a certain amount as set in the options page. Sometimes by making small changes like indicated last week, the posts can be full or excerpts. Multiple queries allow you to layout posts from different categories in different areas of the site. For example, a three column layout with posts from one specific category in each.

In our case, we use multiple queries to display posts from our “Articles” and “Interviews” categories in their own columns, spacing them out from regular site news so they are more easily recognizable.

Devlounge - Multiple Post Queries Example

Let’s take a look at our code to see how we did this:


have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID; ?>


The first thing we did was enclose both sets of code in their own css classes, allowing the posts to appear in two columns, rather than crammed together. As you can see in line 1, we start with a opening div class tag calling for “cusleft”. The tag is closed on line 10, before an opening tag for div class “cusright” is opened for the next column of posts.

Let’s take a closer look at lines 2-9, which contain the php code for displaying posts.

[php]have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID; ?>


The php code starts off by stating that you’re starting a new WordPress query, then goes in to ask for category name and showposts. In our case, the category name we wanted to pull articles on the left for was called “articles”. We wanted to pull only one post, so our showposts number was one. Let’s say you had a category called “reviews”, and you wanted to show the last 10 posts from that category. Your php code would look like this:

[php]have_posts()) : $my_query->the_post();
$do_not_duplicate = $post->ID; ?>


Notice that the category name has been changed to “reviews”, and the showposts number has been increased from 1 to 10. The function continues, this time saying to itself, do not repeat the post (which eliminates the post showing more than once.) The next part of code determines how the post will be displayed. Let’s say you wanted the title to link to the full post content, and you wanted to display the whole post content. The code would look like this:



Notice how we changed “php the_excerpt to php the_content. By wrapping the code in a div, we tell it to output each post the same way. In this way, you can define style elements to be applied to each post being displayed.


9Rules: The Link Pool

So, only a few hours into 9Rules Round 4 of submissions, and it appears the staff are going to have their hands full for a while. So, what does this mean? It means 9Rules is getting a hefty amount of links, and what better way then to allow you to showcase your own sites here.

So go ahead, this is our own little 9Rules link pool, where you can let us know what site you submitted, and get some feedback on it from other Devlounge users.

Note: Due to spam filtering, please only submit one link in the post, even if you may have submitted multiple sites.



WordPress Hops on the Shuttle

What happens when a bunch of designer greats get together to work on improving the WordPress Admin Panel? Great things.

Brokenkode unvailed the future of the WordPress admin panel, which is codenamed “Shuttle”. Shuttle has been in the works since December 2004, long before WordPress was such a staple in the blogging industry.

The project combined the likes of Michael Heilemann (K2 and Kubrick WordPress Fame), Joen Asmussen, Chris Davis, Joshua Sigar, Ryan Boren, and Bryan Veloso. The multi-talented designers and coders worked together for a good year in a half, and the result is superb.

WP Shuttle Dashboard

It becomes evident looking at these screenshots, that WordPress is heading in all the right directions. Currently, the wordpress admin is lacking. It is easily bogged up with multiple things all jumbled together (say, a write post page with plugins installed), but Shuttle hopes to change all that. Everything is neatly organized and clean, the whole interface itself is more like running a desktop application than a web application. Be prepared for WordPress beauty in it’s future versions.

WP Shuttle Writing With Descriptions

For more, check out brokenkodes project page.



Paying for Content: Worth It?

The days, quality content is a must to the success of any site. Content has always been essential to a great website. But, it’s how we get our daily content that has changed.

Introducing: Contents Writer

Before, you couldn’t get away with having the title as a “Content Writer” unless you wrote for a newspaper or magazine. Now, you can be a “professional content writer”, and even earn money doing it. How you ask? and Why? We find ourselves sitting here asking the same question. If you’re a freelance writer looking for work then a writers job board is a good place to start.

Paying for Content

It makes sense that, like everything else, you should be able to pay to get certain things done. In many cases, a busy webmaster doesn’t always have the time or effort to put together daily content updates, and they need someone to take care of it for them. That’s where today’s hired content writers come up. They will write original articles for your site, for a fee per article, week, etc.

This can become a savior for the webmaster, who can worry less about content, and focus on other site management and maintainence.

But at the same time, what does this mean for the user?

The Truth Behind Paid-For-Content

Don’t get me wrong, paid for content contributors can be great, but it depends on the type of site and type of content you have. In Devlounge’s case, I made the decision not to go with paid content.

A few things paid content seems to lack.