p e r s o n a l |
SIGBOVIK 2017: ABC
(31 Mar 2017 at 12:34) |
Hello my bloggies! I back-dated this post because even though I was all set up to post about my SIGBOVIK accomplishments, which this time conveniently occurred in the month of March, I then celebrated SIGBOVIK so thoroughly as to go to bed without actually posting here.
This year's invention is a strange artifact; if you want to experience it with fewest spoilers and have some time, then check out the paper version. I also put together a youtube video, since I like doing that:
Click for nerd-talkin'
Despite the possibly misleading thumbnail, the video is mostly live-action, as I it after a popular YouTube series called Numberphile. The project doesn't lend itself too well to video, so my feelings won't be hurt if you don't sit through this one. :) I did my best to make the ideas and puzzles fun for people that don't have deep knowledge of this stuff but are interested.
SIGBOVIK was also live-streamed, so for the first time we have a mediocre recording of all the talks if you want to tune in after the fact too. My talk's at 1:22:00, and it's more bite-sized than the above.
Also, I must say: The conference this year was excellent, perhaps the best ever. The conference hall was packed; the overall quality of work was very high; the proceedings is thick with really interesting stuff (interspersed with the requisite juvenilia), and the talks were well-prepared and didn't drag on, thanks partly to the new timer system. It's pretty crazy how this conference has a life of its own now; almost nobody from the original group is organizing or even writing papers for it. We may even be getting to the point where we have to be selective about what we print..??? |
|
|
Hey Tom,
Thanks for making the video even if it was over a more difficult topic to video-ify, I greatly enjoyed it as someone starting to delve into assembly (except that I'm starting out writing for the Motorola 68000 not x86). Also, thanks for posting about the recording of your talk, I'll definitely give that a watch. Keep it up and great work as always. |
Also, your talk starts at 1:22:00 in the SIGBOVIK stream and ends at little before 1:36:00. Just to let you know.
Thanks,
Tristan |
Glad you found the video enjoyable! :) Motorola 68k is a much cleaner architecture than x86; I think it's a better starting point. Hope it's fun :)
It looks like they edited the video to trim off the boring beginning, which is probably why my link was wrong. Fixed, thank you!
|
Dammit man, you've always got to make things so fun to watch and look into. Love the video. |
Award-winning? |
Also, 68k is the first assembly language I learned! I thought it was satisfying. |
Thanks James! :)
Nels: Award for "Most Executable." Registered a 0db on the Applause-O-Meter. The true treasure is friendship with your computer. |
Gotcha. There used to be a most suspiciously like real research award (probably still is) which you're always in the running for in my mind. Though I tend to equate research with effort... |
The Joseph Stalin Award for Excessive Execution |
Sorry if I missed something, but... isn't
x or y
equivalent to
(x and y) xor (x xor y)
? I don't see why addition would need to be used for implementing bitwise or, since xor is the same as or (and as addition), if it is given that at most only a single argument can be true/1, which is the case here.
Other than that, though, it's impressive you accomplished this with such tight restrictions. Haven't gotten to watch the video yet though I plan to later... also, haven't finished reading the paper yet...! |
Yep, you're right. A few people have pointed this one out (it's also a prominent blunder in the video), which makes me especially ashamed to have missed it. :) |
Do you need a calendar?
|
Yeah I guess so :( |
Just read the paper, this is really an impressive achievement. Played around with typable code under DOS a few times myself, but self-modifying (bootstrap->hex decoder->base64 decoder).
One thing you got wrong from the Intel manual: the interrupt flag is only cleared when an external interrupt occurs, not on exceptions like invalid opcode. And I found a way to call DOS, see here:
https://pastebin.com/2WTbWbj5
Not executing *any* non-typable code (even code you didn't write yourself) is so much purer of course :)
|
I just found this video. This is easily the best explanation of *multiple* subjects I've ever seen. |
Is this research paper for Windows or Linux? |
For DOS actually. I think it will run on in versions of windows with a 16-bit subsystem, although probably not do anything that you'll notice. DOSBox is an option on both Linux and modern Windows, among other platforms. |
In your Youtube video here www.youtube.com/watch?v=LA_DrBwkiJA&t=1195s, you link to tom7.org/abc/. On that page, your link "SIGBOVIK 2017" points to sigbovik.org/2016/ instead of what I assume should be sigbovik.org/2017/. |
Thanks for pointing out the mistake, Pete! I fixed it. |
|
|