Archive - Aug 2008

Date
  • All
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Firefox Extensions: The Must Have's for Developers

When developing web sites, there are some tools that developers find invaluable in their development efforts. When working on web sites, I develop in Firefox, because of the wonderful ability to use ad-ons with it. These tools make it so much easier to find bugs and to make things work the way I want them to. Below are my favorites.

  1. Web Developer: I've been using this tool for years now. It is a collection of a bunch of tools all in one location and allows you to see outlines of various blocks, information about different elements, and so much more. I highly recommend having it available if you do any web development work.
  2. Firebug: This is my new favorite tool. It is a debugging tool that allows you to inspect various aspects of a web page. You can then make changes to the site live, such as changing, adding, or removing CSS or HTML code to see how it will affect the site.

    It also has several tools that can be added on that you might find useful. These are the three I use:

    • YSlow: Yahoo has some specifications they list for making a fast loading web site. This will give you a list of why a site might be running slowly. You can then choose which to change to make it run faster. Yes there are websites that do this, but having it in the console is nice.
    • FireCookie: Allows you to inspect, add, delete and change cookies on a site. If you are working with cookies, this tool makes troubleshooting so much easier.
    • FirePHP: My sites are all PHP based. With this tool, I add a little code to my site and then the PHP log is send to the Firebug Console for me to read. A real time saver.
  3. ColorZilla: A simple color picker tool. If you need to know what the color is, just turn it on, mouse over and look at the status bar. It will display RGB, HTML # notation, and what element is setting the color. Will pick anything on the page, including within images.
  4. HTTPFox: This is a new tool for me, but I like it. I turn it on and it allows me to see the HTTP Headers live. It only collects data when you tell it to, so the data does not get overwhelming. Now there is no guessing at what data is being posted or what headers are being interpreted. It also does cookies, so you might not need the FireCookie extension.
  5. MeasureIt: This cool tool allows you to measure an area. You click to turn it on and then click and drag to measure the region and it returns width and height. Simple, yet useful.
  6. SeoQuake: This is an extra. Not really a developer tool, but many times you also need to think about SEO as you work. This tool allows you to see, all on one bar, the Google PageRank, Google Index, Yahoo Links and Link Domain, MSN Index, Alexa Rank, Site Age (using WayBack Machine) and more. You can add other extensions to it as well.

August 19th

Open Source: Programming at It's Best

If you have not gathered it from my other posts, I love Open Source. Not just because I'm too frugal (I like that word better than cheap) to pay a bunch of money for programs, but because it is often better, or at least as good as the for pay versions. Even though I love open source programs, I have come to realize that many do not know what it is. In several conversations with techs and programmers, it has become quite clear to me over the years that many people in the high tech industry to not know what this standard is. Today I will break down what open source is, how it is beneficial to users, and why programmers should program open source tools. At the end I will list some of the most popular open source products and their commercial equivalents.

What is Open Source?

The simplest way to define open source is to say that it is a license put on a program where the source is open to everyone. I've heard it said that there are two types of free. There is the free in that you can use it for free. In programming, this is often called "freeware". Then there is free as in freedom. This is open source. You are not just free to use it, you are free to change it. You can take the program, and the source code for it, change it, repackage it and let others use it. Read the complete definition here.

Why Should I Use Open Source?

It's Free. You don't have to pay for it, ever. Nothing, not a dime. No restrictions on when and where you can use it without paying.

There are a World of Programmers. You are not relying on the programmers working for the company who writes the software to come out with bug fixes and updates. Anyone can do it. You can then download them and run the patches to get your version to do the same. Of course, you want to make sure it is coming from a trusted source, but many of these fixes are sent to the package maintainer (a fancy term for the main contact who is in charge of the program) and included in the next version. This means that there might be thousands of people working on these programs to get them ready for you to use, instead of the few, or maybe dozens, that are paid to work on them when you buy commercial versions.

They Work as Well as the Commercial Version, if Not Better. This blanket statement is often true, but not always. Sometimes the commercial version is better, but often the open source one is. They might have different parts of them that work better than the commercial versions, but open source competes with the commercial versions very well. They just don't have a big marketing division to get you to buy them.

You Can Open the Commercial Versions Documents. Just because a document was created in a commercial program does not mean that you need that program to open the documents. Most of the open source versions allow you to open and save in the commercial programs formats. There are exceptions to this rule, so be sure to check out the program to see if it will do what you need.

Will Open Source Work for My Business?

Does your business like to save money? Does your tech support know how to support the tools, or are they willing to learn? Is your staff willing and able to learn the new software? If you can answer yes to these questions, then it will work for you. The tools do not work exactly the same, and some tools are not as good as commercial versions, but if you can find the tools you need in open source, you can save some money. Like with any change, you will need to train your staff. Don't just install it and tell them to use it. Teach them how and you will get a better response and it will work better for them and you. If you don't train them, then they will want to go back to what they already know.

Why Should I Program In Open Source?

Get Others to Code With You. In The Cathedral and the Bazaar Eric Raymond describes open source as a bazaar where programmers with differing agenda are all working on the same thing from different points of view. If you are working on a program and want others to help, open source is a good way to achieve this goal.

Build Loyalty. As a business, you can gain a lot of loyalty quickly by building in open source. Your developers will have a sense of ownership because they are working to develop it in their way, instead of the companies way.

It Is Less Expensive. As a business you only have to pay your core developers. Other developers will come on board with their own agenda and make your product better. You don't have to pay them.

Good Way To Learn. It is a good way for a newbie programmer to learn more about the trade. You can read the code others have written and make minor changes. If you are working on a good project, they will have a list of things that need to be done. You can pick one that is at or just above your skill level and go to work on it. In this way, you are working on a large project that you might not normally get to work on, but you are keeping it at a level that you can do on your own.

Sense of Community. Since you are working with a large group of programmers, there is a sense of community in working with all the programmers and learning from each other.

Can I sell open source? Yes. You can sell and make money from open source programs. But so can anyone else. If you write a program and license it open source, you are allowing anyone to look at your code, change it, and sell it, if they like. It is hard to make a business work with an open source business model, but several have.

Open Source List

Commercial Program - Open Source Competitor
Microsoft Windows - Linux. There are many versions of Linux. Check out Distro Watch as they will give you lots of information about the various versions right as they come out. You can even run Windows programs under the WINE emulator.
Microsoft Office - Open Office. Open Office will open all MS Office documents and save in their formats.
Internet Explorer - FireFox. Many of us use Firefox instead of IE, but not everyone knows that it is open source.
Internet Information Server - Apache Web Server. Apache is a great web server. It has a huge market share and does a great job.
Adobe Photshop - The GIMP. The first non-Microsoft commercial product on the list. The GIMP is great, but there are some things about Photoshop that make it a little better, but unless you are using it nearly every day, it may not be worth the $650 retail price tag. Some places sell it for $500 or less, but it is very expensive anyway.
Quicken - GNUCash. ok. This one is no competition. Quicken is hands down the best here. It is not really expensive and has way better tools. I think that people are afraid of working on financial stuff without the backing that intuit has. There are too many things you could screw up for people. There are no good alternatives in the open source world.
Audio Editing - Audacity. I don't actually know a commercial version that competes with Audacity. Of course, I'm not an audio expert either, but if you do a little audio work, Audacity is the way to go.
Many other products exist, but these are the ones I use regularly. I have two computers, and one has no commercial software on it. The other I'm making dual boot, because there are times when I need to test in Windows. I will then have some commercial software on one boot partition (the software that comes with Windows). For a more complete list of Open Source programs, check out Wikipedia's list

August 15th

HTML/CSS Font-Family: Who's family is this?

in

In CSS there is a well known, yet oft misunderstood property called Font-Family. Today we will explore this important property and how we can use it to it's fullest. I'll admit that I spent a long time working on pages without really understanding this property. There are a lot of intricacies to it that unless you really understand typefaces, you may not fully grasp. I do not know typefaces very well, but I know which ones are used regularly, and I stick to those.

What is Font-Family

Simply, this property allows you to set what font will be used to display the text portion of the area you are controlling. So if you want to display in Time New Roman, you will tell the font-family that. But it does more than just that. You need to also tell it what to fall back to, in case the user does not have Times New Roman installed.

How does Font-Family Work?

Now for a little nitty gritty. Within your style sheet, you can define which font you want to display in. for instance:

font-family: times;

will display like this

Font-family allows for a comma separated list, so you don't want to just list one font. The last one listed is a fall back font and should be a generic font. There are five generic fonts: "serif", "sans-serif", "cursive", "fantasy", "monospace". So say we use "font-family: 'Times New Roman', serif". That will tell the browser to display in Times New Roman and if Times New Roman is not available, to use whatever serif font is set as default.

Since this is a comma separated list, you can have more items on there. Say you have a special font you really like that you want to use, if the reader have it installed. If they don't, courier will do. Then, if they don't have courier, then it must be monospaced. You would use this:

font-family: "The Coolest Font Ever", courier, monospaced;

Most people will not have the cool font installed, but most people would fall back on courier. Then, if by chance they don't have courier, they will most likely have a monospaced font.

What are generic fonts?

These are the 5 categories that every other font falls into. Some might fall into two. Here, let's define them:

A serif font has "tails" or serifs on the letters that give it a special flare. Also called roman. ie: Times, Roman, Georgia.
Sans-serif fonts have no serifs. Sans means without. Also called swiss. ie: Arial, Geneva, Helvetica.
Cursive fonts are made to look like cursive hand writing. Also called script. ie: Comic Sans MS, Lucida Handwriting.
Fantasy fonts are fancy fonts. Also called decorative. ie: Copperplate, Impact.
Monospaced fonts are fonts where each letter takes up the same widths. So this i and this m take up the same width. Also called modern. ie: Courier, Monaco.

Which font should I use?

I'm not going to tell you what font to use, but serifs can be hard to read on computer monitors, as can cursive and fantasy. Some people love monospaced, others hate them. Monospaced is great for proofreading. Certain typos jump right out at you. Monospaced is used by standard for type-set items or code snippets. Cursive and fantasy are good for accents. Serif is great for print and sans serif is great for screen.

Be careful about choosing your special font. It is best to choose a font that a lot of people have. The Coolest Font Ever may be your favorite font, but I don't have it installed, so I will not see it and it will default to whatever my default font is. If you want it to be a certain way, then you need to give a backup font and a generic font, at the very least. I avoid special fonts altogether.

August 11th

Blog Carnivals: What are they and how are they useful?

When you run a blog, getting people to your site can sometimes be a challenge. Bloggers are quite a community and building respect in the community can be challenging. You have to keep working at it, you have to be friendly with many people, you have to be social. One way of being social is participating in Blog Carnivals. This will drive traffic to your site, it will help build respect for your product and it will allow you to be more social, which is so important to building more permanent traffic.

A blog carnival is a blog entry that lists other blog articles that pertain to a particular theme. Each carnival has its own theme and can either be hosted on one site every time, or can bounce between sites. For a large list of carnivals and more information on them, visit BlogCarnival.com. Blog Carnival is the biggest list of carnivals and allows you to manage a carnival and submit entries to the carnivals.

Each time you get on a carnival, you get a link to your site. If that site gets a lot of traffic to their carnival, then you will get a lot of hits as people read the carnival. If the carnival does not get a lot of traffic, you will get a few hits. Short term traffic boosts are great, but should not be the only thing you are after with a carnival.

As you work with a carnival, you should be thinking about long term gains. Yes, this will also give you an extra link, which is a gain, but you can gain so much more from a carnival, if you let it happen. You should also read the carnivals, comment on the other sites, stumble the articles you like, digg some, put some on your social bookmarking sites, etc. This will help build respect for you in the community. If your comments are useful, stumble reviews are well written, and you actually spend some time on the sites, then this builds even more respect. This social activity is key to building up a great blog. Without other people reading your sites, why spend the time building them?

As you build respect and socialize with others, while you read their sites and comment on them and stumble them, many of us will do the same for you. Being active on a couple of carnivals is a great way to do this. You might sometimes just submit your article and then never look again, but you should not do this every time. There is so much to do with a blog that you can't be active on every carnival. Pick a couple and remain loyal to them. If they have rotating hosting, volunteer to host some times. Read the articles, comment, stumble, digg, write about them on your site. Do what you would want done for you to promote your site. Promoting other sites is good business. Carnivals are a good way to promote your own as well as other sites. Use them properly and they will give you more in return.

August 1st

Box.net: Online File Storage


Share your files online with Box.net 14-Day Free T
I have been checking out some of the various on-line backup solutions on the web. Earlier, I wrote a review of Mozy and now I'm looking at Box.net. Box.net is not really a backup program, although it could be used as such. It is a file storage program. Let's look at it's offerings and see how we can use it as a backup program.

First off, if you are looking for an automated backup solutions, this is not the service for you. Check out Mozy Remote Backup instead. Now, let's look at what it will do for you.

Let's say you have a big file, or a lot of files, that you need to share with your group. Now, if you have a web space big enough, you could send them there, but this is hard to manage, unless you have the right software installed. You could email the files to the group, but for a lot of files or large files this might not work. Most email programs limit the size of attachments and sending several files is a big pain.

Collaboration is also more difficult through email or a web site. If I send the file to John, Paul, George and Ringo. Ringo then makes a change and he has to then email it to everyone for us all to see the changes. Revisions are hard to keep track of and it is easy for someone to use an older version by mistake. What a pain.

A file storage site, such as Box.net is a great alternative. You can create a link so that everyone can view the file. You can also password protect the file. You can do this for an entire folder too, so that you can put all your pictures you took of the freak hail storm this spring in one folder and make it available to the world. The password protection is not available with the free version though (which I used for testing).

Collaboration is very important if you are working on a group project. Being able to have all the files in one location, clearly organized, is very important. Setting up a file store and adding collaborators means that everyone who is collaborating with you can update the files, upload new ones, and you will be able to see it as soon as they update.

Box.net also allows collaboration with various other services, such as eFax, Zazzle, Blogger, Facebook, Gmail, Twitter and many others. They have several price points, ranging from free for 1gb of space to $19.95/month for 15gb. They also have an Enterprise edition that is $15/user.

There are two things I'd like to see that are missing:

1. Check in/check out so that a file can be checked out so no-one else can alter it while you are working on it.

2. Automatically replicate between the files there and the files on your PC. This way, you can update a file locally and it will be uploaded to the file storage service. Also when someone else updates, your local copy would automatically be updated.