Author - Web Developer - Educator
Found 11 results for tag "server"
RSS Feed

What I learned from my first Startup Failure

I was inspired to write this from many articles referenced in the December 21st Edition of Startup Digest. In that newsletter, I found many articles about "What I learned from my Startup Failure" (or along the lines). Therefore, I thought I would write this.

Work on the business, not in the business


As the quote from Michael Gerber goes, it is best to work on the business instead of in the business. In my college career as an aspiring Entrepreneur, I never really understood that quote. My logic consisted of the following phrase: "If you can do the task, then do it and market yourself. You are the business - it's your idea, it should be your fame." It took me roughly 7 years to understand that I was wrong.

From Day 1 up until the end of 2012, I was the "CEO/President" of Shadow Development (CEO from 2005-2009ish, when I learned that if I was a "CEO of a small company, then the credibility hasn't been built", so I downgraded to "President" thinking "Yeah, that'll work"; yeah right). In 2013, I stepped down from "President" to "VP of Operations" basically stepping aside from the Presidential duties and taking a look at the business as an outsider and not just as myself.

That was probably the best thing that I've ever done. Not in the "This was a great decision, it made a million bucks" kind of way, more of a "I see what is actually happening and not just want I want to happen."

I saw that the business had been running on my hopes, my dreams, and my stubbornness for far too long. I should have shut the doors a long time ago if I saw this happening. Even throughout the ups and downs, it was my stubbornness that kept my business up for so long.

What should I have done? Hired someone to take care of the project management, project development, and selling. I shouldn't have done those things back when the business was started. I should have managed the business, sought out investment, asked others for help, evaluate the cash flow, find ways to save money, establish marketing channels, etc; not become the primary developer.

Basically, I've learned that "If a person can't do the work, then they should be fired. Based on the logic, if you can't do the work, then fire yourself, but then the company will no longer exist." However, I couldn't fire myself because I was too damn proud.
Entrepreneur Fail


Surround yourself with like-minded people who can do the jobs you ask


After dealing with managing people, it's a lot harder than just "Do this task." You must take into account their schedule, their emotions, their skill sets, not "playing favorites", their quality, etc. I always thought that "If I surround myself with people that have the skill sets, I can delegate tasks to them" (see the next point as well). Well, I hired developers, designers, project managers, sales people, and interns. What did I get: next to nothing.

My designers didn't have anywhere near the skill sets that I had imagined. I thought "They have design experience and an eye for design. Their designs will be great!" What I received was "This is what I think will work", not what I had in mind.

My developers knew what they were doing (for their development levels), but they had a long way to go in order to provide what we promised the clients.

My sales people said they knew the material, they knew the sales process, they knew the contracts and services. However, they also fell short of expectation and probably couldn't sell water to a dying man in the desert. (Hell, neither can I)

My interns were treated as "gofers" instead of the "learn as you work" kind of experience. I didn't like that.

My project manager was great at managing projects, but we didn't have many projects to give them that weren't already being managed (or the budget to allocate to them).

In short: Just because the person you hired had the title "X" doesn't mean that they can do what you expected of your last "X".

(However,) Hire Slow and Fire Fast


Just because you are in a company doesn't mean you need to have 10 employees around you. Take your time to hire the right person for the right job. If you hire someone just because they have "X" in their previous title, that doesn't exactly mean that they know everything there is about X (for example: just because someone says they are a salesperson doesn't mean they can actually sell).

If a person isn't the right fit for a job, get rid of them. If a person isn't doing what you want them to do, get rid of them. If the person is trying to take over the company, get rid of them - quickly.

I know that many Managerial books have said "Hire Slow, Fire Fast", and I never really understood what that meant. However, now I know what they meant, and I have been burned in order to learn that.

Don't think that "If I just keep them on the payroll for another few days/weeks/months, things will turn around." That never worked for me. I also knew that my stubbornness got in the way for "being nice to people" because I wanted to see them come around, like in TV shows. Yeah right.

If a person isn't doing their job, you have 2 choices, and you better choose one fast. Either 1) Train them to do their job better, or 2) Fire them without resentment.

If I could go back in time and do one or the other, I would have chosen #2 in a heartbeat instead of waiting around for about a year to see what would happen. I would have rather hired the right person for the job, instead of someone who I thought would work based on their previous title.

Never expect to copy yourself


If you are super-skilled in X, don't expect others to be as well. They may have the same basis, but you can't expect them to know what you know in 24 hours - especially if you were trained over several years.

I have been studying Web Development since 2001, since my first HTML class in high school. Since then, everything else has been self taught: Advanced CSS, PHP, MySQL, jQuery, XML/XSL, DHTML, JavaScript, Python, Ruby on Rails, etc. So I've had over 10 years of experience in the field.

When I hired on extra developers, I had a high expectation: they were on the same level as myself and could crank out stuff just like me.

I could not have been more wrong.

Most of the developers I hired on worked under the premise that they would learn additional skills under my leadership. Well, I spent roughly 2 months teaching them the most common advanced PHP techniques, jQuery items, CSS3 markup, and even Database management with MySQL (as much as I could do). What did I expect? I expected them to come out of the training doing what I was doing. The actual result: I advanced their skill set a bit, but they were still a long way off from developing what we needed for our clients.

I always said "If I could copy myself, I would", but in today's technological era, that's an impossibility (unless you're a sheep).

Basically, it came down to the education gap between me and the other developers; I knew a lot more than they did, and they needed to know a lot more if they were to crank out stuff like me. That wasn't going to happen in 2 months or 2 years - they needed the "on-the-job training" like I had; they needed the "decade of wrong-doings" that I had; they needed to "do things the hard way before learning the ease of a shortcut" like I did (I spent nearly 2 months of nights and weekends in my room hand-coding a visual editor (without advanced PHP functions) because I "wanted to do it").

Location, Location, Location


Waynesville, NC, is not the place for a high-tech kind of company. It took me many years of trial and error (mostly error) to figure that out. As my business advisor once said, "I'm sorry you are in this area." If I was in Raleigh, Charlotte, Atlanta, San Francisco, New York, etc, it would make more sense, but you can't force a business model (or technique) into an area that isn't ready for it. Most of the businesses in this area are "Mom and Pop" stores with owners who are usually the ones behind the counter. While there isn't a problem with this kind of business operation, it isn't the kind of market that can allocate thousands of dollars towards marketing.

I also didn't find out until a few years in (after moving to a small office space in 2007) that we could not put up any additional advertising on the building we were renting, or near the building in general. The landlord did provide us with a large sign on the front that had all of the businesses listed that were inside our building, but any additional logos, signs, even something saying "HERE WE ARE" were prohibited.

My suggestions: prime location for exposure (like Main Street), a professional environment that you can advertise with/on, and/or an easy access office.

Price is not always a factor, but it is a big one


Price may be beneficial, but you can always set it too high or too low. Most people in this area want a low-cost solution, and if your only price range starts in the $1000's, you can easily price yourself out of a market, which is pretty much what we did. After calculating how many hours went into the research, the design testing, the development creation, the usability tweaking, and the launching of a site, $1000 was the bare minimum for the kind of work we produced. While a company in Atlanta wouldn't bat an eye at that, people up here would turn us away within a second. The people up here want the $5 solution, the "What can I pay you to do that won't cost me an arm and a leg" type of solution, the "I have $100, what can you do" kind of solution. Not the "$1000 will get you X, Y, and Z" kind of solution.

Create an enjoyable work environment


A happy team is a productive team. While I'm always the one to think of an enjoyable environment such as Google, IDEO, Patagonia, etc, we didn't really have that, and it showed. Although the extent of our budget allowed for the purchase of some darts with my own dart board, it didn't provide much of an "enjoyable environment" as it were. I also brought in my personal PS2, games, and TV to hopefully provide a few hours of entertainment for the staff. It was never touched. I would love to provide a ping-pong table, a pool table, a HDTV with PS3 entertainment, and more, but our budget didn't allow for it, because I didn't put the money aside to do so.

Don't grow too fast


Grow your company as needed. Don't expect to have your own glass-covered office in 5 years. Don't expect to have a pool table and 200" TV next year. Don't expect to have 30 employees and your own stock options next month.

If you grow too fast, your goals and focus will be thrown out of alignment and you will be focused on the end-goal, not the "right now" goal. So your company is 5 years old - does that mean you need your own conference room? No - invest that money into more marketing and product development, maybe even some staff training. If you absolutely need that conference room, then your company will tell you so. Until then, find a library meeting room, somebody's house, or even a coffee shop to meet at.

Don't get caught up in meetings


Just because you have meetings doesn't mean that they (or the people who attend them) will be productive. As I learned from my years at Last Minute Productions, the majority of items that were discussed in the board room usually stayed in the board room. During my reign as President, I vowed to change that, although my board didn't like the idea (they wanted more money for doing less). In most Board Meetings, assigning a task to someone that will get it done usually results in responsibility, accountability, reliance. If a task is not assigned, then it will not get done.

Also, I always thought it was a great idea to bring my board member attendees up to speed with what has been happening. Usually, that turned into 45 minutes of me blabbing about calls, meetings, and other items that didn't concern, relate, or include the other members. I could have just as easily summarized those blabbings, or even just said the end result and cut the time down to 5 minutes, but my stubbornness got in the way and I was too proud of myself for all of the work that I did (and nobody else). What I should have done is delegated out some of those items to the members so I wasn't always bogged down with items like that.

Don't over complicate things


When I first started my company, I thought that the idea of making websites easy to use would be easy. I mean, the whole world was doing it wrong: Geocities, Yahoo Sites, Homestead websites, even "Welcome! I'm HTML Code!" websites were designing things wrong. The wrong resolution, relying on "Best Viewed in Internet Explorer" tags, over complicating things with animated GIF's to make the site "cute", creating 5-minute flash "splash pages" that you had to sit through in order to get to the site's content, and the list goes on.

I thought I could change this. Instead, I made it more complicated.

In The Oatmeal's blog posting on "How A Web Design Can Go Straight To Hell", the artist/programmer/fun guy Matt Inman talks about exactly what I mean: taking a poorly designed website from the 90's and improving it with high-def graphics, a nice content flow, a beautifully laid out menu, and easy-to-read items. Instead, the client wants what they had: a poorly designed site from the 90's because that's what they had, and that's what they're used to (hence, the "cute kitty", the "mother who designed a Bake Sale flyer in the 80's", and the "pop" and "edgy" items that only exist in their mind). Personally, I also hated it when people would come into Staples (when I worked there) and acted like they knew more than I did in Technology - the same concept applies here: when clients think they know what they should based on the latest article, blog, or news report and want "Web 2.0 items" and "SEO Techniques" integrated into their sites, thinking that those are the most important and absolutely necessary items to have a great site.

I also tried to put too much focus on "how the site worked" and not so much on "how the site looked". My logic said that "if the site worked beautifully, we can design around it. Too many companies focus on how the site looks and not how it operates. Let's flip that." I was wrong. I knew that people went to websites because they looked great (the latest graphics, the flowing sections, even the effects on the photos). I also knew that people left websites because they operated poorly (bad links, page redirection went wrong, server errors that didn't make sense, etc). I wanted to focus on the development of the site to make it operate as expected.

What should I have done? Balanced the design and development, making sure that the design was exciting and the site operated as expected - nothing more.

Always have a backup. And when you do, backup some more


Having your hosting company hold your content hostage is bad business. Over the course of 8 years, I switched hosting companies 4 times. In 2005, I self-hosted, thinking that it wasn't that hard. I was wrong.

In 2006, I moved over to "Website Source" and it was pretty easy to manage, but it cost roughly $66/mth. I did lose some data while with them, and it cost me $50 to recover it from one of their backups.

I migrated to some larger systems while with Website Source, but in 2013, I had to call it quits. In early 2013, I switched to another company (I won't name names here) that would provide me with direct access to our server with backups.

In late 2013, they called it quits with us and froze our server, which meant that all of our data (ours, customers, databases, financial, emails, etc) was gone, and it took me nearly 4 days to get them to "unfreeze" the server so I could transfer the data off. And their "promise" of a backup system? Never happened, so the only place that our data existed was on one single hard drive.

Late 2013-now, I'm now back on my own hosted server (with a lot more experience for managing) and have a backup script to an external server running 2x/day, just in case.

Overall, backup all of your data. Once you do, back it up again, because you never know when you will need it.

If you are going for professional, don't cut corners


Even the iPhone 4 launch was pushed back due to some flaws. Back in 2005, our slogan was "We stay in the shadows, you get all the credit" which was okay. In 2007, our slogan changed to "Simply Professional, Professionally Simple." Personally, I liked it; it portrayed an image of professionalism along with the confidence of knowing that we would be simple (not to contradict a previous point, but that wasn't relevant right now). We even got some professionally printed white polo's that had our company logo on them to display our professionalism. Whenever I went to a client meeting, I made sure that I was clean shaven, my hair was washed, my teeth were brushed, my polo was clean and tucked, my pants were clean, and my shoes were shiny, along with other items to show that I was "A Professional." I thought that this image would be a standard and everybody who copied me would show that we were professionals.

My primary sales person thought otherwise. When I first brought on our primary sales person, I knew that he was a laid-back guy. He was my old freshmen english professor, and I thought that with his "relaxed state" and our "hardened professional mind", we could go far. I didn't expect him to cut so many corners in our "professional environment." For starters, he thought that just because we were a "company", we had millions of dollars sitting in the bank, and $20 meal wouldn't be missed. Little did he know that the $20 he just spent on a meal could have gone towards other resources, such as supplies (and we didn't have much in the bank to begin with, so $20 could have been all that we had!) To make matters worse, I had to order a button up shirt instead of a polo for him, because he didn't like things over his head. When he went to client meetings, he rolled up the long sleeves on his button up shirt. Sometimes he arrived with his button up shirt untucked from his pants, and even left it unbuttoned. He would approach potential clients like they were old friends, taking the conversation on completely irrelevant tangents, and even throwing in a few curse words to get his point across (playfully). Although I knew that we should have let him go a lot earlier, my stubbornness got in the way and thought "he can be reformed." Again, I was wrong...for 2 years (he finally left under his own accord).

Keep in touch with your team


Miscommunication (or lack of communication) can make team members drift apart, and if you constantly rely on them, then losing them is not an option. When I used to talk to my team members on a daily basis, it almost got annoying. However, going days, weeks, even months without any communication seemed like we were drifting apart, almost to the point of "Do I have a job anymore?" (which I have received a few times). Communication is key, but effective and frequent communication is better.

Make all of your goals and intentions clear


Stick to a timeline, schedule your goals and expectations, make sure that everyone knows what the result will be. Missing a deadline is a lot more than just a lowered grade on a test - in the real world, it can mean losing somebody's business.

Whenever I assigned a task to someone, I expected it to get done by the deadline set. When the person says "no problem", my expectation of getting the job done seems worthy. However, when the deadline comes along and there isn't a completed project (or even progress on said project), then my reliance becomes less and less, almost to the point of "If you can't do the task, then you're fired." But, once again, my stubbornness got in the way and I didn't fire anybody. However, when something is delegated out to a person, and that person hasn't completed the task, then the blame is put on the person that delegated the task in the first place, and personally, I'm tired of being blamed for delegating uncompleted tasks (which is why I would take the tasks in the first place, so that I knew it would get done on time, but then I was blamed for not giving anybody else any tasks and hogging everything). It's an endless cycle....

Basically, make the goals and intentions clear. Make the deadlines important, and the punishments clear. Don't allow anyone to slip by because of something that isn't understood.

Never stop seeking out investments


Bootstrapping is a great solution...if you are in your 2nd week of operations. But much later, you will need to seek out more investments in order to grow your business and can't always rely on bootstrapping. If you are taking in your income and only keeping 30% of it as profit, then you won't have enough to cover any additional items, such as moral-boosting get-togethers, upgraded office equipment, RENT, and more.
Also, make sure your team can get paid. Basically working a "freelance" job (or an on-call part-time job) isn't going to pay the bills. If your team isn't committed to you, they will seek out other opportunities for income and leave you.

Set the example


You are the boss. Show your team what you can do. Otherwise, you're just a team member. If you need to resolve a conflict, then resolve it peacefully. If you ARE the conflict, fire yourself or get a 3rd party arbitration.

If you expect your staff to be there on the holiday, you need to show up on the holiday(s). If you expect your team to be there at 7am, then make sure that you are there at 7am (preferably with a hot pot of coffee). If you expect your team to work 40 hours on a project, then you work 40 hours on a project.

Don't just sit back and expect to take the credit while your team does all of the dirty work.

Never expect someone to completely understand what you are offering, and the benefit of it, within the first few minutes of your presentation


Entrepreneur Fail

I expected people to see what we offered and go "Hey! That's what I need! And look at all of the great features!". Instead, I received glassy-eyed stares, basic technology questions, bored attendees, and other signs saying "I have no idea what you are talking about."

When we offered "Advanced, modern websites with the technologies of HTML, CSS, PHP, MySQL, jQuery, and more", I expected a bit of confusion among the crowd, especially at the acronym part, but that was to show our expertise in the technologies and show that "We know what we are doing." Therefore, the potential client would say "They know what they are doing - we should go with them." Instead, it resulted in "I have no idea what that means; therefore, I'm not listening to you anymore."

My expectation was that people would easily understand what we were offering by our presentations, our elevator pitches, and our portfolio. Instead, most people didn't understand or care what I had to say. It basically took an educational session to bring them up to the same level as us for them to understand what we were saying. Let's just say that it didn't turn out well.

Therefore, simplify your techniques. Don't throw in all of the bells and whistles just to impress people. Tell them what they want to know, not what they need to know. It's like an interview: tell the person interviewing you what they want to hear ("I can do the job"), not what they need to here ("With my three decades of experience in X, I suggest that you should do A, B, and C"). Even if it means that they are missing out on an important aspect (ie: security flaws), they want to hear what they want to hear.

Do research on your market, then create the product - not the other way around


I always thought "If you build it, they will come" (insert movie reference here). That may work for some items, but not everything, such as my business. I created a "modern, high-tech web design company" that I thought people would be busting my door down for us to work with them. Instead, of the clients that we found in the Western North Carolina area, most of them were busting my door down because they were unhappy with the service.

I also thought that if we created a service that cranked out quality websites and charged a monthly fee to maintain them, then we would be rolling in the profits. Easy as pie, right? Well, it wasn't so. First, we had to go out and almost physically drag the potential clients to sign with us. Then we had to make sure that we did almost every project underbudget, then provide continuous tech support for the most basic items, even if it went against our "best practice" recommendations. Yada yada yada.... Not really the best idea for starting a business, then sitting back and relaxing while the profits roll in.

Another developer wrote an article about a similar concept, and I agree with him: Research the market, then build the product. Just because you have the best designed, flashy, sparkly billboard in the desert doesn't mean that people will see it, or want to see it.

Don't screw up your credit


As an 18-year old, my first credit card was a surprise. I just entered college and had a personal banking account with Wachovia for a few months (there wasn't a branch of my local bank in my college town, so I switched). A few months in, I received a card from Wachovia saying "Your New Credit Card". I thought "My parents warned me about this. My sister had a bad experience with one. I should not use this unless it is an absolute emergency." So what did I do? I went to Taco Bell and got a drink to test the card out. It worked!

A month later, I used the card some more on a few small things, thinking "I'm getting paid, I can pay it off." I receive my first credit statement. "Amount due: $105. Minimum payment required: $5." When I saw this, I thought "Great! I can make the minimum payment and pay it off slowly." I would like to point out that this card had a limit of $10,000 because I used Debit since I opened the account.

Six months go by. I pay the minimum payment for six months. My credit bill is probably in the medium-to-high 100's. Suddenly, on my credit bill for the 7th month, minimum payment jumps to near $75 or so. In my mind, I'm thinking "Whoa! What happened? This is insane!" I call Wachovia asking about the jump in payment, and they say it's a "Promotional Period that has expired." I told them that I never heard of a promotional period when this started, and I was never offered it as the card was sent to me in the mail, which I never signed up for anyway. The lady was extremely persistent on the fact that since I had the card and was using it, that I was liable for any purchases, regardless of what the promotional period was or what the minimum payment was. I told her "I can't make the minimum payment right now! I don't even have a (well funded) job!" She basically said something along the lines of "Not my problem."

I will say at this point: I never expected my personal credit to cross paths with my investment record.

A few years go by, I get a job that pays roughly $150/mth. Not bad for a part-time gig. I start to pay off my credit bill little by little. Next thing I know, my minimum payment jumps to around $250/mth. I call again and complain, but I was told again by the bank "Not [their] problem". So, my credit bill keeps going up because I can't make the minimum payment, and 29% interest is gained on the bill because it hasn't been paid. At the $7,000 credit mark, I completely stopped using the card altogether. After all of the interest and "late fees" added up, my card topped the $10,000 limit within no time at all. I told Wachovia "I don't use the card. I will never use the card again. Please close the account and I will pay it off." They basically said "The account can't be closed until the card is paid off." So, the account stayed open and accrued interest. Just great. It finally got closed a few years ago, and I'm still attempting to pay it off, but I expect that will take about 10 years or so to pay it all off.

Later in my college career, I start to seek out additional funding for my business. The first few places I go say "Your business plan looks good, but in order to get you funding, we need to take a look at the Owner's credit report." What? This was never covered (in depth) in college!

Let's just say that pretty much every investor I talked to said "Yes" to the business, the plan, and everything else, then changed their mind to "No" once they saw my credit score.

I have never accepted another credit card since the first one, and never will again, regardless of any "offers", "Cash back deals", or "frequent flier points" they provide.

If I could go back and change history, I would have never bought that drink at Taco Bell and shredded the credit card. My credit score would keep going up because I was making so many on-time payments with debit, and I could probably have a few thousand (if not hundred thousand) in investments right about now.


Summary
I know that I've covered a lot of points in this entry. I just wanted to get most of them off my chest before I went to some type of therapy (Even referencing this article was a stretch). Hopefully, other entrepreneurs will read this and discover that not everything will work out like in the movies, the books, or even in the classroom scenarios. You are not indestructible. Your life does hold secrets that others will find. You cannot hide from everything. There is no "reset" button. And, you should fail before you succeed. I know many Venture Capitalists may not look at me because "I have a failed business", but you know what? So what. I've gone through 8 years of self-torment, stubbornness, hopefulness, and grief to know what to do and what not to do. If that means that you won't look at me because of that, then I will go elsewhere.

I'm not saying that you (as an entrepreneur) should read every business book out there. I'm not saying that every article on the internet is right. Go through your own experiences and learn the mistakes. Even Albert Einstein once said, "Anyone who has never made a mistake has never tried anything new." Therefore, I have learned many lessons through my mistakes?

Am I done learning mistakes? Not by a long shot.


Tags:#entrepreneur #fail #credit #php #html #xml #css #jquery #business #lessonslearned #server

RSS Feed

Mid-September Review

Bug Martini

It's halfway through September, and things have been less than calm. Ever had one of those days where nothing goes right and you pretty much have to change everything in order to fit one request/demand/requirement? Yeah, stretch that over about a week, and that is/was my past 2 weeks.

Here's the rundown:

Server Downtime, Transfer, and Remodification


Over the past week, I had to majorly downgrade/upgrade the primary hosting server for Shadow Dev. Since our primary hosting environment was costing us $200/qtr, we were looking for an alternate hosting environment. The requirements were simple: Linux hosting environment, ability to SSH into it from a remote location, and root access. You'd be amazed how many services out there offer a "Windows/Linux" environment for a much lower price, but no Admin/Root access. I'm sorry, but I need direct control over the server, and shouldn't be waiting on the hosting service to perform updates (especially security updates).

So, we had a partner company help us out. Over the past few months, we transferred all of our primary data to their hosting server, since they were helping us out. Things were going smoothly. Our old VPS system ended their service on September 1st, and we weren't going to renew. Things were going as expected.

Since our primary hosting environment was hosted semi-locally, I split off my personal stuff and the business stuff. I modified the DNS servers to point home so I could host my personal website (this one), and have the business stuff on a "business dedicated" server. Meanwhile, my plan was to relaunch the main Shadow Dev site with a new design and direction on September 1st, but that had to be delayed by a few days.....and then the problem started.

Do you recall my previous blog posting about the "Server Connection Confusion"? On September 2nd, I was trying to SSH/FTP into the server to update some business pages and could not get through. I could access the server via Port 80 (HTTP), but not 22 (SSH) or 21 (FTP), which meant that I could view what was on the server, but I could not modify it in anyway. There was one option: I could access Port 10000 (VirtalMin backend management) and download/upload one file at a time, but I had about 200 files to download, modify, and upload, so that would have taken forever. I kept trying over the next few hours with no success.

On September 3rd, I tried to access the server hoping that the Port 21/22 issue was just a fluke (as it sometimes happens). However, I could not access any part of the server. SSH, FTP, HTTP, VirtualMin backend, Email, anything (which meant that my primary email server was down as well). I sent an email to the company that manages the physical hardware and said that the server was down and if they could look into it. Their response: "Yes, it is down, [they] will boot it back up. You will need to start paying for this server or remove your content from it. Out accounting software has placed a hold on it. As we have decided our relationship has not been mutually beneficial." Long story short: our "tradeoff" was not paying off. The tradeoff was "website service" for "hosting space". I should have realized something when the person we were talking to said "You have creative freedom." In an inexperienced mindset, that means "YAY! I can do anything without limits and they will like it!" In an experienced mindset, that translates into "I don't know what I want. Read my mind, or I will turn down any ideas/suggestions you have" which, in a "web designers" standpoint, is a huge red flag. It also doesn't help that we only had one informal meeting about a new site for them.

Anyway, in my response to that email, I said "If that is the case, then we will remove our content from it. In our current state, we cannot afford $1200/year for hosting, as we were paying $800 before. / Please reactivate it so I can move all of the content from it within a reasonable timeframe, then you can do with it as you wish. / I wish our relationship could have been more beneficial."

Afterwards, I tried to re-login to the server (as I was told they would boot it back up). Same result: nothing.

I waited and tried to re-login to the server over a few hours. That turned into the next day. I sent another email to the company restating "Please reactivate the server so I can move all of the content from it within a reasonable timeframe".

Once again, nothing. This downtime was really starting to mess with our uptime records, which we try to strive for a 99.9% uptime record. This was not helping. However, I did get an idea; get a cache of our main site (CSS3 and minimal design concepts only), modify my home server to act as a proxy-hosting server, and get the uptime records going. It took about 3 hours to get (since the primary hosting server was pretty much "blocked"). Thanks to CloudFlare's uptime caching, I was able to get the egg, the egg shadow, and the CSS3 that I used to make it move. I made the DNS changeover, and our uptime was back up and going. It wasn't the full-fledge hosting server, but it's better than nothing.

Day 3 of primary server downtime: I sent yet another email to the hosting company and said "I have tried to be patient with you, but my patience is wearing thin. I have asked nicely in my previous emails to reactivate the hosting server so I can transfer our content off of it. I have not heard back from you since my email on the 3rd. Since it seems like you are holding our content hostage, we are facing our 52nd hour of downtime, and our clients (and ourselves) are suffering that have their sites hosted on this server. In addition, any one who has email being handled by the server is not receiving any emails, including myself, which is causing panic since the emails are not bouncing or anything." Seems like a mostly professional message, right? (By the way, we had about 25GB that we needed to get - note to self: don't have the primary hosting and backup services by the same 3rd party)

I received a response within minutes: "You patients is thin? It is your actions that caused your problem by not producing anything. If you are that poor of an admin and do not have a backup of your content sounds like a personal issue... However I have issued the boot command to your server. Remove your content asap." (yes, misspellings and typos are maintained). I will say that 'Yes, we did not have a primary backup, because you said that you were going to enable that for us, but never did after many months of saying you would.' Regardless, situation has passed.

Anyway, the server was booted back up, which meant that I could get the files....or so I thought. I tried to SSH into the server, but for some reason (whether through my own doing of automating a port blocker or not), I could not. After many hours of fiddling with system and network settings, I came to a conclusion: my IP address was being blocked via Port 22 (SSH). This meant that I could not SSH into my home server and initiate an SCP transfer (Secure Copy - basically a command-line FTP between two Linux-enabled boxes). However, FTP was still open, so I initiated a primary backup to my home desktop (not the home server). I had the max system simultaneous downloads set at "2". I increased it to "3". Yay, things were going faster. I increased it to "4". Even better. I increased it to "5", and things crapped out. I could not SSH/FTP/HTTP or anything into the remote server. Which meant that I was back at square 1.

Based on my previous experience, I knew that I could log in to the server via SSH using my phone (thank you ConnectBot) and the 4G connection. I did so and tried to initiate an SCP connection from the remote server into my home server (for some reason, incoming SSH connections from my IP weren't getting through, but outgoing's a whole new story - and before you bark at me, yes, I did check the iptables for an Incoming blocking rule. There were none. Anyway, I let that run since I thought things were going a bit slow, but better than nothing.

After about 30 minutes, ConnectBot just quit. No reason, no message, no disconnect dialog boxes. It just quit. Which meant that I couldn't SCP for more than 30 minutes, which was a problem.

I tried to FTP into the server again, and was able to. I decreased the amount of simultaneous downloads to "4" and let it run. It took about 8 hours to transfer everything, including the primary MySQL databases.

After everything transferred, I ran a rm -rf command in the /var/www/vhosts/ folder. I know it's not completely secure, but at least it gets rid of things on a first level basis (installing a secure command like shred was possible, but the documentation didn't say anything about shredding a folder - it was only 1 file at a time, which for 25GB, will take a very long time). I also dropped the primary MySQL database and let it. My last words: good riddance.

So, I had the primary hosting files on my home desktop. Now to begin the mega-upload to the home server. 3 hours later, transfer complete. Now for the fun part: setting up the "Linux Desktop" to operate as a "Linux Server" (which, by the way, is not GUI based anymore, so all of this was done via Command Line), to be able to handle multiple domains and subdomains, import the huge MySQL database dump, setup the permissions for the databases, files, and folders, and re-initiate the cron jobs to run. Let's just say that I'm 99% done all of that as of now.

One of the hardest portions I had to deal with was separating out all of the domains. Let me explain: on the old hosting environment, all of the domains (except for the primary shadowdev.com domain), were managed and recorded under one central apache2.conf file, which Apache looked for and loaded for all of the domains. My home server, although the same operating system, didn't like that. Therefore, I had to go into the primary apache2.conf file and separate out each domain into it's own file under /etc/apache2/sites-available/[site], then run sudo a2ensite [site] to make it enabled, then sudo service apache2 restart to allow for the webserver to reload and reread the configuration files. Yeah, that was fun.

I still don't have the Postfix/Dovecot system completely operational yet, but the server can now receive and forward emails. It can't 100% send emails yet, but I'm working on it. I also have some finer points of the cron jobs to figure out. Aside from that, the server (hopefully) should be back up and operational.

Liquidation Sale Troubles


On a related note, we had our Liquidation Sale on the 31st for the office. Let's just say that apparently this town doesn't like any "Liquidation Sale" signs around the area. I posted a few around town, hoping that they would allow them for just a few days (since the event was on the following Saturday). I can understand taking down signs that are for an event a few weeks away, or for personal services or hand-written items that are pretty much illegible. However, after checking on all of the signs I put up, all of them were taken down. Now, I want to hope that it was because people liked the event and wanted to make a note of when/where it was. Based on the attendance record of Saturday, it was obvious that the signs were removed. We only sold $110 worth of stuff, 1 buyer, and 2 browsers. I mean, it's better than nothing, but I wish that we sold more. Now, the agreement that I put in with the landlord was "Anything that we didn't sell on the 31st is free-for-all for any tenants." That didn't translate quite as I expected. It turned into "We [the landlords] will keep what we think is ours, but you have to remove everything else." So, I get a large box from Walmart and try to remove a bunch of the small stuff. I receive an email a few days later saying "We have a tenant that would like to move in, so please remove all small items from the office." So I have to get another box (luckily they are cheap) and go back and get the rest of the small stuff. So much for getting rid of all of the small stuff.

Let's just say that our home is overflowing with office-related stuff. I'm just glad that we don't have to bring any of the BIG stuff home - I have no idea where we would store it. So yeah - our nice, professional, dedicated office is now sitting at home.

Getting the main site back up


The new Shadow Dev site
Meanwhile, I got the new Shadow Dev site up and going and wrote a State of Shadow Development Address for the public. Basically, it says that "We did our best, it wasn't good enough, so we are changing directions to pursue new ideas." That's pretty much it summed up. You can read the rest if you want.

I've been working on finishing up the touches on the new Shadow Dev site (like cross-browser compatibility, improving it's performance on other connections, and finishing up the content distribution with the database. It's coming along a bit slower than I had hoped, but working at home has it's own pros and cons to it.

Personally, I'm having a hard time dealing with the major downsizing and removal of partner services. What I had to do 7 years ago in my dorm room (where I had the main hosting server sitting in my dorm and I was managing all of the services via Command Line Interface (CLI), I'm doing yet again. Although I'm more experienced in how to handle the technology, and the technology is a bit easier to handle, the amount of responsibility needed to make the server work like it was before is no short order.


Lunar Progress


Crystal Blaze
I'm trying to channel some creativity and write some storylines for Lunar Productions' mangas. I did create a new site for them using the old Shadow Dev design, and ramped up the interactivity and information distribution (see beta.lunar-productions.com for a preview), so that helped a bit. However, I can't launch the new site yet until we get some final items down pat. I did, however, completely revamp Death Rose into a new series. Any storywriter will tell you that there was a part in a story (or even the story itself) that seemed to make the storyline go off-track. Well, Death Rose wasn't going anywhere, and I was getting tired of forcing myself to write storyline that didn't fit. So, I revamped the whole thing: the primary storyline, the storyline concepts, the characters, the antagonists, the setting....everything! It's now called Crystal Blaze. Let's just say that it's like Sword Art Online/Matrix/StarCraft/Accel World/Star Trek mix. Yeah, I know it's a lot, but it is making sense, because I'm already on Page 19 of script. The story is unfolding in my head, and sometimes my fingers can't keep up to type the story fast enough. I will say that the beginning of the story is a bit slow, so I am thinking of adding some concepts in the beginning to make a more enticing "hook" to the story. We'll just see where it goes.

Wedding Ups and Downs


Colonnade
On a positive note, we have the Colonnade! (For the wedding, not permanently) The final "OK" was put forth by Keat's parents and we were able to sign the contract and put the downpayment in. That's just 1 of the multistep process that is wedding planning. (see more details at (temp site) kk.shadowdev.com - actual domain to come later) I will say that I knew the whole wedding planning process was going to be tough, but I thought the major disagreements and compromises would be between Keat and myself, not Keat and myself vs her parents. No matter how much planning we/I put in (I am saying "I" here because I have been self-designated as the primary planner since Keat is finishing up her last year of school. As anyone will say, "Put Education First". She's already taking 18 hours of classes, and my schedule is not set, so it's pretty much been put upon me to do most of the calling/negotiating/researching/quoting/etc for this event), it seems that her parents have some minute detail that they must demand. For example: the reception. During our discussions, Keat and I talked to the event planner at our location. She gave us a packet that outlined all of the details, prices, and items that would be provided for the reception. I had a few follow-up questions to clear up any non-clear items (like "when does the 4-hour reservation start: when the guests arrive, or when the crew starts to set up" and so on), and things were going well. Suddenly, Keat's parents demanded to have custom beer and wine at the event. They even "suggested" (kidded? I hope) to have a keg at the reception. I'm sorry, but if this was a frat party, a keg would be acceptable. At a wedding reception? I may not have been to many nor planned many, but I find a keg unacceptable.

Anyway, we asked our location how much it would be to have "a local microbrewery supply beer and a remote winery supply the wine". According to the planner, they had to purchase it because of their liquor license. Okay, understandable. I don't want to impede the liquor liability on any one unnecessary. After 2 months of asking that question, we finally received an answer: the microbrewery has to bottle their beer and ship the bottles. Our cost: $10/bottle. HOLY CRAP! $10 a bottle? That beer must be made of gold or some super rare gems! We still hadn't heard back about the winery question, so I contacted the winery directly. Within a few hours, I received a response and forwarded that to our planner. Still haven't received a response (I think at this point, they are starting to hate us and may force-cancel our penciled-in reservation with their location). After waiting so long, Keat's parents said "Let's forgo the custom wine and beer and just go with what they have. Can we get an itemized proposal for this?" At the absolute end of my frustration, I sent a calmly-worded email to the planner and asked the question. She pretty much responded with the exact same thing that the packet says that she gave us. The location, the DJ, the setup/cleanup, China, Silverware, chairs, linens, tables, etc, etc, etc, for the set price (tax and gratuity included as well). If they were getting mad at us, I don't blame them, but please don't kill the messenger. We're just passing the message along to get the check signed.

What we would like
We've also talked to the cake company that was highly, highly recommended and received a quote from our tastings. $800 for a custom, high quality, delivered day-of cake. Not a bad price. We told Keat's parents, and (I quote) the response was "Keep looking! That is out of sight!!!" Based on the amount of cake companies around here charge, yes, that is a bit high, but we're dealing with a high-quality cake here, not a "Let's go to Walmart and order a cake" kind of thing. Yes, Walmart makes great cakes. We even got our 7th Anniversary Cake from them, but I don't want to go to them for a wedding cake. That's like having a keg at the reception. At this point, it's either "go all in or get out" kind of deal. I don't (and Keat doesn't) want to compromise on a lower-quality cake that we will wish we could have improved 20 years from now just to save a few bucks. So, I contacted other cake companies around here and once you add in the amount of guests we will have along with the design concept we want (along with their delivery fee), it pretty much averages out to $800. (We had a "phone conference" (although if you call Keat's parents on 1 phone and Keat and I on another a "phone conference") about the overall budget. Basically, Keat's dad was mad that we had multiple versions of the budget. I thought he would be happy that I split the budget up into 2 categories (Estimated and Actual), then subsplit that into what Keat's parents would pay, my parents would pay, and we (Keat and I) would pay. That seemed acceptable, but he had made some adjustments that we didn't know of until he sent us his copy. I sent him our latest version (since we were the ones doing the research), and he seemed to get upset that there were multiple copies floating around, so he claimed "his" copy the official one, which means that any additions that we find due to research, we have to let him know instead of just using our own copy. I thought I could simplify things by using a Google Docs copy that would allow for simultaneous edits from multiple users, but that seems to have majorly backfired as they do not know how to use Google Docs, so we are back to "his copy being the only one that should ever exist" scenario. Yay.... I have, however, asked on multiple occasions "What is your optimal budget? What would you like to spend on an event like this? Therefore, we can stay within that range and know what the limits are." Seems like a reasonable question, right? I mean, we're trying to shoot for a $10k budget. Keat's dad is acceptable with a $15k budget (in passing conversation), but we aren't trying to spend millions upon millions on this thing. Heck, we're even below the average cost for a wedding Haywood County ($16-24k). The only answer we have received is "We don't have a set budget - we just want to make you happy", which means (yet again) "Read our minds or we'll turn down every idea and suggestion you have". Great.....)

So, if this whole wedding thing was a TL;DR for you, let me sum it up: we have the Colonnade for the ceremony, I think our Reception location hates us, we need to find a high-quality custom cake for less than $800 total, and the budget seems to be out of our hands.

Additional Money Needed


So, in order to gain some additional money in order to pay for this "seemly outrageous wedding", I decided that I should try to apply for some part-time work (heck, since I don't have to "go into the office" any more, my schedule is pretty freed up). I found out that there was a Trader Joe's opening in Asheville, so I tried to drop off an application last Tuesday. The website (which isn't 100% working) said that they were accepting applications Monday-Friday, 10-7. No problem, right? I arrived at 4:12pm on Tuesday. There was a whiteboard out by the front door that said "Accepting Applications: Tuesday - Thursday, 10-4", which meant that I was 12 minutes late. Well, that's pretty much a trip to Asheville wasted. However, thinking ahead of this process, I thought "Why not apply to Kitchen & Company?" (it's a kitchen supply company that offers a whole lot more than Walmart or other kitchen companies. Keat and I found a lot of good quality stuff in this store during our previous trips). I tried to contact the store via their website, but their careers section was on their parent company website (which was a pain to find), and they only have 1 job posting available. They said "Please contact our Admin offices to inquire about other positions", so I sent them an email inquiring about the question in hand. Within 30 minutes, I received a response basically saying "Walk into the store and bring a resume." Seems simple enough, right?

Well, I head on over to the store and start to walk in. Little did I know that there was a sign on the front door that said "Part Time Sales Associate: Must be energetic, ability to multitask, and passionate about cooking" (I may be paraphrasing here). Seems like my kind of day! (Since I do most of the cooking at home anyway). I walked in, asked for an application, filled it out, and talked to their manager. Since he saw that I had previous experience at Staples, he said that this would be pretty much the same thing (I hope so too). Although, if there is a "Kitchen Quiz", I should be ready. Questions like "How many teaspoons are in a tablespoon? What's the difference between a Santoku and a Chef's Knife? What does a 'sharpening steel' actually do?" and other questions should be easy, thanks to Alton Brown. I don't know if there will actually be a quiz, but can I say that I kind of hope so? Anyway, I received a letter in the mail today from Trader Joe's saying "Thanks for applying, but you have not been selected for an interview." Basically saying "Thanks for coming in, and we appreciate your interest, but we don't need you right now." Oh well - my dad did say to stay out of the Grocery business. I guess this is the Universe's way of keeping me out. No biggie - I have higher hopes for Kichen & Company anyway.


New Anime: Accel World


Accel World
In order to blow off some steam, I thought I would give "Accel World" another try (in laymen's terms: Accel World is by the same author as "Sword Art Online", but set about 20 years in the future (from SAO, so about 2046) where all of the <15 year olds have a digital device that allows them a "virtual environment" to type, send messages, view emails, save video, and even enter their own VR world. 'Accel World' is an advanced version of the VR world that heavily relies on a software called "Brain Burst", which allows your processing power of your brain to be increased 1000x. The (semi) downside is that in order to use it, you need to build up some "Burst Points" by fighting in the "Accel World". The theory seems legit). When I first tried it, I got about 5 minutes in and had to stop. I didn't watch the series again until this past Sunday. Throughout the week, I watched all 24 episodes (and got some great ideas for Crystal Blaze) up to Thursday evening/Friday morning.

I will say that it had some flavors of Sword Art Online, and I liked how it wasn't exactly the same (as the author wrote this post-SAO and submitted it first to a writing contest, where it won first prize) as SAO. The concepts portrayed in the series were unique enough to hold their own, but also reflected some traits of other series like Bleach), so I was able to find those traits and mold them into what Crystal Blaze (and other series) should offer. I was never in any "Creative Writing" classes, but I believe this gave me a better understanding of how to write a compelling storyline (although I still have the fan-crush on Asuna from SAO. Accel World didn't really have any characters that I could really connect with, but that's not necessarily a bad thing).

Is this the end?


That's it for now. I believe that 27,000 characters is pretty much my max limit on a blog posting like this. However, I hope this gives a better insight to what one chaotic, crazy week I have had.


Tags:#swordartonline #accelworld #wedding #colonnade #vr #kitchen&company #traderjoes #altonbrown #beer #crystalblaze #lunarproductions #shadowdev #design #server #hosting #sale #apache2 #sudo #scp #ftp #http #css3 #email #virtualmin #port #bug

RSS Feed

First Day of Spring shows progress

Programmers vs Users

The main reason I am writing this post is because I'm really excited that I have made a lot of progress.

First, I found a great Parallax framework and created my first parallax site. Long story short: the most recent site I worked on, Omega Safety had very little content compared to lots of other sites, so I thought a Parallax framework would work best, in addition to allow me to test and play with the Parallax framework.


Standard Site Work



Parallax Framework




So far, the Parallax framework is a lot simpler than creating a new site. The main focus is on images rather than content, so the content can be spread out over space instead of crammed into little boxes. I call that: progress.

I have also started moving content to our new server with our new hosting company. Progress will be reported later on that.

Forgot one thing: we are getting over 1 inch of snow. It will be interesting to see what tomorrow brings.


Tags:#parallax #newserver #omegasafety

RSS Feed

January Catchup: Server Testing, Office Move, Blog Migration, and Turkeys!

The past month has been really crazy. Not just a roller coaster ride, but more like a roller coaster that had its brakes cut. Yeah - that crazy.

First (and this is in no chronological order), I watched Sword Art Online in 5 days.
SAO

Overall, the series was....is there a better word for AWESOME? The action, the progressive storyline, the drama, the mystery, the twists, EVERYTHING! In addition, I have a fan-crush on Asuna (the one on the right).

According to many independent lists, SAO was the top anime of 2012, so I have already maxed out my quality list for anime's for a while. I don't know of any more that can top that. Although, I'm starting to watch Steins;Gate - I hear it's pretty good.

Anyway, I have also been talking with a co-worker at our building and may be able to negotiate some hosting space for Shadow Dev. He was able to get me a testing server, and at 60GB of space and 2GB (with +2GB of burst) of RAM, it's more than I could have asked for! So this looks like a good relationship.

I have also successfully migrated my personal blog (yes, this) onto my home web server. After learning about Port Forwarding a few weeks ago, my home server has been able to be accessed by the public! Yes, you are reading this off of the server I have sitting at home! It took a while to learn the differences between the company web server and the home one (CentOS to Debian, Apache to Apache2, enable mod_rewrite, FTP to SFTP, etc), but I did it.

Also, there was a power-change at Shadow Dev. As of January 3rd, I am no longer President (at my own choice). I prefer coding and exploring the world of technology, so I decided to pass along the responsibilities of President to someone else. The only person I trust to carry these responsibilities on (and do it without a 6-figure salary) was Keat. So Keat is President of Shadow Development, and I demoted myself to VP of Operations, which I am happy with. My to-do list is shrinking everyday now that I don't have so many presdential duties hanging over my head.

Christmas was fun, aside from the traveling. We went to my parents for about 4 days and got to play with the neices and nephew. We also had the grand "Christmas Dinner" on saturday, since this (may be) the last Christmas at my parents' house. I was under the assumption that Christmas was going to be on Saturday, but as of the day of, it was just the Grand Dinner. Christmas was still on Christmas day, which was a little confusing since Keat and I planned to be there Christmas eve and prepare the turkey. Anyway, then over to Keat's parents house at the beach, which was (70%) fun for a few days. Then, back to my parents house for about an hour and back home.

By the way, since we did such an awesome job on the Thanksgiving turkey, I told my parents and I thought my mom assigned us to permanent turkey duty. Well, it turned out that she was only suggesting that. So at Christmas (my parents), we had a Turkey Cookoff between me+keat and my dad (who was a little more into it than others). The winner had to cook the turkey from now on. According to the family, they couldn't taste a difference, so I guess we are going back for Round 2.

When we cooked the turkey at Keat's parents house, the oven had been pre-heated at 400 degrees for 5 hours before we got there, so the first phase of the turkey took about 45 minutes instead of 1.5 hours. Keat's dad was frantic saying "Turkeys shouldn't take less than 4 hours to cook!" and was causing a fit because he feared the turkey was undercooked. According to the internal thermometer, the meet inside was a 161, which is what it is supposed to be at. Anyway, after trying to be reasonable with him, Keat's mom put the turkey back in the oven at Warm and he was satisfied. The turkey was still juicy, though.

So, back home. Last weekend (not the one that just past, but the one before), Keat and I attended a meeting of our local Starfleet ships, the Alaric. I thought this was going to be just a meeting with Star Trek nerds talking Trek, but it ended up being a 3 hour discussion of, well, everything! Planetary exploration, space weather, physics, gun control, book discussions, rocket launches, movie nights, recycling, baseball, and more! Keat and I are considering joining Starfleet (well, officially "The International Star Trek Fan Association, Inc"). It's like the SCA, but for Star Trek! I'm game!

Changing gears for a moment, we did get moved into our new office. (See photos at shadowdev.com/newoffice ) Expanding to 900 sq. ft. from 200 sq. ft. is quite a change, and it seems almost a little too spacious. I'm just glad that we have a storage closet to store a lot of the stuff that isn't supposed to be out. I'm trying to make our 2nd floor a "Lounge" area, but it's coming along very slowly.

I'll call it a night for now since it's 4:15am. Keat has to be up at 7:45 for class, and I need to be in the office at 10ish. Until later.


Tags:#server #migration #hosting #swordartonline #steins-gate #christmas #turkey #starfleet #office

RSS Feed

Everything is becoming automated!

Corgi Loop!
Corgi's!


This is going to be a very short update, mainly because I am so tired and need to hit the bed soon.

I just wanted to write this because I am actually proud of what I did.

Here's the overview:

  • The web server was already set up to find scheduled invoices, create said invoices, and notify the client of the invoice to be paid on the appropriate due date and frequency (monthly, quarterly, yearly, etc)



So, based on practicality, I took that a step further:

  • All invoices are due in 14 days. On day 15 (if the invoice is still not paid), a reminder is sent to the Client saying "Hey! This is a reminder that your invoice is due."

  • 1 week after that is sent out, and the invoice is still not paid, then a final reminder goes out saying "Pay your bill or your website will be deactivated"

  • 1 additional week later (and if the invoice is STILL not paid), then 3 things happen: 1) an email goes out saying that the website has been deactivated, and the Client must pay their bill in full plus a reactivation fee in order to get their site back up; 2) a flag is put in their client file triggering the site deactivation sequence; and 3) whenever someone goes to any page of their website, the deactivation sequence checks for that flag and puts up a "This website is down" page (their email will still work, but visitors and SE's can't get to their site)

  • (I'm still working on this) When the invoice has been paid in full, plus the reactivation fee, anyone with access to our Portal can go in and re-activate the site by 3 simple clicks. After that, the Client will receive an email saying that their site is back up, and visitors and Search Engines alike can view the site again.



Well, that's my saturday night. I'll make a more detailed post tomorrow, discuss the recent events, my vacation, and the progress on the back of the house! YAY....zzzzzzzzz


Tags:#corgis #invoices #server #

RSS Feed

Busy Monday

Zits


Whoa, it's Monday already. What a busy day/week/month so far.

Here's the rundown:
Today:

  • I received 2 calls 15 minutes before my alarm this morning from 2 clients. Way for a Monday to start.

  • Stopped by Post Office to pick up package that wouldn't fit in the mailbox on Saturday

  • I got to the office and got ready to make some calls that I was supposed to make. Had the first client come in. Nice lady, but seemed like she just wanted to vent. No biggie - but did find out that her husband has some Pro Photography experience and could take pro photos of us on Wednesday for the Ad

  • Tom came in as I was finishing up with the 1st client. I finished things up and went to him. He and I started talking about some personal stuff.

  • 5 minutes into that meeting, client #2 walks in, talks for 5 minutes, leaves. I go back to Tom and discuss options for him

  • Spend an hour or so deciphering odd Paypal code. Tom makes packets.

  • I did some budget analyzing and found out that it costs us (figuratively) $13 to make an info packet. Whoa.

  • Tom left; I called/contacted most of the people on my list today

  • Responded to some emails, cleared up confusion in a contract, and graded an email

  • Ordered more ink for the business - $50 for each other, 2 standard blacks, and 1 XL black - not bad.

  • updated and re-printed a sign for the office (with hours and updated QR code)


All in all, it doesn't seem like a lot, but I've been going non-stop since I got here at 10:15.

And not to bore you with the finer details, here's the quick-and-dirty summary from last week:

  • My old phone was sick. I got a new one! YAY!

  • Kat, Keat and I played WhiteWolf on Saturday and Sunday

  • Had meeting with Shadow Dev staff on Monday, hired Kat on

  • Planned Developer Training for Shadow Dev

  • Working out the finer details of our Movie Night

  • Had to deal with the Copier missing the Scanning function - had a meeting with Allan and going to figure it out

  • Fixed a client's login/check issue - that took a while

  • Finally got ST:TNG Season 1 and 7 back on Netflix - now I can finish Season 1

  • My 2nd oldest sister and Dad stopped by on Friday - she is now in TN

  • Met wit 2 potential clients. Wish I was more professional

  • Finally got a response back from the Fox Carolina guys about the relationship. I was told to call another person. Here we go again

  • Had a major server outage on Friday for about an hour. I can honestly say IT WASN'T MY FAULT! Apparently, the server company had an issue with their main operations server and had to force a shutdown/restart. All details are at the Shadow Dev Blog

  • Fixed some issues with another client's site. Should be getting the final check soon

  • Watched the 4th Bleach Movie. It was really good.

  • Created a Site Reporter using Google's API. Now, I get daily reports telling me where Shadow Dev is in non-biased Google Rankings for our area

  • And of course, the 10th Anniversary of 9/11. Still can't believe I was a freshmen in High School when that happened. My support goes to those in need.


That wraps up last week. And now for something completely different (but TOTALLY worth it):
Blade!



Tags:#blade #twilight #foxcarolina #server #outage #google #sttng #training #developer #shadowdev #phone #ink #sign #calls #postoffice #zits

RSS Feed

Ketchup

Wow, has it really been over a month since I posted last? It seems like yesterday that I made my last post. Since then, it's been nothing but busywork and client jobs.

Here's a comic to help relate to my previous month+ of absence:
Dilbert

I won't bore anybody with the finer details of what has happened over the past month, but here's a quick overview (just to keep you entertained):

- last week was a week of bad luck: had a co-worker's computer crash (had to re-install A LOT of software and do a full hard drive backup since the backup manager wasn't syncing everything), had the roof of an office space collapsed and spewed water and insulation all over, the co-worker had to find an old copy of Office 2007 so his SBA software would work right (OOo didn't cut it, unfortunately), prepared for a client's Open House, worked at said client's Open House, had both of our PPT and SEO seminars (which went great, with the exception that our PR got out late (again) and the first attendee showed up before we did), had a confused conversation with a current client over a chart display, had a very odd sewer smell in the office all week (turned out to be a lack of water in the drainage system; finally solved that after playing the "blame game" with the building secretary), one of the units got a fresh coat of paint which made the whole building smell odd, our first marketing order arrived (YAY!) and a client got some custom t-shirts, Tokyopop shut down their US office (not relevant, but I thought it was important news to mention), switched our DNS servers to CloudFlare which made the response rate lower dramatically and the uptime much higher, helped a client with a business plan for a competition (after having to re-write most of it), had some confusion over a potential client website and the hosting issue, finally switched over 2 clients DNS records (one had a major pain trying to get her domain from her old provider), made a video for switching over DNS records for said (and future) clients, had a mixup of payment systems for a client (although they had an invoicing system from the credit processor, they wanted another one created from us; we got a call today saying they wanted to go with the credit processor's invoicing system instead of ours, which we are okay with), said client had confusion when issuing credit to organization payers, uploaded the financial reports for the past 4 quarters to the corporate site, had some SSH and FTP issues with the server (solved?), went to a new Thai restaurant in downtown, had a large influx of followers for both my and the business's twitter accounts, got a DM from George Takei on Twitter (YAY!), and that's about it for last week.
George Takei DM

- not much else happened in the past month, aside from getting some insurance quotes, WCU getting a new chancellor, offering remote tech support for some clients, received an email that was sent 7 months ago (talk about being lost in cyberspace), had a mis-payment of a license (which was fixed), participated in a ΠΛΦ ΩΖ initiation, had a hard communication with a client's old hosting service, attended my first MeetUp, uploaded a few videos of Niko and Chi, installed our first successful SSL certificate, got 2 new clients signed on, and worked on other client works (still have no time for other projects), wrote a few informational articles, and got a mini squishy fox!
Squishy Fox!


That's about it for the past month. I'll try to be better about posting on a regular basis and not every other month.


Tags:#dilbert #pilambdaphi #server #georgetakei #squishy #dns #ssh #ftp #sba #tokyopop #office #ppt #seo #pr #ssl #niko #chi #

RSS Feed

Good news Everyone! Server transfer is being finalized!

Working Daze

Today had to be one of the shortest working days I ever had. Before I get into the day's activities, I received an email from the support guy yesterday (Monday) at 1pm saying that the missing databases were up, and he could move the subdomains for me. I sent him a list of the subdomains I needed moved (send around 1:30pm). I also found out that accessing PHPMyAdmin was tedious (see previous post), and sent another email around 8:30pm. On to Tuesday:

Everytime my alarm went off (at 9am, 9:30, and 10), I checked outside to see if the "Inspector People" were here yet. Luckily, they weren't. I got out of bed around 10:30, got dressed, unloaded/loaded the dishwasher, did some last minute cleaning, put the cats in the bedroom (with litter, food, water, and scratchers), and left the apartment just before 11 to get Keat to class. After dropping her off, I arrived at the office at 11:45 and booted up. The server transfer was supposed to be completed Monday night/Tuesday morning, so I wanted to check on it. Well, it wasn't exactly finished. A few of the sites weren't even transfered! I received this email at 12:15pm today:
It seems like all the sub domains are redirected to one of the sub net of shadowdev.com. I think you can log on the control panel and add them. Most of them don't have any content. you know where they redirects to. It will be easier that you add and set them up on the httpd.conf file which locates at /var/www/vhosts/shadowdev.com/conf
..and this about the PHPMyAdmin access:
I am not sure if you can access to phpMyAdmin in the other way. That is how i usually do which i have to log on the control panel and do it.
I sent in a response saying that I actually completed the subdomain transfer (which took about an hour), and asked about the shadowdev.com transfer (send at 1pm). Also, I checked the other domains to see if they were transfered, and found out that only 5-6 were transfered and the rest were not. I asked support about what was going on (at 1:15pm). This was the first time I was a little suspicious about my support guy's education and training. I mean, not to stereotype anybody, but when the support email says:
Hello,
 
Thank you for your email.
 
The reason i did not switch them because there are so many sub domains attaching with a couple of domains. I just switch them all to the new server now. There might be a few setting which are not configured properly (old configuration). Let us know if you need root password so you can easily configure the php files. This the full path where each domain locating: /var/www/vhosts/ This is where the website content locates: /var/www/vhosts/domain.com/httpdocs

...you know there has to be something up. My webhosting company hasn't really been the best webhosting company in the world, especially with some of the previous support requests I sent in the past. However, this is the only company that gave me a good price for the services I needed. Other companies were either lacking in equipment, software, or too-high price.

Anyway, I finally found out that the shadowdev.com domain was transfered (or so I hoped), and I downloaded the PHPMyAdmin software to its own subdirectory on the server. After loading the setup domain and fixing a few requirement files, I had quick and easy access to PHPMyAdmin, just like the old server. It's not exactly the same, but it's better than the 5-step process. You think that the support guys would know that. Oh well.

I left the office around 2:15 to pick up Keat, we quickly picked up some gas and food, and went home. It turns out that the "Inspector" guy had been there, and left a little 1" strip on the counter saying "Maintenance was in your apartment today performing the semi-annual safety inspection. Thank you for your cooperation." I guess we passed.(?)

We let the kitties out and about, and they love the clean(er) apartment. Keat and I actually sat down and watched Date Night (which was good; 8/10 overall). Afterwards, I worked on fixing server migration issues and found out that either the hosting company's servers were getting confused, or the worldwide DNS servers were getting mixed records, because wheverI would go to a site (for example: shadowdev.com), it would either load the old server or the new server (the sites on the new server have "New Server" comments at the top of the main index page so I could tell the difference, but end-users couldn't tell). It got really confusing when I had to upload or edit certain files to fix specific errors (hence: the "finalization" process).

Keat took a small nap while I did that, and then I cooked dinner. Afterwards, she woke up and we caught up on some of our Hulu episodes while eating, and by the time we realized it, Tuesday was over and December was here.

On the lighter side, I found out that Yanni (my favorite New Age artist) is releasing his first instrumental album since 2003, and it comes out in February. Maybe early Birthday present for myself? That'd be nice.

Along with the server location confusion, the top-level domains (like shadowdev.com) point to the new server, while subdomains (like dev.shadowdev.com and kp.shadowdev.com) point to the old server. I'm not an expert on server setups, but that gets really confusing, especially since the DNS records were never manually modified for remote subdomain locations. I'm posting this entry on both servers so both have the most updated records no matter what the DNS/cache servers say.


Tags:#server #workingdaze #inspection #support #dns #phpmyadmin #yanni

RSS Feed

Break's over - Back to Work

xkcd

I had a long day today, so this will be pretty short.

Not much really happened today. I mean, I woke up around 10 (again), packed up, drove home (uneventful), arrived home, had an issue with the power company (note to self: call them on monday), cleaned, picked up dinner, watched Ferris Beuller, and came to bed.

Although Friday night/Saturday morning, it seemed like I was inside a hurricane! I swear; the winds outside of Keat's parents' house were constantly blowing at around 25-35mph (estimate). It's hard to go to sleep when there is a constant "WHOOOOOOO" outside. It started around 10pm and (I think) dissipated around 5am-ish.

I checked on the server transfer, and it seems like a lot of the domains have been transfered so far, which is good. However, 2 databases weren't transfered (yet) and I found a new issue: "open_basedir restriction in effect". I've done some basic research to try and figure this out (and how to remedy it), but no avail yet. I sent an email off to the server support staff and hopefully they get back to me soon with follow-ups about the database issue(s) and the open_basedir issue.

Until tomorrow: G'night!


Tags:#xkcd #ferrisbeuller #wind #server #transfer #cats

RSS Feed

Bad day? That's okay! I have GENIES!!!

More Genies? Why not?
(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.


Tags:#thanksgiving #cyanideandhappiness #genie #car #server #parse #oz #futurama #centos #internet #mysql

RSS Feed

Does anything go right?

I know this is a little late for yesterday, but I wanted to make sure I got it in. Yesterday, it seemed like nothing went right, except for one thing - I'll get into that later.

As for thing not going right, a client wants us to get an e-commerce system for their site. In my mind, I'm thinking "Ok, no problem." So I find out that I have to install cURL on the main server. I tried to add cURL via yum, but yum couldn't find any appropriate packages to install cURL. So, I tried to update yum, but yum was missing an important file called libcap.so.1, which was needed for proftp. So I go out searching for libcap.so.1, which only exists in far out-of-reach corners of the Internet. Afterwards, I'm sent on a wild goose chase to track down dependencies for out of date files, which are out of date themselves, so I had to find up to date dependencies which needed more dependencies......can you say "endless loop"? So I try to update some of the main core files in the RHEL system, but it turns out that RHEL 3AS, which is on the server, is no longer supported anywhere.

I contacted the main server hosting service asking if the OS could be upgraded. It turns out that the OS cannot be upgraded, but PHP and MySQL could be (they failed to mention a $75/hour fee, which I did not commit to). I could upgrade the VPS and get a new OS, which would handle the PHP and MySQL upgrade without the upgrading fee. However, the new VPS upgrade would only allow 10 domains to be hosted instead of "Unlimited" which I was promised when I first signed up for a VPS system with this company back in 2007. In addition, we can move the files of the client websites, but can't move anything else (like httpd.conf, email forwardings, specific server configuration files, etc).

Shortly after I unsucessfully tried to install cURL on the main server, I thought "Ok, why not try to install it on a local server" (little background: local server "Blueice" has Centos 5, not RHEL 3AS). I ssh'ed into it. ran a yum installiation for cURL, and 10 seconds later, I had cURL on Blueice. After I saw this, tested it, and confirmed it, I was furious. Why couldn't the main server be this easy?!?!

So basically, I spend 5-6 hours trying to get cURL installed only to find out that the system itself is outdated and I have to upgrade the whole system. I decided to tell clients "We've outgrown our server capacity and have to upgrade." In a sense, we have outgrown our current space and need to upgrade, but I was furious for the first few hours. I also think this could be the "kick in the butt" we needed to take more risks in the business. With the new VPS system we're looking at, we'll have more space, more bandwidth, up to 100 domains (which shouldn't be a problem; once we reach 100, we should be able to get another VPS or self-hosting), and up-to-date software. Not really my day.

After I gave up on the server upgrade for the time being, I tried to work on the Accelerator to make AJAX-ified fields appear. It works with 1 box template (a hidden box with pre-determined fields), and I thought I could merge a "field adder" (without removing the existing text), with the drag-n-drop system, similiar to Netflix's Queue manager. However, once I configured the system to have custom boxes (like "Title", "Instructions", "Text"...basic stuff), the system would run through it once and then wouldn't add any more on demand. It seemed like the event listener in the AJAX file wasn't working and wouldn't add the proper event listeners with the proper binding properties. In my mind, it works perfectly: Click "Add Title", type in. Click "Add Instructions", type in. Click "Add Text Box", type in. Move and re-arrange the text boxes for better organization. Submit structure and build database based on the input. And................it doesn't work. Great....

On the up-side, I stopped by Wendy's for lunch, and saw that they had the 5-piece Spicy Nuggets on the Everyday 99 cent menu! YAY! I was so afraid that they would take the 5-piece Spicy Nuggets away again.

After we got home (after Keat went to class), we watched Psych on Netflix and then went to bed.


Tags:#netflix #accelerator #wendys #kick #vps #server #nuggets #curl #e-commerce