May/June 2018 issue of acmqueue The May/June issue of acmqueue is out now



Education

  Download PDF version of this article PDF

ITEM not available

acmqueue

Originally published in Queue vol. 1, no. 1
see this item in the ACM Digital Library


Tweet



Related:

Ellen Chisa - Evolution of the Product Manager
Better education needed to develop the discipline


Jon P. Daries, Justin Reich, Jim Waldo, Elise M. Young, Jonathan Whittinghill, Daniel Thomas Seaton, Andrew Dean Ho, Isaac Chuang - Privacy, Anonymity, and Big Data in the Social Sciences
Quality social science research and the privacy of human subjects requires trust.


Michael J. Lutz, J. Fernando Naveda, James R. Vallino - Undergraduate Software Engineering: Addressing the Needs of Professional Software Development
Addressing the Needs of Professional Software Development



Comments

(newest first)

Displaying 10 most recent comments. Read the full list here

hepp | Sat, 27 Oct 2012 14:00:23 UTC

I really hope there will be a approach and tools blog at some time. I really want a fly-on-the wall look at how you get from this blob to something useful.


rcf | Thu, 19 Jul 2012 10:32:24 UTC

Are there plans to release any solutions to this challenge?

The failOverview team suggested they would be showing their methods but haven't posted anything on this since their introduction to the challenge in March.


Poul-Henning Kamp | Sat, 05 May 2012 19:20:04 UTC

This just to add a pointer to a very interesting blog post from the crew who reverse engineered the unknown CPUs instruction set in a matter of days:

http://fail0verflow.com/blog/2012/unprogramming-intro.html


Poul-Henning Kamp | Sun, 05 Feb 2012 21:51:28 UTC

Well, until we see some actual aliens, I'll refrain from speculating too how they build their computers.

I don't think it is a bad assumption that they might have binary computers, the principle has a lot going for it, so much in fact that it has out-competet all other types on this planet by a large margin.


XAD | Sat, 28 Jan 2012 08:59:37 UTC

I don't fell able to participate to this challenge, but I would like to mention, that there is a fundamental flaw in it: Decoding a human-produced code is far away from decoding an alien-produced code. It should be expected, that the "Hardware" and the "Software" could be based on entirely different principles: other materials, non-binary processors and logic, chaotic organization,.... As a challenge, I would have suggested to decode the DNA Processing Logic (not the DNA-Content, which is now quite well known). Even this would be much easyer, than decoding an alien-based code, since we have a good understanding of its reactions to external inputs.


Poul-Henning Kamp | Thu, 19 Jan 2012 23:30:36 UTC

Thank you for being graceful about this.

If you ever come near Denmark, call me, and I'll show you a LOT of old computing artifacts in datamuseum.dk

Poul-Henning


Segher | Thu, 19 Jan 2012 18:07:16 UTC

Hi everyone. I am the miscreant who stumbled upon that infernal block diagram (which btw is in the public domain and available on many websites).

We reversed (most of) the instruction set and internal architecture of the CPU, and some of its peripherals. It became clear that this machine was of earthly origin, but nothing else was apparent, not even an approximate age, or what part of the world it is from.

Since I'm quite into computer-related archaeology, and interested in way too many things, I soon found myself on yet another yak-shaving expedition, as always seems to happen. Then suddenly, O Fortuna!, I was looking at a block diagram that matched everything we knew about our alien CPU in detail. That gave us a name for this CPU but nothing much else.

Us being human beings, we threw that name into google, not expecting much (we were told we wouldn't find anything, after all!)

Unfortunately that ends up identifying the device this CPU is from.

Then we contacted phk.

We did not "cheat" in any way. The challenge is to find out what we could from the binary alone; that is what we did. When we could no longer adhere to the rules, through no fault of our own, we were open about that. Poul sent us the schematics of the device, so there is no way we can honestly reverse any more of it; and I do not find looking further into the code driving it to be very interesting, given what its function is, so that's the end of that as well.

But. This was quite a nice challenge for us, and it's really a weird historical computing artefact. I do encourage everyone else to keep looking at it and discover, well, whatever there is to discover, and hopefully your journey will not be stopped short by a train wreck like ours was!

Segher


shawn_e | Thu, 19 Jan 2012 16:33:24 UTC

"cluster" comes to mind and I'm not talking about a large array of alien CPUs working together.


Poul-Henning Kamp | Thu, 19 Jan 2012 15:57:09 UTC

There is a reason this was called "a challenge" which is not the same as "a competition".

If you care to read the article, it should be quite evident for you, that the challenge was about broadening our understanding of code and computers, adding to our sum of human knowledge.

It should also be quite obvious that there is no way I can prevent anybody from cheating or breaking the rules of the challenge, in fact, I was quite worried that somebody would come out and say "Hey I wrote that, its ..." and ruin the challenge. That is why the challenge is set up as a "gentlemans challenge".

If you don't care to participate, don't participate, it's entirely voluntary.

If you don't want to abide by the rules of this challenge, at least be a gentleman, and don't ruin it for others.

The group in question broke the rules, it is evident from the material they sent me, that they already quite early tried to identify the device using searches on the web. If you want to ace the challenge and identify the device, you do it by analyzing the program, and from the program *alone* find out what the computer does.

This particular ROM image is pretty unique in the world, in the sense that we have no CPU documentation for the computer that runs it. Probing our knowledge and understanding of code using a CPU which people had heard about or read about, would invalidate the premise "based on only the ROM image".

Ideally, I could have designed a computer and written a program just for such a challenge, but it would not have made the challenge life-like and realistic the way this one is: hardware and software written for educational purposes are never realistic. This ROM image is not realistic, it is *real*.

I still think it is a damn good challenge, and I am very amazed at the skill, speed and deductions of the group who solved it in 5 days.

I am grateful for the information they shared with me, and I am even more grateful that they have not spoiled the challenge for everybody else, in that respect, they have been true gentlemen.

As for winners, I think anybody who manages to solve some part of this challenge will feel like a winner to themselves, it is not in any way an easy challenge.

But the true winners, in the sense that there can be any, is whoever publishes their methods observations and tools, and thus adds to our understanding of computers and code.

Poul-Henning


rstos | Thu, 19 Jan 2012 13:13:26 UTC

Julian: I have already deleted my work directory and most of my students have done so also.

This has moved from an interesting challenge for them to learn about unknown processors on to a lesson on how NOT to run such a challenge.


Displaying 10 most recent comments. Read the full list here
Leave this field empty

Post a Comment:







© 2018 ACM, Inc. All Rights Reserved.