Check it out! A sweet new poll! (For an explanation, read below.)
My personal bandwidth has been significantly reduced lately (in case you haven’t noticed), for a number of reasons. The main one is not a lack of time, believe it or not; rather, it’s a lack of mental resources. It’s been a while since the last time I was seriously mentally invested in a project; now that I am—and I will most likely write about that at some point in the future—I find that by the time I get back to my hotel each night, I am so mentally spent that it’s difficult to focus on anything meaningful. (Oh no, I think I’m discovering what most working adults experience every day!)
One area in which this has become particularly obvious is my blog. Where I used to try and post something relatively thought-provoking and meaningful on a somewhat regular basis, I now struggle to update at a frequency anywhere even near my original goal of daily (or even my updated goal of 5 days a week). And when I do post, the quality is, in my (perhaps overly critical*) opinion, not as high as it should be.
So I had this idea. Because a lot of promising ideas have been stewing around in my head for a while. The problem is simply that I’ve been having trouble mustering the energy to give any one idea the attention it deserves. And with each new idea that I have, the more difficult it becomes to actually pick one and spend a solid hour or two writing a post about it. So what if I delegated that decision to you, the readers? There ought to be at least a small handful of you who would be interested in picking what I write about, yes?
This will be a little experiment. Here is a list of some of the topics I’ve been interested in covering (with only brief descriptions of each); if you care to vote for one, please do so!
- I’ve been pair programming over the past couple of weeks with a guy who has a very different style from me. Whereas I tend to see a solution to a problem right away—maybe not the right solution, of course, or even necessarily a good solution, but one that can be implemented quickly and in such a manner that it shouldn’t be difficult (in my mind) to go back and improve it later—he takes a much more controlled, deliberate approach to his code. One way I would describe our difference is by saying that he focuses more on the process of writing code and how it can be done safely, while I focus more on the code and getting features built.
This guy recently made a comment to me that has gotten me thinking quite a bit. He talked about a colleague of his who was incredibly smart, but who designed software in a way that required him to make his brain work really hard. And by doing things in such a way, he actually subverted his own ability to come up with more creative solutions to problems because his brain was maxed out on technical issues.
I like this idea, but at the same time I sometimes feel that developers can become obsessed with not making their brains “work really hard” and end up being flat-out lazy, refusing to do relatively easy work because they prefer to reserve their brainpower for scenarios that are unlikely to occur (i.e., when you’re working on a fairly simple project, the need to utilize your brain to “think outside the box” may be slim to nil). So I was thinking about writing a blog post on this topic.
- I recently got into quite a debate on Stack Overflow over the following statement (which I disagree with):
Value types aren’t subtypes of object until they’re boxed.
If you’re interested in seeing some of the debate, take a look! I was thinking this could actually make a good blog post; but honestly, it might be too big a topic to cover. Every time I think about what I’d write, my mind fills up with about a hundred different points and related concepts.
- Some time ago I discovered a bug in the C# compiler. I actually came across the bug (and even wrote about it already, but not in much depth) while writing some NUnit tests for a library I’ve worked on. I was thinking it could be interesting to write a post outlining the process of discovering this bug, starting with the unit test, some head-scratching, some research including an in-depth look at the C# spec, and finally getting confirmation from Eric Lippert (principal developer on the C# compiler team) that it’s a bug. Any takers?
- Here’s a totally different alternative. I could resume work on either VariantCollections or Tao.NET (both of which I believe in but haven’t had much of a chance to work on lately) and write about my progress on either of those.
So, what’ll it be? If you have any interest in any of the topics I just listed, let me know by voting in that sweet poll up top!
*But then again, perhaps not.