Wwwebber's Blog

Elance vs Odesk – Comparison of Site Features

Posted in Uncategorized by wwwebber on February 5, 2012

I have spent almost $20,000 at Odesk and Elance , and I wanted to share my thoughts on the two sites. Most of my experience has come from the last year, so my reflections should be pretty relevant as of right now: 2012.

I have used both sites for hourly and fixed rate jobs. However, I have definitely used elance more–spending about 17 K there  over the last 12 months  as opposed to about 5K on  O-desk.

There are lots of different ways to look at these two sites, but this post will focus on the features that each site has–how it lets you pay for jobs, find contractors, set up milestones, use escrow services etc..  I’ll dedicate another post, later, to the quality and type of developers that I have encountered on Elance/odesk (Overall I have found some great people on both sites!)

Hourly Jobs:

The Time Tracker:

Overall, these sites have many of the same features –especially for hourly jobs. Both provide an hourly time tracker. Basically, it works like this. I hired someone to translate one of my sites to another language, and every 10 minutes or so the application takes a screenshoot of their computer and uploads to Elance/Odesk. This is great because it lets you see exactly what a freelancer was doing for given periods of time.  Odesk and Elance tied on this count–both had nice applications that did basically the same thing.

Fixed Price Jobs

-On Odesk:

You pay a certain amount of money upfront and then agree upon a deadline to pay the rest. There is no formal way to escrow payments or manage milestones. Nor is there any reminders from Odesk that your final deadline is approaching. This last point might seem like no big deal until you have 3-6 jobs going.

Below is a screen shot of the Odesk view for a fixed price job that has already been partially paid (ie most of the milestones had been paid for). I crossed out some personal information –like the picture of the developer etc

-On  Elance.

Both the client and the freelancer can edit and modify the milestones.  However, both parties (client and contractor) must agree to any changes in the agreement.  The client can escrow all of the money in advance (great for end of the year jobs when you want to withdraw money from your account before the tax year ends).  You can associate specific parts of the job to be done with specific milestones and either one of you can request that these milestones be modified. Also, the freelancer can formally request that you escrow a given milestone before he or she starts working on it.   As a specific example, consider a math homework help site (www.painfreehomework.com) that was made by a a company I found on Elance.  I am going to make up some fictional numbers, but it went something like this. The company said that they could do it $4000 by April 1st. I accepted that bid, then that company set up several milestones that went something like:

  • January 1st: Complete mock up of site  – $1000
  • February 1st: Create database scheme and coding back end  $1000
  • March 1st: Rough draft  of site live ($1000)
  • April 1st: Final deliverable of the site ($1000)

At this time, Elance sent me a mesage that the contractor has adjusted the terms of the agreement and showed me the dates describe above. I then have the choice to accept or refuse these changes in the terms and conditions (I”ve never refused so I can’t comment on that).

After you accept these terms, the freelance contractor gets notified. The contractor then generally ask you to put the first milestone’s worth of money into an escrow account.

Below is a screen shot of the Elance view for a fixed price job that has already been escrowed.

Communicating With Contractors

Both  Elance and Odesk have a private messaging system that sends copies of private messages to your inbox. There is one difference–with Elance you can actually reply to the email itself and your reply will get sent as a private message to the contractor.

In the end, if you are going for an hourly job, I think the site features for Elance/Odesk are equivalent. However, when it comes to fixed price jobs–Elance is the hands down winner! By the way, I am in no way associated/affiliated with either of these sites.

Free Online Mortgage Calculator

Posted in Uncategorized by wwwebber on January 24, 2012

I wanted to write a quick post about a very cool free online mortgage calculator — If, like me, you are not the most knowledge about amortization tables, 30 vs 15 year mortgages, and the like, then this calculator might help out a bit. It not only shows the monthly payments, but also creates charts showing the amortization schedule.


Very cool. Check it out.

Comments Off on Free Online Mortgage Calculator

Upgrading to Box2D 2.1 (Flash)

Posted in Uncategorized by wwwebber on May 11, 2010

Box2d 2.1 offers several improvements in its use of events, its object models and added features like buoyancy, over 2.02 but you’ll find that none of your code compiles anymore.

Read this post about fixtures
Read this forum post about the new and improved contact listener
2.1 a documentation
Other changes

Version 2.02 Version 2.1
myB2body.WakeUp() myB2Body.SetAwake(true)

Gone and Not Necessarily Missed

  • myB2Body.SetMassFromShapes() //apparently done automatically
  • declaring a size of your   B2World() . Create a world with new b2World(GRAVITY_VECTOR,  doSleep ) Notice the lack of a b2aab for the world size!

New and Very Welcome

The new contactListner is vastly improved and would take a whole post in itself to explain, but it’s a very welcome improvement

I’ll add other small feature changes as I stumble upon them while working on my new kids game: RJ the Robot ( math based platform game)

Comments Off on Upgrading to Box2D 2.1 (Flash)

Actionscript 3: BitMapData–how to Dynamically Apply a filter, scale and then center BitmapData

Posted in bitmapdata, image effects, Uncategorized by wwwebber on February 21, 2010

Basically, if you are wondering how to create a new BitmapData by scaling a display object and also applying a filter and you would like to keep track of the new center of your scaled bitmapdata …this example is for you.

I was working on a new game for my online math games site and I wanted to be able to create a new BitmapData that was a scaled down version of a library item. This in itself is easy but it required a bit of extra to work to also be able to scale the display object dynamically as well as dynamically apply a filter , and all the while keep track of the center of the ‘real object’ (ie the radius of a original circular meteor). Knowing the true center of the bitmapdata as well as the radius of the ‘real’ object (ie not counting the filter) is necessary for doing collision testing in the math game.

I have attached a flash cs3 version of the file whose demo you can see here and download the cs3 file here. As an aside, I hate using timeline code but I wanted to provide this example in a single file…so I put all the code in the main time line. The code does all of the work and places a red dot at the calculated center of the bitmap. This sort of stuff is useful in games that requiring blitting aka 8bitrocket.com style

1) create instance of library item (in my case a meteor)
2) Scale down or up the item
3) apply filter around item
4) create a new bitmapdata based on the size of the scaled meteor and the size of the filter (both dynamic)
5) keep track of the ‘actual’ radius of the scaled meteor (ie sans the filter)

Data-lists.com is a Scam

Posted in Uncategorized by wwwebber on August 10, 2009

I am writing this to so that others do not make the same mistake that I did. A brief summary

1) I bought a database from data-lists(dot)com

2) the site falsely advertisizes a 100% money back guarentee

3) the data that I bought was unusable. They gave me a inconsistently formatted csv… For that reason, the data couldn’t be parsed into mysql.

4) I explained my problems to the data-lists.com scammers . They did not respond to my emails and they did not refund my money.

G0 here for a good US public schools database

Comments Off on Data-lists.com is a Scam

Clean up unwanted characters in a Mysql Database

Posted in Uncategorized by wwwebber on July 25, 2009

I recently had to cleanse a large MySql Database–over 130,000 records and many of the records had one or both of the following problems

1) quotes were not escaped so you’d see a varchar with unescaped single quotes scattered throughout the string–that’s a problem since a single quote indicates the end of the varchar to MySql!

2) The PHP side of the app did not work well ( in fact at all) with periods or commas…and of course we had a lot of them throughout the DB

So here’s the SQL that might help you

the SQL to remove all periods from someTable’s column called someColumn

UPDATE  `someTable` SET  `someColumn`= replace( `someColumn` , ‘.’, ” )

A little trickier looking was escaping all of the single quotes thorughout the db. Here’s how you add a single escape slash before the single quotes:

UPDATE  `someTable` SET  `SsomeColumn`= replace( `someColumn` , ‘\”, ‘\\\” )

I know that last bolded part probably looks wierd–just remember that you have to escape the escape character as well as the quote!

Comments Off on Clean up unwanted characters in a Mysql Database

Migrating an access file to mysql

Posted in Uncategorized by wwwebber on July 17, 2009

UPDATE TO THIS POST: avoid using data-lists.com– I bought two databases from them. One was fine  but the other was terrible, and I’m fighting them to live up to their website’s claim that you can get a refund. Again avoid these guys. If you need a good public or private school database, here’s a reliable one digitalpoint . Moreover, this guys list is available in various formats including a MySql dump.

Ok, this post will help you if

1) your data is an Access file (who the hell uses Access databases anyway?)

2) You need that data in a MySql databases

3) you have mysql  and phpadmin up and running on your computer (you probably also have apache up and running)

The background : After doing a lot of comparison shopping for a few different databases ( I needed one for all public and private schools in the US), the best deal–by a long shot-was this site: http://www.data-lists.com/ — their data was way more complete–1000’s more unique records than  the others I saw and the price was even a bit better than most of the others that I saw out there. There was only 1 major draw back (at least at first it seemed like a draw back) the data only comes in 1 format: a Microsoft Access file–crap. I thought I was in for a major pain in the butt–and before I started researching how to try to parse an Access file into something I could import into mysql I discovered an awesome mysql to Access conversion  tool that is, amazingly enough, free and does a lot of the work for you–it’ll  import your Access db into your MySql db… All you need is mysql up and running on your computer and this baby’ll convert the entire thing for you!.

To be able to do this my way (the easy way), just follow these steps

1) make sure that you log into mysql and start it up, make sure that you have phpmyadmin booted up also

2) download and install bullzip’s convertor tool , then run the tool. It’s pretty straightforward.

3) you will be asked for a bit of mysql info–port number etc..

4) At the prompt you want to do a ‘direct transfer’ which will just take the data and put into a database on your mysql server

5) then you’re good. It’s in your server. Below is a screen shot of the converter tool in action!


Comments Off on Migrating an access file to mysql

Actionscript 3: loading external bitmapdata and sounds

Posted in Uncategorized by wwwebber on July 12, 2009

loading_flashI recently made a math game involving equivalent fractions –it was a lot of fun, my favorite kind of programming. It makes use of about 10 sound files including 4 sound tracks and about 40 rasterized images…needless to say the final file size was too big and the game loaded too slow..initially, the game was  almost 800 kb!  well, i  have almost got it below 500 kilobytes by loading all of the images externally as well as most of the sounds. It’s amazing what a difference the loadiong processcan  make for the end user. If you do it right, the user can just the directions about how to play the game while most or all of the graphics and sounds are being loaded in the background.

Still, my biggest problem about preloading is the fact that flash does not support loading wav files at run time! This is amazingly annoying especially when you consider the fact mp3 files are a  pain in the but to deal with–if  you have to loop them–since mp3’s have header and leader space . If you need to loop mp3’s seemleassly just read this article compliments of 8bitrocket.com

Comments Off on Actionscript 3: loading external bitmapdata and sounds