Category Archives: Ideas

Half-baked thoughts, provocations, and things I’m mulling over.

A Calendar Problem

So here’s the scenario: I have a work calendar on Outlook 2003 which gets all the work meetings. I use iCal on my Mac to keep a calendar with mostly personal events and it syncs via DAV online. I would love to combine all of these and sync them together and to some sort of web interface, and make all the events and alarms go to my phone, a Motorola RAZR. Is this even possible? Update: Groupcal looks like exactly what I need.

The Trouble With WordPress

Recently it leaked on a blog (there are few secrets in Open Source) that elements from a design known as “Kubrick” by Michael Heilemann would be incorporated into the default template for the next version of WordPress. Kubrick is many things: a design, a set of templates, some plugins, and a removal of a lot of cruft currently in the default template. It makes things much friendlier for readers. Best of all Michael released everything under the GPL and submitted it to WordPress for inclusion. After it had had several iterations I checked it out and saw a lot of great ideas that would make WordPress a better product, especially for new users. Even though no decisions had been made and no code had been committed, a number of questions were raised in people’s minds. A thread was started in the forums that I’m not even going to link to because it’s not worth reading past the first page, if that. Many people seemed to misunderstand what was going to be incorporated and what wasn’t, even though that was stated pretty clearly in the original blog post.

Michael is primarily a designer, not a coder, and coding things in a way that works on the variety of platforms and setups that WordPress itself does is hard, so there are issues with that in the templates Michael has released. WordPress devs have a lot of experience with those issues, however, and anything added to the core will work just as well (if not better) than WordPress does now. Several others questioned the inclusion of graphics in a template. If graphics were included, how would people be able to edit it? We can’t expect people to have graphics editors, so if graphics are included in the final template (that hasn’t been determined yet) I’ve committed to providing an online interface on wordpress.org for people to customize the graphics to match their color choices without needing any software beyond a web browser. There were some questions about the CSS being used in Kubrick, but the CSS used for it in WordPress won’t be the same and will be treated like any change to the WordPress code, that is it will go through the normal QA process and be tested across platforms by the developers and the few dozen or so people who keep up with the nightly builds, and then extensively tested by the hundreds that use the beta releases once we enter that phase for 1.3. Any problems will be treated as bugs and fixed as such. Watching trends on the forums and continuing a high level of support is very important to everyone.

The problem was after all this was explained the thread continued long after all these questions had been answered with everyone talking past each other. If it shows anything it’s that people can be very passionate about the smallest of things. It’s interesting to note that while this all was occuring what has actually happened in WordPress development in the last week: Dougal wrote a plugin to slow down spambots, literally; Alex made a new style for the styles page; Kitten sent in another comment moderation plugin that’s going to be included in the core; Craig Hartel and Kevin Francis (amoung many others) did some great work on the new wiki; Michel is refactoring the XML-RPC code; we started the process of moving to a better source control system; Ryan is coding too much cool stuff to mention, but the next version of WP be the easiest to customize and template ever. That’s just off the top of my head, there’s lots of other exciting developments happening.

In other words, life moved on. It showed up on a few blogs, but that’s a price of popularity: bad news gets more buzz than good. Numerous examples are in the checkout line of every supermarket. (Not to mention the blogosphere.)

So what’s the state of the WordPress community today? I’d say it’s better. The number of people who actually got out-of-hand was only a handful, and personally I’m ready to apologize and move on. I’ve never been good at holding grudges. The things that make the WordPress community great haven’t changed, and several lessons have been learned. Hundreds of new WordPress blogs have been started, testimonials and donations keep coming in, I’ve noticed more people helping out on the forums, and best of all there’s a healthy amount of disagreement keeping the project young.

Redirection Proposal

As many people have heard now, blogs that were previously hosted at weblogs.com are now needing to find new homes. Dave is going to be sending people their backup files but it looks like a lot of links may be broken, and some people proposed keeping a list of the old and new URIs.

Why not go one step better? I apologize if this is not technically feasible for whatever reason, but here’s my idea. DNS is very flexible, Dave can have specific A records for subdomains of sites that are going to stay under weblogs.com, and then set up a wildcard * A record to point to a different IP. This IP could be anyone running a service that would allow people to redirect their old domains to their new ones. Technically this would be pretty simple, no more than a few hours of hacking. The machine serving the redirects could have a wildcard virtualhost entry in Apache and a simple PHP script (or Python script, or RewriteMap) to serve 301 Moved Permanently headers depending on the hostname.

It could redirect to whatever the site owner wanted. The hosting overhead would be minimal. I’m willing to personally commit to writing the code and hosting it for at least 2 years.

Feature Creep: PowerPhlogger

It’s always sad to see a good project go a direction that you’re not going to follow it in. Case in point: Power Phlogger. It’s a neat stats application that I was always partial to because it gave information like user resolution and color depth that you don’t usually get from stats programs. It is called through javascript or a backup “image” so you only get “people” in your stats, not bots. It makes it easy to view your stats in terms of actual people visiting your site, what pages they went to, how long they spent on each, information that I find a lot more useful than “X number of people came to your site in May, here are the browsers they used.” Most web logs (not weblogs) have a lot of redundant information that can be easily abstracted in a relational database. (Okay, weblogs too.)

However it’s been half a year since the application has been updated, and much longer since there have been any significant upgrades. They basically stopped working on it to focus on PowerPhlogger3, which is going to be built from an entirely new codebase. That should have been my first warning. Part of the reason WordPress has been so successful when other PHP blogging applications that started about the same time haven’t is that it built on the b2 codebase rather than rewriting everything from scratch. The old code had a lot of problems, but it’s something we’re improving incrementally with each version. (The old code also did a lot of things right.) What if the Firefox developers had decided they needed an entirely new rendering engine and we had to wait 3-4 years for the first release of Firefox? The release date for PPhlogger has fallen back again and again, and no code is currently available to the public. It went from requiring PHP 4.2 to not working on anything but PHP 5, which hasn’t even been released yet and is a long way from being available on most hosts. Along the way they created yet another PHP5 framework. Whenever version 3 comes out it will run on a dozen different databases (11 more than I need). Everything is object-oriented now.

I’m sure all of this is very exciting from some sort of computer science standpoint of code purity, but on the other end there is an impatient user. The situation is made worse by the fact that, as I have found on wordpress.org, PPhlogger 2 does not scale well, to the point of slowing down everything else on the server. I ended up just removing it. I’m going to have to turn it off on this site soon. To some extent logs become useless when your traffic grows; you just can’t watch stats like you used to. That’s why services like Technorati are popular amoung high-traffic bloggers—they extracts meaningful data (who’s linking to me?) out of the noise of web stats. I’m looking for another program that will do this.

PowerPhlogger’s first release candidate will come out “no earlier than July 2004,” a date that has been moved several times. I hope I am wrong in thinking the project has jumped the over-architected shark and they release an amazing product that is fast, useful, and stable.

Temporally Challenged

Eric has a new book you should buy, despite the fact he’s all wrong about weblogs. His thesis is that it’s easy to read chronological items that relate to each other from top to bottom on a page. It’s not that Eric has his facts wrong, he’s just looking at the wrong facts.

Weblogs are not 20 chapter books. Eric’s entries refer and develop more than the average weblog’s, he is no exception to the rule that most weblogs would be just as intelligble if they randomly ordered the entries you haven’t read yet than if they presented the newest ones at the top. For some reason Eric insists on using monthly archives for his permalinks, which isn’t helping his visitors or Google (or the bandwidth he’s concerned about). Anchored monthly archives should never be used for permalinks. The only people who still use these are those who are technically hindered from or too lazy to implement post-level permalinks.

On monthly, weekly, or daily archives it makes perfect sense for the entries to be ordered chronologically, because the defining characteristic of the posts is their chronological relation to that date range. On a search result page, I want to see the results ordered either in reverse chronological order or by some search relevance. Both Technorati and Feedster get this, and both default to reverse chronological order of their results. On the front page, which is where Eric has his main beef, the most relevant thing to at least 95% of visitors is going to be the latest items. Anything else is going to be making the site less useful to the majority of users for the benefit of a few. There is a much larger precedent for putting the most recent items at top than just weblogs: most email and webmail software I’ve used, every press release page, news sites like CNN, Zeldman, the Board of Governors, the White House. Breaking the convention of thousands of familar sites for the benefit of the occasional reader who checks back every week or so but is really annoyed at having to scroll funny to what they’ve missed breaks the Hippocratic Oath of design. Weblogs aren’t ordered the way they are because of some freak historical accident, they’re ordered this way because it works.

(A sidenote about the bandwidth issue: it’s dead. Of course pages should be made as small as possible using standards and efficient markup to help them load quickly. No one is going to argue that. However an optimized 10K page loaded thousands of times a day is still a healthy chunk of bandwidth. If you are adjusting your content or paying more for the popularity of your website, find a better provider. The server that this site (and others) is on is allocated 1.2 terabytes of bandwidth transfer per month. At worst it uses a third of that. Server bandwidth should not be an issue anymore these days.)

I mostly disagree with his post, however I feel Eric’s pain. I’ve had to do the scroll-catchup thing before, and it was annoying. Without breaking the website for the vast majority of my users, I can offer some relief:

  1. Eric is a busy guy and I’m guessing he uses a newsreader (like NetNewsWire) to keep track of who has updated. If you click through to the permalink of a new item it will take you to the individual archive for that page, complete with comments. I have always had intra-post navigation at the top of the page, but after reading Eric’s screed it occurred to me where that would really be useful is after you’ve read the article and want to move on to the next thing. So now I have post navigation above the article, after the article, and after the comments. If you’re a few posts behind, navigate the individual archives instead of a monthly archive or the front page. Enjoy.
  2. One benefit to a completely dynamic system is that you can change views on the fly pretty easily. So if the reverse chronological thing bothers you that much, at least with WordPress blogs you have a easy fix. Simply add ?order=asc to any WordPress URI and it will order the dates ascending instead of descending. Example: my March archives, my March archives descending. It would also be pretty trivial to set a cookie to allow people to see things ordered different ways, and I imagine within a few hours of writing this there will be a new hack or plugin on the forums. If only everyone used WordPress.

Link Archiver

(Pardon my verbification.)

Here’s an idea for any website, though it could be particularly applicable to weblogs. I’m a reading junkie, I can’t get enough. When I come across a blog I like I often go back in its archives, which is a great way to get a feel for a site. It’s fascinating to see how some blogs have evolved over the years, how posting styles evolve, and to see what people were thinking around the time of important events.

There is one common thread in every archive I browse, I constantly run across dead links. Long-dead links. Dead permalinks even. I have read that the average life-span of a web page is 100 days—I think that may be generous. What good is the wonderful archiving of modern weblog software if those archives become irrelevant less than a year after they’re written?

I think the answer lies in some kind of automatic archiving of all linked content. When you publish a new post an intelligent spider tied to your blog engine could go and grab the content of the page you link to and store it locally. Once a week the spider checks all links on your weblog and if the resource no longer exists it updates the link in the entry to point to the locally archived version. The local archive would have a disclaimer and a link to the original location of the resource, much like Google’s cache. The link in the entry could also be modified in some way, perhaps with a different CSS class or rel value than normal links. The engine could also alert you so you could be sure to be wary of that website or publisher in the future.

How hard would this be? I know there are copyright issues that I’m ignoring, but I don’t forsee that being something that would hold this back. I doubt copyright holders who can’t keep their URIs cool are going to devote many resources to tracking down blogs violating their missing content. Besides, this could be covered.

I could see this done as a centralized service, something like Technorati meets Furl, but that would really defeat the purpose. Decentralization is the path of the future.

Next Semester

I just finished registering for all my classes and I’m pretty happy with how it’s turned out. I don’t have an amazing Monday–Thursday schedule like I did this semester, but the classes should be quite good. Here’s what I ended up with:

  • 3332: Philosophy of Language
  • 1336: U.S. and Texas Constitutions and Politics — Introduction to the constitutions and politics of the United States and Texas, emphasizing constitutional structure, federalism, separation of powers, limited government, public opinion, elections, and civil liberties. Taught by A. Little, who I had this semester for Politics of the Greek Theatre and was great.
  • 3310: Introduction to Political Theory — Recurring themes and problems in the study of politics; draws upon classical and modern works. Taught by the inimitable R. Lence, who is a very colorful character and a fantastic teacher.
  • 3319: Politics of Social Policy — Public policy initiatives in areas of civil rights, welfare, education, human resources, and housing, including criteria for evaluating proper impact. Taught by R. Lineberry, who I haven’t had yet but is one of the “theorists” of the Political Science department.
  • Jazz Band and Lab — Haven’t finalized all this yet because I haven’t heard back from the director about the times.

You’ll notice there are no economics classes there. This is more a result of the classes I’ve taken than a result of changing interests. I still love economics, in fact I’m going to be interning at the Dallas Fed this summer, but the classes and department seem mediocre. Moreover I’ve been wooed by the Political Science department, as my educational experience with their professors and classes have been outstanding.

In further changes for next semester I’ve decided I’m going to start a notes blog. What I really need is some sort of rich-text document management system, but I can make the blogging paradigm fit my needs. Classes can become categories; everything will be searchable, dated, archived, accessible from anywhere, and support various meta-data. What I’ve been doing so far is a combination of text files and folders, and frankly it’s weak. I haven’t decided yet rather I’m going to make it public or not, but even if I do it probably wouldn’t make sense to anyone but me.

Psychological Egoism

Okay you know the drill. This is a paper I turned in today for my Ethics class. It deals with psychological egoism, and if you have any leanings toward this moral theory I’d be interested in hearing your feedback on this. My language is strong in the paper, but that doesn’t mean my mind isn’t open. I didn’t have as much time to put into the print (PDF) version of the paper this time, but it’s still a nicer way to read it than the HTML below.

Every human action is at its root a selfish act; even acts that are altruistic on the surface are primarily motivated by a deeper selfishness — or so a psychological egoist would say. Psychological Egoism is a descriptive theory that rather than suggesting, as ethical or rational egoism does, how people ought to live, suggests how people actually go about their lives. The assumptive nature of the theory introduces a number of possible avenues for refutation, some of which are very compelling. Continue reading Psychological Egoism

It’s A Beautiful Day

Today has been groovy because I finally got my ethics paper back and it got an 8, which was a little disappointing till I checked and remembered that this teacher’s grading scale has 7 and above as an A, so in fact I got a solid A. What paper you ask? Well it’s on Divine Command Theory and the Euthyphro Argument, and the entirety is available online in PDF and XHTML format through the link above. Which reminds me I still need to make a system to highlight some past notable post.

Mid-Term Tomorrow, Really

So after much ado my mid-term really, truly is tomorrow. There can be no further delays or misunderstandings, it’s just a fact. Truthfully I wish it was just over, as I have a lot of Houston schmoozing to catch up on. For now however I will try and immerse myself in the in the intricacies of moral philosophy.

In other news I went for a much-needed eye checkup today. One eye had hardly changed from my last checkup, but the other had jumped into the deep end of the pool of myopia. Within the week though I should have new lenses in my current glasses (I’m not crazy about my other pair). In geek terms, I’ll be going from 1024×768 to a crisp 1600×1200. Now if I could only increase my memory…

Divine Command Theory and the Euthyphro Argument

As always, this is best appreciated as a PDF, but for the rest of you here’s the text:

The divine command theory is the view of morality in which what is right is what God commands, and what is wrong is what God forbids. This view is one that ties together morality in and religion in a way that is very comfortable for most people, because it provides a solution to pesky arguments like moral relativism and the objectivity of ethics. Continue reading Divine Command Theory and the Euthyphro Argument

Scientific View of the World

Here’s a quote to ponder, from Bertrand Russell on the “scientific view” of the world:

That Man is the product of causes which had no prevision of the end they were achieving; that his origin, his growth, his hopes and fears, his loves and his beliefs, are but the outcome of accidental collocations of atoms; that no fire, no heroism, no intensity of thought and feeling, can preserve an individual life beyond the grave; that all the labours of the ages, all the devotion, all the inspiration, all the noonday brightness of human genius, are destined to extinction in the vast death of the solar system, and that the whole temple of Man’s achievement must inevitably be buried beneath the debris of a universe in ruins—all these things, if not quite beyond dispute, are yet so nearly certain, that no philosophy which rejects them can hope to stand.

Happy Tuesday to you too.