NSIS - tips and tricks

I create a lot of windows application to make things easier for my customers. The simple act of coping a file from an email to a certain directory can become the most complicated tasks for a certain type of customer.

I use an Scriptable Install System provided by NullSoft called NSIS (Nullsoft Scriptable Install System). Ita great system that just plain works. Its free, open source, and can be used for commercial products, Great plugin system, Dead simple for simple things, ect.

The manual has lots of examples and function documentation to help get you started.

Over the last few years of using this program I have created a library of useful little snippets of code. Free free to comment with your own.

Opening a directory

ExecShell “open” ‘”$INSTDIR”‘
BringToFront

Registering/unregistering personal ActiveX files

UnRegDLL “$SYSDIR\spin32.ocx”
RegDLL “$SYSDIR\spin32.ocx”

Checking if a process is running
This uses the FindProcDLL::FindProc plug-in (here also):

StrCpy $1 “mybin.exe”
FindProcDLL::FindProc “$1″
;0 = Process was not found
;1 = Process was found
;605 = Unable to search for process
;606 = Unable to identify system type
;607 = Unsupported OS
;632 = Process name is invalid
StrCmp $R0 0 0 error
File “mybin.exe” ; Can’t use a variable
Goto end
error:
MessageBox MB_OK|MB_ICONSTOP “The application $1 is currently running. Press CTRL-ALT-DEL to display the list of running processes.”
Quit
end:

PHP strip non alphanumeric

On EveryDayFiction.com, in the titles of the posts our editors insisted on including a non alphanumeric character.
The little dot that separates the title from the author. This causes havoc with a lot of my scripts and is really freaking annoying.

This handy little function strips all the non  alphanumeric character from the string.

function strip_non_alnum($str) {
$str = preg_replace(’~^(\s*)(.*?)(\s*)$~m’, “\\2″, $str);
$str = ereg_replace(”[^[:alnum:] ]”,”",$str);
return $str ;
}

Last windows boot time, Install date

Do you remember the exact date or time when you last switched on the computer ?
Here’s a simple DOS command to help you out:

systeminfo | find /i “boot time”

This will show the time when you last rebooted the computer.
If you want to know when you stalled windows on your PC

systeminfo | find /i “install date”

403 - An arrogant initiative in defense of the web

I hate internet explorer, I hate it so much. At lest once a day I curse it to the pits of hell to be torched endlessly by a Richard Simmons kazoo band. My hate for internet explorer mainly comes from my own laziness, I just don’t want to spend the time to create the same website twice, once for internet explorer and again for everyone else. I don’t believe that we should have too, Microsoft should follow the standard set out by The World Wide Web Consortium (W3C). A standard that all the other major browsers support.

Internet explore hurts the internet.

A while ago I had this idea, to create a javascript that you install on your website that created a DHTML pop up if you browse the site with internet explorer. The pop up would tell you about the advantages of using other browsers, the disadvantages of using IE, and links to download locations. At the bottom there would be a check box that disables the pop up for a single session. next time they come back the would get the same pop up until they change browsers.

But it looks like someone else beat me too it. http://403day.org/

I would love to install this script on all the websites that I have Dev accesses to but that wouldn’t be nice. So instead I have installed it on my two biggest websites. Funvill.com and Abluestar.com. Funvill.com still pulls in about 20k a month in unique visitors even thou I shut it down about a year ago and Abluestar.com last month got 675k unique visitors thanks to stumbleupon. Between Abluestar.com and Funvill.com 88% of visitors are using Firefox and 11% internet explore. So basically I am throwing away 76k unique visitors in hopes that some of them will upgrade to a new browser.

I HATE INTERNET EXPLORE

Below I have included some hate quotes about internet explore that I enjoyed.

This is why web developers need to stop working around shitty rendering engines en masse. Every single time we - as developers - utilize hacks to make things work in IE where they’re fine in WebKit, Gecko, et. al., we further allow IE to be as bad as it is. Do you honestly think IE would be the POS it is today if the world’s web sites didn’t work in it? Every single time we work around it we provide Microsoft reason not to change anything. Literally. Microsoft’s biggest concern has always been backwards compatibility, and it is that reason that so many of the issues we have now we also had then. It would be one thing if IE7 had shown considerable improvement in this regard, but that simply isn’t the case. IE7 kept some bugs, and swapped out some well-known ones for others, which we now have to hack around, again.
Source: http://developers.slashdot.org/article.pl?sid=07/12/07/1859205

MS doesn’t want those fixed. Seriously, they make money by ensuring that other browsers can’t compete because the Web is broken to conform to IE’s modifications of the standards. In this way they lock people into their platform. If IE was standard compliant, then soon Web apps would be standard compliant, and then why the hell would big companies stick with IE and an expensive OS, when they can just run Linux for free?
Source: http://developers.slashdot.org/article.pl?sid=07/12/07/1859205

IE will never have the same functionality, at least in terms of standards compliance, as other browsers as long as MS is allowed to bundle it without also bundling competitors. The Web will remain broken so long as MS is allowed to abuse their monopoly and numerous other markets will be broken as well, with innovation intentionally slowed for their profit. It is long past time the government enforced the fucking laws against MS, despite all the campaign contributions they made to both parties
Source: http://developers.slashdot.org/article.pl?sid=07/12/07/1859205

If browsers actually required that we provide valid code each and every time, things would be a lot better. How many browser security holes can be traced to a parser that would not have been affected had it simply seen invalid input and rejected it? How much simpler and faster would browsers be if they didn’t spend so much time trying to figure out what the person who wrote the code intended? How much more accessible would the content on those pages be to alternative browsers, like screenreaders?
Source: http://developers.slashdot.org/article.pl?sid=07/12/07/1859205

We’ve been running for way too long on the mindset that anybody can build web pages. Web browsers were built with this mentality. If I’m integrating with an enterprise XML API, and I feed it bad data, it gives me the proverbial finger. Why should web pages be any different? If you want to put stuff online, learn how to do it properly. The web is a cesspool for precisely this reason, and you can’t blame the standards themselves. The XHTML and CSS specs are by no means perfect, but writing well-formed XHTML and CSS is not difficult. Requiring developers to ensure that every start tag has an end tag, proper nested order, alt tags, and the like, would go a long way toward keeping the architecture of the Internet sustainable. Granted, it might put sites like Myspace out of business, but I’ll go out on a limb and say that’s not a bad thing.
Source: http://developers.slashdot.org/article.pl?sid=07/12/07/1859205

“In yet another instance of up-and-coming browser developers fighting back against the Microsoft behemoth, the makers of Opera have filed a complaint with the European Union against Microsoft. In their complaint, they allege that IE’s 77% market share abuses its dominant position by tying IE to Windows and its refusal to accept Web standards, causing significant interoperability issues. The complaint also requests that the EU’s Antitrust Division force Microsoft to separate IE from Windows and accept several different standards, thereby resolving major interoperability issues and providing consumers more choice in the browser market.”
Source: http://slashdot.org/article.pl?sid=07/12/14/192240

Open DNS

OpenDNS is a custom DNS server that you can use instead of using your IPS’s DNS server.
It checks any address that you lookup against its own list of bad sites (phishing scams, and other things) and redirects you accordingly. It also provides a simple way of enabling/disabling blocking of adult websites.

It often used in schools and big office networks because it allows you to enter in your own black list of sites to block such as YouTube, MySpace and Facebook. (Note: If your school or work blocks MySpace, Facebook, or YouTube, you might be able to regain access by changing your DNS address to different public DNS server or use a public proxy) It also provides trending stats on what web pages are visited most, how often, how how long each visit was. (Great for network techs)

A side effect of letting you black list domains is that it lets you disable most ad network, by disabling the DNS look up of there domain. (great for people that hate ads)

The service is great, lots of features, flexibility, its free and easy to use. I will probably install on my parents computer BUT!

How does OpenDNS make money?
OpenDNS makes money by offering clearly labeled advertisements alongside organic search results when the domain entered is not valid and not a typo we can fix. OpenDNS will provide additional services on top of its enhanced DNS service, and some of them may cost money. Speedy, reliable DNS will always be free.

When you type in a bad domain instead of returning “domain not found” error message it forwards you to a search page with ads on it, this is how they pay for this service. A lot of my applications that I write rely on this “domain not found” error message. I been getting an increase in the amount of support calls from people that are use this service and because it disables the 404 error and my free utilities. I now have to update some my utilities to support DNS servers that don’t support “domain not found” error message.

Great service but it has one fatal flaw, it tried to make money.

The OpenDNS Name Servers are 208.67.222.222 and 208.67.220.220.


Update:
John Roberts from OpenDNS contacted me via comment asking me for more details on this problem. I’m always impressed when support staff search the internet for reviews, questions and comments about there products.I have included two Wireshark log files nonopendns.txt, opendns.txtIn the first file nonOpenDNS log in frame#2 in the DNS section it read

Flags: 0×8183 (Standard query response, No such name)

In the second file the OpenDNS log in frame #3 in the DNS section it reads

Flags: 0×8180 (Standard query response, No error)
Answers
xxxxxxxxxxnothere.com: type A, class IN, addr 208.67.217.130

The open DNS server redirected the response from a dead address, my utilities can not longer find out if a domain is valid or not and no longer work. I’m in the process of creating a work around and it shouldn’t be too hard.

I should also mention that I am by no means an expert at DNS stuff. Most of knowledge comes from hacking together what I needed when I needed it.

How to disable AVG 7 temporarily.

There are various reasons to disable your anti virus temporarily.
AVG 7 does not make it easy to disable it.

 Instructions 

  1. Right click on the AVG icon in your system tray (bottom right next to the clock)
  2. Select “Launch AVG Free Control Center”
  3. On the Security status page, you should see a list of items with green check boxes next to them.
  4. Right click on “Resident shield” and select “Properties”
  5. Un check “Turn on AVG Free resident Shield protectio”
  6. Click OK

Remember to re-enable the virus scanner when you are done doing what ever you are doing.

Disable and Enable MFC controls by name

I use this snippet all the time to disable/enable, hide/show, move MFC controls.


// Enables and disables an MFC control by name
void CCILikeChease::EnableControl( int iControl, bool enable )
{
// Enable Control
     CWnd* wnd_control = (CWnd*)( GetDlgItem( iControl ) );
     if( wnd_control != NULL ) {
          wnd_control->EnableWindow( enable ) ;
     }
}
void CNetworkDlg::HideControl( int iControl, bool show )
{
     // Hide the Control
     CWnd* wnd_control = (CWnd*)( GetDlgItem( iControl ) );
     if( wnd_control != NULL ) {
          if( show ) {
               wnd_control->ShowWindow( SW_SHOW ) ;
          } else {
               wnd_control->ShowWindow( SW_HIDE ) ;
          }
     }
}
void CNetworkDlg::MoveControl( int iControl, int top, int left, int sizex, int sizey )
{
     // Move the control
     CWnd* wnd_control = (CWnd*)( GetDlgItem( iControl ) );
     if( wnd_control != NULL ) {
          LPRECT lpRect = new RECT ;
          wnd_control->GetClientRect( lpRect ) ;
          lpRect->top = top;
          lpRect->left = left;
          if( sizex > 0 || sizey > 0 ) {
               lpRect->right = sizex + left ;
               lpRect->bottom = sizey + top;
          }
          wnd_control->MoveWindow( lpRect ) ;
          delete lpRect ;
     }
}

Not alowing comments

I was browsing warrenellis.com website the other day and tuned in to his 4am pod cast.
After it was done I went to leave a comment only to find that comments have been turned off.

Instead he suggest that you make a comment on your own site and use a track back to his website.
Warren Ellis is a decently big fish on the intarweb(s) so he actually gets track back.
I checked Technorati 5600 links with an authority: 1,349 thats damn good.
Comparatively EveryDayFiction.com has 140 links and an authority 83.

Its a good idea.
Lots of link backs so his Google rank goes up.
When someone comments on one of his posts, all of there readers also hear about it and more people view his site.

Anyways as for my comment.

Cialis pills. Generic cialis tadalafil mg pills nextag com….

SMF - Redirect after reply or post

I just installed Simple machine forum (SMF) over at EveryDayFiction.com.
it works great but it has had a few odd quirks including;

Every time you created topic or replyed to a post it sent you back to the board index instead of the topic.
it took me a while to figure out why this was happening and I thought I would share my solution with you.

Its a OPTION for your users, the default is set to return the user to the board index after a post.
You can change the option from your admin control panel.

Go to Admin->Themes and Layout->Reset Options and click on:
Reset default (guest) options for this theme

If Return to topics after posting by default is not set, change it to enable it now.

Go back to Reset Options and do the same for:
Reset all members’ current options for this them

House hunting in vancouver

House hunting in Vancouver is exalting to say the lest, with a less then 1% vacancy rate and school just around the corner its almost impossible to find anything worthy in late August or early September. I have gotten suggestions from friends and family that I should just rent a motel for a month and wait till December when the renting rush is over and done with. But for some of us this isn’t an option so I have created this list of house hunting websites that might help you in your search.

I also found a good article on how things got so bad in this city, its worth a read.
http://thetyee.ca/Life/2007/08/31/RentalFever/

How to burn .uif files

The .UIF or Universal Image Format File was created by MagicISO as a compressed ISO file.

An ISO image (.iso) is a disk image of an ISO 9660 file system. More loosely, it refers to any optical disc image,

You will need two pieces of software, one to decompress the .UIF file to an ISO and the other to burn the ISO.

To Convert the UFI file to an ISO you will need to download MagicISO. MagicISO is not free but there is a trial that will allow you to decompress a UFI file to a slightly larger ISO file. If you do feel like spending a little money MagicISO can also burn UFI files if you pay for it.

To Burn an ISO I suggest that you use ImgBurn its free and simple to use.

Directions

  1. Download and install MagicISO trial
  2. Start Magic ISO, from the menu click Tools->Decompress UFI files
  3. Find and select your UFI file for the source file and click the decompress button.
  4. Download and install ImgBurn
  5. Start Image burn and open the output ISO file from MagicISO
  6. Insert DVD and click burn.

Tips for pulling an all nighter

shift-work-sleep-disorder.jpg

People who say they sleep like a baby usually don’t have one.
~Leo J. Burke

Today I was reading a recent article on Jonlee.ca about his set of tips for prolonged Computer Usage.

Most of them where the standard; not to use a bright monitor, Posture, Take Breaks, and Avoid High Caffeine Drinks but I didn’t agree with all of them.

  • Room lighting - He suggested that you keep the room dark after the sun has set. This is not a good idea for a few reasons. When we where young as a species before there was artificial light we went to sleep when it got dark. This programing is still in us to this day , When its dark go to bed. A dark room just enforces the idea of sleep in our bodies. One of the other points he made was about not using a bright monitor, if you are in a dark room with any monitor it will be pretty bright compared to the rest of the room and bad for your eyes. If you are going to work long hours work in a well lit room.

My own tips for pulling an all nighters

A all nighters in my books is when you see the sun come up before you head to bed. I’m lucky in my programing job nothing is super time critical so I almost never have to pull an all nighters at work. My private life on the other hand I regularly work strait thou the night on Friday, sleep most of Saturday, go out on the town Saturday night, crash out of shear exhaustion on Sunday. Its not a good thing to do to your body but sometimes you got to do what you got to do.

  • Take a shower - One of the best ways that I have found to keep going when I am past my 20th strait hour is to take a shower. The water wakes me up right away and I tend to do my best thinking when i am way from the computer anyways. Take a break and take a shower.
  • Dark background with white text - Most good editors allow you to change the color schema of your workspace and having dark backgrounds with light text puts a lot less stress on your eyes. With less stress on your eyes it should be easier to keep them open.
  • Eat high natural sugar food - An apple or a mango or some kind of natural fruit juice helps alot to keep you up. An apple keeps you up with out the sudden crash of energy that you sometimes can get with chocolate bars and pixi sticks.
  • Eat a 4th meal - If you are up for a longer time eat anther full meal. Stop around 3-4 am and have a 2nd dinner to give you the energy to continue the night. Don’t eat fatty foods like hamburger and french fries they will put you strait to sleep.
  • Loud music - Listen to some loud music, metal, punk, or something very active. My all night play list includes Mudvyan, Lamb of god, Chimaira, MSI, Freestylers, and Slipnot.
  • Walk around - After a few hours of stitting at your desk, get up and take a walk, get the blood pumping again, get some oxygen to your brain.

What are your tricks for staying awake for all nighters?

Resize thumbnails in Wordpress

I get asked this question lot, how to change the default size of the thumbnail that wordpress creates when you upload an image. There are two different ways of doing it depending on what version of your Wordpress you have installed.

If you have Wordpress prior to 2.1
Open /wp-admin/inline-uploading.php and look for the following code:
if ( $imagedata['width'] > 128 && $imagedata['width'] >= $imagedata['height'] * 4 / 3 )
$thumb = wp_create_thumbnail($file, 128);
elseif ( $imagedata['height'] > 96 )
$thumb = wp_create_thumbnail($file, 96);

The default max size is 128 x 96. You can change these numbers to whatever you like, although you must keep the proper aspect ratio (4 / 3).
For example, to double the size of the thumbnails, replace 128 with 256, and 96 with 192. Be sure to change both sets of numbers - they are each listed in the code twice.

Instructions for WordPress 2.1 or 2.2 and later
Open /wp-admin/admin-functions.php and look for the following code:
$max_side = apply_filters( 'wp_thumbnail_max_side_length', 128, $attachment_id, $file );

This works a bit differently than earlier versions of WordPress. The number specified here (128 by default) is the maximum size of either dimension. You can still just change this to whatever number you like though.

Wordpress robots.txt

Recently Daily blog tips ran an article about Robots.txt files. The article gives examples of other major websites and there robots.txt files but fails to mention the reason behind each rule.

I am going to run thou my robots.txt file and describe each and every rule.
Hopefully by the end of this article you will have a better understanding of the robots.txt file.

http://www.abluestar.com/robots.txt

sitemap: http://www.abluestar.com/sitemap.xml

User-agent:  *
Disallow: /img/
Disallow: /blog/wp-admin/
Disallow: /blog/wp-includes/
Disallow: /blog/category/
Disallow: /blog/feed/

User-agent: duggmirror
Disallow: /

Line 01: ’sitemap: http://www.abluestar.com/sitemap.xml’
I included a link to my site map, this is for Google Site map utility. Google Site map utility lets you define your site map in your robots.tst file or on there webmasters configuration page. I use both just incase.

Line 02: ‘User-agent: *’
This tell search engines that the following rules apply to all robots and everyone should follow it.

Line 03: ‘Disallow: /img/’
This line tells the search engines that I don’t want them to index my /img/ folder. The folder mainly contains pictures of my family and friends. There is no reason for robots to search this directory, infact I don’t want pictures of my family showing up randomly on the internet.

Line 04: ‘Disallow: /blog/wp-admin/’
Line 05: ‘Disallow: /blog/wp-includes/’

These two lines tell robots to say out of the Wordpress softwares application data, most of these files are password protected and there is no reason for a robot to go here.

Line 06: ‘Disallow: /blog/category/’
Line 07: ‘Disallow: /blog/feed/’

These two lines are important for SEO. Most search engines will penalize you for duplicate content (Content that appears in more the once place at a time). Your category pages and RSS feed is all duplicate content, copies of your psts. To prevent search engines from penalizing my site I ask them not to index these pages. This reduces the amount of duplicate pages that the search engine will fine.

Line 08: ‘User-agent: duggmirror’
Line 09: ‘Disallow: /’

These two lines tells a specific robot duggmirror robot that I don’t want them indexing any of my site. The duggmirror is used by digg.com to make copies of your website before posting it on digg. On slow servers this is a good idea it prevents your site from falling over because of the massive amount of traffic that these social bookmark sites can produce. Instead of the traffic going to your site it goes to this mirror site and everone gets a chance to see your content. Sounds like a good thing right?.. The problem is that you don’t get the traffic, your ads don’t get clicked on and you cant see the traffic stats. I host this site on a server that can take all the traffic that digg/fark/slashdot/stumble upon can thou at it so there is no reason for someone else to mirror my site, so I disable this robot from crawling any of my site.

I hope you found this article useful, if you have any suggestions for other rules that might be handy.
Feel free to comment.

Always add the www

When creating a new website you want to create as little duplicate content as possible. Most host let your users access your website from either the http://abluestar.com or the www version http://www.abluestar.com. This can be dramaticly reduce your site’s Page rank because is that most search engines see the ‘www’ and the ‘non www’ version as two different websites and Googles’s Page rank is split between the two sites. Instead of getting a solid PR4 you get two measly PR2 sites.

There is a solution
You can force your users browser to redirect to the www version with a Mod Rewrite script.

Directions

  1. Create a new file called .htaccess
  2. Copy and past the snippet below in to the file.

    RewriteEngine on
    RewriteBase /
    # Always add the www
    RewriteCond %{HTTP_HOST} !^www.abluestar.com$
    RewriteRule ^.*$ http://www.abluestar.com%{REQUEST_URI} [R=301,L]

  3. Replace ‘abluestar.com’ with your domain (replace in two locations)
  4. Upload the file to your base directory on your web server.

The next time your users try to browse to your non ‘www’ version of your website they will be automatically forwarded to you www version.

5 MSN/Yahoo/GTtalk/AOL/IM Etiquette tips

I use an IM (instant message) clients every day, I use it to support people and talk to my friends and family. It can make things a lot easier and its less formal then a phone call but it has its downsides. People don’t know how to use it properly and it can become pretty annoying if use improperly.

I have created a list of a few of the things that I have found annoying when using an instant message clients. Feel free to add any that you find annoying too.

  1. Links with no pretext - I will often get a single message from someone that is just a link that they think I should check out. No description of what it links to or if its safe for work (SFW?). I ignore these types of messages mainly because of the spread of Goatse.ex type websites. Give me a hint about what the links is about before you send it to me.
  2. Delayed thank you responses - Someone will ask a question and I will respond with an answer, 10 mins later after I have closed the IM window and restarted my work they will ping me back saying ‘thank you it worked’. This is a waste of my time and it interrupts my work. I have to stop what I am doing read your thank you message, close the window and try to recover my train of thought for no reason. I assumed that my solution worked, if you ran in to problems you would ping me back with a question, and a question is worth my time. Only tell me when things go wrong.
  3. Over use of :) ;) :D LOL - Its one of thous things that I just can’t stand, when someone uses 5+ emoticons in a message. I see the reason why you would use one but not 15 in a row. 1 emoticons is ok 5+ is not.
  4. Getting angry when I don’t respond - I work on my computer for a living and most of the time I will turn on my favorite IM client while I am working. Sometimes I just get too too busy to respond right away, or I walk away from my computer or I just don’t want to talk to you right now. If you don’t get an immediate response, try to figure it out for yourself or wait 1hr or so before trying again. I’m much less likely to respond to someone that send me a message every 5 mins ‘are you there yet?, are you there yet?’. Instead of constantly pinging me to check if I am there, try phoning me, email me or waiting an hour.
  5. Message with no meaning - When you get a message from someone that make no sense or is out of context and you find myself asking ‘What is he trying to say to me’ its irritating. Instead start every session with a good first message that gives a little bit of a back story. Instead of saying ‘I figured it out, its 75′ you should say ‘I figured out that problem I was having last week with the CAS server, I had the temperature set wrong, it should have been set to 75′

Comment with some of the annoying things that you get with IM clients.

Timeless content

clockicon.jpgI have talked before about creating timeless content but never in detail till now. Its one of the first things I check when searching for content is when it was written.

Content is king.
The internet is about content, about finding answers to your questions, it’s supposes to make things easier. As people search the internet for content they are dropped off on your pages. If the content is relevant or useful they will stay and read it, if not they will go somewhere else to find what they need.

Current events only live a short time.
When you write a post about a current event in your local town or new and shinny toy, that content is only useful for a short period of time, a few weeks before the event happens and maybe a week after it happens. After the even has taken place and everything has been cleaned up the post becomes useless no one is going to search for it and if they do find it randomly it will not be useful to them, its dead content.

Old information is regarded as useless and out of date information.

I’m not saying there is no place for current events sites (I subscribe to more then a few) but there archives past a few months are useless. Once they stop posting they will fall out of interest with in weeks.

It’s all about timeless content
Instead you should be writing timeless content. Content that will still be valid and useful 5 to 10 years after it’s been posted.

This is one of main reasons that I started my offline games website, the rules and games posted there will still be useful in 5-10 years. Maybe even 50 years down the road people will still be searching for how to play crazy 8s, big 2, or king’s cup.

One of the easiest ways to write timeless content is to write about history. The history of a place or person is easy timeless content.

Tips for creating timeless content

  • Include extra information – When writing about a current events or new project, include a history, Include a time line of events that that caused it, and its predecessors. Add extra information that will be useful even after this event as passed and the product has been replaces.
  • Avoid words that give a sense of age – Whenever it is possible don’t mention dates or any reference to how old this content is. If you have to reference the date use a full date Feb 2007 instead of 3 days a go, or last year.
  • Don’t talk about things that change – Don’t talk about things that may change next year. If you are caught it’s a sure sign of the age of the content.

12 Tips for creating a killer landing page.

Good landing pages are a key to creating conversations from your advertisement. It’s the first page that your users see when they click on one of your ads its got to be exactly what they want.

I created these tips for creating killer landing pages when I was helping a good friend of mine fixes his adwords campaign. I created landing pages and optimized his adwords campaign and in 2 months he was getting 7-10 times as many leads from his website as he once was. From 2 a day to 12-25 a day it a huge improvement and I ended up getting a nice bounce.

He made the biggest mistake you can made with any type of advertisement, all his ads lead back to the main page of his website, the landing page has nothing to do with the ad its self. Barley anyone that came thou an adsense ad ever took the time to search his website for what they where looking for. Why would they when they can just click the back button and find something more relevant.

12 Tips for creating a killer landing page.

  1. Opening statement - All lading pages should have an opening statement that should answer the main questions right away. It should be short and sweet.
  2. Call to action - There should be a call to action above the cut of the screen (top 300 px) that should tell the users what they need to do next to continue. BUY NOW, Subscribe, contact us, etc.
  3. Make it stand out - Make the call to action button stand out from the rest of the page. Larger and a different colors, nothing works better then a big red button that tells them what to do.
  4. Keep it short - Everything should be short less then 200 words for each paragraph anything that doesn’t have to be on the page should be moved to a support page. You can always add a link to the bottom of a long chunk of text “for more information…”
  5. Offer an avenue for more information - You should always give them a chance to ask questions or get more information on a subject, these links should stay local to your website or open in a new window.
  6. One offer only - Each page should only have one offer on them, don’t confuse your users give them exactly what they want.
  7. Be crystal clear - The offer should be crystal clear on what you are offing.
  8. Add a picture - People tend to scan a page before committing to reading it, adding a picture to a page can really help convince people that the page is worth reading.
  9. Important stuff at the top - Keep anything you want your users to read near the top of the page.
  10. Make it personal - Write in 2nd person using. ‘you’ and ‘your’
  11. Lots of White space - an uncluttered page with lots of blank space.
  12. Remove anything that does not need to be there - No navigation, no side bar, no ads for other products, remove anything that’s distracting. You should still have your sites logo near the top of the page with a link back to your main page.

You should also take a look at yesterdays post, 23 tips for writing good blog posts and articles

23 Tips for writing good blog posts and articles.

writting.jpg I try to keep a list of good blog and article writing tips in my head while I am trying to write posts for you. I don’t always follow them all but I try my best.
In no particular order

  1. Use bulleted lists - Bulleted lists help a lot to break up paragraphs and make it easier for online readers. If you bold the fist part of the bulleted list it makes it a lot easier for the users to scan the article and determine if they want to read it.
  2. Good openings - Most articles should have an opening statement, statistically most readers never made it past the 2 sentence.
  3. Get to the point – Make sure the topic of the post is known immediately, if they have to read 100 words before they get to the point there probably going to move on.
  4. Write less - Not everyone has 8 hours to read Blogs a day, if you can write something in 200 words instead of 500, do it in 200 words.
  5. Split up big articles – If you can split up large articles in to mutable posts and link them to each other. It makes posts more manageable to read for the user.
  6. Write series posts – Write a series of posts forces the user to come back the next day to read the next article in the series. It can be good for splitting up large articles in to manageable chunks.
  7. Keep on subject – Try to keep on one subject, if you have more then one thing to say split it up in to two posts and link them to each other.
  8. Make head lines snappy, - Contain your whole argument in your headline. Check out National newspapers to see how they do it.
  9. Use sub headlines - Each sub paragraph should have a sub headline, to make it easier for the users to read.
  10. Write lists – Write top 10 lists, Top 5 lists, Top 23 lists, have you ever noticed how there is always a top 10 list on every magazine at the check out. Add numbers to the titles of posts its helps.
  11. Be useful – Write useful content that people will use and search for. Useful content gets bookmarked and websites that have lots of good useful content get subscribed too.
  12. Be unique – Add a person touch to all your posts, it gives the reader a sense where the writer is coming from. If they wanted bland articles they would read a manual.
  13. Add a quote – People love quotes, it make them feel smart to know quotes and a quote near the top of a post helps keep it memorable.
  14. Don’t over use quotes – things like, don’t put all your eggs in one basket has been used so many times that its lost all meaning, don’t use them. if you have to personalize it a little. Don’t put all your giant man eating lizard eggs in one basket.
  15. Use deep linking – Write articles that link to your old content, this can be useful for many reasons. When people steal your content you still have a link back to your own website, you can resurrect old dead articles, I have already talked about deep linking before in a pervious article.
  16. Link love – Create lots of context links that make it easier for the users to get more information about the subjects that you are talking about. Link to other bloggers, stroke there ego and hopefully they will post back to you. Never be afraid to link out.
  17. Give credit where credit is due – It you copied something from anther blog, tell your users about it don’t try to tip toe around it, it’s not worth it. Any pictures, text, media, or where you got the idea for the post in the first place. This links back to link love.
  18. Ask the user to get involved – Ask a question, ask for feedback, do a small non invasive poll, get people to comment and add there own point of view.
  19. Use pictures – Use pictures to break up an article, make sure there above the crease of the article (the first 200 words). People tend to scroll thou the article before deciding to read it and pictures help a lot in convincing them.
  20. Use paragraphs – One giant paragraph can be intimidating to the reader but if you break it down to smaller parts it can a lot little more digestible.
  21. Reward top commenters – Mention the name of a commenter that posted a good comment on an older post, give them some credit they work hard too.
  22. Don’t use the same word twice – its one of the biggest signs that you are an amateur, using the same words over and over and over again like a favorite word.
  23. Make posts timeless - Try not to put in words like ‘summer of 2005’ or other information that would give the sense that in a year this information is useless. Make posts timeless

Please comment with any other tips that you might have, I will add them to the list.

Finding a good web host

I am often asked who is the best web host?, what web host do you use? and what makes a good web host good?

This question gets asked a lot on the internet and there are lots of other people that also have written articles on selecting a good web host, but I have yet to find a good article that explains why one host is better then anther.

Selecting a good host basically comes down to three things, Disk space and transfer, Reliability, and the host Company.

Depending on what you want to do with your website you might have different requirements.
For example:
if you wanted to create a photo gallery of all your 30 gigs of pictures you have taken over the last 10 years I suggest finding a host with a lot of free disk space and lots of monthly transfer. although i would stay away from the hosts that advertise unlimited space and transfer.
If you wanted to create a blog I would suggest one with good reliability, with a company that has been around for years and isn’t going anywhere soon.
For a business website or online store reliability should be at the top of your list followed by customer service.

What makes a good web host?
Reliability and uptime should be pretty high on you list of priorities. If your users can’t view your site it will not matter how fast or how much space or transfer you have they will go somewhere else. There are plenty of websites that monitor up time for websites and hosts. For this article I am going to use uptime.besthostratings.com

Web host Uptime Estimated down time per year
GoDaddy 99.9% 8 hours, 45 minutes, 35 seconds
ICDsoft 99.9 % 8 hours, 45 minutes, 35 seconds
HostGator.com 99.8 % 17 hours, 31 minutes, 12 seconds
Bluehost 99.8 % 17 hours, 31 minutes, 12 seconds
1and1 99.6 % 1 day, 11 hours, 2 minutes, 24 seconds
Dreamhost 99.2 % 2 days, 22 hours, 4 minutes, 47 seconds

Why doesn’t anyone have 100% uptime?
Computers need to be updated every once in a while, security patches, hardware/software updates. People find bugs in programs all the time and these problems need to be resolved as soon as possible to prevent malicious people from hacking web servers. That’s the official answer, the most common reason that most web servers don’t have 100% uptime is that bad stuff happens such as someone accidentally pushing the red button cutting power to the data center, fire, wind storms, tornadoes, bugs chewing at the cables, massive power outages that last longer then the reserve generators can last, Godzilla and Mothra attacks, etc.

99.9% uptime is nothing to laugh at, basically 99.9% means that your site will be unreachable for approximately 8 hours of the year, thats really not that bad. Even still, Murphy’s law decrees that the 8 hours that you are down will be when you need it most.

Some companies like Google and Wal-mart spend millions of dollars to get 99.999% uptime (less then 18min downtime) these companies need the extra 0.099%. Just think how much money Wal-mart would lose if there servers went down right around 6pm ie prim time for shopping. They could stand to lose millions in sales and irritate there customers.
A good article on the subject can be found at 37signals - dont_scale_99999_uptime_is_for_walmart

How long the company has been around
If the dot com burst of 2000 taught us anything is that you can guarantee a internet company will be around forever. Companies get bought, sold, traded, and go bankrupt all the time. Once a company goes under your website and its data could be gone over night. Even if you have backups setting everything all over again can be a pain full experience.
When looking for a host you want to find a company that has been around for a while. 5 years is a good amount the company should be stable enough to trust. You can use the Whois records to get a good estimates of when the company was created. I suggest using whois.sc

Dreamhost 1996
1and1 1997
GoDaddy 1999
ICDsoft 1999
HostGator.com 2002
Bluehost 2002

A few other things that could help

Hippo Update Checker (Windows)

sshot_1.pngI found this great program today on LifeHacker news feed called Hippo Update Checker. It scans your computer for your installed programs and checks there version against the version in Hippo’s database. if there is a newer releases to any of your programs it displays them nicely in your browser with a download link.

I been looking for a program like this for sometime now, I hate having to check all my programs are up to date every few weeks it time consuming and not very fun. This program simplafys that and its easy enough for my parents to use.

The Update Checker is also a light .exe that you don’t need to install (which means it’s portable), this means that you could keep a copy of this utility on a USB drive and run it on peoples computers with out having to install anything.

Best of all its 100% completely free.

You can download Hippo’s Update Checker from there webpage filehippo.com.

Flickr’s camera trend data

When you take a snap shot with your digital camera your camera also saves some extra meta information to the file called Exif data.

Different camaras save different information to the Exif portion of your picture most of the time it will contains information like Manufacturer, Model, Orientation, Software, Date and Time, YCbCr Positioning, Compression, x-Resolution, y-Resolution, Resolution Unit, Exposure Time, FNumber, ExposureProgram, Exif Version, Date and TimeCompressed Bits per Pixel, Exposure Bias, MaxApertureValue, Metering Mode, Flash, Focal Length, Maker Note, FlashPixVersion, Color Space, PixelXDimension, PixelYDimension, File Source, InteroperabilityIndex, InteroperabilityVersion, ect.

Some cameras and cellphone cameras even include GPS data for GEO Location. (making a map of where your pictures have been take) more about GEOTagging, GEOTagging flickr map of Vancouver

Flickr keeps a database of all this data including manufacture and model and creates trend data.

With this information you can see the rise and fall of different camaras based on there models. Invaluable when you are doing research for a new camera. Flickr even takes its one step father by providing you example pictures taken with the camera.

populare point and shoot cameras

Rss feeds in your inbox

RSS bars 100×100Most people that I talk to find RSS feeds confusing.

They don’t want to set up a feed reader , they can seem to understand that it could save them time in the long run and helps them organize all the blogs and news groups that they they read.

Checking 35 websites every day just in case something new has been posted seems ridiculous to me but its a way of life for many others.

This is why websites like rssfwd.com and squeet.com where invented. They resolve this problem by allowing you to set up a email subscription to any RSS feed. Any updates to the RSS feed will apear in your inbox.

You can subscribe to abluestar.com’s email subscription list that will send you an email every time a new post is added.

Or if you use a feed reader you can subscribe to our rss feed

Google talk

GTalk pop up

What is Google Talk or GTalk

Google talk (GTalk) is a instance message client and voice over IP client provided by Google. GTalk uses an open protocal called XMPP that allowes for other XMPP instance message clients to communicate with Google’s GTalk network. XMPP is the same protocal that Jabber is based off so any Jabber client should be able to communicant with Google’s GTalk network and client. In December 2005 Google purchased 5% of AOL and announced that in the future AIM users and GTalk users will be able to communicate with each other. Google and Skype are also exploring interoperability via the open protocol.

Basically it is a instance message client that works on an open protocol.

What makes GTalk great

The of the biggest features of GTalk is that it operates on the open protocol XMPP. XMPP is build to to be expandable with plugins and extra features. you can add just about anything you want to the payload such as VOIP, Encryption, or video messaging, games, ect…

Googles Music Trends is a opt-in service bundled with GTalk that records the last play mp3 on your computer and builds trend data from it. View the top 20 music trends from each genre. although you are not able to see your own trend data it is still pretty interesting. if you want to recored your own musical trend data I suggest a service like last.fm

All your conversations in GTalk are recored in your GMail for future reference. This can be extremely useful when trying to hunt down the restaurant that billy told you about 4 weeks ago.

How do I get GTalk

You can download it from google’s GTalk website

I don’t want to install anything is there a web version to Gtalk

Yes, Gtalk works with almost any jabber clients and there just so happens to be a tons of web based jabber/Gtalk clients out there. Google even gives you the ability to add GTalk to your web page.

How do I connect to GTalk network with a Jabber client

It depends on your jabber client, I use Trillian a instance message client that alowes you to connect variouse IM networks such as AIM, Yahoo, MSN, ICQ, IRC, Jabber, ect.

How do I connect to GTalk with Trillian

Google has a pretty good help page on how to set up Trillian with GTalk
Basicly it goes something like this

  1. Download and install the Jabber Trillian plugin
  2. Restart Trillian
  3. Open the Trillian preferences window
  4. Click the “Plug-in” icon
  5. Actvate the Jabber plug-in
  6. Click the “Identities & connection” icon
  7. Click the “Add a new connection” button
  8. Select Jabber from the pop up menu
  9. Enter your gmail account for the user ID
  10. Enter your gmail password for the password
  11. Click the change button
  12. In the settings menu change the following options
    • Server host: ‘gmail.com’
    • Server port: ‘5222′
    • uncheck ‘use legacy SSL for connection’
  13. Click Save
  14. Click Connect and if everything went well you could be connected with the GTalk network.

How can I contact you with GTalk

Add me, Gmail address

View Product Key XP

If you have more than one system running XP you have obviously purchased more than one copy of the Operating System. However you may have forgotten which Product Key you used for which system. It happens. I have 5 systems and have had all of them running XP at times. XP does not store the Product Key in a recognizable format in the registry.

Keyfinder is a freeware utility that retrieves your Product Key. has the options to copy the key to clipboard, save it to a text file, or print it for safekeeping. It works on Windows 95, 98, ME, NT4, 2000, XP, Vista, .NET, Office 97, Office XP, Office 2003 and Office 2007. It even has the ability by using Microsoft’s own script to change installation keys. See the Microsoft Knowledgebase article here Q328874
Visit the Keyfinder Homepage

Audio Player Wordpress Plugin

SpeakerWhile creating a post about julie-feeney a wonderful musician I wanted to post some streamable samples of her music.

Most Projects that I found where overly complicated and bloated with features that I just didn’t need. I was about to give up and use Quicktime plugin untill i found audio-player-wordpress-plugin by 1pixelout.net its exactly wha