Category Archives: entries

Posthaste WP Plugin

When reworking the theme for this blog, I decided I wanted to add the Twitter-style quick post box from the Prologue theme to my theme. Instead of adding it directly to my theme though, I decided to try to write it as a plugin. Lo and behold, I succeeded:

A screenshot of the Posthaste plugin on this blog

I don’t know why—it’s not that much work to use the WP admin backend—but this seems to make blogging seem much more inviting to me. I basically just took the relevant code from the Prologue theme, modified it a bit (adding a “Title:” field, for example) and found the correct WP hooks to put it in Plugin form.

I’m actually thinking about releasing it as a real plugin. When I mentioned this to my friend James, he recommended the name “Posthaste.” James is much better at naming things than me, so I took his recommendation.

If this sounds interesting to you, you can download it and try it out. If it seems useful to other people & actually works well enough, I may submit it to the WP plugin directory. I tested it with a handful of the most popular themes on the WordPress Theme Directory and it seemed to work with them all.

A few notes:

  • If you leave the “Title:” field blank, it takes the first 40 characters of the post content & makes that the title.
  • It posts to your default category…unless
  • If you have a category named ‘asides’, it will put posts with empty titles in the ‘asides’ category. You can then style them as asides, which is what I do on this blog.
  • If you want to change any of this behavior, there’s no options page or anything: you’ve got to edit the php file.
  • It only has the most basic CSS applied. To customize it, you can add custom CSS to the ‘styles/local.css‘ file.
  • Your theme needs to use wp_head() for it to work. If you’re using a new theme at all, it probably does.
  • There’s an ongoing problem with Prologue in WP 2.6. I fixed it, I think, by changing the auth_redirect() code. If you know more than me about these matters, and my “fixing it” this way was a bad idea, please let me know. (This was supposedly fixed in Prologue 1.4.1, but I’m still having the same problem.)

IE8 is The Homer

The Tech Report reviews IE8 and finds the promised standards-compliant rendering engine underwhelming:

Look at Safari and Firefox, the two most popular browsers after IE. What do they have in common? Both deliver reliable browsing experiences with great rendering accuracy, great standards compliance, and a minimal amount of fluff.

[...]

Rather than make a great rendering engine first and slowly add new browser features on top of that, the IE team seems to have spent a disproportionate amount of time and effort on new functionality. What’s worse, those features add a kind of visual noise that makes IE8 feel like an incoherent mashup of buttons, menu items, and icons. If it had an automotive equivalent, it’d probably be “The Homer” from the Simpsons:

The Homer

That is a perfect analogy for what IE7 feels like to me. (Haven’t used the IE8 Beta yet.) Actually, it pretty much works for Windows generally, too.

The politics of streaming video

Another Contech post. Haven’t decided if I want to cross-post everything or not yet. As you can tell by looking at this blog, I like using it as a central repository for things I do at other sites…I’m not completely sure that’s a good idea though.

Last night I watched the DNC live online and I had a very odd thought: the politics of watching this online was getting in the way of my enjoyment…of a political convention? Well, given the fact that conventions focus more on personalities & life stories than political issues, it shouldn’t be surprising that most of my political thoughts had to do with two technology issues surrounding the online broadcast: Microsoft’s Silverlight technology (being used to stream the video online) and high speed internet policies in the US.

(more…)

Why don’t more sociologists blog?

Originally posted on Contech, a new sociology of tech blog we’ve started over at contexts. Check it out.

Since starting Contexts Blogs, I’ve had the chance to talk to lots of blogging sociologists. I’ve also had the chance to have a lot of non-blogging sociologists firmly say “No!” to my attempts to turn them into blogging sociologists. So over the last year or so I’ve given a lot of thought to why more sociologists don’t blog, and of course the related question of what drives those who do. Here’s my current take on the topic:

(more…)

Prepend labels to RSS item title by category

I’ve been rethinking this blog’s design lately & one of the problems with my current setup is that, while I’ve styled different kinds of posts differently here on the blog, they’ve all still looked the same in the RSS feed. Seeing as I read most of the blogs I follow via RSS myself, this is something I wanted to take care of. The easiest option was just to prepend “link:” or “tweet:” to the title of each item when that item is in one of those two categories.

Turns out, that’s actually really easy to do using WordPress’ ‘the_title_rss’ filter and throwing together a simple plugin. Here’s what I did: create a php file in WordPress’ plugin directory, add the necessarily header information, and then add this in the body of the php file:

function prepend_to_title_rss($itemTitle)
{
    if (in_category('links'))           // Category name
    {
        $addThis .= 'link: ';           // Prepend to RSS title
        $itemTitle = $addThis.$itemTitle;
    }
    elseif (in_category('tweets'))      // Another category name
    {
        $addThis .= 'tweet: ';          // Prepend to RSS title
        $itemTitle = $addThis.$itemTitle;
    }
    echo $itemTitle;
}
 
add_filter('the_title_rss', 'prepend_to_title_rss');

Just change the category names & the $addThis values.

And somehow Obama is the “elitist”…

Not just one, but two absolute gems from McCain this week:

Sen. John McCain (R-Ariz.) said in an interview Wednesday that he was uncertain how many houses he and his wife, Cindy, own.

“I think — I’ll have my staff get to you,” McCain told Politico in Las Cruces, N.M. “It’s condominiums where — I’ll have them get to you.”

The correct answer is at least four, located in Arizona, California and Virginia, according to his staff. Newsweek estimated this summer that the couple owns at least seven properties.

And then further down:

McCain’s comments came four days after he initially told Pastor Rick Warren during a faith forum on Sunday his threshold for considering someone rich is $5 million — a careless comment he quickly corrected.

In the interview, McCain did not offer an alternate number, but had a new answer ready.

“I define rich in other ways besides income,” he said. “Some people are wealthy and rich in their lives and their children and their ability to educate them. Others are poor if they’re billionaires.”

You poor, poor man.

Blog Design Ideas

This blog has had its current design for quite awhile now & I’m thinking about a redesign. The big decision for me is whether to drop the current single-column Friendfeed-like design [1] or to just spruce it up a bit.

I like the current design because it puts all my activity in one place (I’m even considering adding some other services into the mix) and it gives me an archive of my Tweets & Delicious bookmarks. [2] This is nice because the lifespan of these services is unknown, yet I’ll always have my blog—even if I quit blogging, I’ll always control that data. Design-wise, I think it works well when I actually distribute my activity across all these services.

However, when I do nothing but post to Twitter for a few weeks at a time, it kind of falls apart, especially if those of you reading this blog already follow me on Twitter, or read my status updates on Facebook (which auto-update from Twitter), etc. In other words, having everything archived in one place is nice for me, but a few little birdies have suggested to me it’s annoying to see the same update in Twitter, Facebook and then my blog. The result, especially since Twitter posts make up a majority of my blog posts nowadays, is that people end up ignoring the blog entirely. You can selectively follow certain categories with RSS, but I’d like to find a way to solve this in the design of the blog itself. Perhaps I should just find another way to archive Twitter posts entirely—maybe using the new Tweet Tweet WordPress plugin.

Anyway, enough rambling. This post, in case you haven’t guessed, is mostly an excuse to procrastinate & to try out the WP-Footnotes plugin I just installed. [3]

Footnotes

  1. Although I’m not actually emulating Friendfeed, which just launched this year. I’ve been using the “Matt’s Asides” approach of mixing in smaller posts with full posts for a few years. Paired with FeedWordPress to import RSS feeds as posts into feed-specific categories & then styling posts in those categories appropriately, you can do some pretty cool things. []
  2. which, btw, it’s so nice to not have to type “del.icio.us” anymore, isn’t it? []
  3. See? Here’s another. []

News

We’re moving back to Kansas City! No, I’m not done with grad school yet. No, I’m not quitting grad school either.

So how are we pulling this off? As far as my dissertation goes, I’m basically doing a one-person project without any place-dependent data or resources. For me, at this point “working on the dissertation” means hiding myself away somewhere with a computer. In many ways, this will actually be easier in Kansas City: both sets of free babysitters grandparents, along with our extended family & friends, live in Kansas City; plus I’ve heard several success stories from sociologists I’ve talked to in the last few weeks about “getting away” like this for this phase of the diss. Being on campus all the time has many benefits, but can also bring with it a lot of distractions, both positive & negative.

I’m also lucky to have a job amenable to telecommuting. I can do 90% of my job for contexts from anywhere with an internet connection, and I plan to schedule monthly treks up to the Twin Cities for both contexts & diss related work. Amazingly (given the amount of nerve it took me to ask), both my advisor and the contexts bosses are very supportive of this plan & share my optimism that it will work out well. Most of my communication with them now is via email anyway!

The big motivation behind the timing of this—beyond the obvious desire to be near family & friends, especially since Chloe came along—is the realization that I’ve got at least two more years of grad school before I’ll realistically be moving on to an academic job. Given the housing market, it’s highly unlikely moving in a year would be any easier on us and now we’ll have at least two solid years before any further big decisions.

And, by the way, it’s nice to be married to a nurse: Teresa’s already had several job offers!

So the house will officially be on the market in a few days. If you, or someone you know, wants to buy a beautiful house in Mineapolis (Two blocks from the light rail! Remodeled kitchen & bathroom! Nice hardwood floors! New garage!), send them our way!

Customizing Twitter RSS with SimpleXML

As long as I’ve been using Twitter, I’ve been using FeedWordPress and an @-stripping Yahoo Pipe to post my tweets on this blog. The Yahoo Pipe I used stopped working over the weekend though, so I set out to replace the Pipe: first with a shell script (thanks to @kjhealy), but then I stumbled upon the fact that PHP 5 includes SimpleXML, an extension that lets you easily manipulate XML with PHP. It’s very cool, and very easy to use. So easy, in fact, I only had to get to the second page of a tutorial before I realized I could quickly replace the dead Yahoo Pipe and even add a few more features.

Here’s the script. I’m not sure it’s the absolute best way to do this—like I said, this was a “page 2 of the tutorial” job—but it does seem to work. To use it, just change the extension to .php and the $username value to your Twitter username. It will take your Twitter RSS feed and:

  • Remove any @replies
  • Remove the “username: ” at the beginning of your tweets
  • Turn any URLs in your tweets into hyperlinks.
  • If you add “?username=someothertweeter” to the URL, it will fetch another user’s RSS feed instead of yours.

Rick & Jar Jar, Revisited

Back in Fall 2001, we studied abroad in Stockholm for a semester. I can’t remember the reason why, but I received two action figures as presents from two friends of mine: Rick Flair and Jar Jar Binks (from Tony & Marcus, respectively). Somehow I decided I was going to take them to Europe with us and have them pose for pictures everywhere we travelled. I was cleaning through old files a few weeks back and found the photos:

One More Gmail Fanboy

I’ve been officially using Gmail for all my email for a week now and I must say, I really like it. For awhile now, I’ve known that email was a real bottleneck for me: going from an email discussion to actually getting something done was not happening as easily as it should, and a recent cleaning of my inbox made me realize how negligent I’ve become in responding to messages. I know lots of long-time Gmail users who rave about how it works, so I thought I’d give it a shot. Those long-time Gmail users may find everything in this post old-news, but it’s still new & fun to me.

I’ve actually had Gmail for almost a year now (when I switched smajda.com email hosting over to Google Apps, which btw, if you own your own domain, is a great option.), but I’ve mostly only used it as an on-the-road access point for my personal email account. I’ve had two main email accounts for years now: one for school stuff and one for personal stuff. Ever since OS X 10.0, I’ve used Apple’s Mail to connect via IMAP to both of them; prior to that I used Eudora. However, while Gmail offers IMAP access, to really take advantage of the way Gmail works, you need to use the Gmail interface.

The defining features of Gmail are 1) the “conversation,” not the individual message, is the key unit of organization, and 2) the use of “labels” as opposed to “folders.” Both of these design choices are, as far as I know, only available in Gmail and they’re both outstanding ideas.

For organization, I’ve tried to use folders to keep my email organized, but it hasn’t worked so well. With folders, messages can only live in one folder at a time. So if I move a conversation about this blog into a folder called “blog,” all those individual messages are now only in that folder. If I get a follow-up rely to one of these messages, that follow-up goes to my inbox, but all previous messages in that thread are hidden away in the folder. The result of this: you only move threads into a folder when you’re sure the discussion has ended; folders are where conversations go to die. In Gmail, I could label that thread “blog,” archive it (which simply removes the “inbox” label) and when I get a new message, it pulls the whole conversation back into my inbox. This makes it easier to just “label and archive” whenever you’re ready, without worrying about whether the thread has run its course.

I’ve found there are basically four things I need to do with any email conversation worth keeping.

  1. Archive for future reference: it either contains information I may need at some point or is just a conversation I’d like to save. Traditional folders do this just fine, and I’ve got a bunch of labels set up to organize these emails. Of course, it’s Gmail so you can always just search all your messages, too.
  2. Reply: I need to reply, not necessarily right away (because I need more time or haven’t decided what to say), but at some point soon. What I’ve traditionally done is to keep these messages in my inbox and either flag them or mark them as unread. The downside to this strategy is that once I’ve got enough in my inbox that I have to scroll to see new messages, that message is basically lost. So I’ve bought into the whole “Inbox Zero” philosophy: the inbox should be for new messages you haven’t read yet: that’s it. And the “unread” label should be for messages that are, well, unread; and a simple “flag” (or “star” in gmail) is just too ambigious. So I’ve created a label called “@reply” (the @ keeps it at the top and, as you’ll see, groups it together with other “actionable” labels). If I need to save a message that needs a reply, I label it @reply and archive it.
  3. Follow-up: This is slightly different than a message that needs a reply: perhaps I’ve already sent a reply and I’m waiting on someone else. Here I simply need to mark a conversation as something I need to follow-up on; don’t let it completely fall off my radar. So I label these “@followup” and archive.
  4. Todo: I don’t need to reply or follow-up necessarily, but I need to do something pertaining to this email: like book my hotel room for ASA even though they’re almost all booked already and those left are so f%#^ing overpriced it’s ridiculous…for example. So “@todo” and archive. (One more step: using either the Firefox RTM plugin or the handy RTM bookmarklet found here, I’ll add this to my todo list as well. Both methods add the URL for that conversation to the RTM task so the two are nicely integrated.)

So the email workflow is now: 1) New messages arrive in the inbox, from there they either get deleted, marked for future finding or flagged with one of the “action” labels: @reply, @followup, or @todo. 2) Once I’ve dealt with the inbox, move on to those three action labels. The new “Quick Links” option available through Gmail Labs makes this even easier: I’ve saved a custom search for “l:@reply OR l:@followup OR l:@todo” and called it “actionable.” (A term I just love.) So it’s a two-step process: inbox then actionables. When I’ve done what I need to do, just remove the “@” label and archive. If the other person(s) respond, Gmail pulls the conversation back into my inbox for me. And because conversations can have multiple labels, I can mix and match all four kinds of labels together: labeling my “Book ASA Hotel” conversation with “@todo” but also “soc crap,” for example.

There are lots of other little things I really like as well. For example, say you just sent an email and forgot to add one thing. If you go into your sent mail and reply to the email you just sent, it correctly makes you the sender and the recipient the recipient. In Mail.app, you end up replying to yourself unless you manually switch the addresses. This is a little thing, but it’s really nice.

I’ve also moved both my main email accounts into Gmail: I forwarded my school email to Gmail and can reply to umn.edu emails from my umn.edu account within Gmail. After a long time of keeping the two separate on purpose, I realized the boundaries between school and my personal life are way too porous to actually have the email boundary serve any useful function. I do, however, have Gmail automatically label all umn.edu email with a “umn.edu” label.

There are some things I don’t like, of course. Contact management sucks, for one thing, but there are about fifty different services & software out there in various states of beta for syncing Gmail contacts, so I’m pretty sure this will be improved soon. (Although it’d be nice for Gmail to have an option to not save every email you ever interact with in your Contacts. Or, at least, create a group to differentiate those they add automatically from those you add on purpose.)

Also, for all my love of labels, they could make applying labels easier. Right now you have to use the “More Actions” dropdown to apply labels. You can install the Better Gmail 2 extension if you’re using Firefox and get a Quicksilver-like interface for adding labels, but a) I’m not really thrilled with how that works, and b) I prefer using Gmail in a Fluid Site-Specific Browser on my Mac. Ideas? Add a little “+” icon next to each label in your label list to add that label to the currently selected message. (Kind of like how you can remove labels in conversation view by clicking the “X” next to each label name at the to of your conversation.)

Oh, one more thing: Gmail Notifier + Gmail+Growl = very nice.

Simple Quicktags for Prologue

The Prologue theme for WordPress brings some of the lessons of Twitter, and microblogging generally, to WP: make posting easy and cut down on distracting things like titles and complicated toolbars. The people at Automattic designed Prologue to help them communicate internally and we’re going to try doing the same with the theme for contexts (using the More Privacy Options plugin to keep the blog private).

However, one aspect of Prologue’s minimalism is problematic: there’s no quicktags or rich text editor at all. Personally, I see no problem with this. However, the effectiveness of this blog depends on people who are not me using it, so I tried to add one. I found this guide to adding a TinyMCE Editor to Prologue, but couldn’t get it to work. I don’t particularly like WYSIWYG editors anyway, so my Plan B was to try to add HTML quicktags to the theme…and succeeded! Thanks to Alex King’s JS Quicktags and a few CSS tweaks to match the minimalism of the Prologue theme, we’ve now got a cool, understated set of Quicktags at the top of our Prologue post box:

Prologue with Quicktags

The script is really simple to install: just copy Alex King’s script to your server, link to it in your head and add the link right before your “posttext” textarea in the template. (He includes an example in the download. Just be sure to point the script to “posttext.”) After that I just cut out a lot of the excess buttons directly from the js_quicktags.js file, only keeping the ones people would actually need. And here’s the CSS I used for the buttons:

#ed_toolbar_posttext {
    margin: 0.5em 0 0.5em 0em;
}
.ed_button {
   margin: 0 8px 0 0;
   padding: 2px;
   height: 20px;
   border: none;
   background: none;
   color: #aaa;
}

Carlson’s Upgraded Sponsorship

I took a trip through the brand new business school building on campus today, which I didn’t even realize had opened yet. I decided to take some pictures. (With my Centro, so excuse the relatively poor quality.)

When I first arrived on campus six years ago, people in the social sciences were shocked at how the (then only, but now first) business school building on campus had begun selling sponsorships of all their classrooms. So students were attending classes in the “Wells Fargo Classroom” for example. All the rooms in this first building have signs like this:

For people in the social sciences & humanities this was, of course, a shocking example of the corporatization of higher education. With this new building, however, they’re taking the sponsorship to a whole new level:

Yes, that’s the 3M© classroom, the General Mills© classroom and the Target© atrium. Giant signs with logos and all. All the classrooms get this treatment. Here are the SuperValu© and the Travelers© classrooms, respectively:

And, like the first business school building, there’s massive amounts of open space in the new building:

I remember when I was a first year grad student, Tim Clark gave us a tour of campus and when we got to the business school he pointed out that you could always tell how much money a school had by how much space they wasted in their building. Here, for comparison, is the largest open space in the sociology department:

(btw, I found out that, for some reason, FeedWordPress conflicts with 2.5’s image uploader. Deactivating the plugin, uploading the images, an then re-activating FWP afterwards works though.)

Android Demo

If you’ve got iPhone envy like I do, but aren’t about to take the AT&T plunge, it’s good to know that in the next year or so the iPhone’s going to have some serious competition. Here’s a demo of Android from a few weeks back:



Oh, and this will be available to any phone manufacturer and any cell carrier.

See more here.

Family Dinner with the Jobs Family

Ever wonder what the dinner conversation is like in the Jobs Family? I found an interview with Steve Jobs from 1996, which is interesting for a number of reasons (it’s right before he returned to Apple, much of it is about SJ’s predictions for the internet, etc.), but this discussion of design, in particular, cracked me up:

Design is not limited to fancy new gadgets. Our family just bought a new washing machine and dryer. We didn’t have a very good one so we spent a little time looking at them. It turns out that the Americans make washers and dryers all wrong. The Europeans make them much better - but they take twice as long to do clothes! It turns out that they wash them with about a quarter as much water and your clothes end up with a lot less detergent on them. Most important, they don’t trash your clothes. They use a lot less soap, a lot less water, but they come out much cleaner, much softer, and they last a lot longer.

We spent some time in our family talking about what’s the trade-off we want to make. We ended up talking a lot about design, but also about the values of our family. Did we care most about getting our wash done in an hour versus an hour and a half? Or did we care most about our clothes feeling really soft and lasting longer? Did we care about using a quarter of the water? We spent about two weeks talking about this every night at the dinner table. We’d get around to that old washer-dryer discussion. And the talk was about design.

I’m so sharing this with Teresa next time I’m driving her crazy by overthinking all of our purchases. “At least I’m no Steve Jobs!”

Script for Notes

This past week I put together a writing tool that will likely strike you as insane, but may be helpful or interesting to a handful of people out there. For me, it’s helpful and in the off chance it’s helpful to someone else, I’ll put it up here.

Here it is, just a simple shell script that helps me organize notes as I’m working on my dissertation. Before I explain how it works, let me explain why I wrote it.

In the traditional workflow for academics, writing is usually the last step, after all the research is done. This is both for methodological reasons (you don’t always know what you need to write until you’re done) but also because of laziness: it’s easier to put off writing than to actually do it. However, for both reasons of personality as well as the type of research I do, this doesn’t work very well for me. To me, the writing process is part of doing the research. It helps me find holes in my research, clarify what exactly I’m doing, keeps me on track, etc.

The problem is that opening up a full paper, let alone a dissertation, to work on is a bit intimidating & distracting. So I tend to create & collect hundreds of disorganized notes. For some reason, if the writing lives in a different document, then that somehow eases the stress of writing for me. At the same time, I’ve learned that very often these “very rough first passes” that I jot down tend to look better than I think they will down the road. Of course, they need editing, but editing existing mediocre writing is easier than writing great stuff on demand from scratch.

Plus, I’ve found when you’re actually “in the moment,” reading a particular article or thinking through a particular conceptual problem, you’re better positioned to write about it well. The alternative—coming back to it when it’s officially “writing time”—can backfire because it’s just not as fresh in your mind anymore.

So here’s what I wanted:

  1. A system to help organize my notes a bit better.
  2. A workflow that was as quick & easy as possible. I know of full-blown desktop apps as well as web apps for organizing notes, but they all strike me as environments geared towards organizing, not writing, notes. Plus it’s just slow & cumbersome to wait for a full-blown application or webpage to load.
  3. A system where the writing I put into these notes can easily be reused when it comes time to actually piece the final project together. In my case, I write everything in Vim using LaTeX, so ideally I can write my notes in Vim with its nice LaTeX syntax support.

So here’s how this script, here called ‘notes,’ works:

  1. To create a new note, I just type ‘notes’ at the command line. The script names the new note ‘note#.tex’ (where ‘#’ is just a number that increments for each note file), and it adds the following text to the top of the file (here it’s “note3.tex”):


    % 3
    % Mon Jun 2 16:11:33 CDT 2008
    % TAGS:

    The script opens the file up in Vim, puts the cursor at line 3 automatically and from here I can type “A” and start adding tags to the file or just hit “o” and drop down one line and start typing the note. It automatically uses Vim’s LaTeX syntax highlighting. When I’m done, it saves the file. (Unless I quit before adding anything, then it cancels the note.)

  2. It saves all the notes in a single directory, names them in a consistent way and then lets me search through them. To search through all of the notes for “foo,” and then have all the matching notes displayed, run:

    notes -s foo

    To only search the “TAGS:” line instead of the whole note, just use -t instead of -s.

The advantages may not seem obvious to you, and they may be completely dependent on my own way of doing things, but here’s why this works for me:

  • It’s light, fast and portable. It just creates plain text files in a single directory that I can easily sync across multiple computers using unison.
  • I get to use Vim. Once you get used to Vim’s keyboard shortcuts, nothing’s faster.
  • I get a nice environment for writing everything in LaTex from the beginning. This gives me notes that I can easily import right into the finished product and edit.
  • And importing into Vim is easy. Say I’ve tagged a bunch of notes about my methodology chapter with “methods.” All I have to do when I get to that chapter in the TeX file is run a single command in Vim (:r !notes -t methods) and the text of all my notes on methods will be placed right there for editing.

VP candidates and populism

via @gruber:

VP Pairings in Ohio, May 08

The Huckabee-Edwards comparison is really fascinating. Policy-wise, these two are really far apart, with Edwards being probably the furthest to the left of anyone on this list. However, both have a populist message and whether the policies backing it up are liberal or conservative doesn’t seem to matter to a lot of people.

Domain Mapping

If you’re both a computer geek and a cognitive science geek (realms of geekdom that frequently overlap, I think), you may find this funny. I’m helping someone set up a wordpress.com blog with a custom domain, following these instructions here, and WordPress’ new Possibly Related Posts feature on that page demonstrates why the “possibly” is warranted:

Domain mapping

Of course, if you’re really into conceptual metaphor, you might think these actually are related, no?

4 or 5 reasons writing in plain text is nice

Demonstrated with LaTeX in MacVim:

Four or five advantages of writing in plain text

Managing WordPress

Since I’ve been managing a WordPress MU install for Contexts Blogs, I’ve picked up a few tips for the best way to manage WordPress. The way 90% of WordPress blogs are installed and managed (maybe more than that) is either 1) downloading the .zip file from wordpress.org or 2) using some sort of installer script through a web host (the one I’ve used is called “fantastico”). The problem with both of these is that upgrades are difficult: web hosts’ scripts don’t offer upgrades (none that I know of anyway), so manually FTP’ing into the site and overwriting all the old files with the new ones is the way most people upgrade…if they upgrade at all. Additionally, one of Wordpress’ strengths is it’s extensibility: using Plugins, you can do pretty much anything with your site. Again, though, if you don’t stay on top of upgrading plugins, they may just break when, and if, you upgrade WordPress. Not upgrading is a problem: just follow Blogsecurity.net to see the importance of keeping everything up-to-date. Additionally, most people don’t have backups of their blog, so if an upgrade does hose their site, they’re screwed.

Fortunately, there’s a much better way to do it. In fact, from what I can tell, this other option is the way the developers of WordPress do it. Unfortunately, it’s quite geeky and has a bit of a learning curve. If you have some very basic unix shell skills, though, and develop some good habits about updates & plugins, you can make managing WordPress much more manageable. Plus, these are skills that transfer nicely to other tasks: these are good things to know in the world of computers and this is a nice, concrete project to give you an introduction.

In short, here’s what you need to do:

  1. Get shell access from your (unix-based) web host. If they won’t give this to you, get a new web host that doesn’t suck.
  2. Use subversion, a version control system, for installing & updating Wordpress.
  3. Use a simple shell script, run nightly as a cron job, to backup your wp files and your database.
  4. Use an RSS reader to subscribe to feeds for WP & all your plugins to keep track of updates. Some plugins even have subversion access as well.

(more…)

Wordbook and posts_per_page

Because I import my delicious & twitter posts to my blog, I keep my posts per page at a pretty high number. The Wordbook facebook app, which shows your Wordpress blog posts in facebook, uses this value when displaying posts. This is not ideal if you’ve got a large posts per value value. To manually adjust this value in the plugin, you have to edit the plugin’s php file but it’s pretty simple: just search for “posts_per_page,” comment the if loop out and replace it with whatever value you want like so:

// $posts_per_page = get_option(’posts_per_page’);
// if ($posts_per_page < = 0) {
// $posts_per_page = 10;
// }
$posts_per_page = 6;

It’s like getting married all over again

First:

Facebook spouse request

And then:

Facebook Spouse Added

RSS Feeds for this Blog

If the Twitter posts and delicious posts are too much for you, you can actually get a custom mix of category-specific RSS feeds for this blog - or any Wordpress blog (assuming you know the category ID number).

Here’s the formula (Update: Oops, maybe not. Check out the end of the post.):

http://blogurl.com/wp-rss2.php?cat=4

To get a feed for multiple categories just use commas and extra numbers at the end:

http://blogurl.com/wp-rss2.php?cat=4,5

So for this blog, here are some RSS options for those who don’t want the Full Smajda, tweets and all:

Update, June 10, 2008: Ok, apparently this doesn’t work on this blog. It did at the time I wrote this so…maybe a WP upgrade did it? Whatever happened, you can’t use the “wp-rss2.php?” anymore, but you can use “/feed/?” instead, so here are the updated feeds for this blog:

Yet Another Update, September 1, 2008: I reorganized my categories a bit. For now I’ve got four categories:

  • ID 1: entries: Full length posts.
  • ID 9: tweets: Posts from twitter.
  • ID 4: delicious: Links from delicious. I may or may not keep using this.
  • ID 83: asides: A new category. Shorter posts, no titles. Will replace & extend much of what I used the delicious category for.

If you just want RSS for everything but the tweets: I made the author for the tweets “twitter-smajda” instead of the usual “jon”. So if you subscribe to jon.smajda.com/blog/author/jon/feed you’ll skip the tweets. This is also probably better because any further changes to the categories won’t screw anything up.

Election Map

Interesting map of the Democratic results so far from The Field:

2008 Democratic Results - April 24 2008

Explanation:

The greener the area, the more support for Obama. The bluer, for Clinton (that’s why Michigan is all blue; the map uses its ’straw poll’ results from when Obama wasn’t on the ballot: I likewise think the Florida ‘results’ don’t reflect what a real contest there would have shown). The few splotches of red represent votes for John Edwards. And the turquoise - that stretch from southern California to Texas - represents areas where both Obama and Clinton were competitive.

So F’ing Pimp

Ron Aminzade’s son, my new hero:

[youtube]http://youtube.com/watch?v=_mVDdmEinrM[/youtube]