Archive for Software Development

Transitioning From My 9-5 Job

So I’m in the process of making a transition from my 9-5 job to working from home. I originally anticipated making this transition sometime next year so that I can finish my math degree, but my 9-5 has been forced to reduce its workforce. Unfortunately for me, I was one of those to be reduced. My wife cringes when I say the words laid off, but that’s what they call it. At least it comes with a severance package.

My first attempt at working from home will be freelance programming. This seems to be the best way for me to generate income in the immediate future, so I created profiles on eLance and Guru:

ryanjparker.elance.com
profile.guru.com/994494

So far I like eLance the best, but I haven’t even been doing this a week, so that is subject to change. I’ve had a small success so far, as I accepted my first eLance project on Friday.

To be honest I haven’t heard rave reviews about freelance coding services, as the feeling seems to be that most people want the world at a cheap price. Hopefully I can avoid those sorts of projects.

My plan is to develop one of my own websites during this process, WhichTeamWins.com and work on some open source software. Hopefully I can generate some meaningful income (either directly or indirectly) through those projects as well.

I’m interested in hearing from anyone that has made a similar transition (successfully or unsuccessfully). If anyone has any tips I’m all ears!

Placing AuctionAds Inside of an IFRAME for Better Website Performance

Until AuctionAds realizes that they should write their code into an IFRAME, it is best you create your own IFRAME for these advertisements.

This is important for two reasons. First, the latency between your website and the AuctionAds website might be different causing your pages to load slower than normal. Second, if the AuctionAds service is down for whatever reason your pages will load extremely slow.

By placing your AuctionAds inside of IFRAMEs you won’t have to worry about these issues keeping your visitors from viewing your website’s content.

Creating the Code

First, you’ll need to make an HTML file on your web server that contains the AuctionAds code you wish to embed into your website.

Next you’ll need to create the IFRAME where you wish to code to reside:

<iframe src="aacode.html" width="WIDTH" height="HEIGHT" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" ></iframe>

Make sure you replace aacode.html with the appropriate path to the HTML file you uploaded to your web server, and also change WIDTH and HEIGHT to the appropriate values for the ad code.

That’s it! Never again worry about AuctionAds affecting your website’s performance.

Now if they’d only do this for us…

UPDATE: Poking around I see AuctionAds does put their code into IFRAMEs (not sure when this was activated or if it was always like this). That said, AuctionAds hasn’t been the most reliable service, so keeping with your own IFRAME will keep your website from screeching to a halt when there is an outage.

Tags: ,

Are You Headed Towards a Path of Mastery…

…or are you headed towards a path of mediocrity?

A couple of months ago I performed very poorly on a Calculus II test that I spent a lot of time preparing for, when in reality I ended up preparing in all the wrong ways.

This ended up being an eye opening experience for me, as I came to realize that the things I wanted to spend the most time on (like preparing for the Calculus II test or studying on my own time with books like this book or this one) was being wasted away to things that, over the long haul, won’t make the kind of impact on my life like educating myself on these topics will.

One of those things was this blog (along with a few other web projects) that could be something good one day, but are instead taking away from what I need to be focusing on.

All of this thinking was driven home by Seth Godin’s latest book, The Dip. This book talks a lot about quitting, but in reality it’s a book about becoming the best at what you want to do. If you can’t become the best at what you’re doing or you won’t put in the hard work necessary to push through the dip, then you should quit and focus on something that you can become the best at or will put in the hard work necessary to push through the dip.

For me, this dip is a conglomeration of things, but most notably it’s a small area applying probability theory, statistics, neural networks, etc. to sports. This blog won’t help that. A few other projects I was working on won’t help that. I’ve got smartcapper.com and whichteamwins.com for various aspects of this, and I expect these to be my only focus for some time to come.

I’d like to hear your thoughts, especially if you feel you’re on a path to mastery or not, and if not, how you can fix it.

Also, from now until next Thursday, May 31st, I’m going to take everyone that comments on this post about their path to mastery and randomly select someone that I’ll send a copy of The Dip to. I got a free copy from Seth as he selected my question as one to answer over at Personal MBA, so I want to share the love.

I’ll make a new post about this tomorrow in case people see the title of this post and don’t realize I’m giving something away, so feel free to spread the word.

Geo-Targeting with MaxMind’s GeoIP API

Geo-targeting is something I’ve wanted to figure out how to implement, but it’s also something I’ve had no need for.

That changed, however, when I was accepted into AzoogleAds publisher program. Azoogle has offers for both the US and International markets, but most offers are targeted to one or the other–not both. As such, to show multiple offers on a given page or website based on the user’s country I’ll need to implement a little geo-targeting.

The only website that receives any noticeable international traffic is Smart Capper. The handicapping tools receive a lot of non-sticky search engine traffic, so I’m going to use Azoogle to try and monetize that traffic.

The top three traffic sources I’m looking to monetize are the United States, United Kingdom, and Canada.

To do the geo-targeting for these locations I first tried to use hostip.info’s IP address database. I quickly realized, however, that their database is far from complete (it had no idea where I was located). As such, I needed to find an alternative.

The alternative: MaxMind’s GeoIP API.

To use the GeoIP API, you must have one of the GeoIP databases. MaxMind has a wide range of databases to choose from, but I chose their free GeoLite Country database, as I only need to get the user’s country, and 98% accuracy is fine for my traffic.

Once you’ve got the database of choice and the GeoIP API for the programming language you’re using, all you have to do is make the correct API call and you’ve got the information you need.

As an example, you can use the following code to get the country code for an IP address using the GeoIP API with PHP:

// include GeoIP PHP API
include("geoip.inc");

// open the GeoIP binary database
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);

// $ip is an IP address
$country_code = geoip_country_code_by_addr($gi, $ip);

// Country codes:
// http://www.immigration-usa.com/country_digraphs.html
echo $country_code;

This made geo-targeting very easy, and based on the other databases MaxMind offers, they’ll be my first choice if I ever need more detailed information.

If you’re in need of geo-targeting and not sure where to start, then I hope this post has helped make things easier for you.

Tags: , ,