Why I Tweet

There’s a lot of buzz about Twitter lately and a lot of people out there trying to explain what it’s good for. For the most part the uses fall into two categories: self-promotion and celebrity stalking. In other words, many would say to make the best use of Twitter you need to excel either in vanity or in creepiness. Personally I disagree.

I’m on Twitter for two very different reasons. First and foremost I’m there to learn. My job doesn’t give me the luxury of attending numerous conferences or interacting with too many others here in this small town, and although I can learn a lot from a Google Search you are still often limited by your own imagination. Twitter gives me the power to follow others in my industry and gain all sorts of ideas from the links they post and sometimes even the posts themselves. For instance, following a lot of Joomla tweeters has lead me to believe that Joomla is the way for me to go with my own sites. Also, when I was looking for a new web-host Twitter gave me numerous real-time feedback on a number of hosts I would not have otherwise considered.

In addition to random ideas and trends Twitter is also invaluable in the ability to get a question answered quickly by people not in your normal network. I’ve seen everything from twitter tech support for web hosting companies to the name of a song gained within minutes by posting a simple tweet. Of course in this respect it can also be beneficial to answer questions when the pop-up and help those as they might help you.

Next, I use twitter simply to interact with people who are not in my normal network. Although conversations might not be as long or detailed as those in real life there is still a lot to be gained in 140 characters. Not only can these conversations be entertaining and help build your network, but they can also be a great way to brainstorm and throw around some new ideas as you can always get feedback from someone.

In many ways both of these goals reflect my following and tweeting habits. I follow as many people as possible without worrying if they follow me back. No, I can’t track every tweet from every person I follow, but I don’t need to. Instead the enormous amounts of new tweets give me the opportunity to scan for information that is important to me and follow up where necessary and that, in my opinion, really is the whole point.

So while self-promotion and tracking your favorite celebrities are certainly valuable pursuits for some, it is the wealth of information that can be gained and shared that is the true value of Twitter and is, in fact, why I Tweet.

What to look for in a website host

So you’ve got a great idea that you want to put online but you don’t yet know where you are going to put it? For many of us running our own web server isn’t an option due to both the overhead involved and the technical skills required to keep it running. Instead we have to turn to the web hosting industry to take care of our needs. When we do this we are confronted with dozens of options with prices ranging from free to hundreds of dollars a month. So why does the price vary so dramatically? Although there are a few variables involved the bulk of the difference can be attributed to capacity. In other words, the more you pay, the more users your site will be able to handle.

In the cheaper plans you are typically paying for what is called “shared hosting.” In these plans you share a server with dozens if not hundreds of other websites all of which must compete for server resources such as memory, CPU, and to an extent network bandwidth and storage space. A few years ago it was common to see these plans advertise limits on disk space for storage and network bandwidth however as both of these have become increasingly cheaper many hosts are now offering unlimited bandwidth and storage. Instead what they don’t tell you is that they are typically limiting your CPU load. If your site requires a lot of database queries or simply gets too many people (usually 10,000 or more per day for the average blog) you might start to hit CPU limits which can render your site unavailable to users for a period of time.

The next level up is usually VPS or Virtual Private Server. On a VPS you are still allocated disk space and other hardware resources on a server your application is typically isolated from other users providing you much more access to CPU and memory. In addition, VPS tends to give a user much more control over their web host as many are running their own protected operating system and webserver for each user. These sites can typically handle a LOT of traffic although they can still become overburdened by a site that does a lot of heavy number crunching associated with online games, multimedia, or heavy database usage. Some hosts may also recommend VPS hosting for application requiring a dedicated IP address which may be necessary for ECommerce or other types of sites where security is a little more important.

Finally, the most expensive hosts often offer dedicated servers where you are essentially paying them per month to keep an entire server running for you. This is the ultimate as you are often responsible for configuring the server and services you use and you may be responsible for a misconfiguration or other problems encountered. Only sites with very high usage and or very heavy processing requirements need to look this high end.

So how do you know how many users you’ll get on your site and which of these types of hosting you will need?

To answer this question I’m going to assume you’re starting a new site for personal or small business use. In either case the first place to go would be a traffic ranking site such as Alexa. Here you can enter the address of sites similar to your and get some feedback on the number or users and general popularity of the subject matter.  It’s important at this point to keep in mind that the sites you are comparing yourself to might have been running for sometime and be very well established in their subject community. In this case their traffic is often something to aspire to as a medium to long term goal rather than what you can expect to see at the beginning. Another place to analyze your competition is at http://www.whoishostingthis.com/. This site can tell you where your target sites are being hosted which may provide a little insight into what kind of hosting their site requires which in turn can help you decide what type of plan you will need.

So I have an idea on how many users I’ll get. What’s next?

The next step is to choose an actual company to host with. To answer this question we will first need to figure out a couple of the technical requirements of our site. These include what language the site will be coded in (PHP, ASP, Ruby, etc), what kind of database (if any) is needed, and are there any special features that I’ll need. These answers will help us decide between the two most common types of hosting at any level which is plans that run on Linux and plans that run on Windows.

The most common software for blogs (WordPress, Joomla, and Drupal) will often run better on Linux as it makes use of some of the requirements that are native to the Linux web server, Apache. In fact, unless you know you will be using .NET or another proprietary Microsoft technology a Linux plan will serve you just fine and might even save you a little money due to the licensing costs of the server software.

Once we have an operating system and a level of hosting picked out our next concern should be for support. At some point even the most experienced developers will probably have to talk to tech support. A good judge of this is by simply searching for reviews of the company in question on Google. It’s amazing how much information is out there. Note that while there are hundreds of companies available many are simply resellers of one of the bigger companies and many more are start-ups that won’t last the year.

Finally, remember that for most sites you can change a host fairly easily so don’t get too hung up on your decision.

For the record, over the years I’ve used winsave, gearhost, 1and1, GoDaddy, hostmonster, and a few others which are no longer in business. I currently use Bluehost for my personal sites including this page.

5 Lessons New Web Developers Should Learn

1.) Don’t be afraid to ask

Thankfully programming is one of those areas in which help is just a few keystrokes away. This is important not only when you’re stuck on an algorithm, but also in the planning stages for many of the aspects of your project. Questions such as “What are others doing” and “Is there a better way of doing this for my users” should always be at the top of a good developers mind. Not only can your questions get you out of a jam quick, but they can also bring up ideas and other important considerations that you might not have even thought of before.

2.) Know your project

One of the downfalls of many new developers I’ve talked to over the years (and even some of my own projects) is that developers don’t always know enough about the project they’re working on. For example, if you offer to help a friend with the website for their small business you need to find out a little bit about that business before you begin. You need to know who their customers are and what they are looking for and then you can start making an appropriate site.

When I first started with web development in the 90’s I tried to help a friend make a page for a wheelchair rental business he was trying to start. I used every trick I knew at the time to make the page “stand out” and did my best to keep it at the cutting edge of the technology that was available then. I never took into account the fact that he was trying to market this page to a demographic in which all the fancy formatting made the page almost unreadable. Whoops. He kept the page up for a couple of months before he had to have it redesigned after receiving too many complaints about both the presentation and the information on the page.

3.) Imitation is one of the highest form of flattery

As developers we must remember our goal is to turn out the highest quality product we possibly can. To do so requires the use of numerous techniques many or which have already been perfected. As you’re starting out don’t be afraid to use other’s code where applicable. Not only can it save you time but as you work with the code you will learn from it as well.

Also, in many cases getting ideas from another source and incorporating those ideas into your own site can help your users understand your work better. For instance if you’re building a blog, starting with a common platform such as WordPress can provide a level of familiarity to your users that will translate even across the wide variety of themes that can be utilized by the product.

One caution here however is don’t take someone’s work and try to pass it off as your own. Instead, make sure you have permission to use the code (in most cases PHP code is posted so you can use it) and then make sure you give credit back to the author! As your skills progress perhaps they will then return the favor to you.

4.) Read it before you post it

Many of us who create the sites themselves aren’t the best writers (in my case I realize that’s rather obvious). Because of this we have to be extra careful in what we put online both in the content of our sites and the code behind them. In the case of content we need to make sure we read over our work not once, but often times at least twice, and we need to try to read it from the point of view of someone other than ourselves. It’s easy to talk about the merits of our latest project as we know all the details. However when your audience reads it we have to be careful that we’ve provided enough good information for them to make sense of what we’re trying to do.

When it comes to proof-reading our code shouldn’t be left out either. I always try to make it a habit to review my code at least once a couple days after I think I’ve finished it. Doing so often helps me find bugs and other problems that weren’t obvious while I was trying to finish the original project.

5.) Practice Makes Perfect

This is the number one rule of the trade. You’ve got to work with your skills to improve them. Also, unlike driving a car if you stop working with them for a while they won’t be all that easy to go back to.