|
Falvotech.
Conquering the world is easy — what do you do with it afterwards?
|
|
From a mailing list I subscribe to, someone provided a link to an article on Blood Falls, Antarctica proved a rather fascinating read. I thought my subscribers might be equally intrigued by this place.
For several years that I can recall, I threatened the world with a series of articles on Forth design patterns, programming practices, and the like. I find it sorely needed, for you often hear even Chuck Moore ask questions along the lines of, "How do you communicate good Forth programming technique? What is that magic?" Just as Gamma, Helm, Johnson, and Vlissides advanced the state of object-oriented software comprehension with their publication of Design Patterns, I feel that observing, documenting, and collecting patterns relevant to Forth can prove similarly useful to those wishing to learn the language, either for profit or for fun. It matters not to me that Forth fails the wave-of-the-future test; the lessons learned dealing with Forth often apply to other languages as well, including but not limited to C, Factor, and Haskell, even if the precise application of the patterns require language-specific tweaks.
Today, I gave an hour-and-fifteen-minute-long presentation on a collection of patterns observed while programming my optical networking project's HDLC implementation. A link to the slide deck used eventually will appear on the SVFIG website somewhere. Still, so much detail exists that I couldn't cover things as in-depth as I would have liked. I could have spent at least 30 minutes talking about any one of them. I want, eventually, to write up a blog article for each of the following patterns I discussed today:
As work progresses on the HDLC project, as Unsuitable continues undergoing maintenance, and as new project ideas come to fruition through the use of Forth, I hope further patterns evolve to a point suitable for documenting here. If I can generate enough material, and/or if I receive reader submissions about their own patterns they've uncovered, maybe I can bundle the articles into a convenient paperback book form, purchasable at reasonable cost through a publish-on-demand provider, such as lulu.com or its competitors.
Unsuitable's General Object Store (GOS), used to hold all the textual content of this blog, is running out of room to hold future content. For development purposes, it was specified only for 64KiB of space, of which only 8.8KiB remained as this article was written. To handle this problem, I expanded the GOS to 256KiB. This should give me sufficient room for an estimated 68 more articles before I have to resize the GOS again. A cheat-sheet for how I administered Unsuitable follows.
Test-driven development practitioners often find themselves changing procedure signatures during a typical development session, usually in backward incompatible ways. Languages lacking compile-time type checking, such as Python and Forth, offer no assistance to the programmer for locating existing call-sites using older signatures. Embedding a serial number in procedure names, incremented after each backward incompatible change, guarantees symbol-not-found errors for each call-site which hasn't been upgraded to use the new signature yet. Either through Lint-type tools or through direct compilation, the programmer may know all call sites not yet adjusted to use the new procedure signature. Tangible benefits exist for maintaining user- or developer-documentation as well.
TechCrunch released an earth-shattering kaboom of an article concerning Google's operations in China. I have verified a post was made on Google's blog (see http://googleblog.blogspot.com/2010/01/new-approach-to-china.html).
Executive summary: Google is fed up with the behavior of Chinese censorship regulations, and potentially government-approved attacks on Google's infrastructure to compromise accounts belonging to civil-rights activists have resulted in Google's decision to tell China to go eff-off, they're going to uncensor everything if possible under their laws, and if not, China can kiss Google's sorry ass goodbye (meaning, they'll close down the google.cn website, all of the branch offices in China, et. al.).
This is quite a significant development, but I'm shocked it took this long to happen. Everyone on the planet was informing Google, "Hey, you're going to get raked if you do this," back in 2006 and 2007. It looks like they finally got the message. Good on you, Google!