The Requisite "About Me" Page

Posted to meta on 2008-01-09 15:04:00

In August of 2007, Jeff Atwood wrote an article about Thirteen Blog Clichés. While there is some irony in the sense that one thing that he said he hated was blogging a blogging, and that's what that article is, it generally contains some pretty useful information. I've tried to follow some of those pieces of advice in the design of my new weblog software. Thus, you won't find the calendar widget anywhere -- no one used it and I didn't blog enough to have it up there. You'll also find that I don't blog about my daily life anymore. Number 3 on the list, however, struck a chord with me. So here's a bit of info about me and contact information for folks looking to find me.

My name is Patrick Wagstrom and I'm a graduate student in Engineering and Public Policy and Computation, Organizations, and Society at Carnegie Mellon University in Pittsburgh, PA. I should be finishing my Ph.D. real soon now. You may be able to find some more information about what I do on my academic page -- but I'd guess that's out of date right now.. The best way to get ahold of me, is, and most likely always be email -- patrick@wagstrom.net. Look, I'm even brave enough to put my email address in plain text. You can also reach me on Google Talk at patrick@wagstrom.net.

I don't use and have no intentions of using services like Jaiku, Twitter, Facebook, Orkut, or whatever the fancy thing of the week is. I've got some actual work to do, and in my view most of those are just substitutes to make people think that they're doing real work. Also, the privacy implications of those services are astounding. Seriously, watch out for your privacy when using those services -- or rather your complete loss of privacy.

I'm passionate about open source and developing technology that connects multiple disparite pieces of technology and communities. In particular, I'm really interested in social software and online communities, which is rather ironic given how I shy away from many communities. I'm an active supporter of the Electronic Frontier Foundation, periodically contribute to the GNOME Project, and frequently give talks about digital rights management, online communities, and the future of technology.

This weblog runs a piece of software called PostStreet. It's a fairly simple python based blogging system that I wrote during a self-imposed 24 Hour Weblog Challenge. Most of the logic and design was done over the course of a 24 hour period, or which only about 12 were actually working on the system.


Sanitization and Focus of Weblogs

Posted to meta on 2007-03-12 10:52:00

When I first started what could be called a weblog, sometime back in 2000, it was mainly a little place for me to scribble my thoughts about what was going on in my life. You can see a snapshot from early 2002 at the Internet archive. Unfortunately, I couldn't a copy on the archive from the origins of my weblog. At the time, there wasn't any large scale concern about privacy on the internet or employers examining personal web pages before hiring people. I think the only people who ever really looked at my weblog at the time were friends at IIT or co-workers of mine.

Most of these entries were short little bits talking about what was going on my life. Very similar to how the kids use MySpace today. In retrospect, it was eerily similar to a primitive MySpace. However, as you know, you can learn a lot about people by looking at their myspace pages. Everything from political affiliations, to tastes in music, to where people, to their current infatuation with the opposite sex. If the parents of those 14-year-olds realized the risk they were taking by allowing their kids to have MySpace pages, I doubt they'd let them post so much information. Fortunately, MySpace has gotten better and added in protections to allow pages to only be viewed by "friends", preserving some aspect of privacy.

However, this weblog serves a very different purpose. I'm not trying to convey what sort of mood I'm in, or what I had for lunch today. Rather, I use it as a feedback environment for new ideas and a place to post nifty little pieces of technological gadgetry that I've developed, mostly related to Linux and Programming. I've come to realize that I too had way too much information on my weblog. With a little digging it would be far too easy to find out my political views, lots of details about my wife, where I lived, or how I was feeling on certain days. All of that information is completely orthogonal to the purpose of this weblog and only puts me at risk as I go out from CMU in the reasonably near future. Furthermore, a better question is this: Does anyone really care about the fact that I had a bad reaction to some mexican food in the summer of 2002?

Thus, I've done something that I originally told myself I would never do - I've removed 234 entries from this weblog that addressed issues that were not core to the nature of the weblog. Some were removed because they had little value, such as a posting about wiring problems in my apartment in Chicago, while others were removed because they contained profanities, views that I no longer hold, or political statements which I really shouldn't be making. I tended to keep the political views on technology, because I believe that's an important focus of this weblog. However, my writings on the war, abortion, Palestine, etc have all been removed. Instead, if you visit their former pages you'll get a message saying the page has been sanitized and a link is provided to this weblog article.

As far my personal beliefs about publishing on the Internet, over the last few months, I've become much more skeptical of it. I believe that focused weblogs can be a powerful thing for change, for example Ed Felton's "Freedom to Tinker" is a great example of a focused weblog. It provides value for people to read entries and comment. Unfocused general weblogs, on the other hand, often provide too much information and put the author at risk. In the future, I hope to not be forced to remove entries that I've written, but I will certainly be much more cautious about such entries. Also, I realize that it's possible to find most of my previous writings in this weblog. If you're that desperate for information, knock yourself out. I'm just not providing direct links to it anymore.


Comments are Now Open

Posted to meta on 2007-03-11 20:50:00

In the dark old days of the internet, I used to run a weblog using a few ad hoc PHP scripts. They broke a lot and generally weren't well maintained. Somtime later I started to use Movable Type. After all, it was 2001, and that was all the rage back then. However, as a devotee of the "Dump Perl for the good of all humanity" movement, I wan't too keen about running a set of Perl CGI scripts on my webserver. Don't get me wrong, Movable Type was great and all, but it was still Perl. Which meant it was nigh impossible to hack on. Sometime later, with the release of Movable Type version 3, the license changed to something that was decidely un-free and un-cool. I don't remember the details, but I just remember not particularly liking the change.

In late summer of 2003 I moved to Pittsburgh, and for a few months, my entire website went dark. Then it came back online using some hokey methods to make it accessible on my Verizon DSL line. I began to search for a new weblog system that met most of my requirements. Namely, that it was written in Python, because that was my language du jour at the time (and for the most part, still is). I found lots of different options, but none seemed really complete. I finally settled on PyBlosxom. It was completely file based, so it seemed pretty simple to setup. Almost everything was done via plugins, which also was quite cool. It was a pretty minimalistic weblog system. For the most part it worked for me.

As time went on, I added some new features to PyBlosxom, and saw the software move into the life support stage of development. The original architecture was pretty cool, but it wasn't quite structured the right way for all the stuff I wanted to do. I undertook a painful process to augment the infrastructure of Pyblosxom to give it some XML/XSLT rendering framework, and produce what you see today. I find it marginally a pain to administer, but it works for the most part. Anyway, since switching to PyBlosxom, I've lacked the ability to allow for reader comments on the page. I'm not sure why, probably because I was getting lots of spam on my Movable Type weblog back in the day. However, a lot has changed with weblogs in the three and a half years that I've used PyBlosxom, and the time has come to hack together more stuff into my PyBlosxom implementation. That's right, effective today, commenting exists once again. Halleluja!

The commenting system isn't perfect. It basically translates every message into plain text, replacing carriage returns with <br> tags, but it seems to work well enough. Consider it to be another ball of duct tape on top of the mess of scripts that holds this website together. Anyway, so feel free to try and leave some comments. If people really hammer the system, I'll probably be forced to modify the script for more anti-spam stuff and what not. For right now, I'm counting on the fact that the system is unique to keep the spambots away. And with that, let the conversations (or lack thereof) begin.


Updated Style

Posted to meta on 2007-03-10 21:31:00

I went through and decided to give my weblog a facelift. Originally I had intended it to be much more exhaustive, but I settled on something pretty simple for right now. I'd still like to add the ability to leave comments at some point in the near future. However, it always comes down to this issue of updating my Pyblosxom software, which is so incredibly branched from old school version 0.8, or writing new software.

Anyway, if you've got comments on the new style, email them to me. I'll add the ability for comments in the future.


AutoPilot Again

Posted to meta on 2005-07-08 20:18:00

Yeah, so knowing my luck no one will get a chance to read this. I'm going out of town for a week or so. With any luck I won't have internet access while I'm gone. This means that scissors will be on autopilot. This also means that it will probably crash 10 minutes after I leave for the airport.

If you're interested in where I'm going, I'm presenting some of my research at OSS 2005 in Genoa, Italy. Kristina is staying behind, so it's not like I've got a romantic first anniversary on the Italian Riviera planned. Oh well, I'll make it up to her when I get back on the 16th.


Scissors is on Autopilot

Posted to meta on 2005-05-16 11:23:00

Scissors, the fine K6-200 machine with a badass circa 1997 "I Love Unix" SCO sticker will be on autopilot for the next few days as I'm off in Texas, it's like a whole nother country down there. If this is anything like previous trips, something will go wrong three hours after I leave Pittsburgh and the server will just stay down. Such is life.


Moving Servers

Posted to meta on 2005-03-31 15:20:00

As part of our move, I'm also going to have to move scissors, the little computer that powers this web page. I'll try to keep down time to a minimum, but I can't guarantee anything. So expect the page to die for a few days sometime next week. Yes Kenneth, this means you'll need to find something else to do at work for a day or three.

I was a little shocked when I called Comcast to inquire about transferring my service. Right now I pay $13.09 a month for basic cable channels and $42.95 a month for cable modem service. To transfer my service I'd have to pay $24 for a new hookup to our new house (even though I'm fairly certain we already have a hookup, I should plug in the TV and see if it's live). On top of the $24 fee, I'd still have to pay the same rate I'm paying today.

Seeking to be completely honest, I asked what would happen if my wife signed up for a new account, would she get the discount? The answer was yes. I then asked a clarification question: "Let me see if I understand. If I do a transfer, I continue to pay $56 a month and need to pay a $24 transfer fee, but if she signs up we pay $44 a month for a year and just pay a $27 installation fee?" "Yes" "So what's to keep me from doing that?" "Well, you would loose all of your comcast email." "I don't use comcast for email." "Then nothing I guess".

While it's not what I could call a complete sanctioning of my activity from Comcast, it makes me wonder about the viability of such business models. Mobile carriers realized a while back that to keep customers they need to provide better benefits to existing customers than they provide to new customers (my low rate from Sprint is evidence of this). Why is it not the same with high speed internet? It probably has something to do with the lack of competition.

In Pittsburgh, we have our choice between cable and DSL, just like most places in America. Cable is provided only by Comcast. DSL is mainly verizon, although I've read that I can also get it through SpeakEasy with their nifty OneLink service (but I'm not entirely sure). In any case, what it comes down to is that all of these options are more expensive for a lesser quality link. The biggest issue is the huge infrastructure costs in getting to folks. Unless someone has the money to sink in infrastructure, they can't do anyting, so we see no real innovation. Sigh, so I'm stuck with comcast. Well, at least unless I want to pay more. Here's hoping for WiMax.


I Broke Technorati

Posted to meta on 2005-03-26 11:14:00

I've been adding tags to all of my weblog entries recently. I think it's a kinda cool thing to do. However, if you've been reading my weblog, or even just the RSS version of it, you'll notice that the tags have been bouncing all around. Well, let me explain the reason for this.

Technorati has set up a system to tag weblog entries. In this way, when I write an entry on "linux", people can go visit the tag on Technorati and see other associated folks who also wrote about Linux. I've noticed that it's added about 80 hits a day to my weblog. Which is pretty impressive.

The basic mechanism is this: somewhere in your weblog when you make a link you include the attribute rel="tag" in the link element. This can be just a general link to the Technorati tag page or to anything else. I've chosen to go the simple route and just link to the technorati tag page, although if I ever finish time suck, it will link to my unified tag page for my weblog, photos, bookmarks, and articles. So the simple way to do this is to include a span of HTML like <a href="http://www.technorati.com/tag/technorati" rel="tag">technorati</a>. This puts the link there and when Technorati recrawls my page it grabs the links.

Sounds all good and straight forward, but there is a catch. Apparently there is a flaw in the technorati spider (as confirmed by Kevin Marks in IRC). Basically, it's associating my tags with the wrong articles, which is most uncool. This is difficult to understand as if it's grabbing my RSS feed there is no way this should be happening because the different tags are in different <item> elements. Thus, for my previous entry where I mentioned globalization, the tag entry on Technorati takes you to "A gift to planet wplug", which is wrong. I'm sure it's also confusion people, and I've gotten one email about polluting the blogspace. I'm not sure if the spider grabs the stuff from my web page or the RSS feed, so I've been trying to move articles and tags around in relation to one another. That's why for right now on my rss feed the tags are at the top of each entry. I hope to move them back down at some point in the future, but right now, I just want it to work. So here's hoping that the latest sets of updates actually cause everything to work. If not, well I guess I keep polutting the tag space until I either get banned or technorati fixes their site.


Preliminary Technorati Tags Support

Posted to meta on 2005-03-22 09:38:00

I've added preliminary support for Technorati tags to my weblog. The beauty of everything being all XML-ified on this weblog is that it means this took basically 0 programatic support requirements. A few small changes were made to my XSLT so the tags show up on both the blog entries and on my rss feed. One of the planned features for TimeSuck is to give everything tags so it's all sucked together in one big happy family. Thus, clicking on a tag for "home" would bring weblog entries, photos, and links related to that topic. And in an ideal world, this would all be synchronized with sites like flickr and del.icio.us.


Oooh, a Shiny New RSS Feed

Posted to meta on 2005-03-15 11:14:00

This is sort of a test entry and sort of an entry to explain what I've been doing. It's a test entry because I'm not sure if the problem with spaces on BlogLines has been cleared up or not. I hope it has. If it hasn't then I know a ghetto way to fix it, but it involved encoding hard non-breaking spaces around hyperlinks, which is not quite ideal.

Anyway, I think I've got everything going well enough that most of my weird markup should handle properly. I did uncover a strange behavior with libxml that exhibits itself on OpenBSD. Under Linux, which is what my laptop runs, I could write an xpath expression like: //my:verbatim, and it would handle all of the instances of that tag in the document. However, for some reason in OpenBSD when I was processing my:blogEntry entries I needed to expressly specify //my:blogEntry//my:verbatim in order for the expression to grab all the nodes I wanted. Not the worst thing, but still moderately annoying. It could be a result of old libraries on my server too. I'm not quite sure about that.

I also made a few more changes to my script to generate the RSS feed. In particular, you should notice that all of the links, even the ones that used to be relative, now work from the RSS feed. I imagine that there is a way to it in XSLT, but it only took a few lines of python to fix these:

res = ctxt.xpathEval("//a/@href")
for x in res:
    ctnt = x.content
    if ctnt.startswith("/"):
        ctnt = "http://patrick.wagstrom.net" + ctnt
        x.setContent(ctnt)
Basically I'm hard prepending http://patrick.wagstrom.net to any link that appears to be relative. I'm sure at some point this will have unintended consequences. I've done a similar thing for my image blocks to display those in the RSS feed, so now you can finally see when I post images in my weblog through the feed. Except that you might occassionaly get bandwidth thief graphics. As I find referers that are causing these, I'll white list them. I needed to install referer checking because some folks were causing me to use massive amounts sending out pictures that were mine with no credit given to me. Sigh. Yay for the interweb.