Tom Nunamaker

I’ve new to CustomerHub and it’s fairly restrictive, but they do allow you to customize the CSS and Javascript for the site. There’s no way to change the footer, except using some javascript to re-write the footer. To prevent the page from initially showing “Powered by CustomerHub”, I added some CSS to the footer class to hide it, then Javascript sets the footer to display:inline so it appears with your footer.

Go to Settings > Themes then click the “stylesheet” tab. Find the footer class and change it to this:

#footer {
text-align: center;
font-size:11px;
display: none;
}

Next, click on the “javascript” tab and add this code

onload=function()
{
var txt=document.getElementById(“footer”)
txt.innerHTML=”© Copyright 2013 My Company All rights reserved.”;
txt.style.display = “inline”;
}

If you want to add HTML to the innerHTML you need to use the back slash to escape any double quotes. Like this:

txt.innerHTML=”&copy; Copyright 2013 <span style=\”font-weight:bold;color:#000;\”>My Company</span> All rights reserved.”;

Notice the double quotes are escaped with the backslash to \”

After you make these changes, click the green Save button at the bottom of the page. Now your footer will dynamically be written to your CustomerHub page

You can call an external footer with dynamic text using an iframe like this:

onload=function()
{
var txt=document.getElementById(“footer”)
txt.innerHTML=”<iframe src=\”http://www.mydomain.com/footer.php\” width=\”100%\” height=\”170\” frameborder=\”0\” scrolling=\”no\” target=\”_blank\”></iframe>”;
txt.style.display = “inline”;
}

This will call the page http://www.mydomain.com/footer.php and load the contents into the iframe. Now you can keep your footer up to date in the external file on your own web site and CustomerHub will call it for each page load.

 


Do you ever feel trading is like throwing money into a sinkhole?  Over 90% of traders lose money and are supporting the 10% (or less) who can.  Many look for education or try to learn it on their own.  Many fail.  Few succeed.

I work for Dan Sheridan at Sheridan Options Mentoring where we teach people to trade options.  It’s been a fun job and I was one of Dan’s students in 2006.  I’ve learned a LOT.

I wish when I was a student, I had a place to park my cash while I was learning. 

I occasionally get requests for recommendations for managed accounts so people can either have their money grow hands off, or generate some cash while they learn to do it themselves.

But where do you put your money?

I have a few acquaintances that do this kind of thing.  Since I get asked this question enough, I decided to put it in a post so I can refer people to this page :) (programmers are lazy eh?)

On my list, I’ve known the first four for years and the one in Australia is a friend of a close friend I’ve known for about 10-years.  They are all great traders and great money managers.  If you don’t want to trade yourself, you should talk to each one and make your own decision.

While I personally know each of the principles at these managed account firms, you’ll have to do your own due diligence.

Each of these firms has legitimate traders that are trading their own accounts and are taking managed clients (as far as I know).

Without further ado, here’s the list:

  • Firm #1: U.S. based hedge fund.  Must be an accredited investor.  $100k minimum?
  • Firm #2: U.S. based hedge fund
  • Firm #3: Limited to 15 clients for now.  Requires PM account at Interactive Brokers. The trader was written up in TASC magazine.
  • Firm #4: This is for Non-U.S. clients ONLY!  Based in Switzerland with a 180-year old private bank and VERY interesting account management platform.  I think they specialize in trading Forex but I don’t their exact offer. $50k minimum
    Contact Chris for more information
  • Firm #5: Australia residents only!  Pool of Forex traders with up to 13-year profitable track record. $10k minimum

I hope you found the list interesting.  If you know of any similar firms, let me know and I can add it to the list (if I like it and I am confident they are  of very high quality).

Trying to Get Back to the Forest – Image from Imgur.com/2IaHG

I’ve been waiting for Thesis 2.0 to be released, just like many of you, for quite some time.  Chris Pearson finally had a great update post and announced Thesis 1.8.3 was being released!

Yeah!  I always like seeing what new toys I have to play with.

Naturally I couldn’t wait

I’ve already installed thesis 1.8.3 on a few site I manage.  Overall the experience has been excellent.  Thesis is pretty easy to upgrade as long as you DO NOT MODIFY THE CORE FILES!

OK.. now I’m upset…

GoWebBaby did the design and thesis implementation for ExperSignal.com.  I really like their design but their Thesis implementation was … how shall I say it???  Non-standard?

I didn’t realize it at first, but they Modified the Thesis core files!

Why would they do that?  (I actually have stronger words but I’m restraining myself now… calm down..)

I asked them for a list of core file changes they made so they sent me a list of two or three things.  Not TOO bad, but still just isn’t the right way to create a Thesis site.

After a little digging, I found about 5 other core files they modified.   GRRRRRRRRRR.

After a few hours of repair coding, I’m down to one or two core file changes I have to think about how to implement.  I’ll get there but I’m still P.O.’d I have to do this at all.

For the time being, I’m holding off on upgrading expersignal.com to Thesis 1.8.3 until I solve the final pieces and correctly customize thesis totally in the /custom folder.

Let’s talk about UberMenu now.

I found UberMenu on CodeCanyon and it’s pretty awesome.  My son is a composer and building a website for sound effects (sfxfoundry.com).  Spencer wanted some pretty cool menus and I bought UberMenu for him.  What’s a dad for? :)

UberMenu looks pretty sweet.  However, when I upgraded to Thesis 1.8.3 it totally died.  I wrote to the developer of UberMenu in hopes he has an Uber-Simple way to fix the upgrade problem.

Bottom line: If you use UberMenu and Thesis 1.8.2 or earlier, hold off on upgrading to 1.8.3 until this issue is resolved!

I’m sure it’s probably something easy like deactivating the plugin and reactivating it, but I don’t want to mess up Spencer’s menus to test it…but I do have a good backup.. hmm…. something to try!

OK.. back to fixing GoWebBaby’s induced Thesis problems…..

magnifying glass

We examine royalty free stock photo web sites

I took Don Crowther’sadvice last year and started to build my image library.  I was trying to minimize the cost per image as I wanted quite a few to choose from in my library.  Something crazy in my brain figured out that fotolia’s 100 images/day deal was the best value.  So I paid the $747 price and started downloading my 100 files.

WHAT HAVE I DONE?

I immediately realized I had bitten off a HUGE time commitment to find, download and file away 100 images per day.  I think I figured out I had made a huge mistake about 10 minutes into my first day’s downloads.  I ended up spending 2 hours per day for the next month downloading images!

I learned my lesson

Now it’s 1 year later and I’d like to start adding fresh images to my library.  I’ve been looking at the same images for 1 year now after all.  I’ve probably only used 10% to 15% of the images in my library so I’m going to throttle back my image purchases this time.  I have three requirements:

- I don’t want to spend more than $650 maximum
- I want to keep the cost per image to $0.25 or less
- I don’t want to download more than 30 files per day. 25 or less is better.

My research

With those restrictions in mind, I started to do some price comparisons of the various royalty free stock photo websites available.  The following table shows my research with current prices as of today and how many images each website says they have.  The cells with the green background color meet my requirements of price and cost per image:

http://www.photos.com/ 2.6 million
100/week (14/day)
Images
Cost/Image
3 Months
$299
1300
0.23
6 Months
$549
2600
0.21
1 Year
 $988
5200
0.19
http://us.fotolia.com/ 15 million
25/day
Images
Cost/Image
1 Month
 $249
750
 $0.33
3 Months
 $649
2250
 $0.29
6 Months
 $1,199
4500
 $0.27
1 Year
 $2,099
9000
 $0.23
http://www.shutterstock.com/ 16.8 million
25/day
Images
Cost/Image
1 Month
 $249
750
 $0.33
3 Months
 $709
2250
 $0.32
1 Year
 $2,559
9000
 $0.28
http://www.123rf.com/ 11.1 million
26/day
Images
Cost/Image
1 Month
 $230
780
 $0.29
3 Months
 $590
2340
 $0.25
1 Year
 $1,960
9360
 $0.21
http://www.thinkstockphotos.com/
25/day
Images
Cost/Image
1 Month
 $299
750
 $0.40
1 Year
 $2,388
9000
 $0.27
http://www.photospin.com/ 2.1 million
25/day
Images
Cost/Image
1 Month
 $188
750
 $0.25
3 Months
 $388
2250
 $0.17
6 Months
 $688
4500
 $0.15
1 Year
 $1,188
9000
 $0.13
http://www.ingimage.com/ 1 million
35/day
Images
Cost/Image
1 Month
 $199
1050
 $0.19
3 Months
 $339
3150
 $0.11
1 Year
 $889
12600
 $0.07
http://www.istockphoto.com/
30/day
Images
Cost/Image
3 Months
 $979
2700
 $0.36
6 Months
 $1,862
5400
 $0.34
1 Year
 $3,542
10800
 $0.33
http://www.photosxpress.com/ 12.7 million
500/month
Images
Cost/Image
1 Month
 $550
500
 $1.10
25/month
Images
Cost/Image
1 Month
 $37.50
25
 $1.50

Results

Only rows with both price and cost per images columns in green are contenders for me. This leaves me with:

http://www.photos.com/ 3 and 6 month plans
http://www.123rf.com/ 3 month plan
http://www.photospin.com/ 1 and 3 month plans
http://www.ingimage.com/ 1 and 3 month plans

The most tempting is http://www.ingimage.com/ based on price and cost per image, which are $199/$0.19 and $339/$0.11. The problem I think is it only has 1 million images. Only http://www.123rf.com/ has over 10 million images and wins on my other criteria. I’ll do sample searches on all four contender sites, but I have a feeling 123 Royalty Free will win.

iStock Photo, Shutter Stock and Think Stock Photos had some beautiful photos, but I can’t justify the price yet. If you have a bigger budget, I would consider them.

Conclusion

There are many websites selling royalty free stock photos. It’s not hard to get great photos for your website at affordable prices. Do some sample searches on each site to see if it has photos you’re interested in. Don’t make my mistake from last year of ordering 100 images per day if you work alone.

Start building YOUR photo library. You won’t regret it.

Where do you get your photos? Leave a comment below!

UPDATE
I did several searches on the sites and found Shutterstock had the best images for my needs. I found an online coupon for a 10% discount. After I did a 1 month subscription, I noticed the auto-renew was turned on. Make sure you turn that off or you’ll get rebelled the next month!

I went to turn it off and Shutterstock offered to reduce my monthly bill another 5% so the $249/month program is now only $212.80/month. At this price, for 25 images per day, that is $0.283 per image. It’s slightly more than I wanted to pay but the selection of over 16.8 million images is amazing. I’ll write up Shutterstock later after I use it for a while.

Picture of a lionAfter I upgraded to Mac OS X Lion several months ago, I was overall pretty happy. The one program that seems to have taken forever to update has been Telestream’s Episode 6.  Episode does video transcoding but it’s the best one I’ve seen.  I’m not a video production professional so Episode has many features I don’t use; however, it’s very intuitive and pretty fast.  But it didn’t work with Lion… until now!

I just received an email from Telestream

The new version is Episode 6.2.  You can’t upgrade it from Lion because previous versions crash Lion.  You have to download it from Telestream and install it.  Grab your Telestream login and go here to download the new version:

http://www.tomnunamaker.com/episode62

I normally don’t write about software updates but I know a lot of people are waiting for this, including me!

Here’s what the installation looked like

So far so good.  The installer opened.

Episode Package Installer Screen shot

Double clicking on the package installer works fine. Here’s the Introduction page of the installer.

Episode Installer

I need 204.2 MB of hard disk space. No problem. I just replaced my iMac’s drive with a 2TB drive.. hehe.

Episode Installer disk usage

Yippee! I’ve been waiting to see this for months. It’s installed, but will it work and not crash? Let’s find out.

Episode Installer completed

It works! Here’s the About dialog box. It’s nice to see my old friend working again.

Episode 6.2 About dialog box

I think Episode wins the prize for the software taking the longest to get Lion compliant. I didn’t mind too much as I used Handbrake while I waited for Episode. Now that Episode is back, I’ll have to compare it to Handbrake… but that’s another article for another day!

If you haven’t tried Episode yet, take a look at it. It’s really amazing software for transcoding video to distribution formats like MP4.

I really like my Mac.  One thing I miss when I use my Windows computer is the Mac’s ability to zoom the screen with CTRL plus moving my finger forward or back on my magic mouse.  As you get older, your eyes start appreciating this feature a LOT! When I upgraded to Mac OS X Lion, I had to go to Universal Access and set this up by turning Zoom on.  Every once in a while, zoom turns itself off.  I suspect it’s another program doing this, but it’s easy enough to get it working again.  Here’s what you do: Step 1 Click on the upper left Apple symbol and choose “System Preferences” Step 2 Click on the Universal Access icon on the right as shown here: Mac OS X Lion Universal Access Step 3 Click on the “Zoom in Window” check box, then click it again to de-select it.  This resets it every time I’ve done it so it goes back to the normal zoom I use every day. Mac OS X Lion Universal-Access STEP 2 If you haven’t tried the screen zooming in Mac OS, try it.  You’ll like it!  If it stops working, try this trick to get it working again.  I don’t need to do this often, but it’s handy to know how to when you need it! Enjoy the Mac OS X Lion Screen Zoom!!

I had a great tour of Reedge today. Reedge is a two year old company offering website testing on steroids. Wow is it easy and fun to setup a test!

 

Dennis (the CEO) gave me the tour and did a fantastic job of analyzing the website at sheridanmentoring.com. One thing he pointed out was the optin form used a Captcha and that reduces the conversion rate. Captchas are popular but display hard to read text that frustrate users trying to submit a form. While Captchas do reduce spam, they also reduce submissions from customers and prospects.

Dennis suggested using dynamically generated checkboxes. He recommended this great page showing the pros and cons of Captchas versus checkbox

Because we don’t use wordpress, I had to write my own javascxript.

This isn’t a terribly difficult task; however, good developers “borrow” code whenever you can. I found this post from Jeremy Bililck from 2008 which basically had everything written for me :)

I just had to add some divs and formatting and server side processing to make it all work.

I have these CSS styles defined:

.displayinline {display: inline;}
.fontsize10pt {font-size: 10pt; }
#addcb {width: 20px;} 

This is the HTML to contain the checkbox and text shown to the visitor:

<div class=”fontsize10pt” align=”center”> <div id=”addcb” class=”displayinline”></div> I am not a spam bot. </div> 

Here’s the javascript to create the checkbox:

<script language=”JavaScript” type=”text/javascript”> var checkbox = document.createElement(“input”); checkbox.type = “checkbox”; checkbox.name = “verifycheckbox”; checkbox.value= “1″;

var div = document.getElementById(“addcb”); div.appendChild(checkbox);

checkbox.checked = false; </script>

All you have to do once the form is submitted is to check for the existence of form.verifycheckbox. If this variable doesn’t exist, the user didn’t click the checkbox so redirect them back to the form.

Pretty simple solution. This is much easier for a human visitor and spambots won’t see the checkbox.

I’ll monitor the performance of this technique and let you know how it goes on our live web site.

A client I’m working with needed access control for his WordPress website. I use the Thesis Theme for WordPress with Digital Access Passfor access control. The site I’m working on needed 3 menus: – Not logged into Digital Access Pass (DAP) – Logged in with limited access – Logged in with full access The site isn’t selling products, we’re just using DAP to control access to different parts of the website. We’ve setup two “products”: – Investors – Clients Clients have access to everything investors do. This access control is setup in the products area of DAP. The problem was trying to display different menus based on if the user was logged into DAP and if they were, show the correct menu for that user type. I setup three menus in WordPress for each of these states. As you edit each menu, you’ll see “post” in the URL to get the Menu ID you’ll need later:

Wordpress Menu ID

Wordpress Menu ID

I use the Menu ID so I can edit the menu and not worry about having to change the custom_functions.php code. Next you’ll need the product ID’s within Digital Access pass. Navigate to the DAP > Products > Manage and you’ll see “Product ID” as the top entry for that product:

Digital Access Pass Product ID

Digital Access Pass Product ID

Now that you have the product ID and menu IDs, you’re ready to add a custom function to Thesis. Edit your custom_functions.php file:

function custom_wp_nav() { 
  $session = Dap_Session::getSession(); 
  $user = $session->getUser(); 

  if ( !Dap_Session::isLoggedIn() && !isset($user) ){ 
     wp_nav_menu( array('menu' => '6' )); //Main Menu (not logged in) 
  } elseif ($user-&gt;hasPaidAccessToProducts("3")) { 
     wp_nav_menu( array('menu' => '5' )); //Client menu 
  } elseif ($user-&gt;hasPaidAccessToProducts("1")) { 
     wp_nav_menu( array('menu' => '7' )); //Investor menu 
  } else { 
     wp_nav_menu( array('menu' => '6' )); //Main Menu (not logged in) 
  };
} 
add_action('thesis_hook_after_header', 'custom_wp_nav'); 

So we can see in the code above, the MenuID’s are used in the wp_nav_menu function calls and the ProductIDs in the “hasPaidAccessToProducts” DAP function call. Here’s what each menu/user state looks like: Not logged in

Not Logged in - Menu ID 6

Not Logged in - Menu ID 6

Logged in as “Investor”

Investor Menu ID 7

Investor Menu ID 7

Logged in as “Client”

Client - Menu ID 5

Client - Menu ID 5

This was a perfect solution for the website we were building as we weren’t selling tons of products and only using DAP for user management for two different access levels. Of course we get all of the benefits of using DAP like being able to send emails to each type of user, etc. If you don’t have Thesis and Digital Access Pass, you can find them here: – Thesis Theme for WordPressDigital Access Pass I hope this code example can help a few people. Let me know if you have any better ways to do this or suggestions for improving it.

I was looking for a way to secure my WordPress sites easily. Since my server only has a few IP addresses and I don’t want to buy and install SSL certificates for each web site, I was looking for an easy way to secure my WordPress Admin area.

Using htaccess files to secure your web site

I’m a big believer in using sever-side security tools. You can easily add an .htaccess file to any Apache web server web site for quick server-side protection. This is a simple text file used to tell Apache how you want to secure your files or folders, among other things you can use .htaccess for.

The two main ways I use server security is to restrict by user authentication or IP address restrictions. Because user authentication involves a username and password, unless I control the password, I don’t know if the user actually is using a secure password. I suspect people are creating better passwords these days, but if you don’t have a tool to help you remember passwords, people generally create passwords that are easy to remember…and easy for hackers to figure out!

If you like to use passwords, I highly suggest using this online site to generate REALLY good passwords: GRC’s Perfect Passwords

I will take a random selection of the middle row to generate REALLY secure passwords.

I prefer using IP address restrictions for security

Even as good as GRC’s passwords are, I still prefer using IP addresses to restrict users from my admin pages. This approach is great if you have a static IP address but you do need to keep updating the .htaccess file with updated IP addresses if your IP address changes. I needed an easy way to re-generate that .htaccess files.  There are a few htaccess generators online but I wanted something customized for me so I wrote one this afternoon.  You can access it here:

http://www.toshop.com/htaccess-generator.cfm

Here’s what it looks like:

This htaccess generator is very simple to use.  You enter in a list of IP addresses (one per line) and what action you want to take and generate the code, either to ban the list or only accept that list of IP addresses.

After you run the code generator, just copy and paste the generated code into a text editor and save it in the folder you want to protect.

I store the list of IP addresses in a cookie in your web browser (NOT on my server) for six months.  The next time you come back to re-generate your htacces file, your list of IP addresses will still be there.

Summary

You can use the htaccess generator for your web server to protect or exclude a list of IP addresses quite easily.  If you have a dynamic IP address, you may need to keep updating your .htaccess file, but this generator makes easy work of that.  It’s a lot more secure than just letting anyone have a crack at your wordpress admin area!

I live in Europe and am always looking for characters that aren’t on the U.S. English keyboard on my Mac. I found a pretty cool web page last year with the Mac keyboard short cuts at Washington State University. A few of the keys are different with Mac OS X Lion, but overall it’s close. I wanted an updated reference and I added the visual Keyboard Viewer graphics. They are a nice visual overview of what’s available.

Mac OS X Lion did add a pretty cool new feature. If you hold down a key with one of the accents, a little selector bubble will appear over your cursor. Here’s what happens when I hold the letter a down:
Mac OS X Lion Keyboard Trick

That’s a pretty cool trick. My son, Spencer, pointed out that this is how the iPhone works.

Here’s the Mac OS X Lion Keyboard Shortcuts Reference… enjoy!

U.S. Keyboard

With the Option Key

With the Option + Shift Keys

Accent Key Strokes Available Characters
Grave ` option ` + the character À È Ì Ò Ù  à è ì ò ù
Acute ´ option e + the character Á É Í Ó Ú á é í ó ú
Circumflex ^ option i + the character Â Ê Î Ô Û â ê î ô û
Tilde ~ option n + the character Ã Ñ Õ ã ñ õ
Umlaut ¨ option u + the character Ä Ë Ï Ö Ü Ÿ ä ë ï ö ü ÿ

 

Key

Stroke

+Option +Option-

Shift

Key

Stroke

+Option +Option-

Shift

A å Å 0 º
B ı 1 ¡
C ç Ç 2
D Î 3 £
E ´ 4 ¢
F ƒ Ï 5
G © ˝ 6 §
H ˙ Ó 7
I ˆ 8 °
J Ô 9 ª ·
K ˚ -
L ¬ Ò = ±
M µ Â [
N ˜ ]
O ø Ø \ « »
P π ; Ú
Q œ Œ æ Æ
R ® , ¯
S ß Í . ˘
T ˇ / ÷ ¿
U ¨
V
W
X ˛
Y ¥ Á
Z Ω ¸

 

← Older Posts