Geoff Chappell - Software Analyst
This website drew two opportunities from what we’ll all remember forever as the pandemic year 2020 (or perhaps as just the first pandemic year). It took a few months to settle into the new reality for my balancing paid work with research, but by mid-year I started to develop a new theme for the website: what can reverse engineering tell us about Microsoft’s source code for Windows? This is the recurring question in all that’s new here.
It’s not that we need to know any of the source code for a study of Windows. It’s instead that the study of Windows has been diminished in terms of integrity, both moral and academic, for looking like much of its input has been pilfered. Many of the subject’s practioners, even leading ones, are notably thin when citing their inputs. They say perhaps enough to deflect suspicion but not enough to help other researchers either confirm the work or advance the field faster for not wastefully redoing one another’s work. The subject could do with being put on firmer ground as academic inquiry. Improved citation practice is just discipline to urge on everyone, including me, but the problems of integrity and credibility are caused in part by a widespread belief that source code is everything. If this is to go away, someone needs to catalogue for the disbelievers just how much can be known without source code.
However much I believe I broke new ground on that, I started to realise by the end of 2020 that the website’s design from 2007 did not quite support the new content. Push was coming to shove. I could not keep ignoring that a thorough reworking of the site’s scripts and stylesheets was long overdue. For both these highlighted points, there is much to do. Off and on, the work will extend well into 2021 and beyond:
If you value the existence of this sort of free and independent resource for Windows programming, please help me justify it. Send feedback so that I know what works and what’s wanted. Encourage paid consultation by anyone you know who might benefit from the help of an expert Windows programmer and reverse engineer.
Back in 2017…
Now that research and writing is again a part-time exercise (after some full-time self-indulgence in 2016), the output is of course greatly diminished, certainly in ambition and quantity, and very likely in quality too. It is on the one hand very unsatisfying to work at nights and weekends only on material that doesn’t need more than nights and weekends. You get such work done well enough if you can stick at it, which is not easy since you know that while you only aim so low then low is unsurprisingly what you’ll achieve. On the other hand, working even full-time for a month on something whose scale might easily justify a year of study is very frustrating because you see the mountain but have to give up at the foothills. Still, I try to have something to show now and then:
What was at first a half-hearted resumption of research and writing at nights and on weekends at the start of 2016 after a break of five years got into full swing by mid-year. But the realities of having to earn a living brought me again to the problem that this sort of work just isn’t sustainable as free publication. Again I found myself writing along such lines as: whatever is here on 1st March 2017 may be all there ever will be.
See how very much more attention I have given to the kernel since 2016 than before! Historically, the Windows kernel was not an interest for publication but for the commercial work that funded the writing.
Research and writing for this website stopped at the end of 2010 while I took stock of what it’s good for, how it could be continued and whether I should want to continue it. For quite some time, especially after I instead took up full-time employment in 2011, it looked as if whatever was here at this website on 1st November 2010 would be pretty much all there ever will be. There were inevitably some corrections, because I am of course responsible for what I write. There was a little maintenance and tidying up, but there was every plan never again to do any significant updating, let alone to write anything truly new.
I had called time on this before, in September 2009, yet somehow kept the work sputtering along while looking for ways to fund it. The experience of trying to do that was deeply unsatisfying. What little work I managed to get done in that last year is of a greatly diminished ambition. I’d have been pleased enough with it five or more years before, but it’s a shadow of what I have since seen can be achieved when freed from the ever-present need to make this sort of work pay its own way.
The last set of links gets you to the 329 pages that were added or substantially revised in the not-quite-a-year before suspension in September 2009, as I rushed to have something to show for the years I had committed to this documentation project. If those pages do not themselves demonstrate the project’s worth as a public good, then neither will any amount of additional writing, and the experiment is better judged a failure. That’s a shame. There is so much more to find out and write up, so few who try, and hardly anyone who does it well enough that it might be sensible to imagine relying on it. How much innovation in interacting with Windows has been missed because nobody knew quite enough about Windows even to see the possibility? For all that’s written about crowds pooling their wisdom to produce commercial-quality work for the public benefit, you might think they’d have done better at the question of what’s in the world’s most-used software.
There are older pages, of course, many from as long ago as 2004 and some from as far back as 1997. But I did not start listing them by date until late 2008. Until someone asked, it just never occurred to me that anyone would want them listed by date. Pages from before 2007 were first a different website with a different hierarchy.