codenode

DB<3> x $code

The truth about QuiBids

Posted on July 29th, 2010 by Daniel Nichter

QuiBids is a penny auction website with an irresistible hook: win awesome stuff at bind-blowing prices, like a brand-new Apple iPad 16 GB Wi-Fi for $4! It seems unbelievable but it’s true. It’s also very deceptive.

I spent a little over $300 today and won only some Pyrex contains (I did need them, at least). Before I expose the penny auction machinery let me make clear: I’m not blogging this in a fit of rage over my $300 Pyrex containers. Believe it or not but I don’t care about the money. Also, I intended to spend that much because I was sure no one would out bid me at that price level (I was bidding for an iPad and historically they’re won at far less than $300). My motivation for this blog is simply to lay bare the plain details and facts about how (this) penny auction website works financially, to show and prove to you that, unless you enjoy seeing your money disappear at a fantastic rate whilst participating in the grotesque enrichment of the company to which it went, you should not participate in penny auctions.

I speak of QuiBids because it’s all I know. I can only guess that other penny auction websites operate similarly. If QuiBids objects to this blog post then that’s too bad because I’m protected by free speech and nothing I’m about to say is false to the best of my knowledge. (I will correct any factual inaccuracies pointed out to me.)

Let’s use this auction as an example. At the time of writing, the bid price for that iPad is $157.26. Let’s simplify and call it $150. Now here are some important facts:

  • Users (i.e. you and me) must buy bids; users do not bid with real money.
  • Each bids cost $0.60 (sixty cents). E.g. 75 bids = $45.
  • The price of items, like our example iPad at roughly $150, are bid up in $0.01 (one cent) increments (this varies; sometimes the increment is more).
  • The user who wins can buy the item at its final bid price.

Let me first emphasize the last point. If an item is bid up to $150 and you win it, then you buy it for $150 plus all the money you spent on your own bids, that is, $0.60 times the number of bids you made. So if you made 100 bids then you spent $60 on bids (100 * $0.60). Therefore the real final price for your item is $210: $150 for the bid price + $60 spent on bids.

Obviously you want to place as few bids as possible, but that seems nearly impossible to do if you have any chance of winning a “sexy” item like an iPad because, as our example auction shows, the bidding may drag on for hours. Our example auction began sometime this morning around 11am–I know because I place 278 bids ($166.80). This presents a very high barrier: bid competition. Some auctions end after less than 100 bids, and other auctions require thousands of bids. It’s easy to calculate how many bids an auction has received: for auctions with $0.01 cent increments the number of bids is simply PRICE * 100. So our example is 150 * 100 = 15,000 bids. The math is simple: 1 bid = 1 cent increment in price and there are 100 cents in a dollar so there are 100 bids in each dollar of the price.

Now wrap your mind around this: each bid cost someone $0.60, so if an item, like our example iPad, has received 15,000 bids then that’s 15,000 * $0.60 = $9,000 that QuiBids receives for one iPad.

Someone is going to win that auction, and let’s say it’s someone who comes into the auction late and bids only 100 times, thus costing their self $60 plus whatever the final price of the time is. Right now, since I’ve been typing, the price has increase from $157.26 to $160.78. Let’s be generous and hypothesize that someone won it at $160. So their final price is $160 + $60 = $220. And $160 at 1 cent increments requires 16,000 bids minus the 100 the winner placed meaning that the losers spent $9,540 (15,900 bids) for nothing. I am one such loser.

In their defense, QuiBids let’s you apply the money you spent on bids towards buying the item at what they consider retail price. For me that means I can buy the iPad for their retail price of $699 – the $166.80 I spent on bids, which equals $532.20. With shipping the iPad is $548.19 from QuiBids and $528.94 from Apple, a difference of only $19.25. That’s seems fair, right? No, we’ve been tricked again! When I describe it like that it looks like I’m only paying $19.25 more for my iPad but in reality I’m paying $548.19 to “buy it now” plus the $166.80 I already lost which totals $714.99, or $186.05 more than had I just bough the iPad directly from Apple. I’m still better off just paying direct from Apple and cutting my losses with QuiBids because if I buy from Apple for $528.94 that totals $695.74 with my $166.80 QuiBids loss, or $19.25 less than the “buy it now” option. Sure that’s only $19 but why give QuiBids another $19 when they’ve already raked in over $9,000 for that one iPad?

Even worse, my $300 loss was over two auctions so the amounts cannot be combined to buy an iPad through QuiBids less $300. If that was possible then I probably would not have written this blog. (I intended to play only one auction but technology failed me–that’s a completely different complaint, though.) I think the inability to combine losses verges on unethical because, all told, I gave QuiBids $300 in exchange for $26 worth of Pyrex contains–that’s terribly imbalanced. I’m willing to pay them more than Apple’s retail for an iPad because the extra money would be for giving me and others a chance to win that iPad for a very cheap price. Of course, any way it goes, I’m out money but that’s the price I pay for playing such games.

The bottom line: penny auction websites like QuiBids are a bad idea because countless people will waste countless hours of their lives only to lose thousands of dollars on a single item which costs, at retail, only a few hundred dollars, and all their lost money becomes the sole profit of the company which cleverly masques the dollars-and-cents reality of its game in a shroud of penny-bid lingo.

Are you a hacker?

Posted on June 2nd, 2010 by Daniel Nichter

A stranger once asked me, “Are you a hacker?”, when he saw me coding on my Linux-running laptop. I didn’t know how to answer him, but after seeing only one guy in the OSBridge Hacker Lounge last night at 21:30 hours when I was finally going home I realized that, no, I’m not a hacker. Being in your teens and actually coding all night are requirements for being a “hacker” proper. The rest of us are just professionals who hack it until 22:00 hours at best then go home for a full nights sleep. “Hacker” whatever at conferences amuse me because let’s face it: being young, owlish, and poor of diet and sleep may have gotten us to this point in our lives, but it does not and will not take us further.

Code documentation

Posted on May 19th, 2010 by Daniel Nichter

I’m guilty of not always documenting my code. Last week I finished up a big project, lots of new code, and by the end I wasn’t documenting the code because I thought, “the code is obvious, just read it.” And while the code may be obvious if one reads it, I realized yesterday that one probably doesn’t want to read it at first. I realized this when I found myself reading code docu/comments Baron put in some new modules for mk-index-usage. He wrote a bunch of code while I was working on my project so when it was my turn to work on mk-index-usage and I needed to bring myself up-to-speed I read Baron’s code docu, not his code. I trust that if Baron’s comment says “do x and y” then the code following does x and y and, until I need to tinker with x and y, I don’t care how x and y are actually done. My code doesn’t afford Baron that luxury because not everything is documented. So poor Baron had to actually read my code. Perhaps the real irony and question is: why would I take time to blog about this but not take time to write code documentation?

Program in the morning

Posted on April 9th, 2010 by Daniel Nichter

I’m a morning person. 8am is late to me. I’m also a late-evening person. I sometimes work from 8am to 10pm (with breaks for eating). I’ve learned time and time again that programming late-day, or whenever you’re tired, is truly a waste. I spent 7 hours late yesterday trying to perfect ReportFormatter–a rolled-my-own Perl module for generating columnized reports of insanely variable-width data. I was close, but whenever I’d fix X, Y would break, and vice-versa. I forced myself to quit, go home, eat, drink, sleep and in 3 hours this morning I redesigned the module and it works. The design and code is also nicer, unlike the hackish code I was desperately trying to munge into working order yesterday. All that wasted effort for,

Variable                  ...figs/mysqldhelp001.txt ...figs/mysqldhelp002.txt
========================= ========================= =========================
character_sets_dir        /home/daniel/mysql_bin... /usr/share/mysql/chars...
pid_file                  /tmp/12345/data/mysql_... /mnt/data/mysql/sl1.pid
ssl_key                                             /opt/mysql.pdns/.cert/...
report_host               127.0.0.1
log_bin                   mysql-bin                 sl1-bin
innodb_file_per_table     FALSE                     TRUE
datadir                   /tmp/12345/data/          /mnt/data/mysql/

That looks simple, but so do many things which are complex under the hood. It’s amazing how simple it is to do in ones mind. Perhaps that’s why coding such a thing is difficult when one’s mind is fatigued, when the idea-code translations come out as logical as dreams.

Copyright © 2009 codenode. Theme by THAT Agency powered by WordPress.