This morning we logged into Google to find a Barcode instead of the normal logo (how strange that Google would change their graphic!). Apparently today is the anniversary of the Barcode. This method of easily labeling items for computer scanning is used for every type of commodity in our society. But do you know how to get the cryptic information back out of the Barcode?
Here’s the challenge: The image at the top of the post was created by the devious writers here at Hack a Day. Leave us a comment that tells us what the message says and explains how you deciphered it. There are programs that will do this for you and some smartphones can do this from a picture of the code, but we’re looking for the most creative solutions.
The winner will be decided in a totally unfair and biased way and gets their name plastered all over Hack a Day (and possibly slandered a bit). So get out there and start decoding that machine-readable image.
Update: We’ve announced a winner for this challenge.
Everyone is wrong.
It says: “Be sure to drink your Ovaltine.”
My cats breath smells like cat food.
I loaded the image into Photoshop, isolated one row of pixels, scaled it up 600% using the nearest neighbor, then made two layers, each filled with 6×6 tiles of ones and zeros. I used the white space of the barcode layer as a mask for the 0’s and added 6 pixels of padding around the sides. Then I ran the resultant binary through OCR and hucked the results through a binary-to-text converter. The results are already well-documented here, but, for completeness, “hackaday.com – hacking since 2004H”
For reference, the binary is:
11010010000100110000101001011000010000101100110000100101001011000010000100110100101100001101101111010011001110100001011001000111010111101110101101100110010011011100110110011001001100001010010110000100001011001100001001010000110100110000101001001101000011110011001011110010010000110100110000101001000010110010110010000110110011001100111001010011101100100111011001100100111011000101001100011101011
Hackaday.com – hacking since 2004
i’m a savant that can read barcodes!
aahhhh crap…my lucky charms super secret decoder ring blew a flux capacitor and just automated a self-destruct sequence…rruuunnn
HACKADAY.COM – HACKING SINCE 2004
That’s right–my CueCat capitalized that business. That must make mine the only correct answer!
It clearly says:
ALL HAIL THE HYPNOTOAD
hackaday.com – hacking since 2004
Uhh, that was to easy….
M-x readbarcode
or if you add the following function to your .emacs
(global-set-key “\C-c \C-b \C-r” ‘readbarcode)
C-c C-b C-r will do it on the fly
might not work for you I use a CVS emacs and a lot of .emacs hacks
…and NO there is not such an mode for VIM
Did I win ?
I work at FedEx and used the Symbol Star III Scanner that the drivers use for deliveries.
hackaday.com – hacking since 2004
I was sitting besides my film processor unit (Jobo) and read Hackaday on my vintage “If in doubt beat them with it to death!” Itronix IX250 GoBook while waiting for the negatives.
(Yes some people still prefer analog photography for some reasons and applications and once or two times a term I give some lectures about it and train some interested students the traditional darkroom work)
So I saved the picture on disk, opening it with gimp, rescaling it, sending it for printing on paper via wifi to the office and calling an intern to bring it to me,
Cutting a cardboard for masking, doing some sandwich long-time exposure trough the paper onto technical film (used in former times for reproduction and scaling of technical drawings from microfiches) – needed some because I did not knew the necessary time for this stunt – developing them with another load of films.
Fixing, “watering” and drying it the “quick” style the former press people did (with lots of rubbing alcohol), taking the sheets to the light table, finding a good one, thinking that counting the lines with a magnifier is stupid,
going to the engineering department – asking for where the microfiches readers are….getting a very strange look from the staff for this.
deciding to not let them get one out of the storage – with my luck the lamp would be broken or something like this – calling the library about these readers…with not so much luck…going back…checking the processor cutting it to size, framing it, projecting it with a 6×9 slide-projector to a whiteboard, using a marker to write the 0 and 1 down.
Trying some binary coding – BSD, Aiken, Gray…this leads to nothing resonable. Calling at the library again – asking them to get some books about barcodes from the shelfs
Going to the libary…looking through the books about barcodes, taking 3 books about it to the library counter – handing over my library card…watching the girl scanning the barcode on my card…resisting barely to beat my head onto the desk several times…
Taking the books anyway.
Going back to the lab…stoping the final watering of the first load of negatives…going through the carts type 128 looked good, decoded it with the numbers I wrote down earlier.
Conclusion – a nice day at the old photolab of he university (downstairs, no windows), doing something for my eccentric professor image (I am just a doc) – walking over the campus area several times, one time still with the lab coat on, earning some strange looks from the freshman students who just arrived this week – standing besides and looking at them while they where doing some beer games and what ever the fraternities do for and with the new students…doing vintage stuff I have not done for at least a decade using old things ;)
“hackaday.com – hacking since 2004”
Went to my local groceries store and bribed the checkout girl to scan it on their barcode reader. Suffice to say, the barcode did not match anything in their inventory :( hehe
You’re all WRONG. What it really says is 1111111111111111111111111111etc, they’re just really stretched out and badly spaced.
I read through the first ~20 comments, and then started looking at the solutions others used so I could learn something myself. I’m not looking to solve this – plenty of others have before me. What I *am* looking to do is broaden my horizons with the information that others have shared.
Mission accomplished…
wait – is anyone really going to read all these???
Not fair, I no longer use http://www.google.com for searching since the company decided to alter the font size of their homepage. Now I use blackle.com
long time reader, second drunken response,
yeah got drunk and motivated, rummaged thru my boxes of crap found the barcode scanner that I bought on craigslist almost a year ago, (listed as 75 and haggled down to 50) scanned into Paint. Then on an hp laser jet 4m, that i found in the dumpster, took home fixed then printed off said barcode, scanned with said scanner and smoked a congratulatory bowl, posted this post almost comatose from swine flu from diggin thru dumpsters all day.
“hackaday.com – hacking since 2004”
I used 27 Arduinos in a SteamPunk enclosure that provide output to my iPhone via Twitter.
Ha Ha! I win… Gimme Gimme Gimme
what no edit on this crazy thing! BAHH oK what i got was….
hackaday.com – hacking since 2004
…so why no nerdy geeky joke? that we could laugh at? why no crude reference to some old lunatic movie? really a Crummy commercial? really i had more faith in you to do something that would blow my mind or enlighten me further…..yeah i like to rant…come on hack-a-day i hold you to a higher standard..
i’ll still keep comming back but really??
With my friend`s iPhone,an application called “red laser” if I remember correctly.
It sais-
code 128
hackaday.com – hacking since 2004H
(35,183) (35,5) (403,5) (483,183)
http://upload.dinhosting.fr/N/y/Z/Photo0241b.jpg
creative right ?
E MACS
M akes
A ll
C omputers
S low
hackaday.com – hacking since 2004
Good ol’ brute forcing.
I made a program that creates barcodes using the various techniques available through google, and then used my own software to compare the segments of the image to check for a correct symbol. Repeat until message is found…
white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white, black, white.
hackaday.com – hacking since 2004
I used a Symbol USB barcode scanner at work.
Props to those with the (modified) CueCats!
It says “hackaday.com – hacking since 2004″ and I decoded it using my mind.
recently started playing around with python, so I figured this would be a good opportunity to write some code. I ended up with something like this. Also I left out the dictionary lookup table, which i got from wikipedia.
import Image
im_file = Image.open(“barcode_challenge.jpg”)
im = im_file.getdata()
width = im.size[0]
height = im.size[1] / 2
cropped = im.crop((0,height,width,height+1))
code = “”
for pixel in cropped:
if(pixel[0] == 255):
code += “0”
else:
code += “1”
code_buff = code.lstrip(“0”).rstrip(“0”)
buff = “”
chars = []
while(len(code_buff)>0):
if(code_buff[0] == “1”):
if(code_buff.startswith(“1111”)):
buff += str(4)
code_buff = code_buff.lstrip(“1111”)
elif(code_buff.startswith(“111”)):
buff += str(3)
code_buff = code_buff.lstrip(“111”)
elif(code_buff.startswith(“11”)):
buff += str(2)
code_buff = code_buff.lstrip(“11”)
elif(code_buff.startswith(“1”)):
buff += str(1)
code_buff = code_buff.lstrip(“1”)
else:
if(code_buff.startswith(“0000”)):
buff += str(4)
code_buff = code_buff.lstrip(“0000”)
elif(code_buff.startswith(“000”)):
buff += str(3)
code_buff = code_buff.lstrip(“000”)
elif(code_buff.startswith(“00”)):
buff += str(2)
code_buff = code_buff.lstrip(“00”)
elif(code_buff.startswith(“0”)):
buff += str(1)
code_buff = code_buff.lstrip(“0”)
if(len(buff) == 6):
chars.append(buff)
buff = “”
chars[len(chars)-1] += buff
final = “”
for val in chars:
final += keys_128b[val]
print final
CODE 128B hackaday.com – hacking since 2004H STOP
I pressed Alt+F4 and it worked!
hackaday.com – hacking since 2004h
cheated via http://www.datasymbol.com/barcode-recognition-sdk/barcode-reader/online-barcode-decoder.html
I used the zebra crossing library and received the following :
fs1 zxing # ./scanone.bash joey/
the barcode of barcode_challenge.jpg is hackaday.com – hacking since 2004
It says …
be sure to drink your ovaltine…
Son of a bitch!
It says “hackaday.com – hacking since 2004”
I printed it out and took it to the grocery store.
I just scanned the code with the CCD scangun at my workstation.
LCD display = no refresh scan to worry about
scanned 30deg out of perpendicular for no reflection
Did have to hold it back further, though.
It says “hackaday.com – hacking since 2004″
I just looked at earlier posts for the answer.
I did it by hand, barcodes are just binary