Upgraded to WP 2.5 and Changed Theme

Yup, I did it! I've upgraded this blog WordPress 2.5 and, as I'm sure you can see, I've changed my theme. It's quite a change from the previous theme, but I like change and change is good. I spent quite a bit of time modifying it to my liking and there are still a few things to be done, such as adding the search bar (I couldn't find a nice place to put it and I didn't think it was really necessary to get the theme out there).

Another major addition that you'll soon notice is my use of Asides. Sometimes I want to post something on my blog but I feel it's not quite worthy enough for an entire post. Then if I do decide to post it, I'll end up trying to make the post long enough to feel like an actual post, which usually just ends up degrading the quality of everything.

You can think of an aside as a little sticky note. I might post an aside saying where I've been, what I'm doing, or just some random thought I had. My Twitter account is hooked up to WordPress using the Twitter Tools plugin so I can even post asides via SMS from my phone.

An aside post won't look like a normal post, but you can still comment on them like regular posts. An aside will look like this:

  • With all the technology we have, we still can't solve a problem as simple as traffic congestion. (0)

If you want to read more about asides, check out Matt's post on them. He's the one who started WordPress and his blog is where I first saw asides in use. He uses them a lot on his blog, so if you're still confused as to what they are, check out his page.

Feel free to give me your thoughts on the new theme. It was a really hard decision to go with something so dramatically different from the "clean and white" look that I usually try to stick with. I realized that if I had to design something in the physical world, these are the colors I would use. My online blog should reflect that. 🙂

Wrong Time on Overnight Parking Ticket

Whenever I come home at night, I check to see if the person who lives upstairs from me has parked her car in the driveway. She leaves early in the morning so instead of parking in front of her, I park in front of the house on the street. I've been doing this for 4 months. Last night I got a ticket:

Parking Ticket

The funny thing is, I got home at 1:45 AM this morning. If you look carefully at the ticket, you'll see the violation is for parking between 1AM and 2:30AM (the violation is only for overnight parking over 1 hour). That means the officer just assumed I must have been there all night and put 1 AM on the ticket.

Planning for the upgrade to WP 2.5

I spent this past weekend setting up a copy of this blog in my local development on my laptop. I wanted to see if upgrading from WP 2.3 to 2.5 would break my current theme and as I suspected, it did. What broke wasn't obvious (category browsing I believe), but it was enough to make me decide to change my theme. There's nothing wrong with the current theme, it just feels like it's time for a change.

Setting up a local copy of my blog was really easy. I only needed to modify two WordPress settings and even then, that was only because I choose to use a different domain name locally. The basic process looked like this:

  • Copied all of the WP files for my blog to my laptop
  • Exported the live WP database and imported it into the local MySQL database using phpMyAdmin
  • Created a database user to match the one on the live site (with the same password)
  • Created a VirtualHost entry in my local httpd.conf:
  • 
       ServerAlias blog.raamdev.dev
       DocumentRoot "/Users/raam/workspace/raamdev.com"
       ServerName www.blog.raamdev.dev
    
    
  • Added an entry to my local hosts file (/etc/hosts) so that blog.raamdev.dev would resolve to the local web server:
  • 127.0.0.1      blog.raamdev.dev
    
  • Opened the local phpMyAdmin and modified the following database entry, changing the URL to my local development address: wp_options -> siteurl = http://blog.raamdev.dev
  • I was then able to login to my WP admin page at http://blog.raamdev.dev/wp-admin/ and modify the second setting: General Options -> Blog Address = http://blog.raamdev.dev

Now I could type in http://blog.raamdev.dev in my local web browser and use my blog on the local machine. This is great because it allows me to test themes and make changes without screwing up my blog.

Every Little Bit Counts

I watched a great documentary tonight called The 11th Hour, produced and narrated by, of all people, Leonardo Dicaprio. It was definitely weird to see and hear him talk about something serious, but I suppose thats always the case when actors take non-acting positions on the screen. If you're interested in watching the movie, there are plenty of ways to get it.

Despite it being very cold both at night and in the morning, I've had the heat off in my apartment for the past month. I didn't turn it on even once. I did this mainly because the previous two months' gas bills were over $250 and I simply couldn't afford paying that much for heat. When I received this month's bill, I was happy to see it under $150.

That's when I realized how living without heat wasn't all that bad. Sure, it was a little annoying, but it wasn't cold enough to make me sick -- I simply dressed warm. It never got below 45 degrees because the residual heat from the furnace in the basement (for the apartment above me) rose up and provided some heat to my first floor apartment. I saved a ton of money and helped the environment at the same time. All that by simply overcoming a minor inconvenience.

I keep all of my lights off in my apartment (there are seven rooms) except maybe one where I sit at my computer. I turn off all of my computer screens when they're not being used and I unplug things like my multi-function printer until I need to use it. I have three computers and two routers running 24/7 and I turn on an electric space heater every now and then when my feet are cold. For the past three months my electric bill has not topped $50.

There are tons of more ways that I can reduce unnecessary energy expense and I will continue to look for new ways to reduce waste. Every little bit counts.

Using Adium and Witch

I wrote a post last year about replacing Command+Tab with Witch, an application switcher replacement for Mac OS X. When I moved to my new apartment early in January, my Linux server was without Internet access for a few weeks so I was forced to use a graphical IM client (as opposed to a console-based client).

David was using Adium at the time, so I decided to give it a try. It's definitely a nice messaging application -- nice enough that I haven't felt compelled to get my console client setup again (but I'm sure I will at some point; the command line rules!). Now, on to the point of this post.

After pressing Command+Tab to switch from an IM conversation to another application, here is what I saw when I pressed Command+Tab to return to the IM window:

As you can see, Witch doesn't select my Adium IM conversation window ("Raam Dev" in this example) but oddly selects the Adium Contacts window, even though I was never looking at that window. This meant every time I switched from a conversation window to an application, I had to press Command+Tab+Tab+Tab just to get back to the previous window! Not only that, but normally I was trying to switch back to the IM window just to get rid of the distracting "new message notification" in the dock and being unable to do this quickly was really frustrating.

As extremely annoying as it was, it always bugged me at a time when I was too busy to figure out how to fix it. And by the time I was not busy I had forgotten about it. This pattern continued for THREE MONTHS (yes, I'm a very patient person)!

Today I decided I'd had enough. I took a peek at the Witch preferences (System Preferences -> Witch) and discovered that I could simply tell Witch to ignore the Contacts window! Doh!

Witch preferences

Now when I press Command+Tab after switching to another application, the IM conversation window is the first item selected.

Witch fixed

Woohoo! Sanity!

An Active Weekend

I've decided it's time to start making my weekends more active. Summer is fast approaching and I really need to get back into tiptop shape. So on Saturday I went to Hampton Beach to go for a nice long run. It ended up being a lot colder than I expected -- too cold to run. I suspected that might happen, so I brought my mountain bike along.

There is a place further North of Hampton Beach called Odiorne Point which has several trails that are nice for a quick bike ride. It was still very cold with the wind blowing off the ocean and after noticing that my tires were low on air, I decided to end my short 10 minute trip.

On the way back, I stopped and watched at least three dozen people surf:

surfing

This is where I wrote my first tweet:

My first tweet! I guess it's fitting that I'm doing it far from my normal means of Internet access: North Hampton Beach where I'm watching tons of people surf. I had no idea so many people surfed so close to where I live. This means I defintely don't have an excuse not to learn how to surf!

On Sunday I decided to go trail running in the Lowell-Dracut-Tyngsboro State Forest. It was the first time I had ever done any serious trail running. On the welcome board at the entrance to the park, I read that evidence has been found that shows the area has been inhabited as far back as 9,000 years. Learning that fact really made me appreciate the land even more than I already had. I spent 1 1/2 hours running the trails. Damn, my body is sore today!

Four Characters That Break WordPress

I was trying to write a post about some code for generating HMAC signatures without PEAR or PHP5 and I discovered that I was unable to post anything that contained these three characters (without the space):

chr (

When I clicked "Save and Continue Editing", I received a 404 error. It took me a good 30-40 minutes of blaming the iG:Syntax Hiliter plugin before I discovered it was actually WordPress. It breaks even if those three letters are enclosed in pre or code tags and I also confirmed this problem occurs when posting a comment.

I'm using WordPress 2.33 so I upgraded one of my other blogs to WordPress 2.5 just to see if this problem was gone (and to maintain my sanity) and was glad to see that it had been fixed*. The new WP looks very spiffy, except for the missing "Save and Continue Editing" button and the annoying lack of a preview feature (the Preview Frame plugin fixes this and I was glad to see it supports the latest WP).

I don't like fixing what isn't broken, so I've been holding off upgrading this blog to the latest WordPress. Besides, I'm pretty sure my customized theme will break with the new version and I simply don't have the time to be fussing around with my theme. If I'm going to fuss around with it, I'd rather change it altogether. This site is due for a new look anyway.

*UPDATE: I don't know if I'm losing my mind or what, but after upgrading this blog to WP 2.5 I'm having the same exact problem with creating a post containing those four characters!

UPDATE UPDATE: I did some Googling and discovered that the Apache mod_security might be doing something because apparently the chr () function is commonly used in exploits. This blog post explains 10 ways to secure WordPress and if you search for chr you'll see that it's part of the SecFilterSelective THE_REQUEST line.

CONFIRMED: I tried disabling mod_security for my entire account by adding SecFilterEngine Off to a .htaccess file in my root web path. I was then able to post those four characters without any problem. After creating a post containing chr(), I removed the .htaccess file to enable mod_security and as expected the post still displayed fine.

So, since this is only a problem when submitting a post, and since permanently disabling mod_security isn’t a great idea, I’ll just temporarily disable it in those rare situations when I need to create a post containing chr().

WordPress MU and BuddyPress

I have a lot of big ideas in my head for different types of sites that I think the masses would find very useful. What I've been struggling with over the past few months is deciding where to start with these sites. There is so much involved in making a site successful and even more involved in running a successful site.

What I really wanted was some type of platform that allowed me to turn my idea into a reality without worrying about basic things like the underlying user account database structure or basic functions like creating a blog post.

A few weeks ago I was pleasantly surprised to learn about WordPress MU, which basically allows you to run hundreds of thousands of blogs using a single installation of WordPress (it runs wordpress.com). And then it got even better.

Today I came across BuddyPress, which takes WordPress MU one step further by developing a collection of plugins that turn your WordPress MU installation into a social networking platform (see John's post about the differences between the two). BuddyPress is just getting started, but I already see the huge potential behind it.

I can see the Internet eventually being full of little social networks covering every niche imaginable -- much like the huge mess of web pages and forums on the Internet are today. The best way to find what you're looking for on the Internet now is to either know of a forum or website, or to search Google and hope you find what you're looking for. Imagine being able to join or browse an area of the Internet that has been designed, authored, and created by the very people who have the same interests as yourself.

Maybe that isn't the final goal of BuddyPress, but I can definitely see how WordPress MU combined with the BuddyPress plugins will make bringing my ideas to life that much easier. WordPress MU + BuddyPress basically solve 75% of the problems for many of the sites I have in mind, so besides making me feel comfortable about scale, they will definitely save me time.

Interfacing with the Internet in the Year 2208

What happens when the virtual world becomes more important, more interesting, and more popular than the real world? How many people do you know who would rather own the domain name google.com or myspace.com than own the entire Empire State Building or the entire state of New York? Will the value and popularity of real things decrease as more and more of the world becomes aware of the Internet's potential?

Worse yet, will we as a society forget what it means to be human? Will we slowly evolve into this creature that yearns for a connection to the net because our brains have adapted to rely on the instant availability of a vast source of information? If technology continues to evolve new ways to interface with that source of information (Wiimote, iPhone, RFID, GPS, Google), what will come next? How will the people of 2208 interface with the Internet?

BristleBot

I have got to build me one of these:

Probably the coolest thing I picked up on in the video, however, is the use of what looks to be a whiteboard as a table. That seems like a great surface to work with tiny objects.

Buyer Backs Out of Sale

The buyer who was interested in purchasing my $350,000 property for $180,000 has decided to back out (even after the bank accepted the offer, despite it being $170,000 less than what is owed). I rushed like crazy last weekend to clear all my stuff out thinking the property would be in someone else's name by the end of last week.

There are numerous reasons why he backed out, but mainly because of complications with the illegal studio apartment in the attic. It was clearly stated in the MLS listing that it was a 2-family property with an illegal in-law unit.

Needless to say, the bank's $180,000 offer acceptance is only good through April 10th and I received a letter in the mail stating the foreclosure date has been set for April 28th. My agent has relisted the property in MLS and is desperately looking for a new buyer.

What form errors?

I tried creating an account on the Mozilla Firefox AddOn site and got this error:

It would definitely be helpful if it could tell me what error it's referring to, because I have no idea what it's talking about. I triple checked that the passwords match and even tried a non-free email address. No dice.

Hard Work Weekend

The past three days (including today) have been spent clearing out the 12x16' shed and the basement of my first property in preparation for the sale that is supposed to take place at some point this week.

I am exhausted.

But one thing is for sure: I have too much stuff. Mostly tools, hardware, and other house-related things -- I can partly justify having so much stuff because for many years my sole intention was to own properties for long term investment and do most, if not all, of the repair and maintenance myself. Now plans have changed.

One of my new years resolutions for this year is to reduce what I own and that's exactly what I intend to do. I estimate everything I own would take at least a dozen, maybe even one and half dozen, truck loads to move using my pickup. I'd like to reduce that to at least half a dozen or even three truck loads by the end of this year.

Forward Slash, not Backslash!

I was listening to the radio last night and heard the radio host announce their MySpace URL:

"Check us out at www dot myspace dot com backslash blahblah"

It's not called a backslash! It's called a forward slash!

I wouldn't mind if this was a rare occurrence, but I have heard so many people, even people who work in the computer industry, confuse the two slashes. An easy way to remember which is which is to simply "read" the slash like you do a regular sentence.

Think of a tiny person standing in the middle of the sentence: | <-- that's the little person. Now, if he leans back (\) it's called a backslash. If he leans forward ( / ), it's called a forward slash (or just a slash).

Prevent Long URLs From Running Wild

When Raf commented on one of my recent posts by pasting a URL into the comment box, the Recent Comments widget didn't handle the long URL properly:

The fix was simpler than I'd imagined. By adding the following CSS style to the

  • tag that contained the recent comments,

    style="overflow:hidden!important;"

    I was able to prevent the URL from breaking out of the box:

    Of course this doesn't fix the problem in Internet Explorer 6 (go figure), but I'm sure there's a way of fixing it with some Javascript. If you happen to know how, please leave the solution in the comments.

  • Obama Speech: 'A More Perfect Union'

    I don't usually watch political speeches, but I've been reading a lot of news about how Obama's recent speech on race may have been one of the most important, and best, of his career, so I had to see what all the fuss was about. It's an awesome speech, but what's even more impressive is the fact that he wrote the entire thing himself!

    I think Obama really understands the big problems facing this country. What remains to be determined, however, is if he is capable of bringing about the great changes he talks so much about.

    Bank Accepts Offer on the Sale of my First Property

    A few weeks ago someone made an offer on my Cumberland Rd property and my agent submitted the offer to my bank to get approval of a short-sale (I owe $350k on the property and I'm trying to sell it for $180k).

    Late this week, my agent called to inform me that the bank has accepted the offer (they're probably happy to get anything kind of offer in this market) and the closing date has been set for March 28th. That's only a few weeks away and I still have lots of stuff in the big shed I built and in the basement I renovated. This weekend and next weekend are all I have to move everything out.

    It still doesn't feel real, but I suppose owning the house and all the work I put into it also hasn't felt real. I'm already beginning to feel the mental relief with one of the houses no longer in my name and I suppose it can only get better from here.

    What is the Purpose of an Ending?

    Everything has an ending, doesn't it? When we're talking about life and relationships, the ending often brings out many emotions. Opposite to the ending, the start and beginning are often associated with joy and happiness. Other endings and beginnings, however, are often not so defined.

    When you're hungry, you feel a sense of gratification the minute you start eating. When you're on an airplane starting a 5-day vacation to a tropical island, you're happy and relaxed knowing the next few days will be enjoyable. When a baby is born, happiness is associated with the event. As the child grows up, all he is concerned with is how he will enjoy that day.

    But when you finish eating and you're full, you quickly forget the gratification you felt minutes earlier. Your return trip home on the airplane is filled with only memories of the enjoyment you experienced, as you slowly adjust back into the thinking mode of daily life that you associate with grunt work. When the baby grows up, has kids and grand-kids of his own, he will lie on his deathbed where there is no happiness to be found. As the child grew older, he found less and less happiness from life. Continue reading