Category Archives: Blogging

Initial grudge match results are in

After I mentioned that Don Box had sent some traffic my way, Scoble decided to make it a competition. Well, the initial results are in and so far it looks like… a tie! I can’t tell exactly because my weblog analyzer aggregates referrals on a monthly basis, so I don’t have a day-by-day breakdown of referrals, but I think both Don and Scoble ended up with about 140 referrals on the first day their respective entries were up. I’ll report back more next week when there’s been a chance for the referrals to die off and reach a steady state. (Although I’m guessing Scoble’s referrals may die off faster because his entries recede into the background faster given his fast posting pace…)

I guess when I someday write a “how to drive traffic to your site” entry, I’ll have to be sure to have an entry that says “start a competition between two well-known webloggers over referrals.” (Although in fairness, I don’t know whether Don has really taken up the challenge…)

Gone fishin’…

To my mind, the best blogs are really just fancy online newspaper columns. With the possible exception of the Molly Bloom-esque Scoble, I find that most of the time I’m not as interested in the day-to-day travails of the various people in my blogroll. Instead, I prefer when bloggers write in longer, more detailed entries with a specific purpose or message to get across (although it is possible to go overboard on that). It’s no surprise, then, that I like bloggers who are writers of some sort in real life, such as my high-school friend Jesse who writes a blog and is a magazine editor in the real world.

However, the one problem that blogs have is that there is no easy way to declare yourself “on hiatus.” Newspaper columns have the luxury of just running old columns, but there is no good way as of yet to distinguish a blog that’s quiet because the author is on vacation from a blog that’s quiet because the author has lost interest and isn’t coming back.

I, myself, have been on hiatus due to a combination of work pressures, book writing pressures and vacation. Design issues are like buses – none show up for a long time and then they all show up together. As far as the mythical VB language reference book goes, I just completed my yearly performance review where I discovered, to my horror, that one of my goals from last year was “finish the VB language reference book.” We’ve now got a solid goal of getting the book out by VSLive! next spring, so I’m having to get my butt in gear finally and bang this thing out. And after a long dry spell with no vacation, I’m going on several trips this fall, including one last weekend to New York.

So I guess I’m going to have to just say that things will be slow for a little while, but still expect to see some output as we go along here…

Just a few more changes

I’ve made a few more minor changes to the blog software, so let me know if things stop working for some reason. The major differences are that I replaced the calendar control with a monthly archive list, and I also added a “notable entries” sidebar so people can get answers to important questions like“who is this guy?” The software is getting pretty close to what I want, so I’m thinking this is probably the last revision for a while. (Barring some mad inspiration.)

What I’d really like to find is a nice blogging tool that gives me a good WYSIWYG editing experience with stuff like spell checking, along with a good HTML mode, a minimum of weird HTMLisms, support for some API like the Metaweblog API and extensibility. Right now, I’m using Frontpage and pasting it in by hand, but I’m sure sooner or later, I’ll go looking for something better…

Ask a Language Designer

There’s one other new thing on the site that I wanted to call out on in its own entry. Akin to an idea C# has used on their GDN site, in the “Links” section to the right there is now a link to the Ask a Language Designer page. You can use this page to submit questions that you’d like answered about any particular subject, and I’ll do my best to post some answers to the best questions on this blog. The disclaimer on that page is worth quoting, though, so here it is:

Questions will be answered at my discretion. Because of limitations of time, blog space, non-disclosure of future plans or the suitability of the question, there is no guarantee that a question will be answered. This forum is intended for questions regarding the design of the language, and not as a product support forum. All responses to questions will be made on the blog.

This is going to be a bit of an experiment, so please bear with us and don’t get too upset if it doesn’t work out for some reason! But I’m thinking we’ll be able to get some interesting questions answered…

Here we go again…

Not content to leave well enough alone, I’ve continued to hack away at the OpEd codebase to try and add some features that I thought would be useful. I’m now trying them out live, so if there are any problems, do let me know. Major changes are:

  • The backend storage is now a SQL Server database instead of an XML file. No one should really notice this, I hope.
  • I merged “comment view” into “permalink view” and added a permanent redirect from the former to the latter. I didn’t see much point in not showing comments in permalink view.
  • Every item now has a Trackback URL. I hope it works – I tried it out locally, but the world seems to be a variable place. Autodiscovery of TrackBack from RSS and embedded RDF in the page should work too.
  • I now generate dc:creator tags in the RSS, so names should start showing up in SharpReader.

I think that’s the major stuff. I’ve already had to fix a number of glitches since going live, so I won’t be surprised if there aren’t a few more disasters lurking around the corner…

Best laid plans…

Before going to bed, I thought I’d check the logs really quickly to see if anything looked amiss, and, sure enough, I’d screwed something up moving to the new software. I’d been testing the new software at a different URL and forgot to tweak one of the settings when I moved it up to the root. As a result, the links for all the RSS items was messed up, which caused automated aggregators to start trying to fetch from the wrong location. It should be fixed now, I hope this hasn’t screwed anything up permanently.

New software

OK, as I previously threatened, Panopticon Central is now running on custom software adapted from the original BlogX codebase. I ended up rewriting a lot of the data caching behavior as well as adding a number of new features and making a few cosmetic changes. I hope everything will continue to work. Please leave comments if there are problems or things I screwed up.

The major changes that readers will notice:

  • The RSS feed has moved locations. The old location returns a permanent redirection and it seemed to work with SharpReader, so I hope it does with everyone else…
  • I added a comments RSS feed. Now you can thread comments using your aggregator, if you so wish.
  • The RSS feeds now return ETag and Last-Modified headers. I’m serious hoping this is going to cut down on the bandwidth.

Most everything else was internal. The major thing still on the “to do” list for external readers is Trackback support (and all related flavors of APIs). And I’m sure I’ll continue to fiddle with the internals. It’s a lot of fun.

What’s in a name?

What’s in a name? That which we call a rose
By any other word would smell as sweet.
– Romeo and Juliet, (II, ii, 1-2)

The name of this weblog is “Panopticon Central,” which is probably no stranger a name than some others, I suppose, but I still think bears some explanation. Like any good name, there are multiple levels of meaning, so to peel the onion from the inside out:

  • A “panopticon” was a kind of prison proposed by the philosopher Jeremy Bentham in 1791. (I don’t know if he actually coined the term or not.) The idea was to design the prison such that the guards would be able to observe the prisoners at all times without being seen. Thus, prisoners would never know whether they were being observed or not, and would be forced to moderate their own behavior. (At least, that was the theory. I don’t know that our modern technological panopticons work all that well in practice.) The name “panopticon” meant an “all seeing place.”

An odd choice, don’t you think, for a weblog name? A prison? Well, a step deeper:

  • For those of you who were not uber-geeks as teenagers, a little background about “Doctor Who.” It was a BBC sci-fi television show about a rogue Time Lord from the planet Gallifrey named “The Doctor.” Time Lords have the ability to travel through time and space in a machine known as a TARDIS (Time And Relative Dimensions In Space). On Gallifrey, the central complex that houses the Time Lords’ government is called the Panopticon.

Well, OK. In an earlier entry, I copped to be a Doctor Who fanatic when I was in my early teens. But why choose a Doctor Who reference several decades later? Another step deeper:

  • On my 13th birthday, two significant things happened: I went to see “Return of the Jedi,” which had just come out, and I got a 300 baud modem from my parents. At the time, of course, the Internet didn’t exist and dial-up bulletin board systems (BBSes) were the only game in town. Soon I was totally hooked and within a year decided that I wanted to run one. My parents procured me some BBS software a year later when they visited the Democratic presidential convention in San Francisco. A year after that, I managed to get them to give me a 10 megabyte hard drive for my Apple ][+ for Christmas (it had it’s own power source and everything!). Six months or so after that, my BBS went online. And because I was just coming out of my Doctor Who phase, it was called Panopticon Central.

My BBS lasted for two years until I went away from college and it was an absolutely wonderful experience. Besides being a lot of fun, it was a great way to meet a wide variety of people, some of whom remain good friends to this day. About six months ago, I was setting up my server and thought “Hey, it’d be cool to host my own domain.” But, of course, I needed a name and all the simple names were taken during the Internet Gold Rush. I toyed around with a number of other names, but kept coming back to Panopticon Central because it had good juju (at least, for me). When I decided to set up the weblog, it seemed a natural.

Ironically, the name appears to be particularly apt because weblogging has much of the same feel to it that BBSes did fifteen years ago. Same sense of community, same sense of individual investment, same pointless flame wars over obscure subjects… A bit like coming home after a long time away.

[An interesting sidenote about Doctor Who: in the show the Time Lords also maintain a large computer called The Matrix that contains all of the knowledge of Time Lords who have died. It also functions as a virtual reality machine which you can plug into, just like that other Matrix. During at least one adventure, the Doctor and his arch nemisis the Master are each plugged into the Matrix and the Doctor must fight his way out. And this was in 1975. The Wachowski brothers must have been fans too…]

Pulling on the loose thread…

Anand asks me in a comment whether I’m going to support TrackBack. It’s a very relevant question, as I’m currently neck-deep in a rewrite of the BlogX code to add a whole bunch of features that it currently lacks. In fact, I’m very lucky that my wife is also currently neck-deep in grading for the summer class she teaches, or else my disappearing into my study for long stretches of time during a weekend of beautiful weather would cause some marital friction…

This all started, of course, by pulling on a single loose thread on the sweater: in the immortal words of our current president, I “misunderestimated” how much interest my blog might pull in, so each day I’ve been watching a bit alarmedly as the amount of my bandwidth being eaten up by the blog has grown and grown. I finally turned on gzip compression in IIS (I believe), which should help, but what I really wanted to do was implement ETags and Last-Modified on my RSS feed so I can cut down on the huge amount of bandwidth that SharpReader is sucking up. (They’re, like, 50% of the hits. Good for Luke… I use it too!) So I figured, “Hey, it’s .NET and I work on .NET. How hard could it be?” Classic last words for a developer.

The first problem was that, as much as I like C#, I just think a whole lot better in VB because I don’t have to translate as I work (and I like the VB IDE experience better, but I may be sliiighly biased). So first I translated most of BlogX (everything except the HTML control for WinBlogX) into VB using an automated translator. And then I spent a bunch of time cleaning up all the problems and stylistic disagreements that that caused. And then I spent a bunch of time cleaning up the code base so that it worked “the way I like it.” (This is no knock on Chris, I’m just one of those anal developers who just aren’t happy if they haven’t rewritten most of any codebase they take on.) And then I finally got around to trying to add new features. Which of course made me realize I didn’t understand how the whole thing worked, which entailed more research and rewriting, blah, blah, blah, blah.

Suffice it to say, I’ve devoted way more time to this than I had ever planned and still haven’t gotten a fully functional blog working. But I’m getting close! And soon this blog will have all kinds of whizzy-bang features. And I’ll have learned a whole lot of things about web programming that I never knew, which was really kind of the original point anyway.

And then Dare will release a new version of BlogX with all the features I added and many more to boot, and I’ll wonder, “Was it really worth it?”