Archive for the ‘programming’ Category

Punakea and Stuf - Mac Apps that Belong Together

Thursday, January 22nd, 2009

I’m a Mac fanatic. You already know that, though. I’m definitely a power user but not all of the time. What I love is when an application comes along that equally serves a niche and is more than suitable for use by casual users. Today I’m going to talk about 

two Mac apps that I’ve recently discovered that truly work together to make a great team: Punakea and Stuf (with one F).

If you own a Mac then you’re using the Finder. But doesn’t it start to become a pain when you start to accumulate documents like resumes, homework, graphics, PDFs, and countless others? No? Well is it not a pain to have to constantly reorganize your Finder in folders and subfolders in order to tame the unruly mess that inevitable becomes your digital life?

It does. This is where Punakea comes in. Apple designed the gr

eatest OS on the planet but it isn’t perfect. Once you have your cavern of nested folders its hard to find what you want to open quickly. The Finder’s search is great and so is Spotlight but what Apple left out was the ability to easily tag documents.

Punakea browser window

Punakea browser window

 

 

Punakea is a tiny little app that sits in your dock and menu bar waiting for files to be added. It 

also features a window that slides out when you move your mouse to the edge of the screen for easy adding of files. Either drop your files into the open Punakea window or drag it to the side of the screen to add files to your library. A window pops up, you add your tags, press OK and you’re back to work. You can either let Punakea manage the location of all your files or you can simply use it to just add tags and leave the files where they are. 

 

Personally I think its useless to have tags if you’re just going to use whatever folder organization scheme you already have. One great feature of Punakea is its Drop Box. Once enabled you can specify a folder  that acts as a holding center for files. The files you put in the Drop Box are automatically tagged with the tags you specify in Punakea’s preferences. I use the tag “untagged” and when I’m ready to tag them I search Punakea for “untagged”. Once you tag your Drop Box files they are automatically moved by Punakea (unless you disable automatic file management). You can either search for your files by their tags from within Punakea or Spotlight/the Finder’s search. Punakea is free and I believe it still will be after it is out of beta. Every now and then a bug pops up but this app works great 99% of the time and I am very confident that the 1.0 release will blow you away. Check it out at the Nudge:Nudge website.

stuficon

Another app that I use in conjunction with Punakea is Stuf. Stuf is made by the Escapers. Right now they have a really awesome web editor, Flux, that I’m testing out. I may just use instead of Coda or Espresso. I’ll review Flux next week. Stuf is a clipboard manager. Whenever I’m usi

ng the computer I end up copying and pasting a lot of stuff. Its always different kinds of stuff too. And inevitably I end up having to use it over and over. Sometimes I end up copying something else and lose the first thing I wanted to copy and past. At that point I need to go back online or in whatever program to find it and do it all over again. Stuf saves you from that. Stuf allows you to copy as much to the clipboard as your computer can handle. It even lets you organize that stuff into categories. Never again will you copy and past something into an email and then have to find it all over again to do the same in a chat room or while instant messaging. Stuf is a godsend for programmers like me who end up using code, graphics, text, links, etc. over and over again. Your web editor may have a clipboard that does this but I promise you that it pales in comparison to Stuf. Once you try it you’ll want to buy it and never give it up. Stuf costs 12 British Pounds pretty much equal to around $20. You can demo it by visiting the Escapers website. I highly recommend it.

 

Stuf - Screenshot

Stuf - Screenshot

How to Speed Up and Aging Mac

Friday, January 9th, 2009

Today is “How-To” Friday (still keeping myself on schedule after four days)! I know I just posted about computer stuff yesterday but I don’t know how to do much else and I already posted a songwriting tutorial on Wednesday. This tutorial was inspired by a program that destroyed my Mac a couple days ago.

If you’re like me then every so often you feel like you want to start fresh. After owning my iMac G5 for 4 years I felt like I wanted to start over but not have to buy a new computer. Well, a little program called Monolingual helped me do that in an unexpected way. Monolingual erases language and CPU architecture support that you don’t want from all the programs on your system which can save you several gigabytes worth of memory. But if you aren’t careful you can end up with a computer full of programs that no longer work. This happened to me and in the process of restoring my computer to glory I discovered how to get a fresh start without the hassle of starting from scratch.

Over time your Mac will probably gather files and folders that become useless and just take up space. OS X isn’t nearly as bad as Windows in this department and usually your system doesn’t suffer too badly but if you have an older Mac then you might notice a subtle sluggishness of your system.

This is because the Mac’s uninstall procedure (while so much better than Windows’) isn’t as clean as you may think. On Windows every program plants part of itself in as many different folders as it can (or at least it seems that way) and when you uninstall a program there are a lot of files left behind. The Mac isn’t too bad with this but it does do it. You think that all you have to do is drag your app to the trash can and its gone. Wrong. While Mac apps don’t put pieces of themselves in a thousand different folders like Will Smith in “Seven Pounds” giving away organs to a bunch of different people (oops, did I spoil the ending? and was that a lame methaphor?) they do add files to a few key directories. Usually in the Application Support folder and and the Preferences folder. If you look in your Library folder you might see folders having to do with apps you deleted long ago. Your System/Library folder will have some too.

There is also the matter of system preferences. You may have used a program like Onyx or Spring Cleaning or Secrets to play around with system settings you normally don’t get to unlock. You might now regret your decision to do this because you can’t figure out how to change them back.

And finally, your computer might just be running slower than usual. Well, I think you’ve had enough of my technical explanations and now you just want to get to it. Here we go…

What you need…

 

  • You need to get an uninstaller program. The one I like most is called AppZapper. It isn’t free but its cheap and it works great. If you want to go the free route there’s AppCleaner (which is my recommendation for a free app), AppTrap, and AppDelete
  • The serial numbers to all your installed programs if any (if you don’t have some or all of them don’t worry, just read on)
  • DVDs or CDs to burn or an external HD or some sort of large capacity or many large capacity USB drives
  • A copy of your current version of OS X (don’t worry if you upgraded from 10.5.1 to 10.5.6, this doesn’t matter in the end) If you didn’t buy the OS separately then a copy of your operating system came with your computer. Find the discs that came with your Mac, thats what your OS is stored on.
  • At this point I recommend making a list of all the programs in your Applications folder in case you lose that folder in the process (which is most likely NOT going to happen) and so that you can follow the rest of these steps
  • You will want a program that frees up hard drive space. I highly recommend Xslimmer for the job. Monolingual is a free alternative but you can end up doing more damage than good if you don’t know exactly how the program does what it does.

The Process…
 

 

  1. Do you have the best programs for the job?

Look over your list of applications. Do they truly work for you or are you just used to them? Go over the list and Google some alternatives for those applications. You may find a lightweight program like Rapidweaver that suits you better than Dreamweaver. Or you may be very attached to your programs and you don’t want to try anything new. That’s fine. Once you’ve acquired your replacement programs either leave them on the disc they came or you downloaded them, back up the installers to disc and in a folder on your desktop or wherever named “To Install”. Leave them alone for now. Do not install them. 

 

  • 2. Backup, Archive, Whatever you want to call it

If you follow the instructions in this tutorial you won’t need a backup but mileage always varies and there is going to be a small (miniscule, really) number of people who will track me down and kill me because something went awry. If you’re going to backup your files (which is always recommended no matter what you do) include all your music, photos, iPhoto libraries, documents… you know what you want to keep.
 

 

  • 3. Uninstall The Space Wasters

Using a program like AppZapper go ahead and uninstall all the programs that you don’t want anymore. Think very hard about what you want and don’t want. Do you really use some of those programs? If not then get rid of them. You should also get rid of programs that you downloaded replacements for in step 1.

  • 4. Re-Install OS X

Insert the Leopard disc (or whatever disc you have, I only know how this works out for Leopard for sure but it can’t be much different for 10.3 through 10.5). When the window opens click the OS X icon to install the OS.
 

Your computer will restart and you will see the installer. Its pretty straightforward  from there. Once you get to the point where you pick which hard drive to install it on you may think you have a problem. The installer won’t let you install the OS because even though you have the same version you added updates through software update and your system is technically newer than the OS you are trying to install. Click on options and then select “Archive and Install”. This will save your preferences and everything within your home folder in a directory called “Previous Systems”. OS X will automatically transfer 90% of what’s in your current Home folder and use it in the new system. When the installer is finished you will log in and see your desktop and everything else just the way you left it. It seems as though nothing happened but it has. Look through the Previous Systems folder located on Macinstosh HD just below the regular System folder. Make sure there isn’t anything you may need from there. Open any apps you believe may have been affected by the reinstall and make sure they work. They most likely will. If after you check things out and the water is fine delete the Previous Systems folder. This is going to free up a lot of hard drive space.

 

  • 5. Install Your New Apps

Remember that folder you made with all those new apps in them? Open up your To Install folder and install your new toys. Go ahead and open everything up and play with your preferences. Get them just right.
 

 

  • 6. Update

Now your Mac should be cleaner, lighter and faster on its feet. But some things like iTunes may not work. This is because you need to update all the default programs installed by Apple. Before going on go to Software Update from the Apple Menu. Once updates are installed and you restart your computer check for updates again. Keep on checking for updates and restarting until Software Update says that your system is up to date. It should take no more than 2 or 3 checks before your system is up to date.
 

 

  • 7. Put Your Hard Drive on a Diet

If you got Xslimmer then you have made a great choice. If you got Monolingual I suggest you be careful.
 

For Xslimmer:
- Use the Genie to find all the programs that can be slimmed down. I suggest you don’t change the protections for protected programs. Once the program has scanned your drive open up the preferences for it and make sure that the backup option is selected. Then choose a folder to store your program backups in. Press the Slim button and watch Xslimmer backup then cut out all unnecessary files from your system. You will most likely save a number of gigabytes on your drive. When it finishes make sure all the programs it worked on still launch. If everything is fine then you can delete everything in the backup folder you selected.

For Monolingual:
- Be warned: If you use this program improperly you can end up having to reinstall OS X all over again.
- You will need to back up every last program on your hard drive manually if you choose to do a backup. Follow the directions and make sure to set the program so that it keeps the languages you want to use. I advise against playing with the Architecture tab. If you do it anyway then whatever happens is on you. But if something does happen remember I warned you. Monolingual deletes one thing at a time. So it will delete the language support first, then you have to go to the next pane and choose your settings and it will delete whatever is next. Architecture files don’t hog much space at all. But if you’re desperate then go ahead.

There you go. Your system should have some more pep now.

Hard Drive on a Diet: Monoligual versus Xslimmer

Friday, January 9th, 2009

I love new programs. I go online and search for small independent Mac software companies all the time. I guarantee you that for every big name Mac app there is a better on provided by an indie or startup software company. Some examples:

Big Name - Indie App

iPhoto - Little Snapper
Garageband - Audacity (in this case I prefer Garageband)
Dreamweaver - Rapidweaver (Rapidweaver made by the same people as little snapper)
Yojimbo - Together or Notae or many many others

Today, since its Nerd Thursday (yes, I actually am sticking to the structure I talked about a few days ago), I am going to give you the facts on two Mac apps that I thought were awesome at one point or another.

I’m going have Xslimmer face off against Monoligual. Actually, it won’t be a faceoff. I’m just going to tell you why Xslimmer kicks Monolingual’s ass.

Both Monolingual and Xslimmer are made to do the same thing; save hard drive space. And they do it the same way; by erasing language and CPU architecture support that you don’t need from select programs on your hard drive. Monolingual strips all programs of these files while Xslimmer is a little more cultured and reserved in this area.

I review software the same way I review women. I take looks into account first. I know that an ugly app can have some serious power under the hood but the average end user won’t fully benefit from all that power if the user interface sucks. Developers write programs for users most of the time, not other developers. So if you’re going to write a program its user interface better be pretty. It has to be simple, beautiful, and easy to navigate. Xslimmer is all three of these things. Monolingual is simple and easy.

Its important for any program to spell out exactly how to use and what to use the program for - especially maintenance programs. Monolingual was obviously written for other developers because it hides the really important information within the read me file. Average users don’t read. They look at the pictures on buttons. They’re like ancient man, communicating through pictographs. Xslimmer has a great FAQ online if you need it but the directions and explanations within the program itself are more than sufficient. As an added bonus they let you know what functions can potentially screw up your system.

Monolingual sucks. I’ll let you in on a personal story. I’ve been using Monolingual for a few months now. I even recommended it to my sister who used it to free up over 2GB of space on Christmas day. I loved the program. Whenever I accumulated some new programs I ran it and it ended up saving me space. Great, right? No. Monolingual has a dirty little secret. It doesn’t tell you that deleting language and CPU architecture support from certain files can damage your system even if the files it deletes are “unneeded”. Before Tuesday I had only been deleting the language files. But late Tuesday night I decided to go ahead and delete the architecture files I didn’t need. Right after that 95% of my programs ceased operations. They wouldn’t open at all. And OSX (being as awesome as it is) put a little circle with a slash over all the programs it messed up. It looked like there were a bunch of No Smoking signs over all my applications’ icons. I ended up having to Reinstall Leopard using the “Archive and Install” option just to get the default OS X programs working. Then I had to go through all the updated from the time Leopard came out until now. Then I had to uninstall all the programs that didn’t come standard with my Mac or OS X and re-download and install them. Major hassle. I’m in the process of doing that right now.

Fortunately I had a copy of Xslimmer on my drive that didn’t get damaged. I don’t know why I never used it. Its an old copy now (1.5.3 I think). I wish I could have an upgrade… But I digress. Xslimmer is smart. It tells you what not to do, why not to do it, and then tells you how and why you’re system could be screwed up if you don’t follow its advice. Xslimmer is safer than Monolingual. By default it won’t allow you to do any harm to your system. Its like it took the Hyppocratic oath (you know, the one doctors take than says they will first do no harm). It has a list of programs that it know will be messed up if you screw with them and updates that list every day if you want it to.

It doesn’t save you quite as much space as Monolingual but it also doesn’t leave you with an Applications and Utilities folder full of useless programs either. And it comes very close in terms of space saved. In fact if you never used a program with its function then I guarantee at least 2GB of space will be saved. 

Sure, Xslimmer isn’t free like Monolingual is but would you rather have to go through what I had to go through or pay a few bucks and keep your system working? I’m guessing you like your system.

The final word on Monolingual: Its not a bad app. I had a bad experience. Be careful with it. If you aren’t a computer whiz then don’t mess with it. And I mean a real whiz, as in a developer of some kind, not some rinky-dink HTML programmer who thinks he’s a programmer now. Monolingual can do some serious damage if you don’t know how it works or how to work it. If you are one of those people who could use it (like I thought I was for so long) then have fun with it! It really does save a ton of space. But Xslimmer does the same thing. If you’re a whiz you can still have total control with Xslimmer, you just need to adjust the default settings to remove all the protections they added so people like me don’t turn their iMacs into expensive picture frames.

Next Nerd Thursday…
I’ll be writing about how I made the switch from MS Office for Mac 2004 to Apple’s iWork. (Guess which I like better)

Also…
I’ll have a review of the new fresh-out-of-beta task management program ‘Things’ v1.0

Error-free code - The greatest gift of all

Thursday, December 25th, 2008

I know I’ve been posting pretty much every hour the past few days but I am genuinely excited to finally have working code that I wrote 100% by myself. Forget frameworks and fancy object oriented programming. I’m doing it the procedural way. And even though it involves a little more code and even though its a little messier, I know exactly how it works because I wrote it all myself instead of going off some object oriented template.

So withouot further adieu I present “to the Left of Bill Version 2.1″ ’s working music section. Mind you I only worked on the program part of this section of the site and not the aesthetics. Right now its all about a working program. I’ll make it look really pretty (prettier than this blog) after the site’s applications work properly.

So Merry Christmas to me. I gave myself the gift of error free PHP code.

This is the music news page. Its a blog format without comment functions.

This is the code for the music news page. The comments in the picture pretty much speak for themselves.

This is how I will be updating the music news page. Of course everything won’t be so bland when its over.

The code behind the page that updates the news. Again the comments say it all.

The message I see if everything works right.

The code behind the success message.

So if anyone is interested this is how you can create a really simple news feed using PHP and HTML. I can definitely write a tutorial on the subject if there’s interest. I really think that visitors to this site are more into politics than programming though. But if you want it leave a comment.


The Death of Version 2.0

Wednesday, December 24th, 2008

Fuck object oriented PHP. I’m going to do it the procedural way.

Version 2.0 is dead. But not forever. I am starting on version 2.1 first thing in the morning. I had started on the music portion of the site. Specifically the first page of the music section that displayed any news having to do with new songs, new shows, and stuff like that. I wrote the program that got and displayed the information for the page from the database but I couldn’t for the life of me get the program that let me add new information to the database working.

I decided to use an Object Oriented PHP framework called CodeIgniter instead of CakePHP because it was a little easier to understand and implement. I was able to add information to the database using CodeIgniter’s scaffolding feature which basically writes some very basic code that lets you do certain things for you. But I couldn’t use it because its not secure. Any old idiot could find out the directory it was in and edit my site without so much as a password. I’m not running Wikipedia here so in my eyes thats not cool.

I know I eventually need to learn how to use these frameworks because they truly do save you time. But I’m still a newbie to this whole PHP thing. Most PHP frameworks use the object oriented Model View Controller (MVC) approach to programming which is a huge time saver. See, Object Oriented programming whether it be in Java, Ruby, PHP, or whatever breaks up code into manageable chunks. In a very basic general way, this is how it works: You have the code that connects your program to your database seperated from the rest of the code. Then you have the code that performs the application’s functions on its own as well. And finally you have the code that displays the pages to the user somewhere else. This makes updating and upgrading very easy because all you have to do is change the code in one file it applies the changes to the entire site. It also means less code because you only have to write your functions once and reference them using (and I am speaking very generally here) the equivalent of a link or a desktop shortcut/alias to the function in the rest of your code. For example:

This is the seperated function code:

<?php
function nameofFunction() {
it does some stuff that realistically takes up like 10 lines
}
?>
Then You Reference it in another file sort of like this:
$this->get->functionName()

and it does the same thing as the 10 lines of code in the other file. Without this shortcut you’d be rewriting those 10 lines of code multiple times. Now you only have one line of code. And if you ever change the function you don’t need to go and change every reference to it as long as its name hasn’t changed.

But I’m not skilled enough for Object oriented PHP. I have to work the procedural way. The procedural way means writing all the code together and possible multiple times for things like connecting to the database which the application will do multiple times.

So first thing tomorrow morning I will be writing the code for Version 2.1. Its going to be procedural so the code is going to be a bit messy and my view code is going to have to be mixed in with the functionality but once I get the thing working all I need to do is write some CSS and its good to go. This should be a bit easier for me. But Object oriented programming is the way of the future so I will have to upgrade at some point. But not now.


My First Working PHP App / Kanye West is my new hero

Monday, December 22nd, 2008

First off I am pleased to announce that the music portion of my new work-in-progress site is working. I designed a simple blog program that I am calling Felix after my (currently one-man) band Felix and Friends. There is going to be a section of the site dedicated to my music. The first page in that section will be a blog consisting of news regarding where I’ll be playing, new songs I’ve written, etc. I just got that blog working. I had the skeleton written last night but when I tried to test it I either got an error when I tried to conclude my “foreach” with an “endforeach” statement or I only got the most recent database record for the database table that contains that blog when I left out “endforeach”. This is what I’m working on right now (I love screenshots. Download Skitch for Windows-I think- and Mac and you can take them and edit them super easy too! I really recommend you check it out!):

So this is the screenshot of my workspace…

And this is the teeny tiniest little mistake I made in the code that caused me a good 12 hours worth of head-against-wall banging.

/

Kanye West’s new album is awesome. Kanye is a true artist. He is the king of hip hop. He isn’t some fly by night rapper. He truly has artistic vision. He elevates hip hop to a new level. “808’s and Heartbreak” is some of the best music I’ve heard in a while. Kanye makes slow songs enjoyable again. I was wondering what he was going to do after his first three albums. They all show real growth but it was still incremental. I applaud Kanye for recording an album that was so different from his previous work. He needed to do it. If he didn’t the music would have been good but 808’s is a logical step forward. This album reminds me of Adore by the Smashing Pumpkins. They had a string of hit records but couldn’t really go anywhere else without sounding the same and fading into irrelevance. So they put out Adore. Critics loved it, fans hated it. But history vindicated them and today it is widely considered one of their best works and under-appreciated.


Version 2.0

Sunday, December 21st, 2008

to the Left of Bill Version 2.0 is in its infancy. I am using the CodeIgniter PHP framework instead of CakePHP mainly because its better documented and easier to understand. I was toying with the idea of building my own object oriented code library to do this but frankly I’m still a novice in terms of PHP. CodeIgniter isn’t necessarily as powerful as Cake but it suits me just fine. And if I ever do outgrow it I could always extend its code libraries thus never actually outgrowing it. Because if I do get to a point where it isn’t powerful enough then I should be at a point where my skill level should allow me to just extend it instead of replacing it.

I am very proud of my work so far. I have a few screenshots of Version 2.0 in its infancy. All these are the basic code that will run one of the blog applications the new site will be sporting.

This is the code that runs behind the scenes. It contains the functions that allow you to view the blog, make comments, and view your comments. I will be adding functions that allow you to view each post with its comments separately and that will allow me to post entries and a bunch of other functions that escape me right now.

This is the page you actually see when you visit the blog. Mind you, this is only one of several blogs on the site. This one will look like a traditional blog. The others will look like a cross between a blog and a static page. The reason for this is that there will be pages that I will be adding to on a periodic basis but I don’t want people commenting on them or viewing them separately. For example, the news portion of the site will be like this. Its going to have posts that I add periodically about whats going on with Felix and Friends (my one man band). The true blog will be exactly like the one you are reading right now except it won’t look exactly the same. It will have the same features though. All the code I’m showing you will be for the traditional blog.

This code is for the comments page. When you comment on an entry you will see this page and when you submit the entry you’ll be taken to a page where you can see the comment you submitted.

So thats Version 2.0 in its infancy. Well, not even infancy. More like the fetus stage. To anyone who is a true novice to PHP and wants to build some complicated (well, seemingly complicated) programs I recommend CodeIgniter. The documentation is great and they have two video tutorials so far that explain how to create a blog but really they help with more than that. Cake is amazing. But its way above my skill level. Even CodeIgniter is but I am able to deduce what’s going on more easily.


So You Want to Build a Web SIte

Monday, December 15th, 2008

Terra, frequent reader of mine (and I of course am a frquent reader of hers), asked left me a comment yesterday that inspired me to write a post. Its about web programming. I’m all politic’ed out and since this blog is also about web programming (because I run it and I say so) I think I’ll inform anyone who is into that stuff or wants to learn more about it.

So, you have a great idea for a web site. You know you’re idea is so good that its going to be at the top of Google’s search results even if people aren’t searching for the subject of your site. You’re going to make billions off it and retire to an island in the Bahamas ( watch out for the Bermuda Triangle, please, its very dangerous). But where to start? Before Steve Jobs starts calling you for advice you need to know how to make your idea a reality. Luckily I know a thing or two about this stuff. Read on and learn.

If you want anyone besides the people who use your computer to see the site you’re going to need a web host. Basically a web host is like an apartment for your site. You pay a yearly fee for the domain name (www.yourSitesName.com) and a monthly fee for storing your site on the hosting companies servers. A server is basically a computer dedicated to sending out web pages to those who request it. So you typed in http://leftofbill.wordpress.com and Wordpress’s server (computer) sent out all information needed to display this page. I recommend Go Daddy. I hosted two web sites with them and I had no problems. They are pretty cheap too. I used a .net domain name because its usually cheaper than a .com or a .org but just as easy to remember. People can usually remember those big three. For even cheaper domains you can go with .info, .tv, and a few others but generally people will only remember .com, .org, and .net. Right now .net domains on Go Daddy are $12.99. In addition to the yearly domain name fee you must pay for monthly hosting. Go Daddy has three packages (all web hosts usually have three packages). If you’re not sure which hosting plan is right go with the cheapest. The basic plans usually provide more space than you need and come with everything you need to get up and running. If you’re just starting out definitely go basic. You can always upgrade at any time if you feel you need more space, more bandwidth (bandwidth is the amound if information sent from the server to all the computers visiting the site. You have a finite amount of bandwidth which means the server will send out information, measured in megabytes, until you reach the monthly limit. The server will then stop sending “serving” your site until the next month when your bandwidth is refilled. Think of it as a prepaid cell phone plan. You talk until you reach the limit and then you have to refill the minutes. Except in this case the “minutes” are refilled automatically each month.) or support for more programming languages. Basic hosting with Go Daddy is between $4.25 / month for a year and $5.00 / month for three years.

Another hosting option is the free route. There are a ton of free web hosts out there. I won’t recommend any one because I’m not a fan of any of them. If you’re new to this whole thing and your site is very simple like a personal home page or a site with pictures of you and your family, if your site’s purpose is to stay in touch with family and friends then a free host might be just fine. Most free web hosts place ads at the top of your page. This is how they make their money. Free hosts generally don’t give you a lot of storage space. So if your band has a bunch of mp3’s they want to host you probably won’t have enough space. Some hosts don’t even allow mp3s. Some only allow web pages and pictures. If you are trying to build an online store or want a members only section on your site a free host won’t allow it because they don’t support PHP, the language generally used for those purposes. Again, if your site is just a hobby, for family and friends only, or if you’re not trying to bring a lot of traffic to your site, free hosting is a real option.

There is a third option. It may sound scary at first but it honestly isn’t as hard as it seems. You can host your site on your own server. You don’t need a big fancy computer with fifty processors and an infinite amount of RAM to host a site. You can use that old computer that’s been sitting the crawl space collecting dust. This option is almost free. You could buy a new computer for this and if you do I recommend buying one specifically built for web hosting like Apple’s Xserve or even an Apple PowerMac. I recommend Apple not because of the fanatic that I am but because of the system itself. Macs come with server software installed already. Apples OS X 10.5 Leopard comes in a server edition built especially for hosting. But you don’t need to get a new computer. You can use your old one. I’m going to run through the steps to get you up an running for a few different setups:

An old Windows or Mac:
The first thing you want to do on each of these is clear out all the garbage files. Delete any programs that will not be used. Keep in mind that only time you will be playing with this computer is when you are adding files to the site so you won’t need Photoshop or Microsoft Word your server. Defragment the drive on your Windows machine or repair system permissions on your Mac. I’m not going to go into the gritty details of getting things set up so this next part is an overview of the steps. There is a way to set up Windows (any version of it) to run as a web server but since I haven’t worked on a Windows machine for almost four years now I can’t remember. So what you want to do is get a program called Xampp. Its free so just Google it and download. Xampp will create a directory (a folder) where you put all your site’s files. On a Mac that folder is “htdocs” but I’m not sure on Windows. Xampp will install the Apache web server software, MySQL database server and PHP. I know you don’t know what that means. Apache is server software. Don’t be fooled by its price tag. Just because Apache is free doesn’t mean its substandard. Even large coporations use Apache. But in their case they pay. Apache is free to people like you and I who aren’t making money off our site or are making a small profit. I won’t go into how it works. All you need to know is that you need it to run your site, especially as a beginner. I will go into PHP and MySQL later. For now the only thing thats important is that you need Apache and it doesn’t matter why. Just because you have MySQL and PHP installed does not mean you need to use them. You can host a site with HTML pages only. So don’t get upset now, you don’t have to know anything other than HTML. Before I get to the last step let me explain how to do this on a Mac.
On a Mac you can either install PHP and MySQL directly into your system so it works with the Apache software that comes preinstalled or you can get MAMP. MAMP is the Mac version of Xampp. I use it only because I screwed the server software that comes preinstalled. I didn’t have time to fix it. MAMP is great for beginners. All you do is install the program and you are up and running. It installs a fresh copy of Apache, MySQL, and PHP 4 and 5 (you get to choose which one to run in the preferences). Your user name and password to access MySQL and PHP using MAMP is usually ‘root’ for the user and ‘root’ for the password. You might want to change this if you ever decide to use MySQL. The folder that your web site will go into will be “htdocs” which is inside of the MAMP folder which is inside the Applications folder. On Windows or Mac you now need to connect your computer to the internet and keep it connected at all times. If you have dial up you NEED to upgrade otherwise people will be waiting hours to see one page of your site. Now that your Windows machine or Mac have the server software installed all you need to do is sign u

p for a DNS or a domain name server. Basically you pay around $30 as a one time fee for your web site name and for the DNS to send all traffic to your server. You probably just got confused. How does that work? What does that mean? I’m lost! Hang on, let me explain.

A DNS is a server that redirects all the traffic intended for your site to your server. For example, I type in www.hotbabesinbikinis.com. That web address is sent out to a DNS. The DNS has a list of IP addresses and the web site name that corresponds to them. The DNS looks in its database and finds the IP address that goes with the name “hotbabesinbikinis.com” and sends your request to their computer. You’re probably asking “how does it know my IP address?”. Well each time you connect to the internet you are assigned an IP address. Its like a street address except it changes every time you log on or if you have DSL or cable like a lot of people it changes periodically. One reason it does this is to thwart hackers and such. When you sign up for the DNS service it records your IP address and pairs it up with the name of your site. When your IP address changes your computer, or server, “pings” the DNS server. By “ping” I mean it basically calls it up on the phone and has a conversation that goes something like this:

YOURSITE.COM: Hey, DNS? Its me, “yoursite.com”
DNS: Oh hey man, whats up?
YOURSITE.COM: Well I’m calling to let you know my IP address changed
DNS: Oh, alright, dude, I’ll mark it down and give everyone the new directions to visit you

I hope thats clear because I’m done explaining it.

Alright, so by now we either have paid, free, or self hosting. But hosting is nothing without content. To create content you’ll need to know some programming languages. If you’re not interested in learning that sort of thing there are some WYSIWYG editors out there that require no programming at all. WYSIWYG stands for “What You See Is What You Get”. I am against WYSIWYG for a few reasons. I think coding is a very creative experience, you have more control over the look of you content, and there are a lot of things WYSIWYG editors can’t do. But if you are going to use one here’s the scoop. They basically work like Microsoft Word. In fact you can create a web page using Microsoft Word. They are like Word in that you can style text, add pictures, tables, and edit the layout just like how you can use text boxes and other styling tools in Word. There are a lot of WYSIWYG editors out there. There’s NVU. I don’t recommend it as they stopped developing it. Theres Kompozer. Kompozer is an updated NVU. When the company stopped working on NVU one of the developers started working on his own, added to it, and then called it Kompozer for legal reasons. I recommend it. Its nice because you can preview your work and see how it would look in a browser. What I like most about it is that you can actually play with the code too. So if you are creating a web page the WYSIWYG way in Kompozer you can switch to the code view and see what the code would look like. Great for learning. Then there’s Dreamweaver. Very advanced and very expensive. Has WYSIWYG and code views and a shit load of other features. I recommend Kompozer though because its free.

If you really want full control over your code you can be awesome and learn a programming language like HTML. There are a bunch of them out there but I’ll go over the essentials. These are the easiest and most useful to learn.

HTML and XHTML are pretty much the same language. When HTML was first developed it was used by scientists as a way to communicate papers and test results. When the rest of us got a hold of it we wanted more than just plain text. We wanted to make our web sites pretty with animated gifs (remember those?) and all manner of scrolling and blinking text. But thats not what HTML was designed for. Nowadays HTML or HyperText Markup Language is in version 4.0. This is supposed to be a transition to XHTML. Before I explain what that is let me tell you how to use HTML 4.0 properly. HTML is to be used for information only. Meaning you generally only want to use HTML to write text, add links, and add photos to web pages. You don’t want to use it change background colors, align paragraphs or do other comsmetic stuff. As you learn HTML you’ll understand what I am talking about. As it stands now HTML will allow you to do all that cometic stuff but browsers will stop supporting those functions in the near future so start learning CSS and XHTML as soon as you can. XHTML is basically HTML with a few differences in syntax. If you know HTML then you can learn XHTML in a day or two. XHTML strictly enforces the “no cosmetic stuff” rule. If you write a web page in XHTML and use it like you would regular HTML one of two things may happen. If you did everything right and the browser recognizes your page as XHTML then all the cosmetic stuff will simply not show up. The other thing that could happen is that the browser doesn’t recognize your page as XHTML and treats it like regular HTML in which case nothing really bad happens but you have to live with the fact that you are an XHTML loser.

CSS (Cascading Style Sheets) is an absolutely essential language that is used along side HTML and XHTML. If you followed the HTML and XHTML rules and didn’t try to make your web page look pretty then you’re in for a treat. You’ve avoided the temptation to adjust your site’s layout, background color, etc. and now you get a prize. CSS gives you waaayyy more control over the look and feel of your site than HTML or XHTML ever could. CSS’s purpose is specifically to work alongside HTML and XHTML. Usually the two files are seperate. One advantage to this is faster loading times. Since your (X)HTML pages aren’t full of cosmetic code and only the actual information appearing on the site is contained within them your files are much lighter and thus much faster. CSS is as easy to learn as (X)HTML (which is pretty damn easy) so there’s no reason why you shouldn’t use it.

MySQL is a language and software that is installed on your server. It basically runs databases that you design. If you want to install a program like Wordpress on your site you don’t need to know anything about MySQL, you just need it along with PHP installed on your server. Wordpress will do the rest. If you are going to create your own web applications like a blog, a members only section of a site, an online store, or even your own personal online to-do list or phone book you will need to know MySQL along with PHP. Its not a difficult language to learn, in fact its one of the easier ones, but its also not that easy. If you have mastered HTML, XHTML, and CSS then you are ready for PHP and MySQL.

PHP works hand in hand with MySQL to run your database. MySQL handles the creating of the databases, their columns, and storing content while PHP runs in your HTML pages to retrieve the information contained within the database. You’d be surprised to learn how many websites that you visit every day use PHP and MySQL. The page you are reading now uses them. MySQL stores my posts in a database table and PHP retrieves the information from the title, date, author, and content columns of the database when you request this page. Pretty cool huh?

You should first learn HTML, then CSS, then XHTML to start. Once you are comfortable with those languages you might want to start building some more complicated web pages. Thats where PHP and MySQL come in. Remember that there are a lot more languages than the ones I discussed here. I happen to know all of these but you don’t have to. HTML, XHTML and CSS are absolutely necessary but you don’t have to use PHP and MySQL. There’s Perl, Pear, Ruby, Rails,Python, Java, Javascript, and many others.

Now that you’ve learned the necessary programming languages you can now create the files that will become your si

te. I recommend creating the entire site on your computer using Xampp or MAMP even if you aren’t going to host yourself just so that you can see what the site will look like online. Please complete the site on your home computer before putting it online - people hate to see a site that says “Under Construction” or even worse a site that doesn’t even warn you and you only find out after half the links don’t work. People won’t visit a site like that again. So make sure you complete it at home, test every link, then upload it. There are a plethora of FTP programs for windows and mac. If you’ve gotten this far I don’t think I need to explain how to upload. For Mac I recommend CyberDuck as an FTP client. If you are using free hosting you usually have to go to the host’s web site, login to your account and use a browser based uploading system. If you are self hosting then just drop your HTML files into the site folder (”htdocs” for Macs running MAMP) and you’re ready to go.

Happy coding.