Regain Your WordPress Admin Account

So, I decided to get cute and changed my WordPress admin username to a username I wanted via a utility called phpMyAdmin. I went to the wp_users table and made a simple username change to the user_login field. I logged out and logged in back to the WordPress Dashboard. Disaster! I just lost both my WordPress admin and network admins rights. My former admin account has been reduced to a regular plebe. So, this is how a regular WordPress subscriber looks like.

It was a scary five minutes at WordPress land. I’m laughing now, but I wasn’t then. So, I went back to phpMyAdmin and also changed the user_nicename and display_name to the wp_users table hoping that would fix it. No cigar. Panic set in. After a few Google searches, I finally found the solution. Thanks to people who post their solutions online.

What a relief! First, you have to make sure you have the right user_id, especially if you have a multisite blog. Go to your wp_users table and make a mental note of your admin ID. It’s usually an ID of 1.

Next, I went to the wp_usermeta table and changed the wp_capabilities entry to a:1:{s:13:”administrator”;s:1:”1″;}.  The key here is the entry s:13. My account was reset to s:1 for some reason. I temporarily changed it to s:10, but it didn’t work. Setting it to s:13 did the trick. It worked wonderfully.

Now, I’ve regained all the admin rights for each blog that’s on the network, except that I’ve lost the Network Admin. Well, another Google search. Thank you. To make the story short, I also had to edit the wp_sitemeta table. Look for the meta_key and change to a:1:{i:0;s:11:”yournewname”;}. The s:11 is the length of “usernewname” which is 11.

That was the fix. Whew. A close shave. All in all, all is good once again at WordPress land. I am one happy admin. Just a bit on the adventurous side, but otherwise a happy camper. I’m posting this article because, I know some dufus admin in the future will probably do the same thing that I did. It wasn’t all that bad. It was just a little bit disconcerting when you lose all admin rights.

Use UUIDGEN For Passwords

An impenetrable system is only as good as its weakest password. Computers systems are often attacked using brute force. Most users tend to use really simple and easy to guess passwords. The use of complex passwords on the other hand, makes it almost impossible for them to remember. That’s why passwords typically fall in the 6-8 character range.

For systems and applications, that don’t need human intervention, when communicating to databases and other systems, a much more complex password can be assigned. These passwords typically do not need to be typed-in on forms, so they can be long, difficult and outrageous. There’s a Linux utility called UUIDGEN which randomly creates and generates unique universal identifiers.

A typical output would be:

150152b0-cd0e-11e1-9b23-0800200c9a66

These keys are perfect for systems and applications. For example, WordPress requires a username and password to talk to the MySQL database. The database credentials are typically stored in wp-config.php file. A key generated by UUIDGEN can be used in this scenario. This is just one example where long and difficult passwords can be deployed. They can be used for other purposes as well.

So, if you have access to a Linux system, to generate a unique key, all you have to do is type the command, “uuidgen” in the Terminal.

Linode Kicks Ass

Get a web server running within minutes. Choose a Linux distro, resources, and node location. That’s essentially Linode in a nutshell. I signed up with Linode about two weeks ago. I’ve been playing around with it since then. I can happily say that I’m very impressed with Linode. It has exceeded my expectations.

If you want total control of your web server, Linode VPS is really the way to go. You will be asked to choose server size when you sign up. They come in many configurations. I chose Linode 512. You also need to choose a data center location. There are six data centers worldwide. I choose the one in Fremont since I live in California.

So far, I’m loving the guaranteed server resources. My websites are running faster . I chose Ubuntu 12.04 LTS 32 bit because it’s a Linux distro I am very familiar with. Apparently, 57% Linode users have chosen Ubuntu as well. I already transferred a couple of domains over to Linode. The websites are screaming.

I plan to migrate more websites later. If you are curious about how Linode works, here is a short list of features to get you started:

  • Full ssh and root access
  • Guaranteed Resources
  • 4 processor Xen instances
  • Out of band console shell
  • Dedicated IP address, premium bw
  • Six datacenters in the US, Europe, and Asia-Pacific
  • HA and Clustering Support
  • Bandwidth pooling
  • Managed DNS with API

MySQL mysql_connect new_link

I want to share a database connection access problem I had last week, while working with a custom PHP script inside WordPress. I had created this WordPress Page Template containing some PHP code that needs access to the database. The problem was that the database connection for my custom script overwrote the WordPress database connection that was previously establish, causing certain parts of WordPress to not display properly.

It took me a while to figure out that it was the newer database connection of my custom PHP script that was causing the previously established WordPress database connection to disappear. Hence, certain parts of the WordPress page were not displayed. Little did I know, that the fix was quite simple. So, here’s a sample of my mysql_connect code. Prior to this line, I’ve already set the variables.

Mysql_connect

$db=mysql_connect($host,$username,$password);

The Fix

Simply add a fourth parameter called new_link and set it to TRUE.

$db=mysql_connect($host,$username,$password,TRUE);

What this does is basically telling mysql_connect to establish a new connection, while keeping the older mysql_connect connection around, in case we need to access it at a later time. It’s amazing how one little switch in a command can make a huge difference to this seemingly simple code. Anyways, adding a fourth parameter and setting it to TRUE was the solution.

Set Your Timezone Correctly In WordPress

It’s a new year, and it’s a good time to make a new start. I did a little bit of housekeeping work within WordPress, to make sure that my blog is off to a good start. I just changed theme today. That’s going very well. While browsing around my blog, I noticed that the time on my posts are off by one hour.

It doesn’t make any sense, since my webhost is Hostgator, which is based in Houston, which is in the Central timezone. I’m in California which is Pacific timezone. My blog, for some reason, seems to be in the middle, in the Mountain timezone. I did some little investigative work and found that my WordPress timezone settings has changed.

This post is about making sure that your WordPress timezone is set correctly. So, login to your Admin Dashboard. Access Settings > General look for the Timezone settings. See snapshot below.

Select your timezone correctly. I set mine to UTC-8 for the West Coast of the United States. If you don’t know where you are, you can check several websites that offer timezone information. Once you made the change, go ahead and save. You can validate your WordPress timezone setting by looking at the internal clock next to the form. It should display the correct time in your timezone.

You should only get to do this once, but my time setting, for some reason has changed, and I just recently noticed it. So, make sure to check that your timezone is setup correctly.

A New Theme

A new year, a new theme, a new framework, a somewhat familiar layout, and the same old background. The new theme is based on the Genesis framework by StudioPress. I’m using a child theme called News.

The new theme should be more flexible when it comes to layout and functionality. The Genesis framework is quite robust. The framework has a plugin called Simple Hooks that makes it easier to make theme customizations.

A piece of code can be inserted using Simple Hooks. It will accept any HTML, Javascript and PHP code. The hooks can do wonders when inserted in key sections of the framework. Plugins shortcodes can be inserted as well.

Overall, I’m still learning how to work with this framework works. The concept is a little foreign to what I am used to, but I like what I have done to the theme so far.

I hope you like the new theme.

2011 In Review

According to WordPress, I wrote a total of 190 posts in 2011. To see all the articles written in 2011, simply access:

http://ulyssesonline.com/2011/

This feature is possible using one of the nicest features in WordPress called permalinks, which is short for permanent links. With permalinks, you can customize your own URL structure the way you want it. I happen to use this format:

http://ulyssesonline.com/%year%/%monthnum%/%day%/%postname%/

which makes it easier for me to display articles by year, month and day. To access all articles written in 2011, I just provide the year and all articles written in 2011 will be displayed. Most WordPress users already use permalinks.

If you are not, do it early. Over the years, you’ll see the benefit of using such a structure.

The Reasons Why I Dont Use Internet Explorer

Every now and then, I use Internet Explorer just to see how an application behaves with the dreaded browser from Microsoft. The results at times are surprising, to say the least. Using IE usually involves using Windows, which I don’t use that often. But, I have my old, trusty Windows XP, running in Virtualbox.

Inside Windows XP, I have a slightly older Internet Exporer 7. I want to upgrade to IE9, but there is a slight problem. When I headed over to Microsoft’s website, I learned that I can’t run IE9 on Windows XP. Microsoft suggests that I upgrade to Windows 7. No thanks. So, the best I can do with this Windows XP, is go with IE8. I guess I can do that, but I need another computer to test IE9.

In the meantime, I decided to blog just a little. I logged in to WordPress using IE7. Guess what? WordPress complained that I’m using an insecure browser the moment I logged in to the WordPress Dashboard. The message is right up there on top of the page, inside a bright red background. You can’t miss it.

So, I decided to write a quick blog, and then the unimaginable happened. The IE7 browser disappeared. It’s gone in a puff of smoke, right before my eyes. Where did it go? It crashed! It’s a good thing, I pressed ‘Save Draft’ just moments before its disappearance. So, now I’m using Google Chrome to complete this post.

Oh, what fun. And I still have to test that dreaded application with IE7, IE8 and IE9. I can’t wait what’s in store for me.

WordPress 3.3 Upgrade

Unless, you are blind as a bat or need new glasses, you probably have seen the messages within WordPress, reminding you that you need to upgrade to WordPress 3.3. If that type of incessant nagging doesn’t get you to upgrade, I don’t know what does. So, I relented and upgraded several instances of my WordPress installs.

I use the WordPress upgrade via Subversion, but there were a couple of file conflicts in the upgrade. So, I ended up removing the .svn directories from the WordPress directories. I ended up upgrading WordPress via the easy and preferred, one-click method within the WordPress Dashboard.

So, what’s new with WordPress 3.3? The most obvious change is the redesign of the Dashboard. See snapshot of the Dashboard below. It’s supposed to be faster, functional and more accessible. To me, the eye candy of this whole upgrade is the new media uploader.

Uploading images into WordPress now supports the drag and drop of images into a media uploader. It’s makes uploading images much easier, if that wasn’t already the case. So, let me try a couple of images now.

The image above is a snapshot of the new Dashboard. As you can see, the Dashboard has been redesigned. It looks spiffy and neat. The image below is a partial snapshot of the new Media Uploader. As you can see, there’s a section where you can drop images for uploading.

To drag and drop images, I suggest that you minimize your browser, so that you can easily see and grab images from your Desktop. Just grab an image or several images to an area where it says “Drop files here” in media uploader. The media uploader will automatically upload the images for you. It’s impressive.

If you haven’t upgraded yet, I urge you to upgrade and take advantage of the new features of WordPress 3.3. Finally, here’s the obligatory video about WordPress 3.3.

A Background Image That Scales

I recently fixed an issue with my theme design. The dark wood background image that you see on this blog, was not big enough to fit most large monitors, where resolutions are higher than 1080px. Hat tip goes to Daniel Ritchie for pointing it out to me. So, I searched the web and found several possible solutions.

I found Chris Coyier’s at CSS-Tricks solution the most attractive, because it was by far the easiest one to implement. It not only adheres to CSS 3 standards, but it also works across most modern browsers. The result is a background image that fills up the entire page, scales to any size screen when needed, retains its aspect ratio, and centers the image properly.

What more can you ask for? Well, maybe something that loads a tiny bit faster than usual. So, I took the liberty to reduce the file size of my background image from 744kb to 128kb using my beloved Gimp. I use a little bit of image compression, without suffering too much in image quality. So, not only is the background image displaying properly on any size monitor, it also loads much, much faster. That’s a win-win situation.

If you like to know how I implemented a background image that scales to any screen resolution, just head on over to CSS-Tricks and check out Chris Coyier’s CSS3 solution. I hope you’ll find this article very helpful. I tested the new background with a HP w2207h monitor that rotates to landscape mode. Works great. If you find this to be otherwise, any input is appreciated.