Another January, another Free Day come and gone. Win or lose, we hope everyone had fun, we sure had a lot of fun in the building here putting it on!

Numbers

Let's go over some numbers, then I'm going to write a bit about how we managed to pull it off this year.

6,437,592 Correct reCaptcha solves - This is the number of people who filled out a reCaptcha successfully. This does not count unsuccessful attempts, including those made by people, automated bots or just those pressing "GO" over and over again with a blank box.

Supposing the average user takes 4 seconds to fill out a Captcha, there were 7188 hours spent solving Captchas, that's almost ten months!

Every Captcha passed through the SparkFun servers - at a rate of just over 300 per second for the 355 minutes that we were actively giving money away.

32,137 unique visitors to /free_day/ as reported by Analytics. This loosely represents how many people took at shot at winning.

Dividing those, we get that the average user filled out 208 Captchas each. That's a lot of garbled words!

704,617 Pageviews on the site over the course of the day.

Of the 2,000 promotional codes given away, 473 codes were redeemed on free day. Almost a quarter of y'all just couldn't wait to spend your bounty! In fact, the first local pickup order from Free Day winnings was at 10:45, less than two hours after the event began.

We gave out promo codes at a rate of 5.6 winners per minute.

We had 7,776 new accounts created on Free Day.

Numbers for the Nerds

At its peak, our MySQL server was serving up 13,380 queries per second.

Throughput in our network peaked at 1,214.35Mb/s.

Bandwidth from our data center peaked at just over 76Mb/s. (See note about cloudfront below)

At its peak, we had 84,220 active TCP connections.

We blocked 32 bots from actively participating in Free Day.

We took down one external site by sending them too much traffic. (Sorry, Pachube!)

The actual setup - the cap was removed from the Geiger tube during Free Day

How We Did It - For the Nerds

If you have experience with the first two Free Days, you might have noticed that this one went quite a bit smoother than in years past. Aside from an initial hiccup while traffic ramped up a full order of magnitude over a span of minutes, the site was responsive and snappy for the next hours as we dealt with the insane amounts of traffic. So what changed from years past?

We put to use some new software and hardware in our web stack. We now have two beefy web servers each with 16 cores and 32 GB of RAM, and a database server with double the RAM. In front of the web servers, we have redundant hardware load balancers to divvy up traffic to the two machines.

In addition to optimizing our own code base to run more efficiently on the hardware we've got, we changed some of the open-source software we use to run things. We jumped ship from Apache in favor of Nginx to serve web pages, with PHP-FPM doing the heavy lifting behind it. In front of everything, we are now running Varnish to cache pages where we can - which proved invaluable to putting on a successful Free Day with the traffic we saw.

When tracking down bugs from last year, we noticed that MySQL was a culprit more often than not when it came to slow-downs. In some places, we've replaced the use of MySQL with the document store MongoDB. For some data, including some hierarchichal data, it just made sense. This is one reason we can keep the page generation time for pages like yesterdays post, with over a thousand comments, so quick. Unfortunately, due to a small bug in Mongo's PHP driver, we experienced an initial slowdown until we could isolate the problem.

In the past, we served all assets from our own servers. During normal load, this was fine - pages were snappy and our bandwidth wasn't too outrageous. Of course, during Free Day everything changes :) Last year we were pushing much more bandwidth because we were serving all static content ourselves. Since then, we've changed things around to use Amazon's Cloudfront. Cloudfront is a global CDN that sits in front of the ever-popular S3 storage service that can deliver content to users from edge servers all over the world - and keep the bandwidth on their infrastructure instead of our own. This does put the bandwidth number above in perspective, though. The 76Mb/s we were pushing through our data center was almost entirely just gzipped text! That's a lot of bits!

Geiger Counter?

Any computer scientist will tell you that random numbers that computers come up with are pseudorandom, that is they are still bound by their nature to be predictable. Even if there's a 1 in a million chance (or more), it's a chance nonetheless and can therefore be predicted beforehand. What, then, can we do to generate a completely random bidding system?

We decided on a Geiger tube to measure background radiation. The Geiger tube pulls a pin low every time it detects a piece of radiation, which for all intents and purposes is completely random and entirely unpredictable. We set up an Ethernet Pro to watch for these interrupts, and send a byte to a daemon running on one of our web servers to alert that the next participant was a winner.

Here's the Arduino code:

And for completeness, here's the bit server that Ben wrote in C to handle the extreme load of handling the hundreds of requests per second we saw on Free Day. He benchmarked it to something like 600,000 requests per second.

Conclusion

Love it or hate it, Free Day has come and gone another year. We in IT think it was success in that we were able to give away the money, and even under our own terms. We were aiming to stretch it out a bit more this year, rather than have it a flash in the pan and over with in just a few minutes. To that end, it was successful, and completely random.

I hope this gives some insight as to what goes on in the IT room at SparkFun during (our) busiest day of the year.

To all that won, congratulations! To those that didn't, thanks for trying and we all hope you had fun.

Maybe do you know to to actualy spend these 100$? Do you have to provide actual payment at first and then get hold of 100$ gift bonus? Oh, and captcha will never suprise me ever again!!! Hats off to the SFE team!!!!

To redeem your code, enter all the items in your cart as usual, and during checkout, there will be a place to enter a promotional code. The code is one-time use only, and it won’t cover shipping (sorry). You will need to enter an alternate form of payment for shipping and the value of items/taxes over the $100.

It was fair because it was random and drawn out. So if you were busy for the first hour, no worries, there was still more time. Plus you didn’t have to sit there all day and type so those who did increased their chances but everyone who entered at least 1 correct CAPTCHA was guaranteed a chance at winning.

True. It started about 3am here, I did it for a short while, then did a little more just before going off to work. It would be much better if it went over a 24hour period, though this would probably be tough for SF to organise.

There’s a lot of people throwing out the word “random” with any one of a number of misleading qualifiers (“100%”, “completely”, “absolutely”).

I will give you that the probability of the geiger counter picking up radiation (pR) and turning that bit high is as close to random as you can get. However, since you may enter more than once, the overall probability of winning is NOT random – it is a function with two inputs, one of which is user-defined.

The probability of winning (pW) is multiplied by how many times (N) you enter (i.e., fill out a correct captcha).

The overall probability of winning is, thus, pW = pR * N

For those with nothing more important to do for that 355 minutes but enter captchas at the rate of 15/m (1 every 4s), your probability of winning is roughly 5,325 times the probability of someone who enters only one captcha and roughly 6 times the probability of someone who spends their entire lunch break entering captchas.

I’m sorry, that’s not right. If your probability were the odds (2000/6,437,592=0.03% or 1 in 3219) times the number of attempts, you would be guaranteed to win if you entered 3219 captchas. Your actual odds of winning with N captchas are 1-(0.9997)N. If you entered a captcha every four seconds for the entire 355 minutes or 5325 in all, your odds of winning would be 80.9%. On the other hand if you entered 1000 captchas (which is still a lot!), your odds of winning were 26.7%. Based on the total participants, your odds in winning were 2000/32137, or 6.2%.

You’re right that you can affect your odds by how many times you entered those mindless letters, but nothing could guarantee that you win (and I didn’t…)

I would just like to point out what “probability” means. What it does NOT say is that if you have a 1/3219 chance of winning, you will win if you enter 3219 times. What it DOES say is that on average it would take 3219 to win - some will win in less tries than that, others in more.

It was “random” (a random variable * a deterministic variable is still a random variable), just not ‘fair’ in a statistical sense. In the same way that if you roll a weighted dice, it is random what it will land on, but there is not an equal probability of each event occuring. The statistical definition of randomness is that doesn’t follow a predetermined pattern.

But anyway it definately wasn’t fun or informative like the quiz last year.

(Oh, and I’m not whining that i didn’t win, I made the decision not to bother, and am fine with that)

My main problem last year was that, i didn’t know wether it was fun or not, because i never saw anything but error pages. While i didn’t particularly like captchas, this year was a huge win for me, because it was the first time that i acutally saw the sparkfun page and not just some error message

I covered that in several comments yesterday - Not all SF parts orders go through SF - Many of us who are overseas have to go through resellers and I believe their is also a retail chain selling them - all are legitimate SF customers, just not off the site.

I didn’t win, but I had more fun (and felt more productive) translating text from scanned documents on behalf of reCaptcha than I would have wasting my own money at a slot machine. And besides, I could have stopped any time I wanted to :)

I’m going to repost a comment I submitted this morning on the previous article; sorry for the redundancy, but with over 1000 comments on the last one I wanted to be sure this was seen:

Why not design a kit for a device that people can buy (for as little as possible), assemble, and plug into their computer that does what we just did this year for us? You can still have the random drawings, limit to one prize per account, and test the servers, but do so in a way that does not require mindless, unproductive effort. Rather, it encourages some to start in electronics, and no one feels swindled out of their time. (Yes, I realize we all chose to participate.. but with this year’s method there is a huge, unintended cost in the number of man-hours of work and creativity lost to the hours of typing and recovering from said typing. I’d even be so bold as to guess the cost exceeds the $200k given away.)

You could advertise the device a few months in advance, with pre-ordering so you don’t make more than necessary. As long as the kits are delivered no later than two weeks before Free Day, everyone should be able to find enough time to put it together and test it.

There are certainly some issues that would have to be addressed, but we’ve got time until the next Free Day. =) What do you think?

We’ve actually talked about the possibility of distributing some sort of physical platform beforehand, should we run a Free Day IV. The downside, I think, is that it would really limit participation for what’s traditionally been a free-for-all. That said, I wouldn’t absolutely rule anything out at this stage. You can be pretty sure it won’t work the same way twice.

There’s one unfortunate problem with your idea, as awesome as it sounds: International customers. Even if we manage to create such a device at a cost of maybe $5, for many people in the world they would end up paying at least an additional $10 of shipping and customs. That’s a lot of money to put out just for a CHANCE to possibly win more SparkFun money.

“At best, users learn to tolerate the CAPTCHA. Never abuse their tolerance, and use CAPTCHA as rarely as possible - i.e. only when you’re sure it’s needed.” - http://captcha.biz/articles/captcha-best-practices.html

I’m a deuteranope. Not to mention it is quite easily beaten; it works on a low-traffic low-reward system like comments on a blog, but when people are determined to hack a system it’d be pretty trivial to break.

Perhaps it would be but they would have to decide if that ~$15 is worth the chance and the fun/education of building the hardware platform that is proposed. They might be able to repurpose the device after the contest. Perhaps the design could be open enough to allow people to source most/all of the parts locally which would also help negate the “they’re using the Free Day kits purchase price to offset the Free Day money given away” complaints. You know that whole “no purchase necessary” clause in most contests. Of course $freeDay4Funds = $freeDayKitSales + $normalFreeDayFunds.

Perhaps, then, in addition to offering a kit you could put up the design and code? Those who already have what’s needed could make and program their own. Those who don’t could look at simplifying, such as using a breadboard instead of a PCB. Just tossing out some ideas. I really think this could work if it’s planned out right.

Yeah. Make it cheap, simple, open source and post code. Apply a portion of the profit from selling kits towards the next free day. Oh, and for goodness sakes, don’t involve your Department of Hacks mindless idea of using captchas.

Sparkfun said there were about 7188 hours spend solving captchas. Depending on the average Sparkfun user’s wages, thats between $50k and $150k of lost wages.

But that depends on how creative the people would have been in that time (if they were not at work) and many other things. I’m sure some Sparkfun users make over $50 an hour and some make $8 an hour or nothing at all.

I think this is a great idea, but have to bring something to your attention. As was said in previous comments, SparkFun customers are some of the most intelligent in the world. That means that if the specs for the kit leaked (which they would), if they made it open source (which they most likely would, and should), or if someone could decipher it from the photos and description on the purchase page, it is guaranteed that we customers would find a way to overclock it, or otherwise drastically increase the efficiency of the system. That means that those who have engineering/programming degrees have a much higher chance of winning than the newb. This is especially true if the device can be purchased ahead of time, reverse-engineered, then posted as an article on www.hackaday.com. The game would be over before it even starts.

Like I said, a tremendously good idea, but it would be very difficult to implement.

Hey Dave, My primary address is set as Australia, but when I view my profile as others see it, is still shows as United States - I advised SF a while back, but it’s still the same. Are some of your stats perhaps off because of this?

The address that appears in your profile is indeed different than the one we mark on the box we ship to you. For these stats I pulled in the default shipping address from each winner; it might not be the country where the winning shipment winds up, but it’s the most accurate way of gauging from which country the winners are from.

I’ve got a bug assigned to me about letting customers edit their country; I’ll see about getting that fixed ;)

edit: Bug fixed; you may now set your country from your profile page if you’re logged in. Note this doesn’t affect shipping, just shows on your profile where you’re from.

Any chance of seeing some raw data from the event? Wins/losses over time? I think that’d be interesting to some of us who enjoy probability. I monitored the live feeds from pachube but they weren’t very informative even with the time resolution bumped up…too bad. Also, why does pachube list 2065 winners?

Pachube didn’t list winners per se, just winning tickets from the ticket server (source code link in the post). There were certain times when someone could get a winning ticket from the Geiger counter, but denied for another reason, like failing an IP check from an IP that was running a known bot.

I’ll see what we can put together for raw data. We kept logs of data we had access to, it’s just a matter of formatting it and making sure it’s stuff we don’t mind putting out there. Is there anything in particular you’d be interested in? Just wins and a timestamp, or anything else?

According to this, and from anecdotal reports, I don’t think we’re blocked, though I suppose it’s hard to know with certainty. I’d expect language barriers and timing to be bigger factors. Plus we just don’t sell much to China, as far as I can tell from a quick glance at order data.

“6,437,592 Correct reCaptcha solves”.. shall this number employs that we have spent hours for digitizing the non readable OCRs for Google Library?? if yes, then we can’t treat it as a worthless activity..

Last year and the year before was awesome this year sucked i like that sparkfun gives money for free but i am tired of losing for 3 years and being a loyal customer. Sparkfun hears the complaints every year and I am sure that have seen client drop after each free day event.

or seeedstudio or Tayda Electronics or FuturLec or Jameco or iteadstudio or Electronix EXPRESS or AllElectronics or Pololu or local fry’s and radioshack. Local stores have begun to stock large amounts of electronics (Breakouts, Arduinos, Parallax Propellers, and sensors!) For a huge list, check out ladyada’s where to shop. Shop around, SFE isn’t the only electronics resource for hobbyists. Also on average other shops cost 25% less (give and take). Sparkfun, Give us a reason why someone should continue business here.

Sure sparkfun is filled with great people, but i’m quickly losing the reason why i should spend time and and money here. The spark sparkfun had years ago is dying…

Ok, so you made 32,137 people fill out captchas? I’m interested in the return rate of those visitors later on.

I’m also interested on how many people truly curious about embedded electronics who turned away yesterday after trying furiously.

Dividing those, we get that the average user filled out 208 Captchas each. That’s a lot of garbled words!

Explain that to the users entering them all day.

My favorite was

Wont win

More than anything, i’m interested as to once a user wins and uses his/her’s code, How many of those people return to sparkfun later on to order more? and how many people that previously placed a order got credit?

If the credit got to someone who is truly interested in learning and doing embedded computing and electronics, then i’m happy. The credit went to a excellent cause.

Originally freeday was based off giving back to previous customers as well as funding curious inventors and hobbyists to jump into the world of embedded electronics:

First and foremost, we want to give back. We’ve had a stellar year in 2009, and it’s all because of you. So please, have a beer (or a Stepper Motor Driver) on us.

Also wondering why SFE has never done any promotions that would be accessible to EVERY registered user? Or even a sale (Not deprecating products)?

It would just be nice for SFE to accept outside input… (Or it’s trying to get your idea to the right person and knowing it was acknowledged…)

Didn’t win anything but I’m always interested to learn more about your software setup, I think it’s great that you are trying to take an open approach to development, makes people like me want to contribute

I Really liked the randomness of Free Day 2012 and the system on Sparkfun’s end was awesome. After trying all day and not winning I wish the system was set to improve my odd’s with every captcha I mindlessly filled out.

The CAPTCHA thing got me thinking about other ways something similar to this year’s give-away could be done…
One thing I thought of was that instead of a CAPTCHA, it could be a minigame - like the five-second games in Warioware, or something about the same complexity as (but less time-consuming than) Pac-Man. Bots would be blocked by the fact that the game software is new (created for Free-Day) and by a rotation of multiple minigames…
I think it could be a fun way to do it. Though I suppose there would be other problems… And I’m guessing next time (if there’s a next time) more than just the Turing Test will be different…
Thanks again. It was exciting to look forward to Free Day, knowing I’d have a shot at the prize, and most likely with a lot less page load failure than I remember from the first year… And while the CAPTCHAs themselves weren’t fun after a while, gunning for the prize was… So, good times.
(I am one of those who redeemed the Free Day prize on Free Day - you guys had mentioned that there’s fewer orders leading up to Free Day, and then a deluge afterward - given that there’s a limited time to redeem the code I didn’t want to wait and possibly have stuff be out of stock…)

(now that I think about it one of the big challenges in the game idea would be what kind of information the game reports to the Sparkfun server and how you’d keep people from spoofing that… Care would have to be taken to make sure the game code is reasonably tamper-proof, and that the only way to get it to produce a “win” condition is to actually play through the game…)

I have enjoyed Free Day every year, and even though I came up empty once again, I was glad to be able to help Sparkfun test the limits of their servers. And perhaps that’s the thing. Maybe if you renamed it “Help Sparkfun Punish Their Servers Day”, and added, “For helping out, 2000 lucky winners will receive a $100 gift code!”, fewer people would feel entitled to free money just for showing up on your site, and there would be less whining.
Thanks again, and keep up the great work!

The one thing I didn’t like were the snide remarks passed when you entered an invalid Captchia. Come on some of those were HARD! (Maybe I should have pressed my control+plus keys a few times to enlarge them?)

For myself I managed to get a winning code after only 40min which was done while on a phone call which would have limited productivity anyway. Not a bad return on investment for my first free day event.

I just spent my winnings on ~$40 of stuff that has been sitting in my cart for a week or two and then threw in a hot air station. I was going to spend the $40 anyway and decided to blow the $100 on the hot air station since I might have had a harder time justifying otherwise.

Unfortunately we didn’t look up the user for every captcha and log it. Since the vast majority of submissions were not winners, we decided against starting sessions for every submission.

We do know that the average number of captchas per user is a bit over 200, but we have reports of some users filling out thousands - and of course there was one lucky winner who was first and only had to fill out one. Just lucky, I guess :)

I am pretty sure that it was me but i am curious if u can verify? My first captcha after the site finally loaded was a winner, almost didn’t believe it at first. If you could verify that’d be sweet just to kill the curiosity

From the way the post was stated, technically with less users doing the CAPTCHAs, you had a higher chance to win. It says “We set up an Ethernet Pro to watch for these interrupts, and send a byte to a daemon running on one of our web servers to alert that the next participant was a winner.” So the difference between 20 users in the first few minutes and the thousands later on could greatly determine your chances to win! This is all based on the system performing exactly as the post states, which it may not.

Once a bit is set, the next correct captcha submitted was deemed a winner and that bit used up. The number of captchas submitted per second was pretty steady throughout the day, but you’re right that the odds would be better the fewer people actively submitting responses.

That said, it’s still completely random, so you might just get really lucky (or unlucky)!

Completely random? I’d give it “completely pseudorandom”, because there are some synchronous, nonrandom processes involved in acquiring the data. But it does seem to be a fun way to scramble things up.

While I’m disappointed I didn’t win (but please don’t confuse me with whining that I didn’t win ;P) I can’t say I had much fun this year as I spent more time trying to do captchas rather than what made free days a lot of fun for me, chatting on IRC!

Personally I thought it was going to be a system where you enter into a draw for 20 seconds (or even longer depending) and then someone in that draw is picked randomly and then later having to complete another captcha to enter in for the next draw/s for x time. Constantly doing captchas wasn’t fun at all but I gave it a shot for 3.5 hours before giving up and having some sleep xD (About 6:30AM UTC+10). I was also at a slight disadvantage as I’m in Australia, I was stuck on mobile broadband (I’m surprised it was working at all) and I had limited bandwidth left on the mobile broadband.

I’m curious to how you determined what a bot was and if I was marked as a bot and was ‘meant’ to win but didn’t because I was marked as a bot… Probably not, but hey, there is always next year!

Lastly, thanks for running the event, and I’ll see you next year! I will say this, I like the fact the event was spread out over the day. I hope it will be like that next year as well.

This was ok if not a little frustrating (The site apparently wasn’t even communicating with the page as I was typing in captchas and “checking” for 25 minutes after the thing ended, but at least reCaptcha has a real world purpose.

Also it turns out that my knee might not just be localized osteoarthritis with very occasional knee effusion, as the joints in my fingers are swollen and have limited motion. And my TMD might me related to that too. Apparently my mother also has joint issues, but she’s 51. I’m the only one from my friends who had this issue from the typing -__-

It’d probably be healthiest to stay off of a computer entirely for a few days, but I can’t quite do that in CS or just appealing to my activities in general. And I have some writing to do regardless. So I’m just gonna suck it up, take anti-inflammatory drugs, and see my doctor :P

The knee needs some looking at again anyway, who knows, perhaps sparkfun will have alerted me to a genetic predisposition to some sort of issues related to osteoporosis early on with their clever schemes.

I have participated in free day since its inception years ago. While I have not yet won anything, this was the best year yet. The servers handled their load extremely well, and it was actually pretty fun. I just wanted to congratulate you guys on a job well done, and to thank you for giving away $200,000.

I just want to thank everybody at Sparkfun. I got no gamma ray love yesterday, but I still appreciate the chance to win. I hope the people who just complain at how “unfair” the random thing was don’t ruin it and leave bad thoughts. As for a social experiment it would have been great to see the individual users info as it’s kind of a test to how much pain “reCaptcha solving” one can take for a chance at a reward. It’s like self torture, maybe a new interrogation tactic?

I spent at least 4-hours typing in CAPTHCA’s and didn’t win this year. I figure if I submitted one every 15-seconds I did close to 1000 CAPTCHA’s. Not fun at all.

With this year’s process, I didn’t like the fact that not only did I have to get the CAPTCHA right, but I also had to be the lucky random winner. So, while it might have been my time to be the lucky winner, maybe I misread/typed the CAPTCHA.

On the plus side, I did sound very busy at work with all the typing.

I have been a winner in past Free Days so I am okay not winning this year. I am also okay if I never have to fill out another CAPTCHA.

Wow, I feel kinda bad now. After a few hundred Captchas, I figured out that only part of the Captcha needed to be spelled out correctly (or at least close) to be submitted, so I stopped faked the scanned word. I hope I did not completely mess up any great literary works.

Hi SF, i am one of the UK winners! Just wanted to say thanks for the free money. However my partner sat in front of her computer without moving the whole time the competition was on and didn’t win a thing (She is really unhappy, lol)!

This is the first time i took part in free day and can say that entering all them ReCaptcha’s totally fried my brain, please choose something different for next year.

next year please dont use captchas. since we are nerds we know how to fix the system, all you ended up doing is giving the OCR engine 6.4 million bogus entries, since we knew the second word did not matter. You guys hurt a nice crowd sourced system.

The reCaptcha folks send the same image to a lot of people and only consider a word accurately translated if there is a strong consensus from a statistically defensible number of results. In this way they know whether the overall data is good or bad, and can safely discard the bad data.(Check out the white papers on their website, it’s fascinating.)

So even if a lot of people put in garbage for the OCR words, you didn’t “hurt” them, they just got less good data than they could have.

It’s possible. I know a large number of people were aware that the second word didn’t matter and they just put crap in. Thus, only part of the total CAPTCHA’s were really transcribed for them. The others will be thrown out.

People talked about ‘skipping’ the useful word of the two with junk, I doubt they were the majority. Their lack of empathy with what reCaptcha is trying to do annoyed me. The upside was amusing thoughts of literary works with ‘sparkfun.com’ substituted for a key word :-)

You know, I wouldn’t mind doing the reCAPTCHA thing next year now that I’ve read a little bit about it. OK, maybe I would. ;-)

The thing is I knew nothing about reCAPTCHA before sgrace and gourou (above) mentioned that the service helped digitize books. That may surprise you, but CAPTCHA stuff is just low on my list of interesting things to investigate on the Internet. shrug

I would have felt much less like I totally wasted my time (and guilty for it) attempting to get free stuff if I had known you guys (and I, by extension) were doing good. So, make a bigger deal about it next time? Well, maybe. Reading so many comments about how to avoid doing the “unnecessary” part of the reCAPTCHA makes me think you guys did the right thing by not mentioning it so much (unless I missed it; see reCAPTCHA ignorance above).

Although I am happy to see this type of giveaways, I absolutely did not have fun with this one. It was a frustrating experience which must have wasted tens of thousands of man-hour effort during a weekday. After 10-minutes I had to give up because I could not justify the time. Regardless, I appreciate Sparkfun and enjoy their products all the time.

I’m not going to lie, that was 6 hours of pretty grueling captcha solving, haha. I imagine if I won I would feel better about it, but I can’t complain! I at least know I should never gamble now. Hopefully next year, freeday will involve some skill, instead of just free time.

Maybe give a schematic for a usb gadget that acts as a cypher when put together correctly? Then you give out generated plain text, different for every person, they send it to the gadget via serial or something, and it outputs a series of numbers on an LCD number display to enter back into the website? That’d be pretty cool, and the incentive would get lots of folks soldering.

It really wasn’t fun. I am not mad I didn’t win, it all came down to chance. An important stat I didn’t see is the chances of winning. 6,437,592 Captchas for 2,000 prizes is 3,219 correct Captchas per prize. Now I don’t feel bad that I think I tried 1,000 times.

I felt the love in the first one, and only vicariously felt the love these last 2 times. But it’s still worth it… aching hands and all. :>

Being a hacker (READ: Programmer, NOT cracker) I was kind of confused by the Captcha responses. I even tried some tests at getting them wrong, just to figure out what was going on. Reading the writeup today shows some of where I was wrong. I’ve come up with what I think is a logic map of the system.

If you get it right, you get a conciliatory message.
If you get the real word right, and the random letters ALMOST right, you get a conciliatory message.
If you get the real word wrong at all, you fail.
If you get it totally wrong, you fail.
I cannot speak as to the success condition, as I did not find any. :>

What were the stats on the “Free Money” Train? How many customers got to use each promo code before it expired? I felt I was fast on most clues but lost out while the clue I was slowest at snagged the $50.

Our own Todd Treece put together a system to perform an amazing auralization of the live free day traffic. It was all performed algorithmically in real time and every note meant something (plus it sounded great!) Here’s his explanation: http://www.sparkfun.com/news/781#comment-4f0db693ce395f7e56000000. I hope we see a home page post or tutorial about this soon.

These captcha keep us on the thrill for the hours that freeday as been open !

Seriously this was a kind of game that i youldn’t stop ! at the limit we can call this a dependancy :P

Well i didn’t win this time but, if i can suggest you something, it’s could be great to have various price ( 10$,20$,50$,100$ ) to reach more people. because seriously i was sad to see that i didn’t win something will all the effort i put into this !!!! but in the other hand last year i won 10$ and i was very happy of it ! so instead winning 100$ or nothing i would prefere winning small price that we have more chance to win.

I have to agree, more, smaller prizes would be “more fun” for everyone and might help SF at the same time. How many people would order only $10 worth of stuff, vs getting $10 off a larger order. If I were sitting on $100 credit, I might not spend much more than that.

I’ve been thinking about this some - digitizing books is hardly a waste, but it’d be fun to find a distributed-human-effort problem that would let us accumulate a useful (or at least entertaining) result for the immediate community.

I kind of regret not doing a time-sequenced log of each successful captcha attempt. The resulting text would have been fun to play with. The idea did come up, but at the time we were really concerned with not doing any unnecessary IO. Turns out it probably would’ve been fine.

Anyhow, future events are likely to use a very different model altogether. There’s a good chance we’ll bounce back to something a little more interactive.

How was this legal? It doesn’t seem like you were following any of the rules that companies typically have to follow when running sweepstakes. For example, for California entrants: http://www.dca.ca.gov/publications/legal_guides/u-3.shtml

If you still require help trying to find out why this is legal consider the following:

The winners of the “contest” do not directly receive any cash or prize instead they are provided with a promotional code that in actuality has no real value except as a discount on items purchased. Therefore if you win a prize during Free Day you receive nothing.

As another point the start and end dates of Free Day were clearly marked by the word “Day” meaning that the contest begins and ends on the same day.

I hope that helps you and if there is a Free Day next year I wish you luck.

While I spent 6 hours almost continuously typing in captchas to no avail (sorry to say but not fun), congrats to the folks that won. My envy goes out to you.

I’m glad to see that the exposure actually did a load test as expected. I was concerned that the /free_day page alone was simple static content with a single PHP query that wouldn’t be a true test of the stack. But it looks like it drove enough subsequent traffic to the rest of the website that you got the intended results. Hats off to you.

Oh dry up all of you. You’re acting like SparkFun owes you something. They really don’t. Get that through your head. You are entitled to NOTHING. When you get the chance to possibly get something for free, don’t complain about the way it’s presented to you because nobody is obligated to give you anything at all. Just take it or leave it.

Hope that wasn’t too harsh… just wanted to remind all the complaining people that none of it is theirs to begin with…

Man! Free Day should last for 24 hours. We here in Malaysia was 12am when the session started at 9am Mountain Time. The session only lasted for 7 hours, that is when I’m in school. I really hope that it can last longer as different zones have different time, every second there’s people sleeping, getting a good rest for the next day.

The worst thing about Free day were those insane messages from IT when you didn’t win. I was trapped into a closed loop. Each time I said, “this is the last one” I saw a message like “don’t give up” or “you may be a winner with the next one”…XD

It was a little bit frustrating (and half of the total captchas must be mine) but it was fun. I was going to place an order either way :)

Thanks for all the events you prepare, especially the online ones. Great web and great products!

http://dl.dropbox.com/u/4824819/freeday.jpg
Best captcha ever,
Also this year would of been more fun if you had given us a choice on more than one method. Each one would have it’s own reward amount. Say $100 for the captcha, $50 max for the quiz, and the customer history reward system. Same as last year we would have one chance to choose.

thanks for the day SparkFun, I’m very happy that I was selected but must say that I almost stopped a couple of time. I felt like a robot :( The good thing was that it was the first time that I have been able to interact with the server. Seems that the connection to New Zealand didn’t effect this, which I was really happy about.

Here’s a crazy idea. Next year prior to Freeday hold a couple of competitions; one to create the most original random number generator circuit and one to create an alternative to the CAPTCHA e.g. puzzles, games etc. Then use the winning entries to dole out the prizes.

Please, no Captchas next year… they are very pointless… ^_^;
Put up something more like a secret phrase where each character, in its space, is put up at random, and the people who enter the secret phrase first win. Random characters are put up on successive page loads, against a noisy background, in a Captcha-like manner, so as to eliminate bots. People can reload pages until they think they have a good guess, and then start entering guesses.

How about… copy and paste some red text on a red background into a box? The black background would move on successive pages and there would be an array of text such that only a few words are “hidden”. That would be fun :)

My idea for 2013: Make an interactive puzzle from a picture of one of the items for sale. I am talking about the puzzles you dump on a table and start with the edges and work your way in. Digitally of course.

To make it more random, have each successful puzzle count as one entry into a lottery pool. The more puzzles you complete, the greater the chance you have to win. This way it is still random, but the more effort you put in, the greater your chances.

How about just writing something like “Click on the photo of a resistor”. Then put 5 to 10 photos of things, clicking the right one means you’re not a bot. Of course, random chance could help bots, however for a contest like this you need to keep clicking photos when you didn’t win and want to continue trying.

So if the total continuous success of identifying the photos keeps falling, you know it’s a bot. Random chance means the bot won’t be able to keep winning photo after photo after photo. It must drop pretty fast. Detect a bot and impose a penalty (not by I.P. address because one I.P. address doesn’t equal one user, see proxies, ISPs, etc).

Exemple:
Which part is used in electronic circuits?
(images of a book, door, plane, rock, ice cream, truck, DVD, capacitor, cardboard box)

By using images for the choice, people would be able to react faster, have a larger area to click (instead of a radio button) thus making more attempts per minute thus pushing the SparkFun servers even more. Make the images a huge JPEG sprite (say, 16x16 images), that way the server will be stressed on processing data, not sending image files to thousands of people.

The problem with that is that Sparkfun would have to design each and every matching picture and phrase, so it would be trivial to just figure out each phrase and the picture that matches it. Then, you could even do a bitcompare on the images and get the answer extremely easily. ReCaptcha works by playing people’s answers off each other so it doesn’t have to do any work.

Next time they should do scheduled drawings, like every 30 mins. So people only have to enter once every 30 mins. (And maybe each drawing should have a physics/math/engineering problem attached to it).

Also maybe the prizes should be smaller and can be won multiple times (ie $10 ten times like in the past)

I think that would be a much better way to do it. This year’s game had an unintentional side-effect of “punishing” losers. After a few hundred (or few thousand) captchas solved, people start to feel frustrated and entitled to winnings. Definitely not the intended outcome…

This is a great question and has a subtle answer. Gift certificates are available for purchase to give to, say, a family member for a holiday.

Promotional codes - which we gave away 2,000 of yesterday - are different and unrelated to gift certificates. They are reserved for promotions, sales, and are just a generic way for us to allow for discounts on orders. They cannot be applied to shipping or tax - just items.

If you are redeeming a gift certificate, it will show up on your account upon checkout. To redeem a promotional code, enter the code in the provided box upon checkout.

Probably because gift certificates are not free, some one normally pays for them (you either received them as a gift or were given one in loo of a store credit, or purchased it yourself, etc). This was FREE, get over it.

Don’t know why people think this was some sort of rich dude, feed the hungry campaign. It wasn’t, get over it.

The true sign of declining economy is when people start to believe free is still too expensive.

Is there a way to see how many captchas were entered for each Member? Maybe sell a shirt that says “I survived Spark Fun Free Day 2012” 1000 captchas entered. Please do it again next year Sparkies! I have been visting this website everyday for the last two years and I like everyday more and more!
Thanks
JT

Randomization seems fair, but captchas just suck. They’re merely there to ensure that everyone has an equal chance against the geiger. If that’s the case, then you probably don’t really care if it’s really a human or a bot on the other side, as long as everyone has an equal chance.

If that’s correct, then why not let people use a bot that polls the geiger every, say, 4 seconds and block (iptables) offenders for 10mins the first time, 1 hour the second time and the rest of the day the third (if they try to poll faster than every 4secs).

This way there would be no captchas and I’m sure people would enjoy far more watching their bot at work. Not to mention it would more fair to dyslexics and people who can’t type as fast but love SparkFun just as much! Just saying… ;)

oh, no one needs to code a single command. Sparkfun could provide the code that people would download and run. If people feel like messing around with the code, that’d be fine as long as they would abide by the rules (or get banned).

I’m not really sure how one might modify the code to gain a tiny bit of advantage without breaking the rules though.

Two ideas for next years event:
Option 1: If you want to really test your servers make it some kind of easter egg hunt. During visits of your pages there is a random chance you get a button that says “claim your free price”, when you click it you get your price. To make sure it is not botted just make sure there is no detailed information on how it will look beforehand. While i could write a bot in 6 hours to reload pages and click, i would first need to win, to find out what to look for.

Option 2: To prevent bots make some kind of mini game out of it. For example have different images on the page and say something like “Click on the arduino”, “Click the one the transistor” … Or make us chase the ok button with our mouse. Just make sure to take the most common disabilities into account.

SparkFun is an online retail store that sells the bits and pieces to
make your electronics projects possible. Whether it's a robot that can
cook your breakfast or a GPS cat tracking device, our products and
resources are designed to make the world of electronics more accessible.

In addition to products, SparkFun also offers
classes and online tutorials to help educate
individuals in the wonderful world of embedded electronics.