News, views, tips and tricks on Oracle and other fun stuff

Running on a Virtual Private Server and a Couple of Pictures

If you are one of the lucky people who was greeted by the following dreaded error page when you visited my blog, or in the past few weeks, I have good news for you (and me). Obviously, the shared hosting account that I had with could not handle the load of three websites (my fourth domain is forwarded to my Tumblr blog). I have not had any issues with BlueHost until recently when my account was “exceeding its CPU quota” several times a week. This was not good. I had to do something.

Account Exceeded

Sean Corfield recently wrote about his move from a shared hosting account to a Virtual Private Server (VPS) at So, I decided to do the same. I completed the move of the three domains from BlueHost to a Linux VPS on HostMySite last weekend. Like Sean, I am very impressed with the excellent support at HostMySite and so far the sites are in a very good health.

On another personal note, I took Thursday and Friday off to spend some time with my family. The weather in the Portland (Oregon) area has been warm and sunny for the last few days. On Friday, we toured a couple of places a few miles east of Portland. Here are a couple of pictures:


This is me holding my 9 month old daughter Julie


… and with my 6 year old son George

Can you guess the places where these pictures were taken? Here is another hint from my car’s GPS, the red arrow represents the car:


Comments Off on Running on a Virtual Private Server and a Couple of Pictures | Filed in Personal, WordPress | Tags: ,

Infinite Scrolling at and New Oracle Bloggers Group

Aggregated by OraNA, the unofficial Oracle news and blogs aggregator, has a new look and cool new features:

  • OraNA now runs on WordPress, which means that, unlike the older version, OraNA is no more limited to showing only the latest 20 posts. It is still a River of News style aggregator, but the river has become as long as the Nile.

  • OraNA now supports infinite scrolling. You scroll and scroll and scroll infinitely. Basically, as soon as you get near the bottom of the page it automatically adds more posts (AJAX is so cool). No more “Next Page” and “Previous Page”, it’s virtually endless. Quick tip: use the space bar to scroll down and shift+space bar to scroll up.

  • OraNA has a cleaner look. Posts are clearly separated and authors are displayed below post titles.

  • OraNA now aggregates more Oracle blogs than ever, over 266 Oracle employee and non-employee blogs as of today.

If your blog is aggregated by you may:

  • add the “Aggregate by OraNA” button to your blog. Just copy the following HTML Code and paste it to your blog’s sidebar:

Google Groups
Subscribe to OraBloggers

The OraBloggers group is not really new. It was created back in January 2006 and currently has a few members. Maybe it’s time to revive it and use it as a public place to discuss the current affairs in the Oracle blogosphere or each others’ posts as Paul suggests, or whatever you like, you decide.

6 Comments | Filed in Oracle, WordPress | Tags: , , ,

Find Out If Your Blog Is Usable, Accessible or Simply Good

Tom Johnson has a list of twenty usability tips for your blog. Does your blog follow these principles that distinguish good blogs from poor ones? I believe that mine does. Here is why. My blog:

  • Has a tag line that clearly identifies the topic of the blog: News, views, tips and tricks on Oracle, ColdFusion and other fun stuff. Although, the focus has been mostly on Oracle.

  • Allows comments and does not require readers to register before commenting. At one time, I turned comment registration on. That was before I discovered this WordPress plugin: Math Comment Spam Protection.

  • Provides the option to be notified of follow-up comments via e-mail and RSS, thanks to Subscribe to Comments WordPress plugin.

  • Makes it easy to subscribe to the blog’s feed by placing an orange RSS button in a highly visible location (the menu bar at the top). Moreover, the Subscribe Me WordPress plugin adds site subscription links to popular RSS readers, and Feedburner Feed Replacement plugin forwards all feed traffic to Feedburner.

  • Offers an e-mail subscription to the latest posts.

  • Has an About page to tell the reader who I am.

  • Has a Contact page to give the reader the option to contact me offline, thanks to the WP Contact Form III plugin for WordPress.

  • Includes visuals (graphs, charts, photos, blockquotes, videos…) in blog posts. Here is an example.

  • Has mostly short blog posts. Unless they are extremely useful or interesting, I do not have time to read long posts on other blogs and I figure other people do not have the time to read my long posts either.

  • Has subheadings for long posts. Here is an example.

  • Is generous in linking to other blogs and websites. Here is an example.

  • Clearly describes posts’ content in the posts’ titles. You judge for yourself.

  • Archives posts by category.

  • Has a search feature and with the Google Sitemap Generator plugin for WordPress, Google visits my blog very frequently, quickly making it searchable on the net as well.

  • Has a list of related posts beneath each post, thanks to these WordPress plugins: Ultimate Tag Warrior and ST Add Related Posts to Feed.

  • Does not have confidential, overly-emotional, rude, or unprofessional posts. I’m not an emotional guy anyway and I’m nice overall.

  • Has a “top posts” section in the sidebar (or bottombar) thanks to WP-PostViews WordPress plugin.

  • Has a “recent posts” section in the sidebar (or bottombar).

  • Has a “top commentators” section in the sidebar (or bottombar), thanks to Show Top Commentators WordPress plugin.

  • Has a sitemap or index page, thanks to Sitemap Generator WordPress plugin.

  • Has a URL that nearly matches the title of the blog. The URL of my blog is, the title of my blog is Eddie Awad’s blog. Close enough.

  • Is refreshed with new posts on a regular basis. I used to post at least 4 times a week, but with two kids, a full time job and project deadlines looming, I try to post at least once a week on average.

And here are some additional usability measures I think are also important and worth mentioning:

  • Has a white background color. To me, It’s just more readable having dark text on light background.

  • Makes it easy to share posts Web 2.0 style, thanks to the Share This WordPress plugin and FeedFlare.

  • Publishes a full-text feed instead of a truncated one. Here is why I switched to a full-text feed and here are more thoughts about this subject.

  • Has useful and interesting content (at least to me). After all, what’s a blog without good content?

5 Comments | Filed in Tips, WordPress | Tags: , ,

Introducing: Stumble Upon a Post

It’s the season of stumbling:

  • StumbleUpon, in its most recent toolbar, introduced a new feature called StumbleThru, which allows users to stumble through pages on a specific web site.

  • Google introduced a recommendations button that you can add to the Google toolbar. The button looks like a pair of dice. Every time you click on the dice, you will be taken to a site that may be interesting to you based on your past searches.

  • Matt Mullenweg introduced a new WordPress plugin, Random Redirect, which is a special URL that, when clicked, will redirect to a random post on your blog, in a StumbleUpon-like fashion.

I have activated the Random Redirect plugin on my blog. Every time you click on this link you will be served a random post from the list of all my previous posts. You can also find this link on the blog’s top menu bar.

Out of curiosity, I took a look at the code behind the Random Redirect plugin, and amazingly, it is very short and simple. Here it is, the whole plugin:

function matt_random_redirect() {
   global $wpdb;
$random_id = $wpdb->get_var("
    FROM $wpdb->posts 
    WHERE post_type = 'post' 
    AND post_password = '' 
    AND post_status = 'publish' 
wp_redirect( get_permalink( $random_id ) );
if ( isset( $_GET['random'] ) )
add_action( 'template_redirect', 'matt_random_redirect' );

Notice the ORDER BY RAND(), this reminds me of one of my earlier posts: ORDER BY no order. Basically, you can do the same in Oracle: ORDER BY dbms_random.random.

Happy stumbling.

3 Comments | Filed in Oracle, WordPress | Tags: ,

Bye Bye 2006, Welcome 2007

As we say bye bye to 2006, I would like to thank you, my dear reader, for reading my blog and spending part of your time leaving comments and feedback.

For me, the highlights of 2006 were:

I would also like to share with you some statistics from the past 12 months (as per Google Analytics and Feedburner):

Top 10 pages

The following pages received the most hits during 2006:

  1. Home page
  2. Format your SQL the easy way
  3. Oracle SQLPlus
  4. Saving/Downloading files to/from Oracle using ColdFusion
  5. Cool SQL function: EXTRACT
  6. Back to basics: outer joins
  8. HTTP POST from inside Oracle
  9. PRAGMAtism in Oracle PL/SQL
  10. Oracle Trace Analyzer is TKPROF on Steroids


Top 10 browsers

Internet Explorer was the most popular followed by Firefox:


Top 10 countries

Almost half of the traffic originated from the US and the UK:


Top referrers

Google was responsible for more than 65% of the traffic, and 10% of the visits were direct, i.e. from bookmarks or directly typing the blog URL:


The number of subscribers to the blog feed has been steadily growing:


In 2007 I will continue to blog about whatever I find interesting and useful to both you and me.

Here on the west coast of the United States, we celebrate new year later than the rest of the world. At the time of this writing, there is almost 12 hours till we welcome the arrival of 2007.

My next post will be next year 🙂

Happy New Year!

Comments Off on Bye Bye 2006, Welcome 2007 | Filed in ColdFusion, Oracle, WordPress | Tags: ,

Why I Switched to a Full-Text Feed

After reading “Why I’ m asking for full-text RSS feeds” by Constantin Basturea, and “Only Generous Bloggers Influence” by Steve Rubel, I have decided to publish my blog’s feed as a full text instead of just a summary.

As a blogger, why wouldn’t you publish a full-text feed? I can think of the following reasons:

  1. Increase page views on your blog by forcing your readers to click on yet another link to read your post.
  2. Increase advertisement click through on your blog (if you monetize your blog using Google AdSense for example).
  3. Have more accurate information about your blog’s readership.
  4. Protect your content from plagiarism.

I switched to a full-text feed because:

  1. I want my content to be easily accessible and read by as many people as possible with minimum number of clicks and on maximum number of devices, like PDAs and cell phones.
  2. Even though I have Google AdSense on my blog, most, if not all, of the click through is generated by people landing on my blog via search engines.
  3. Thanks to Feedburner, I know how many feed subscribers I have. In fact, I show the number of subscribers on the sidebar of my blog.
  4. Publishing a summary or a full-text feed has very little to do with plagiarism. With web scraping and online services like Dapper (which is really cool by the way), your content can be plagiarized whether it is on your blog’s HTML web page or in your feed’s XML content. Moreover, using Feedburner, I can add a copyright notice and a creative commons license to the feed.

So, fellow bloggers, why don’t you unleash your full-text feeds?

2 Comments | Filed in Interesting, WordPress | Tags: , ,

Blog Comments

Just a quick note to say that some comment posts from my dear readers are being mistakenly caught by my anti-spam plugin and buried with hundreds of daily spam comments. This is getting out of hand and frustrating not only for me but for anyone who spends valuable time writing a comment just to find it disappear.

To solve this issue, and the issue of comment spam all together, I have decided to turn comment login on, which means that if you want to submit a comment, you will have to register first. I know this will bring the number of readers willing to leave a comment considerably down. But at least, this will make sure that your comment will not be “lost in spam”. Sorry for the inconvenience.

2 Comments | Filed in WordPress | Tags: ,

Bring your old posts to life

By using the following two plugins, I was able to increase the page views on my blog by almost fifty percent. If you have a WordPress blog and don’t use these two plugins, you’re missing on features that can make your blog more useful and help your readers find your old posts a lot easier.

Ultimate Tag Warrior

This plugin allows you to add tags either through the Write Post page, on posts using an AJAXy box, or in posts using a special syntax. From the Write Post page, you can also get suggestions for tags using Tagyu or Yahoo.

You can see this plugin in action here on my blog. At the end of each post there is a list of tags that describe what the post is about and also links to posts that share all or some tags with the current post. Clicking on a tag lists all posts tagged with the selected tag. For example, click here to view a list of all posts tagged with sql. There is also the tag archives page that lists all tags in a tag cloud format. Moreover, the tag search page is a quick and easy way to list posts for a tag or a group of tags.

Landing Sites

This plugin checks if a visitor has come from a search engine (like Google or Yahoo for example), and uses their search terms to display links to related content on your blog. This plugin also allows you to display targeted and relevant advertisements only for visitors coming from search engines.

To see it in action, click here to search Google for oracle firefox extension. On the Google search results page click the link to this blog. When you land on the relevant post, you will see the welcome message with the related links and ad on the top of the post. The welcome message is only shown when a visitor reaches the blog from search engines.

Combined with quality content, the two plugins will definitely increase the page views on your blog and help visitors find posts that otherwise are buried deep in your blog archives.


Comments Off on Bring your old posts to life | Filed in WordPress | Tags: ,

Weekend Spam Harvest

Here is my blog’s spam harvest for the weekend:

My blog spam

Most of the spam comments start with:

  • Very good site. Thanks for author!
  • Your site is very cognitive. I think you will have good future.
  • Great website! Bookmarked! I am impressed at your work!
  • HI! I love this place!

And then followed by tens of links to you know what…

What have I done to deserve such love from spammers? 🙁 I’m sure I’m not alone.

Thank you Akismet.

6 Comments | Filed in WordPress | Tags: ,

I’m upgraded and updated

It is Sunday night and I’m sitting next to my wife Jasmine on the sofa in front of the TV. Jasmine is watching “Big Love” on HBO (a series about a guy who is married to three wives, poor guy!), and I have my laptop on my lap, trying to write some thoughts.

Well, I finally did it. I upgraded my blog to the latest WordPress version (currently at 2.0.2). And while I was at it, I also switched to a new WordPress theme. I hope you like it. I wanted to avoid changing the look of the blog, but the old theme was not compatible with WordPress 2.0. Moreover, I used a few new WordPress plugins, you can see all of them here.

Speaking of upgrades, take this simple example:

select nvl(nvl(nvl(null, null),null),4) from dual

What’s wrong with it? Well, having an “upgraded” database version, from 8i to 9i for example, gives you the option to write it like this:

select coalesce(null,null,null,4) from dual

Upgrades are good. But hey, upgrades are not as simple as they sound. Heck, I spent all Sunday afternoon and evening upgrading my simple and small blog. How long will it take to upgrade, not one, but multiple Oracle databases and make sure that nothing breaks in the process. Testing an upgrade is often the most time consuming part of the upgrade process.

8 Comments | Filed in Oracle, Technology, WordPress | Tags: , ,