Play Hangman on Website
Feb 8th
To get more users interested in sharing their word lists with others, I released a web app version of Custom Hangman. Its in beta. Check it out at CustomHangman.com.
Cross browser FireUnit for JavaScript unit testing
Feb 4th
I’m been delving more deeply into the world of front-end development recently, and after trying out a few different JavaScript unit testing tools I selected FireUnit. I installed the Firefox extensions Firebug and FireUnit – you need both for unit testing with FireUnit.
However, sometimes Firebug doesn’t work for me and I want to use Safari for debugging JavaScript. I also found some tests that worked in Firefox but failed in Safari just because of differences in how the browsers handle UTF-8. Running your JavaScript unit tests in multiple browsers is clearly a good idea. So, the obvious drawback to using FireUnit is that it only works in Firefox.
My solution is to create a stub version of FireUnit so when I run my tests in Safari, the stubs are defined, but when I run them in Firefox, my tests use the real FireUnit functions. The following code at the top of my test files make them work in any browser, with or without FireUnit.
<script src=”FireUnitStub.js” type=”text/javascript”></script>
Of course, I need my stub source code in a file FireUnitStub.js in the same directory for the above line to work.
I’ve only implemented a few of these functions so I hope someone else will do it properly and completely, maybe using the source code for FireUnit itself.
Hereby forthwith released into the public domain. Have fun!
Here’s a screen shot of my tests after a successful completion in the Safari browser, with the debugging enabled. (Click on the image to see the whole image.)
Super Freakonomics
Feb 1st
Just wanted to share what I’m reading now. Super Freakonomics is the sequel to Freakonomics. If you like non-fiction at all you’ll probably love both books. Authors Levitt and Dubner shock you with facts and statistics in several important areas which make you conclude oppositely from conventional wisdom. Don’t read it if you don’t like questioning authority.
A PPC Pro looks at domaining
Jan 28th
I found a new blog by a PPC marketing specialist, PPC Ian, who went to his first domain conference. I think it is valuable for people in any niche industry to understand how other similar-but-different business professionals see their industry. That’s why I advised domainers to learn more about the affiliate marketers in a recent post. We learn a little more about the forest whilst we’re working dilligently among the trees. (Sorry, are Americans allowed to say “whilst”?)
Ian’s summary of domainers is revealing:
There are two main schools of domainers. The first school are those that buy domains with the goal of selling them for a profit (this is the more traditional side of domaining). The second school are those that buy domains, develop them, and then enjoy passive income.
What is interesting is that he does not mention parking. True that, Ian! Here’s a link to the whole post:
Memory lane: Afternic.com purchase
Jan 25th
Even though it only lasted two or three months, there were a lot of twists in the story of how my brother and I purchased Afternic.com in 2002. It was a comedy of errors that in the end worked out great for everyone.
I had called Register.com to discuss a referral deal when they turned the discussion towards purchase. Of course, I said, “how much?” and they said make an offer. They had announced they were shutting it down, so I said that means they must value it at about nothing. Right? Somehow, we agreed on an amount around $400,000.
Only one problem: we didn’t have the money. I had an MBA but no track record in business and in hindsight I was naive about how hard it is to raise investment quickly. The biggest bank in South Florida laughed at the idea of borrowing funds for a website, so that option was off the table. My rep there didn’t get it – she thought I wanted something like a home page. LOL. Friends and family were not interested. I did raise $25,000 from two former classmates in my executive MBA program but one of them – the one who put in $20,000 – got cold feet and I refunded her investment about two months later.
I thought I was going to have to cancel the deal. My brother and I discussed how it might go when we told them. Then, out of the blue, Register called. Said, very sorry, but after legal review, they could not sell us the user list – the database – because of the privacy agreements with their customers. They were canceling, not us!
We agreed to leave the database and the software that ran the website out of the transaction. It would become a domain name only transaction (plus some email marketing service for some emails to the old customer base). And they would drop the price about 75% to around $100K.
Deal! I was able to handle that with a home equity loan, which was easy to get back then.
Turns out even that refunded investment was a twist of good luck – we had needed just that much money for just that period of time to cover an earnest money deposit before my home equity line funds became available!
Michael and I thought we already had a better website on NameBuySell.com – I just had to rebrand it – so we didn’t value the technology that ran the old Afternic.
Register agreed to email the old user base up to 12 times for a fee each time. We used two emails and passed on the rest.
I finished up a software development contract developing the software for an embedded Linux USB module for aircraft for Gables Engineering in Coral Gables, FL about one week before we closed the transaction. I became the first full-time employee of the New Afternic, working from a spare bedroom in my house in Plantation, FL.
I rushed to rebrand NameBuySell.com to Afternic.com in one week. We came up with a promotion to sell all memberships for $1 to celebrate our becoming the New Afternic.
I was extremely nervous because none of my websites had ever had to handle as much traffic as Afternic.com would get. Turns out one managed server running PHP/MySQL replaced several servers running Cold Fusion for Old Afternic. And it worked great.
We owned the #1 site in the US for aftermarket domains according to Alexa.
Barefoot Attempt 2009
Jan 19th
Before the recent cold snap I got a chance to cut up on the lake. I attempted to barefoot after not doing it for a few years. The result was I bobbled back and forth for about a hundred yards and then face planted. Just thought I’d post one personal item to shed some light on the new name of the blog: Internet Lake. Enjoy my embarrassing demonstration.
Lesson Learned on Racial Sensitivity
Jan 15th
Our hangman app graphics contained a gray stick figure, in a pink dress and a straw hat to make the image more fun, silly, and comical rather than serious. With every missed letter, the stick figure became more silly. However, several people reported being offended at the depiction of a black man (half said man, half said woman) being hung in our graphics. And after a careful second look, with the complaints in mind, I could understand the complaints. So we modified the images to remove any hint of darkness in the stick man being hung. Here’s the final picture now, when you lose a game:
What do you think?
We’re just waiting on Apple to approve the update.
Blue button images for iPhone apps
Jan 14th
The iPhone SDK makes it easy to add a bright blue button on the navigation bar. It is the color that means press this when you’re done doing what you’re doing. However, if you want to add a button with the same meaning somewhere else, its a lot of work. There is a blue button that all the demos and beginning developer books use that is provided in the sample apps, but its the wrong color of blue. So, here’s the right color. First, normal:
Then, here is the code to make the images stretchable and set your button images to them. Put this in viewDidLoad method:
UIImage *buttonImageNormal = [UIImage imageNamed:@"action-normal.png"];
UIImage *stretchableButtonImageNormal = [buttonImageNormal stretchableImageWithLeftCapWidth:12 topCapHeight:0];
[playButton setBackgroundImage:stretchableButtonImageNormal forState:UIControlStateNormal];UIImage *buttonImagePressed = [UIImage imageNamed:@"action-pressed.png"];
UIImage *stretchableButtonImagePressed = [buttonImagePressed stretchableImageWithLeftCapWidth:12 topCapHeight:0];
[playButton setBackgroundImage:stretchableButtonImagePressed forState:UIControlStateHighlighted];
Here’s what it looks like when you’re done. Notice how it matches the standard switch control pretty well:
Feel free to download and use these images and code. Hope it helps.
The Machinery of Freedom
Jan 12th
One of the fallacies we have adopted in our society is that some producsts/services are so special or some particular situations are so special that we should abandon free market principles and let government take over. We’re being suckers when we do this for several reasons. First, almost never is a product/service really that special. Economists look for “externalities” when discussing whether or not government might be able to address some weakness in the free market. If there is no externality there is no opportunity for government to help. What percentage of voters know what an externality is? (Externalities are not common enough to justify all the intervention that government and special interests desire to inflict on us so you don’t hear much about them.)
Second, it is a slippery slope. Every special interest thinks it is special and lobbies for some special interference that, surprise, surprise, happens to benefit their special interest a lot while it takes care of some special problem in the free market.
Third, thanks to rational ignorance, we will never study these issues enough to influence government towards interfering where it makes sense rather than interfering where it is just benefiting some special interest.
The result is an ugly free-for-all among special interests for the national treasury while the general public naively thinks, “I guess if the free market is not working then the government needs to step in.” Its a global robbery.
This book describes what would probably happen if we never said government can step in. Its extreme, but we should all be required to read it before we can vote. At least we would not be so knee jerk anti-free-market.
Click on the image of the book to purchase on Amazon. I’m an affiliate of Amazon so it helps support this blog.
Custom Hangman Available on App Store
Jan 11th
If you’ve got 99 cents and an iPhone or iPod Touch you can now purchase Custom Hangman, the best game of Hangman on the app store, in my arrogant and biased opinion. But seriously, if other versions of this game were boring (including the pencil and paper version) it was because you didn’t play with the words that interest you. When you play with the right word list, it is addictive. For example, if you’re into Celebrities, we have People Magazine’s top 100 celebs for you to play with.
And if we don’t have the list that lights your fire, you can make your own… and share it with your friends or followers. That’s what we mean by “Custom.” You make it your own.
You can find it in iTunes by searching for “Custom Hangman.” Or just click this link:
itms://itunes.apple.com/us/app/custom-hangman/id348695976?mt=8
Enjoy.




