After many, many months (and many mistakes), we finally have our own backup server!
Let me explain: when we had our data hosted on 3rd party servers, backups were never considered because the services already provided backups (or, so we were told). We only had to use WebsiteSource's backup service once, and the other company said they were creating a backup service, but never put us on it.
When we moved our data to the primary local server back in September, my level of worrying gradually increased over time. We had all of our site data on 1 server - and if that server were (for some reason) to crap out, we'd be in a very large hole with no way out. 8 years of coding. 8 years of projects. 8 years of client work. 8 years of a full portfolio. 8 years of database records. All gone.
Luckily, that hasn't happened yet (and we hope it never will - oh, the horrors if it did). So, in order to fill in this gap, I finally got the courage to make a backup server! (finally, right?)
I was able to salvage a bunch of the spare parts that I had laying around. Some RAM, some hard drives, a few semi-barebones desktop frames, motherboards galore...and all of this stuff was just collecting dust in various areas.
I went through a bunch of combinations of RAM/Hard Drives/Motherboards/CD Drives before I found a combo that worked (a few of the frames that I had required SATA drives, and I only have ATA/IDE drives available).
I finally got some RAM that fit appropriately, a large enough hard drive to hold the information that I needed (not the same size as the main server drive, but big enough), and a CD drive that worked (I had to install the Server OS somehow, right?).
After spending all of today getting the latest Ubuntu Server ISO downloaded and burned, I popped in the CD, ran the install ISO, and had a dedicated backup server ready to go.
I then spent the latter part of the day setting up
mysqldumpto automate the creation and mirroring of backups.
MySQL Dump Script:
#!/bin/bash BACKUP_DATE=$(date +'%F') mysqldump -u [username] -p[password] --all-databases --events > \ /var/www/vhosts/$BACKUP_DATE.sql
--eventsis here because it was returning an error saying "Skipping mysql.events table"
#!/bin/bash N=$(date +'%F %T') LOG_FILE="$HOME/rsync.log" echo "RSYNC Begin: $N" >> $LOG_FILE rsync -r -a -v -e "ssh -l [username]" --delete \ [source directory from root] [remote_server_ip]:[remote directory from root] >> $LOG_FILE echo "---------------------------------" >> $LOG_FILE
--deleteis to delete any remote files that aren't on the source location. Also, if you want to only sync certain file types, add "
--exclude='*' --include='*.[ext]'" after
--delete(exclude everything except what is included), or you can just omit
--deletealtogether if you want. The rest of the script is just log information - completely optional, but makes the log easier to read
Update 2013-12-09: I've updated the script a bit to make it a little more universal after some things were called to my attention
The main part of that was spent trying to get the backup server (which I am calling "Fry" - I'm thinking of going Futurama for a server nomenclature) to automatically SSH into the main server without a password (aka: storing an SSH key). I had to learn a lot in order to do that, but I found out that the problem that eluded me for about 5 hours was that the main server's home directory had the wrong permission settings for the
Next time the SSH keys aren't being stored right, run
[sudo] tail -f /var/log/auth.logand see what the error is. Lesson learned.
So, the overall point of this story:
- A dedicated backup server, Fry, has been salvaged, installed, and setup
- There is an
rsyncscript on Fry to automatically sync up the files from the main server (all 40GB+ worth)
- The Main Server has an automatic
cronscript to run
mysqldumpto make a full backup of all of the MySQL database
rsyncwill keep the latest 6 (daily) copies of the MySQL Dump backups along with the main backup
rsyncscript creates a custom log to record the output
Now to install a Leela (why not Zoidberg?) server for load balancing (or a production server. I don't know - I've never had more than 1 server running locally at a time).....
....and just because this whole "end of the year" thing is so chaotic, here's a comic I liked which I hope to do (just to get it all over with):
It has been some crazy past few weeks. Let me do a quick summary of what's happened:
- I got into work today at 9:45am. Yes, AM! I had a crazy idea (based on an American Dad episode - the one where Roger has the "Sidney" persona that takes the hit out on himself. You remember that one? Don't cha? Right? Anyway...) to place my glasses by my "alarm". I turned off the alarm at 8:15 this morning (because Keat had to get into school before 10), reset it for 9, and went back to sleep. I got up at 9, turned off the alarm, and put my glasses on. Somehow, I felt more....awake and didn't want to go back to bed. So I got dressed, shaved, etc, and went into work. Anyway, I spent 2 hours going through my Reader and finding a lot of interesting business- and website-related articles that I felt would be good resources to share with the interwebs. So I scheduled i-don't-know-how-many posts into the Shadow Dev facebook page all the way through August 30, posting 2 per day. I then got the green light from Tom to send out an intro letter to a potential client in Asheville (after much editing), and sending some carefully worded explanations out as well. Afterwards, I worked on the Analysis followup links (see more below) and created that from almost-scratch to finished; jQuery, Paypal, form creation, and all, in a matter of about 2 hours. I then worked on a
setInterval()on the Shadow Dev β site making random testimonials show up in a testimonial box every 4.5 seconds. That took about an hour or so. I had the hardest time figuring out 1) how to have the loop continuous, then 2) having the previous entry fade out, then the new one fade in. Afterwards, I met with Marti (see below) at 2 and met with her until about 4:45ish discussing different and new Project Management techniques, forms, and methods, along with a "Project Closure" sequence, which is new to me. I was getting things prepped for my teleconference at 7 when Tom sent me some requested files for the Maintenance and Rewards programs. I used the files he sent over to create the Rewards and Maintenance pages (finally). After I got done with that, I realized that I was supposed to meet Eric at Frog Level at 5 for casual beers. I hope he doesn't feel bad that I stood him up...? It was about 6:40 when I was done with the previous item, and I thought I would lay down for about 15 minutes. I set a timer for 15 minutes, and an alarm that would wake me up at 6:55. I started it (I saw it counting down), then went to lay down. About ~15 minutes later, I wake myself up, thinking that I overslept...again (see below). I woke up a minute before 7pm. Freaking out, I go over to my phone and try to call in. I see that my phone had only count down 2 seconds (from when I put it down), so it never counted down from 15 minutes. Somehow, I don't think my phone doesn't like to set alarms on Wednesday nights (see below, again). I called in to the teleconference, participated, and we were done in about 45 minutes. I then took it upon myself to clean out the office fridge. Long story short: it was over-freezing, so we turned down the temp. and the ice melted - all of it, so I transferred some out and emptied it in the sink. I then went home and watched some Big Bang, Futurama, Big Bang, and Battlestar Galactica. And that's just TODAY!
- So, my Wednesday went a little wonkier than usual. I'll skim through the rest:
- I created a Quote Generation System for Shadow Dev. I also created a Automatic Quote Followup system to send an email to the person who generated the quote for a followup. Quite nice if I say so.
- The HCC Student Incubator was delayed until the beginning of September.
- We recieved a new client: Premier Vacation Rentals
- We gained a new staff member: Marti Daves! She comes to us with plenty of Project Manager experience, with a fine interest in hand-coding web development. Certainly a great addition to our team.
- We re-worked the packets, again. Removed some pages, added some, and added a design to some of the packet folders. Hopefully, the response rate will be better.
- Ordered 20 more bowls and sign holders. I find it hard to believe that each GLASS bowl was $1.44 each, but each PLASTIC sign holder was $5.34 each. It was pretty expensive, but the source for the sign holders was the least expensive option out of all of them that were researched.
- I modified our Quota page to show what the Quarterly bonus would be if Quota is met. Should make things easier to manage
- I created a newer version of a Contract Creator. Adding in some new clauses, price modifications, and service inclusions, and the new created contract is better than ever!
- We launched the new SMDC design. Now to implement the information.
- Added something a little different to a client: Instead of processing credit cards (as expected), they wanted "House" accounts (as in, give us your name, and we process your card on file). That wasn't discussed during the project negotiations, so the checkout system wasn't developed with that in mind. But, we did it.
- Our first Contest winner won the free website, and turned it down, which is good and bad for us. Good: we have less work and don't have to shell out a loss to cover it. Bad: the Winner doesn't get a new site or PR, and we don't get good PR for offering this. Let's see how Round 2 goes...
- After the last Monthly Meeting, I delegated out "Drinks with Geeks" and "Hello World". Good news: less on my plate to take care of. Now just to train/help the delegatees on how to do that.
- I also created an auto-followup for websites that are analyzed using our GetMyAnalysis.com analyzer. For the past few weeks, the followup email would say "Get ____ service!" with a link, but never went anywhere. Now, the ordering page has all 3 services available, along with a checkout system (see above for more detail).
That's it for business. If you got this far, I know you're tired of reading this. I'll finish the rest quickly.
First, a bonus comic:
- I reworked my Magic deck using Core 2013 cards. My battles with Chip and Keat are going better, and I'm not being slaughtered as badly.
- I am now the Project Manager for Pi Lambda Phi Internationals for the front-end portion of the website. I didn't know what to expect, but I thought it would be a good PR rep, along with experience in the PM world.
- Allstate was charging me $51/mth for auto insurance. Peaking my curiosity, I searched for some quotes from other companies. Out of all of them, State Farm had the best rate at $37/mth. The rest were $44-84/mth (Geico, Nationwide, Progressive (which has a very flash-heavy version), Farmers (they operate as 21st Century around here), and more). I received an auto-followup email saying that my rate was $34/mth. I went to talk to the agent with a few questions, and she said that it was ~$32/mth. Maybe if I keep talking, it may drop below $0/mth! That'd be nice. Anyway, the same auto coverage I was getting from Allstate for $51/mth, I can get for $32/mth from State Farm. Talk about saving $100's (actually, about $240/yr). I have nothing against Allstate - I know my parents have been with them for years, and my policy was spun off about 6 months ago. My Allstate agent was super nice and helped me out a lot. State Farm just provided a better rate.
- I tried watching the Doctor Who spin-off Torchwood. I'm sorry, but 5 episodes in, and I couldn't get into the storyline. It's too much like Warehouse 13, which I also couldn't get into.
- I started watching Battlestar Galactica (the 2004 version, with Katee Sackhoff). I'm not totally immersed like I was with Doctor Who, but I like it. Maybe it's because I'm writing a futuristic space-based manga called Phoenix Eye. I don't know...
- I visited a new Jamacian restaurant around here called One Love. I gotta say: for being out in the middle of nowhere, it was some pretty good food! And not badly priced, either! As soon as I get my paycheck, I know where I'm going again!
- I gathered the stamina and finally went to a meeting of the "Smoky Mountain Model Railroad Club" 3 weeks ago. I've had their brochure for about 6+ months. The club was mainly about O-Scale trains. Those are nice, but I prefer my N-Scale. I met a guy named Eric there and we tried to go train-spotting during the following week. Due to some bad communication with the relays, our spotting turned up empty. Regardless, it was good to meet someone new. We went to a guy's house in Canton who had a super-ginormous N-Scale layout that he had been building for 20 years. Let's just say that it puts my old 4'x8' plastic-grass oval track to shame. No, worst than shame; I may be in the same "sport" as him, but my set would be "Here's how to play Tee-ball" while his was MLB Atlanta Braves (I'm no sports fan, so if my analogy is incorrect, please let me know). I brought out my N-Scale set and a few books and hope I can go back soon and run my set.
- Keat and I helped Janet cater a super-fancy party for one of Janet's friends. Let's just say that this guy's garage was the size of our house! He was super-nice, and certainly blows away the "I have a vault-load of money, therefore I have the right to be snooty" stereotype. I don't think this guy could be more friendly. Regardless, the catering event was fun, even if we did walk around for about 8 hours.
- I am working on a new service called CityFix. It's only in Phase 1 so far, and I'm doing some additional research in order to complete this service. Apparently, there is a need for this, but it hasn't been thoroughly met...yet!
- I receive daily emails from Randy Glasbergen's publisher for his comic. I will say that I appreciate his humor and quick wit, he has some super-strict copyright policies. If his comic is republished on ANY format, it is $25 per showing. Thank you Randy, but I don't have the budget to shell out $25 per comic. Maybe later...
- I found a new YouTube series I like: Doctor Whooves. Yes, you read that right. I think my "Brony" is showing...
- Keat and I attended a MTN. RENDEZVOUS Archery event late July. Personally, I thought "Okay, I pay $10, I get to shoot 10, maybe 15 targets down a range. Not too bad." Instead, Keat and I found out that it was 40+ targets in a woods-style shoot (uphill, downhill, around trees, across creeks, etc). It was 1 arrow per target. 5 pts for the animal (ranging from a rabbit to a bear), 8 points for the inner ring, and 10 points for center ring. I don't recall our scores, but (I believe) Keat beat me during the first 20, and I beat hear during the last 20. $10 for 40+ challenging targets? I'd do that again! (Minus the ticks - I found one on our bed during the next day, and one under my nipple (stop laughing) later that same day). Keat also found a local supplier of traditional archery supplies! Not too bad for one crazy and tiring day!
Okay, that's enough from me for now. Ranting over. Enjoy this penguin:
Tags:#thesystem #garfield #penguin #facebook #reader #americandad #rewards #maintenance #futurama #bigbang #quote #client #hcc #packets #bowls #contract #smdc #contest #magic #mtg #allstate #statefarm #doctorwho #torchwood #galatica #onelove #nscale #janet #archery
Sorry I missed Friday's update. It was a hectic day and I had such a headache after I got home. I'll explain it in a bit. I don't recall what happened exactly, but here's the best I can remember it.
I was supposed to wake up at 9ish and go to an auto-repair shop to get my tie-rod checked out. Turns out I woke up around 12ish and went over to the shop. After I walked in and explained the situation, the guy came back and said he didn't see anything wrong with it. I called Dad and he said "Just as I thought." Great. So the auto place I went to first either lied to me or was trying to gouge my wallet. Either way, I'm not going back there. Dad said he'll file a complaint with the BBB, but personally, I don't know how much "good" that will do since I found out that they aren't BBB Accredited over lunch. Keat and I went to lunch at Hardee's and then went to the office. We spent about an hour there, and I worked on the server configuration trying to make the subdomains work right. Turns out that there was an issue with the configuration file saying "Indexes" and "+Indexes", which was the main issue.
I also received a potential client contact and responded accordingly. A teammate from Keat's business class called and asked a few questions for the business paper. After the discussed options between us and her, I would like to get a copy of that paper; the things said in that paper would be a great media content!
Keat and I left from there and went to Barnes & Noble for some market research (class-related for Keat), and I got some hot cider and Keat got some hot chocolate and some cheesecake. After taking the cider and cheesecake, I didn't think life could get any better....
Keat and I browsed the mall for a bit, then went home. I had a small headache that turned into a large headache, and at about 12, I went to bed. I thought I would fall asleep before the intro to Futurama was done. I skipped the blog post and went to sleep.
I woke up around 12 again, but it felt great to sleep in. Keat and I went to the store to pick up a few things, got "Grown Ups" and watched it (which was a great movie, by the way). I returned the returned the Redbox and came back home.
I also found out that the support guy responded to my email from Friday, after I told him about the "+Indexes" thing and mentioned the constant downtime issue. He responded saying the following:
Thank you for your email. The sub domain m.####.com is working fine for me. Please clear cookies on your browser, close them. Now, try it again. Thank you!
Yet, I didn't need to clear the browser cookies (I'm not stupid) since I checked the subdomains with 4 browsers on 2 systems (one local and one remote), and still nothing about the downtime issue I mentioned earlier. I replied saying that that subdomain issue was solved, and I needed to investigate the downtime issue, and received this:
Thank you for your email. I am sure what your question is this time. i checked all the sub domains and everything seems to be working now. Quick question, did you have to do something with those sub domains like 'kp.shadowdev.com'? 'cause it kept downloading the homepage when i visited earlier. It works now. Thank you!
Hello, Thank you for your email. Great to hear everything is working properly for you now. I think there were some sub domains that were down because the dns records were missing. Overrall, everything seems fine.
No real reason why the download thing happened, but I still have no response to the downtime issue. Overall, the downtime has been 1-2 minutes every 30 minutes or so. What "support!"
Just FYI, here's the uptime and downtime report as of now (over the past 5 days):
Downtime in Response Time (ms)
As the day went on, Keat and I got some Papa John's pizza and watched some American Dad. We're now on Season 3, although I believe we have actually seen all of the episodes. The biggest thing that keeps bugging us is that our neighbor's dog has been crated alone in their apartment for 24+ hours. I'm pretty sure that's a little inhumane. The dog loves people and doesn't like to be alone, and the constant howling is getting on our last nerves! Keat wants to get in there a free the dog, but that would be against the law. We've sent an email to the landlord(s), but they most likely won't get that until tomorrow (if that early). The Internet has been slowing down every now and then, so Netflix has been 'nixed for the time being until things get faster. I just hope the dog goes to sleep soon. It doesn't really help to crate the dog, then leave all of the apartment lights on and the blinds open so everyone can see the dog inside and the dog can see everyone outside.
It also doesn't help that it seems that Chi is in HEAT again! She was meowing like crazy on Friday night and has been meowing her head off again today (and peeing everywhere). It was only last week that she was in heat, so this seems impossible for her to be in heat again. I actually had to close the bedroom door on Friday night because the meowing was too much. Little did I expect for Niko to be scratching under the door again after n months. The under-the-door scratching wasn't too bothersome, but the fact that he scratched under the door and shook the little springy thing (you know, the thing that protects the door from hitting the wall), which made an annoying "SPROOINGGG" noise.
One final note: I received another note from Progress Energy saying that they couldn't process my account. They have a direct connection to my bank account, so they can't say "Can't find account number." Aside from the howling neighbor dog, Progress is also getting on my nerves.
Let's see how the rest of tonight goes, and hopefully things get better. Keat has some homework she has to get done, so she'll be spending all of sunday doing that. I'll most likely be implementing the cURL system that I need to get done. Until then, 'night!
(edited from the original for audiences - view original)
Today seemed to start off good, but then it went down the hole.....fast. And it seemed like I had to build my own ladder to get out of the hole.
Anyway, onto the details: I woke up at about 10:30ish, because Keat had class at 11:30. After writing last night's entry, I wanted to sleep for as long as I could. However, after falling asleep to Futurama and hearing the "Anthology of Interest II" episode (the one where Leela finds her "true home" in a certain film containing lollipop children, a brain-less scarecrow, a squeaky 1930's android, an ironic lion, and an omnipotent wizard), and I realized, "If the Wicked Witch of the West melted with just a small amount of liquid, then does that mean that she never drank anything or ever took a shower? I mean, I can understand the 'no shower' thing because she's a wicked witch and that would make her ugly, but never showering? That's just down right repulsive!"
Anyway, Keat was dropped off at school, and I went to the office. I knew that the server transfer was taking place, and I really want to thank the support guy I'm working with at my hosting company. He's helping me out through the transistion from RHEL 3AS (cPanel) to CentOS 5 (Plesk). I thought that it would be a lot of work to transfer the files over, but I didn't realize it would take this much work (I'll get into one bugging detail at the end).
As I drove to the office, I received a call from Allan, the Executive Director of the building. I couldn't get to the phone before it went to voicemail, but he said that his computer wasn't connecting to the internet and his computer was "fading out." Wasn't quite sure what that meant, but I was only 5 minutes from the office.
I arrived and jumped straight into work. I opened the office door, placed my laptop bag on my chair, and went right into the server room to check the primary connection. It was working fine. So....what's up with Allan's computer?
I went back to my office and set up my laptop. After going through my daily emails and my DDN (or RSS as most know it, but I call it my "Daily Digital Newspaper"), I jumped back into the server transition. It seemed kind of slow since only 1 domain was being transfered at a time. Apparently, the MySQL databases weren't being moved until I said so. 1 task down.
I had a to-do list from a client from yesterday, so I took care of that while I had the chance. 2 tasks down.
After about 2 hours, I had an issue with the MySQL database transfer and credentials. I asked the support guy, and he fixed most of the issue. However, I found out that they want each site to have its own unique login to the database instead of 1 generic login. I went with 1 generic login for the longest time because it was quick. Security wise - that is a large risk. Now I know that Q&D (quick and dirty) isn't the best way to go.
After a while, I realized: "Hey, when they are transferring the shadowdev.com domain, my email system will be down!" So I sent an informative email to the support guy with my backup email address.
After a LONGER while, I was wondering what was taking so long. I hadn't heard anything from my support guy since 1pm (EST) and was wondering how things were going. I went to go pick up Keat at school, got some quick lunch (needed to get back in case there were more server issues), and got back to the office. Guess what: the internet goes out. I started to get furious! THIS IS JUST WHAT I NEEDED! Here I am trying to oversee a sensitive server transition, and the freakin' internet just went out. What a day.
I went to the main server room thinking the problem was local. Nope, the main server wouldn't connect either. Therefore, the problem was on our ISP's end. I tried to load the community college's website on my phone for a contact number (they're our ISP), only to find out that their main site is down. Great. So if their site is down, then the whole county is down. I called someone I knew over there only to get voicemail. I thought "If their phones are on a VoIP system, and the network is down, then their phones are out." Just great. I called again after 10 minutes just because I could, and got the person I was looking for. She let me know that the main internet supplier in the whole region had a fiber link cut and they didn't know how long it would take to fix. That was 3pm. I'm online now, so I hope they fixed it if the office and home use the same artery for the connection.
Keat asked me a few marketing budget questions while we were waiting, and then (after leaving an informational letter) we left for Keat's oil appointment. We pulled into the station to have her car serviced and went for a stroll downtown. Stopped by the library, then had a chocolate malted and a Cheerwine at the Woolworth's Sandwich bar in downtown. Add a Turkey sandwich, and that's good livin' right 'der.
We came home and I took a little nap. Got up, responded to some emails and checked by DDN, then did some laundry. However (here's the detail) I found out that the main reason why the server transistion is taking so long is because the server support guy is going through each of my database configuration files and changing the information to the site-specific login. All 11GB of files.
Honestly, I would have been happy if the files, databases, and domains were transfered as they are, and I would take care of the relative and absolute file location updates and database privileges. That's how I expected to spend Thanksgiving: updating server files.
However, the server support guy said that since so many sites depended on the main shadowdev.com domain, he was going to wait to transfer that until Friday or Saturday. One problem: most of the sites that have a news feature use a centralized function for parsing content links and link-like information - and that's in the main shadowdev.com files. Without the shadowdev.com files, the sites with news features can't parse the link-related content properly. It's going to be a long break.
But I found two things that cheered me up today. 1: the comic above. I can't believe nobody thought (and published) of it before! It all makes sense! and 2: Keat and I were finishing up our chocolate malt, and she stood up to go to the restroom. She put her phone on the table and said "You hold on to it if the car guys call." The moment she places it on the table, "RING RING RING". That was something you couldn't time if you had to do it again. She answered, her car was ready, and she ran to the restroom. She and I had a fun hypothetical conversation after that. Her: "HELLO! YOUHAVETHEWORSTTIMINGINTHEWORLD!" / Car guy: "Your car is ready." / Her: "THANK YOU!" That made me laugh.
Edit: 2010-11-23 22:14:32 Forgot one thing. This photo made me smile as well. Thought I'd share it around.
Enough for today. Time for a whatever-we-can-cook-up dinner. Then, off to Thanksgiving....yay.
Although I'm not getting this in before midnight, I do believe that I should get this done before tomorrow starts. Bear with me...
Last night was a pain. It seemed like I couldn't get to sleep - tossing and turning, trying to get comfortable, staying warm, and....Chi meowing downstairs. Although I did have a few dreams, I believe Chi was meowing away last night as her "heat spell" was dying down. I sure hope it is over soon, because it is getting really annoying with the Siamese-volume meowing and constant "marking" all around the house and anything on the floor (I mean, even with a TOTALLY clean litter box AND being house trained, she still pees on random things while in heat).
The alarm went off at 8am and Keat got up. Yes, that is a first. She got up at 8 and stayed up. And the weirdest part: she got up before me. Although I love my sleep, it's very awkward that she gets up before me. She got some coffee and got ready for school. I tried to sleep for another 30 minutes. I thought I killed all of the alarms between 8 and 8:30, but apparently, my phone wanted to create some alarms to annoy me. 8. 8:10. 8:15. 8:20. 8:30. Okay, I got up.
I gotta say: This 2-day work week is really throwing me off. This morning, I was planning for what to do on Thursday and Friday. After I asked a few questions about using certain cars on Wednesday, Keat said "I don't have classes on Wednesday!" Then it hit me like a brick soccerball (because a "ton of bricks" would kill me). Thanksgiving break starts Wednesday and we're heading out, so (knowing how things will go down) work won't get done between Wednesday and Saturday. I hate putting work on hold for that long, especially when I'm on time-specific deadlines.
We left at 8:59am, and it usually takes us 22 minutes to get from the apartment to get to the office and/or school for Keat. Somehow, we arrived at her school at 9:16am. Don't quite know how that happened.
Anyway, my day was busy. Along with catching up on the weekend tasks and reading my RSS feeds (aka: my "daily digital newspaper" - should call it my "DDN"), I decided to go ahead and start the server upgrade process. Although it upgrades the main hosting server from a 30GB space to 50GB and Red Hat RHEL 3AS (which isn't supported anywhere, and it seems it hasn't been for about 2 years), to CentOS 5 (32 bit) which is something I can certainly relate to since the main operating box at the office, and the box in my home office both run off of CentOS 5 (32 bit). Can't complain about that.
I spent a lot of time talking to the hosting support staff on how to get the upgrade done. It seems pretty seamless from what I understood. I purchased the upgraded server space, but waited to initialize the domain and file transfer from the old VPS to the new VPS. Although I had both VPS's set, I wanted to proceed knowing that all bases were covered before I was slapped with some "unknown" fees. I was about to get things going until....normal business called.
After I sent out a mass message on FB asking people to "Like" Shadow Dev, I received a tip saying that a local competitor may need some help. Long story short: the business owner opened up a new business (while operating the current business), and things seemed to fall behind. The tip suggested that we offer our services to them in a non-competition agreement. I said that I'd think about it, and may attempt to contact the owner after Thanksgiving, allowing the holiday chaos to calm down a bit. Odd request, but what the hey?
I also received some updates from a client concerning some cosmetic items and photos. The photos they sent were to be used in the main slideshow on their site. All were good photos, but I could only properly use a few of them. There were also some issues with spacing and photo placement, but nothing unusual from normal day-to-day activities.
I went to Arby's for lunch, which was good for variety, but I swear: their "Value Roast Beef" looks like (Bread + Air) + 1 thin slice of Roast Beef + (Air + Bread). I've always been an Arby's fan and loved the Big Montana sandwich back around 2002 (which I believe is now a #4), but this was a little unacceptable. I wish I got a photo, but I was so hungry I didn't care what it looked like. I'll get a photo next time (I also dowsed it in Arby's sauce so it actually had some flavor). Their chicken is still good though; fresh, crisp, and thinly breaded. Pure flavor there. And love the curly fries. Mmmmmm.....is there an Arby's open this late?
After Keat and I got back to the office, I read an updated headline about "including your Facebook URL on your marketing materials" and thought "there's no way I can fit our super-long url on our marketing material. How can I fix that? Hmmm. Oh! Unique Facebook URL! Ok, how do I get it?" I recalled a re-tweeted tweet from a local competitor trying to perform a "social experiment" to gain 25 "Likes" to get a "Vanity Facebook URL". Not a bad idea. We had a few "Likes", and I knew it would take a while to get to 25. I thought "If they could do it within a few hours, so can we. Let's see what happens."
I posted the first "Like Us" post on my profile, Shadow Dev's page, my twitter, and Shadow Dev's twitter (turns out that auto-made shortened FB links don't always work) at around 3:30pm. I posted updates on how many followers we had and made sure to be at the top of the "updates" list about every 30 minutes or so. After multiple update posts (and probably the point that most of my friends were tired of me), we reached 25 followers at 8:30pm and I got Shadow Dev's own Vanity Facebook URL at facebook.com/ShadowDevelopment (30 characters) - what a space saver (instead of facebook.com/pages/Waynesville-NC/Shadow-Development-Technologies/30328325855, which is 77 characters).
After that happened, I offered a 10% discount to all new customers who are Facebook fans, in order to show my appreciation of their support. Honestly, I think it's a great deal. Like us = save 10%. No coupons, rebates, or special conditions. I recall Land's End had a similar deal for me when I was ordering the shirts. The lady on the phone said "Can you go to the Land's End website?" / Me: "Yea" / Her: "Do you see our main special on the front page?" / Me: "Yea, the one about logos?" / Her: "Yep. That special allowed you to save on your logo setup fees. Congrats." / Me: "Really? Wow" / Her: "Yeah, it's that easy." Why not give a little incentive to some fellow facebook fans?
Keat and I picked up some dinner and went home after that and caught up on some of our favorite TV shows. However, Keat made a good point while we were picking up dinner. She and I were talking about the Direct and Indirect competitors for Shadow Dev. Although I had a rudimentary understanding of direct and indirect competition in my 1 Marketing class while in college, I don't believe I got a lot out of it since I was preoccupied with ScrumIt and Nascent (when the idea of riding the Indy Speedway in a Limo is in your head, nothing else really fits). It has been determined that Keat knows a heck of a lot more than I do at marketing, and that is one of the many reasons she's studying Marketing and I'm studying Operations. I'm going to leave just about everything "Marketing" to her and do what I can with what I have.
Back to the shows: Futurama had a new special out yesterday, and we watched it online (comes out 1 day after air showing). That episode was.....a little weird. After that, we watched The Simpsons, Family Guy, American Dad, and The Cleveland Show. Although they had good stories, it certainly seems like Matt Groening, Seth MacFarlane, and their writers are stretching to find good quality stories.
I just realized a whole 1 1/2 episodes of Futurama have played while I'm writing this (we sleep to Futurama in the background). I'm gonna sign off before this becomes a term paper.