Difference between revisions of "Skullspace Hardware Programming Challenge"

From SkullSpace Wiki
Jump to navigation Jump to search
(fixed link to main challenge and some spelling)
m
Line 2: Line 2:
  
 
In some cases, the secret message will be obtainable with just read I/O, at other times correct write I/O will be required to unlock or solicite a response from an attached system which then responds with the "secret message". And in some cases, even after your code has obtained the secret message, the problem setup will force you to use a specific kind of output device in order to get it out of the system and into a form you can present.  
 
In some cases, the secret message will be obtainable with just read I/O, at other times correct write I/O will be required to unlock or solicite a response from an attached system which then responds with the "secret message". And in some cases, even after your code has obtained the secret message, the problem setup will force you to use a specific kind of output device in order to get it out of the system and into a form you can present.  
 +
 +
  
 
== Old hardware  ==
 
== Old hardware  ==
Line 7: Line 9:
 
The weird or interesting criterion can be a quality of either the hardware platform being programmed or the IO device involved. Many of the levels will pull this off by requiring the participant to program a retro-computer. This will provide an excuse for the retro-computing folks at the space to do their work of keeping old hardware operating. Developing the levels of this challange is an actual an end-goal that is defensible against the claim "why don't you just run an emulator".  
 
The weird or interesting criterion can be a quality of either the hardware platform being programmed or the IO device involved. Many of the levels will pull this off by requiring the participant to program a retro-computer. This will provide an excuse for the retro-computing folks at the space to do their work of keeping old hardware operating. Developing the levels of this challange is an actual an end-goal that is defensible against the claim "why don't you just run an emulator".  
  
In some cases the use of retro-computers will make interesting IO hardware available for programming that you can't even hook up easilly to a modern computer and/or might not even be emulated in available emulators. Further, we're looking for this challange to have tangible aspect -- you can emulate a "device" but you can't really emulate the experience of being in the presense of something wierd that hums, clicks, and hisses at you as your code controls it and trys to extract a secret message from it.  
+
In some cases the use of retro-computers will make interesting IO hardware available for programming that you can't even hook up easilly to a modern computer and/or might not even be emulated in available emulators. Further, we're looking for this challenge to have tangible aspect -- you can emulate a "device" but you can't really emulate the experience of being in the presence of something wierd that hums, clicks, and hisses at you as your code controls it and tries to extract a secret message from it.  
 +
 
 +
 
  
 
== Secrecy and Education  ==
 
== Secrecy and Education  ==
Line 17: Line 21:
 
But, this difference doesn't make the challenge easy -- it can take a lot of time and patience to get hardware code right, even when its documented. The requirement of having to program tangible platforms external platforms will in some cases make things more slow and frustrating compared to a purely emulated environment.  
 
But, this difference doesn't make the challenge easy -- it can take a lot of time and patience to get hardware code right, even when its documented. The requirement of having to program tangible platforms external platforms will in some cases make things more slow and frustrating compared to a purely emulated environment.  
  
Anyone complainig about the levels can be told to RTFM -- and as such the "official" secrecy of the solutions (that is, skullspace operated sites) can be kept in place -- there isn't the same compelling reason to release them that there is with a clue based challenge where people naturally just miss some clues and end up begging for published solutions.  
+
Anyone complaining about the levels can be told to RTFM -- and as such the "official" secrecy of the solutions (that is, Skullspace operated sites) can be kept in place -- there isn't the same compelling reason to release them that there is with a clue based challenge where people naturally just miss some clues and end up begging for published solutions.  
  
 
For the most part, any underlying hardware or software work behind each level possible can be openly published without actually giving away the level solution or secret message. The creation of new levels will an open project amoungs the members.  
 
For the most part, any underlying hardware or software work behind each level possible can be openly published without actually giving away the level solution or secret message. The creation of new levels will an open project amoungs the members.  
  
But, with actual solutions never made officially available, the challenge can serve as a permenent education fixture at the space. The challenge can serve as an amusing entry point into hardware programming for new members -- and the open hardware and software design will further serve as interesting works of study.  
+
But with actual solutions never made officially available, the challenge can serve as a permenent education fixture at the space. The challenge can serve as an amusing entry point into hardware programming for new members -- and the open hardware and software design will further serve as interesting works of study.  
 +
 
 +
 
  
 
== Levels that are ready and available for members to solve  ==
 
== Levels that are ready and available for members to solve  ==
  
None, currently. Applying for project funding to excelerate the under development levels (below)  
+
None, currently. Applying for project funding to accelerate the under development levels (below)  
 +
 
 +
 
  
 
== Levels that are under development  ==
 
== Levels that are under development  ==

Revision as of 21:41, 15 March 2012

The Skullspace Hardware Programming Challenge is inspired by the puzzle solving spirit of the Skullspace Challenge -- but the major difference is that you have to show up at Skullspace, and write and run a program to run weird and/or interesting hardware in order to solve each level. Specifically, there will always be a "secret message" that the participant must be access through an input/output device. You present the secret message to the challenge masters to show them that you've solved the level and they verify that indeed you did. (The level-master can be an automated web page eventually...)

In some cases, the secret message will be obtainable with just read I/O, at other times correct write I/O will be required to unlock or solicite a response from an attached system which then responds with the "secret message". And in some cases, even after your code has obtained the secret message, the problem setup will force you to use a specific kind of output device in order to get it out of the system and into a form you can present.


Old hardware

The weird or interesting criterion can be a quality of either the hardware platform being programmed or the IO device involved. Many of the levels will pull this off by requiring the participant to program a retro-computer. This will provide an excuse for the retro-computing folks at the space to do their work of keeping old hardware operating. Developing the levels of this challange is an actual an end-goal that is defensible against the claim "why don't you just run an emulator".

In some cases the use of retro-computers will make interesting IO hardware available for programming that you can't even hook up easilly to a modern computer and/or might not even be emulated in available emulators. Further, we're looking for this challenge to have tangible aspect -- you can emulate a "device" but you can't really emulate the experience of being in the presence of something wierd that hums, clicks, and hisses at you as your code controls it and tries to extract a secret message from it.


Secrecy and Education

Like the Skullspace Challenge there will be an element of secrecy to create some excitement, "Rule 1, don't talk about hardware challenge". Each level will have solution code developed by the level masters to ensure the hardware actually works and the levels are do-able. But, this "official" solution code will not be published and neither will the secret messages.

One difference -- instead of leaving clues that approrpriate clue/guess followup, each level will come with complete links that provide development software (such as cross-compilers), documentation on how to use them, and documentation on the IO devices involved. Where possible, quality, generic, docs that are already published out there on the web on this hardware and software will be used over custom docs specific to the level. So, the path to each secret message won't require guessing, but careful reading and writing of compliant code.

But, this difference doesn't make the challenge easy -- it can take a lot of time and patience to get hardware code right, even when its documented. The requirement of having to program tangible platforms external platforms will in some cases make things more slow and frustrating compared to a purely emulated environment.

Anyone complaining about the levels can be told to RTFM -- and as such the "official" secrecy of the solutions (that is, Skullspace operated sites) can be kept in place -- there isn't the same compelling reason to release them that there is with a clue based challenge where people naturally just miss some clues and end up begging for published solutions.

For the most part, any underlying hardware or software work behind each level possible can be openly published without actually giving away the level solution or secret message. The creation of new levels will an open project amoungs the members.

But with actual solutions never made officially available, the challenge can serve as a permenent education fixture at the space. The challenge can serve as an amusing entry point into hardware programming for new members -- and the open hardware and software design will further serve as interesting works of study.


Levels that are ready and available for members to solve

None, currently. Applying for project funding to accelerate the under development levels (below)


Levels that are under development