473,406 Members | 2,293 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

Jigsaw solver

4 2106

be************@lycos.com wrote:
This can be interesting:
http://science.slashdot.org/science/.../2340238.shtml

Bearophile


Hey, that DataGlyph demo works pretty neat.

<quote>
Decoding your DataGlyph.

DataGlyph decoded successfully.

four score and seven years ago our fathers brought
forth on this continent a new nation conceived in
liberty and dedicated to the proposition that all
men are created equal

To test the robustness and error correction DataGlyphs
provide, you might want to "damage" a DataGlyph by
editing it with paint program, obscuring some of the
marks and uploading the damaged image for decoding.

Serious aficionados have been known to print out
their DataGlyph, spill some coffee on it, tear off
small pieces, fold it into a paper airplane, run over
it with a car, light small portions on fire, then scan
the document back in and try to extract the message.
If you are such an enthusiast, have fun, be safe, and
remember even great technologies have their limits.
</quote>
Of course, being an old System Test Engineer whose job it
was to figure out how to break software, I couldn't let
this challenge go unanswered.

So, picking up the gauntlet, I broke it in 5 seconds.

<quote>
Decoding your DataGlyph.

Decoding dataglyph59683-2.bmp...
Unable to decode this dataglyph

Top 5 reasons a DataGlyph might fail to decode

1. Hey... that's not a DataGlyph
2. Not enough of the DataGlyph is present
3. Way too much damage
4. Trouble locating the DataGlyph
5. Cosmic rays

Usually if a human being can make out the individual
marks, the decoding software should also be able to
do so. This online decoder is optimized for scanned
images from a paper documents.

If you are a technical user evaluating DataGlyphs,
please be aware that this online DataGlyph decoder
is expecting mainstream DG500 DataGlyphs. This online
decoder will not work if you are testing a specialized
DataGlyph variant such as serpentone, yellow DataGlyph
or address carpet.

Finally, note that a customized image processing
front-end or a customized DataGlyph locator algorithm
might yield better results in application scenarios
such as handheld camera images with severe perspective
distortion.
</quote>

Naturally, the real answer is none of the above.

And the damage can be undone in 5 seconds also.

And, under the right circumstances, an undamaged
DataGlyph could suffer the same fate (which also implies
that the damaged DataGlyph could be read under the
same circumstances).

ObPuzzle: how did I "damage" the image?

Jul 18 '05 #2
me********@aol.com wrote:
be************@lycos.com wrote:

This can be interesting:
http://science.slashdot.org/science/.../2340238.shtml

Bearophile
Hey, that DataGlyph demo works pretty neat.

....
Of course, being an old System Test Engineer whose job it
was to figure out how to break software, I couldn't let
this challenge go unanswered.

So, picking up the gauntlet, I broke it in 5 seconds.

....
Naturally, the real answer is none of the above.

And the damage can be undone in 5 seconds also.

And, under the right circumstances, an undamaged
DataGlyph could suffer the same fate (which also implies
that the damaged DataGlyph could be read under the
same circumstances).

ObPuzzle: how did I "damage" the image?

You created a mirror image.

The system can be made resistant to that problem by only allowing
palindromic messages to be encoded, such as "Madam I am Adam.", 'Able
was I ere I saw Elba." and "Named under a ban, a bared nude man."

Seriously, I am surprised that the Xerox demo does not try flipping the
image around various axes. It would be trivial to add these
transformations. Well, trivial to flip images along a few, obvious axes,
but not along every possible axis.

What I want to know is whether any open source implementations of this
technology are available. No doubt it is patented to death by Xerox.

Tim C

Jul 18 '05 #3

Tim Churches wrote:
me********@aol.com wrote:
be************@lycos.com wrote:

This can be interesting:
http://science.slashdot.org/science/.../2340238.shtml

Bearophile
Hey, that DataGlyph demo works pretty neat.

...
Of course, being an old System Test Engineer whose job it
was to figure out how to break software, I couldn't let
this challenge go unanswered.

So, picking up the gauntlet, I broke it in 5 seconds.

...
Naturally, the real answer is none of the above.

And the damage can be undone in 5 seconds also.

And, under the right circumstances, an undamaged
DataGlyph could suffer the same fate (which also implies
that the damaged DataGlyph could be read under the
same circumstances).

ObPuzzle: how did I "damage" the image?

You created a mirror image.


Damn. Too easy. But think how much fun you could have
with a salesman if your DataGlyph was printed on a
transparency (hence, the right circumstances being
right side up or upside down).

I once made an employee id badge that I would slip
into the salesman's stack of test badges. The employee's
name was CHECKSUM ERROR. What a laugh riot.

The system can be made resistant to that problem by only allowing
palindromic messages to be encoded, such as "Madam I am Adam.", 'Able was I ere I saw Elba." and "Named under a ban, a bared nude man."
Why couldn't they simply encode your input as a palindrome?

Input: Mary had an aeroplane
Encoding: Mary has an aeroplaneenalporea na dah yraM

And then simply divide in half when decoding.

Seriously, I am surprised that the Xerox demo does not try flipping the image around various axes. It would be trivial to add these
transformations. Well, trivial to flip images along a few, obvious axes, but not along every possible axis.
That's why it took me all of 5 seconds - the time needed to
select the Flip Horizontal menu item in Windows Paint.

What I want to know is whether any open source implementations of this technology are available. No doubt it is patented to death by Xerox.
Has that ever stopped anybody?

Tim C


Jul 18 '05 #4
me********@aol.com wrote:
Tim Churches wrote:

me********@aol.com wrote:

ObPuzzle: how did I "damage" the image?

You created a mirror image.


Damn. Too easy.

There is another explanation for the rapidity with which your brain
teaser was solved, but modesty prevents me from mentioning it.
The system can be made resistant to that problem by only allowing
palindromic messages to be encoded, such as "Madam I am Adam.", 'Able was I ere I saw Elba." and "Named under a ban, a bared nude man."


Why couldn't they simply encode your input as a palindrome?

Input: Mary had an aeroplane
Encoding: Mary has an aeroplaneenalporea na dah yraM

I should have been more precise and said "natural language palindrome",
the rules for which promulgated by Martin Gardiner of Scientific
American fame are that capitalisation, whitespace and punctuation are
ignored and that each word must be a recognised word or commonly used
proper noun in the target language (and it must read the same forwards
and backwards).

I wonder, do ideographic languages have palindromes?
No doubt it is patented to death by Xerox.


Has that ever stopped anybody?

Ask the Xerox legal department.

Tim C

Jul 18 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Aaron | last post by:
I am trying to write a Python script file which analyses data in an iterative manner. During each iteration, I wish to utilise the Solver function in Excel to perform some constrained, non-linear...
0
by: Josh Golden | last post by:
has anyone every used the solver add-in for Excel? it allows you to solve linear and non-linear problems given certain conditions. I was wondering if something like this exists already in .NET? ...
3
by: Mr.Doubt | last post by:
I'm trying to run a Excel macro, which uses SOLVER.XLA Add-In, in VB.NET application. When the macro is executed I get the following error message "Solver: An unexpected internal error occured,...
11
by: ago | last post by:
Inspired by some recent readings on LinuxJournal and an ASPN recipe, I decided to revamp my old python hack... The new code is a combination of (2) reduction methods and brute force and it is quite...
0
by: engsolnorm | last post by:
A co-worker and I want to increase our knowledge of Python. I have a tiny bit of exposure to python. He has none, but has wide experience with C, C++, NET, C#, etc. We agreed we'd do a Sudoku...
8
by: Rony Steelandt | last post by:
Hi all, I wonder if somebody had a Sudoko solver written in Python ? Rony
7
by: Holger Fitschen | last post by:
Hi to all, I want to use the Excel solver in a VB.Net project. The macro Sub Makro1Solver() Application.Run "Solver.xla!Auto_Open" SolverReset Worksheets(1).Select...
3
by: akristensen | last post by:
I am new to this site, so be patient if I do not ask the question correctly. Current Target Platform: Browser: MS IE, script language: Javascript (will use VBScript, but JS is preferred), External...
9
by: AceKnocks | last post by:
I am working on a framework design problem in which I have to design a C++ based framework capable of solving three puzzles for now but actually it should work with a general puzzle of any kind and I...
1
Thekid
by: Thekid | last post by:
Hi, I found this sudoku solver online and it works good but I was wondering how I could get the answer that's in matrix form, to also print out in a single comma-delimited line, instead of 9 rows of...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.