In 2013, a restoration project for Hut 6 of Bletchley Park uncovered a collection of papers being used as roof insulation. The papers were frozen to preserve them while they were inspected and repaired. Now they’re on display at an exhibition showing items found during the restoration process. “The documents also included the only known examples of Banbury sheets, a technique devised by [Turing] to accelerate the process of decrypting Nazi messages. No other examples have ever been found. All the findings are unique as all documentary evidence from the code breaking process was supposed to be destroyed under wartime security rules.”
Jack Whitham, of Rapita Systems has written a nice piece on the thorough testing of software (including seemingly ‘simple’ software – one liners and such) entitled It’s hard to test software: even simple software!. His company, Rapita Systems, recently released a modified version of Tetris as a “tool demo” for their Code Coverage tool, RapiCover. As Jack states, although Tetris can be/has been implemented in as little code as a single line of BBC Basic, it is, after all, based on an NP-Hard Problem.
Like most software, a good portion of the code will be exercised after having run the application sufficiently. However, like all software, there always exists those edge cases in which the planets must align for a certain subroutine/method to be executed/invoked, It’s these rarely executed pieces of code that suffer from poor test coverage and to which coverage analysis tools lend themselves the most. His piece is a good read to get a feel for how to code and test so that more of your code is exercised and that your QA correctly tests all of the code, instead of just the 70-80% that gets executed the majority of the time.
An anonymous reader writes:`
Hello Games is a small development studio, only employing 10 people. But
they’re building a game, No Man’s Sky, that’s enormous — effectively infinite.
Its universe is procedurally generated, from the star systems down to individual
species of plant and animal life. The engine running the game is impressively
optimized. A planet’s characteristics are not computed ahead of time — terrain
and lifeforms are randomly generated on the fly as a player explores it. But, of
course, that created a problem for the developers — how do they know their
procedural generation algorithms don’t create ridiculous life forms or
geological formations? They solved that by writing AI bot software that
explores the universe and captures brief videos, which are then converted to GIF
format and posted on a feed the developers can review. The article goes into a
bit more detail on how the procedural generation works, and how such a small
studio can build such a big game.
I’ve decided to try to get realcoders.org going again *before* finishing a re-write completely in Java/Spring/Etc (as I’m starting to think that with work, etc. it will take me way too long, given the amount of “free time” that I currently have (and have had for the past few years now…))
This is simply a “welcome” post, and there will be more to come shortly. I am also going to be working on the visual appearance, as this is a fairly basic (on purpose) “template” that I opted to go with, as it’s fixed width, etc. and should be *great* for code snippets, et al. However, if anyone comes across something that either doesn’t display correctly on/in your browser, or on your operating system, please feel free and drop me an email or post a comment, etc. so that I am aware of it and can hopefully take care of it as soon as possible. I’ll do my best however to ensure cross-browser compatibility as well as supporting links(1)/lynx(1) as well if at all possible.
Again, go ahead and subscribe to the RSS feed(s), feel free to share links on Facebook, etc. all I ask is that you please bear with me while I’m getting things up and “running” a bit more along the lines of what realcoders.org is supposed to be and look like, etc. This will mean quite a bit of customization, and I’m not exactly sure how to accomplish some of the tasks under WordPress as of yet, but, I will figure it out as I come across the issues and I’m sure I’ll knock out the code one way or another =]
Thanks for all of your support! If anyone is interested in being either a regular or a one-time (or once in while) contributor, please drop me a line and we’ll talk about setting you up the appropriate account type, etc.