Why I have zero tolerance for politicians who do not support the 2nd amendment

I typically do not post political things on my blog, but this is something I support everyone watching.  Those of you that know me, know that I believe illegal gun activity should come with the harshest penalties available under the law.  Furthermore, you know that my conscience would never allow me to vote for a politician who removes any form of an individuals constitutional rights, and I encourage everyone to take advantage of the rights that so many have died to defend.

This is by far the scariest YouTube video I’ve ever watched, but it proves a point.  We all have the right to vote, please do the right thing, give law abiding citizens who obtain a gun according to their local, state, and federal laws the right to defend themselves.  Use your rights.  If you own a gun, set an example, follow all laws and gun safety practices at all times!

**Warning, the audio transcript of a murder is in this video**

Rolex 24 Hours at Daytona International Speedway

Today I got to experience my first Rolex 24 hours…actually my first time going to the Daytona International Speedway at all.  We had went yesterday to pickup sponsor passes from TRG Motorsports, a team who’s website we build.  The day started off rainy, and I was amazed at how well these cars ran in the rain, still approaching turns at over 100mph!  After about 20 laps however, the rain had slowed, the track was drying, and the cars started to come into the pits to get slicks put on.  It’s quite interesting to watch a race like this, it’s more like one big party compared to events I had been to before, such as Gatornationals.

Visiting the Washington Monument

After my last trip to DC several months ago where I couldn’t get tickets to go up in the monument, I learned to arrive early if you want to get to go up in the monument, so we arrived around 9am and were able to get tickets quickly.  We were a bit worried about the wind, as it was so strong that it blew my camera bag even with several items in there, and the tickets state that high winds can cancel tours.  The monument is currently closed to take the steps down, but the elevator stops and allows you to see out of it to view each of the 50 state’s stones.

Uploading old email to new IMAP account…the fast way!

I nearly titled this “Uploading old email to new IMAP account…the easy way!”, but I’m afraid it might not be “easy” to those of you who haven’t had much experience using command line based programs.  I certainly prefer the GUI, but after hours of trying to get Thunderbird to upload the email, I gave up.  The task before me was to upload about 19,000 emails from my boss’s old computer to our new email server hosted with RackSpace Apps.  Most of the commands here can be used to import email into RackSpace Apps with very little change, but can also be adapted to import email into gmail as well.

Step 1 – Download this email upload python script from sourgeforce and download ActivePython.  ActivePython is a bit easier to install than the default Python because it automatically configures the command line stuff, which is why I recommend it in this tutorial.

Step 2- Extract the .zip file.  Make sure to copy the file path as seen in the screen shot, this will make the next command line steps easier.

Step 3- Open a command prompt.  Go to Start->run and type “cmd” then click OK.

Step 5 – Navigate to the folder the python script is in.  You can do this by typing “cd ” (include a space) and then right clicking and pasting the file path you copied back in step 2.

Step 6 – Locate your MBOX file and copy it into the python script directory.  You can leave it where it’s at (obviously), but I’m writing this to be as easy as possible.  Click here for directions finding your Thunderbird mbox file.

Step 7 – Run the following Python command, replacing “example.com” with the address of your IMAP server and then enter your username and password when it asks.   It took 5 or 10 minutes to get past the “Counting the mailbox” screen for me.  Takes a while longer to finish the upload, especially if you’re like me and have almost 2GB of email you have to upload.

  • python imap_upload.py –host secure.emailsrvr.com –port 993 –ssl –box imported inbox.mbox

Formatting Phone Number and Fixing User Input With PHP

Recently I was writing a franchise module for a shopping cart software that required franchise owners to input their phone number.  I’ve ran into the problem where no matter what instructions I’ve given, the franchise owners consistently like to format the phone number in their own unique way.  Rather than add 3 text boxes to where they have to tab between every part of the phone number, I wrote a quick and easy php script to handle all the leg work for me!

[php]
//Input example
//(999)999.9999
//Output examples
//formatPhoneNum($phone_number, 1) outputs (999) 999-9999
// Inputting 999-9999 would cause the function to return “False”
function formatPhoneNum($phone_number, $style){
// Style 1 – (999) 999-9999
// Style 2 – 999-999-9999
// Style 3 – 999.999.9999
// Style 4 – 9999999999
$number = str_replace(array(‘(‘, ‘)’, ‘-‘, ‘ ‘), ”, $phone_number);
if (strlen($number) == 10){
$area = substr($number, 0, 3);
$first = substr($number, 3, 3);
$last = substr($number, 6);

switch($style){
case 1:
return “($area) $first-$last”;
case 2:
return “$area-$first-$last”;
case 3:
return “$area.$first.$last”;
case 4:
return “$area$first$last”;
}
// if the phone number was too long or too short
else {
return false;
}
}
[/php]

Enom Outage…

If anyone is seeing their website not working, or website up but email down, etc, several people in twitter have posted that ENOM is having outages issues.  We currently have 273 domains registered through ENOM and we’re seeing the same issues as everyone else on most every domain.  I’ve placed the correct IP addresses into my etc/hosts file and I’m seeing everything correctly.  Our support technicians over at RackSpace have confirmed that they’re seeing the same thing.  If you’re seeing this, good luck reaching ENOM support, I’m just getting a busy signal.

I guess the only “fun” thing to come of this is having angry clients call and getting to calm them down.  I’m not sure why I enjoy it, but there’s something very rewarding about having someone upset with you when you start the phone call, and thank you by the time you get done.

Edit– ENOM posted an update on their twitter account, but seemingly can’t post one on their homepage.  That’s TERRIBLE customer service!  Screen shots below.   At least we know something now, I guess we’ll lead by example and do a mass email to our clients explaining what happened, and post an alert on our homepage.

12:06pm – “We are currently managing through a DDOS attack. All resources are focused on solving this issue ASAP. More updates shortly.”
12:25pm- “Customers should begin to see a significant improvement in services. We are still addressing some remaining issues. More updates pending”

Another interesting tidbit is that their outages page doesn’t reveal the info their twitter account does.

Over troubleshooting the problem…grr!

So last night I changed a client’s DNS over around 8pm. For those of you who aren’t familiar, DNS settings are somewhat like physical mail address settings in that if I want to go to our office, I type in 1802 N Alafaya Trail into my GPS, just as I type in www.yourdomain.com to get to “your domain”. Let’s say we move physical addresses, it takes propagation time before Google maps phone books, and various GPS software update our company’s location. Well, there’s propagation time (only a few hours typically, max of 48 hours) when you change the IP address behind a domain to switch the server the domain points to.

Anyways, back to my story…I did it this late because they had requested that we do it after hours due to email being their primary means of taking and receiving orders, and they couldn’t afford being down during the business day. 7:30am my cell phone was ringing and waking me up with a panicked customer on the other line. My first thought is “oh no, I missed up the DNS switch”, but I had stayed up to make sure I saw the DNS swap go through on my end. I asked the customer to ping “mail.yourdomain.com” and it was seeing an incorrect location. My first assumption is that this machine had cached the IP address, so I asked if I could remote control the computer with LogmeinRescue (this software is the best thing to ever happen to technical support), which they agreed.  I ran a “ipconfig /flushdns” and then redid the ping with the same bad results (ipconfig /flushdns would be like throwing your address book away so that you have to look up new addresses each time, referencing the analogy I was using earlier).

Now here’s where this whole post starts to have a point.  The customer was upset because their email was “down” and in a moment of panic, I started looking for answers as to why a computer might not respond to “ipconfig /flushdns”.  The truth is, I had no reason to believe that this command didn’t work.  The solution was letting the customer know their internet service provider’s DNS information was outdated and might take a few more hours to get refreshed.

Lesson learned: When presented with a problem, focus on the primary causes,  then eliminate them one by one.  Don’t let frustration or panic on a customers end cause panic on your end!

Choosing Web Hosting — What to look for?

I’ve had several friends, and even some family ask me my opinions on general web hosting, and there’s only a select few names in the business I’ve come to recommend.   In general, ignore the price, start figuring out what you want, THEN price shop.

Let’s Look at the basic terms used in web hosting-

Storage Space
Storage space in regards to web hosting is basically referring to anything that you store on your hosting account, FTP, web content, and email all included.  Really the only thing that can eat through storage space is email, photos, file sharing, and video.  If you’re uploading tons of high resolution photos form a modern DSLR, using your website to send large files to friends, or uploading every holiday video known to man, you’re going to need a ton of space.  For the rest of us, space isn’t an issue.  For email, I recommend Google for your domain, which is a service Google provides, basically like Gmail, except it allows you to take your current email address with you, and take the load off of your hosting account.

Bandwidth
Bandwidth refers to the amount of data transmitted through the server that you’re on.  Let’s say I have a 1mb file and 10 people download it, I’ve now used slightly over 10mb of data.  To put things in perspective, I use about 15GB of transfer on this blog each month, mainly because I use hidden folders on my personal hosting account to transfer files back and forth to work and school as I need them.  If you’re JUST transferring web sized photos to friends and family, you will struggle to use even 5gb of data transfer.  If you’re a company that has several files to download on the site, or tutorial videos you can easily blow through 10-15GB.  In general, if you’re looking at a new website, the typical 30gb or more is plenty, and you can always increase this as you grow.

Dedicated Server
A dedicated server is extremely useful if you’re in need of custom programs aside from the basic php/sql/apache that nearly every server on the market today runs.  For 99% of the world, it’s unnecessary!  The pro’s are that you don’t share the box with anyone else, so a security vulnerability, non terminating programming loop, or other negative things on someone else’s server won’t effect you.

Virtual Private Server
Virtual Private Servers (VPS’s for short) are useful if you need to install a few custom apps, but don’t really have the need to be on your own server for performance reasons.  Typically this is what you’ll want to look at once you outgrow shared hosting (we’ll discuss this in a bit!), but before you’re ready for an all out dedicated box.

Shared Hosting-
This is what the majority of the web is run on, Shared Servers.  Just like when you were in college and realized that you could share an apartment and split the bills in half, you can share a server, too!  This blog for instance, is being run on SharkSpace’s reseller hosting package.  This package meets all of my needs with room to grow, and costs less than $25/month, far less than the virtual private server or dedicated server options.  It comes prepackaged with a server management software called WHM/Cpanel which allows me to create sub accounts, and allows those accounts to manage their own site specific settings.

Now let’s move on to some aspects less often discussed!

Support-
Especially if you’re running a business online, support should be the FIRST thing you consider when choosing a hosting provider. Companies like RackSpace are filled with some of the most knowledgeable staff in the business, and willing to help you at any hour of the day.  The company I work for hosts our dedicated servers through RackSpace, and I continue to be amazed at how great the service is.  Other great companies I’ve used when it comes to support are SharkSpace (my current web host) and Idologic.

Hardware-
It’s no secret that Linux is a great OS for slower machines, but don’t let that fool you, you NEED processing power to run the dynamic portions of today’s content management systems and blogs.  Just a single page on this blog has to do a database call to find all of the unique months that I’ve posted a blog, all of the categories, the site name, the first 10 posts to show on the page, all of the photo galleries, etc….the point is, even a single page view involves a lot of database interaction these days.  Budget web hosts often skimp here, as you can install all of the latest versions of common software packages and market it as a new setup, however it becomes painful to browse your website.