Monday 2 March 2009 @11:48
First one didn’t seem to go through, but here I am trying to post from
Emacs using weblogger.el.
What do you know, it seemed to publish. Now I have to figure out some
things: is auto-fill-mode or longlines-mode best? What’s the difference
between weblogger-save-entry, weblogger-send-entry,
weblogger-publish-entry? This could be useful though.
So interesting, seems like auto-fill-mode was wrong… what I really want
is longlines-mode so that text wraps more naturally (without Emacs
inserting the hard returns). I don’t think the keywords worked, even
though I supposedly had a patch for that. I’ll have to fill such
meta-data on the web?
Bah, even with longlines-mode, it still wrapped after sending. Maybe
this isn’t worth the investment yet.
Friday 29 August 2008 @0:33
With the summer ending and the new semester looming, I felt it is time to rescue this ’blog from its unplanned hiatus. It appears that I haven’t posted anything since early May.
So yesterday I spent some time refreshing my WordPress templates, configuring some new plugins, etc. After years of maintaining my own custom photo gallery scripts, I’m considering switching to flickr. I uploaded a few things to my photo stream already; you can also see updates in the new FriendFeed sidebar and on Facebook. So far I’m impressed with the tools on Flickr, and iPhoto export capability of PictureSync. We’ll see how it goes.
Incidentally, the initial draft of this post was written and uploaded from Emacs, with weblogger.el… fancy! Update: not impressed with its out-of-the-box behavior: had to fix up HTML tags and even line breaks by hand. More hacking to do, if I think that’s worthwhile…
Tuesday 26 December 2006 @22:07
For the past several weeks, I had been getting up to 30 spam comments per day in the moderation queue. None of them appeared on the site, but receiving the email notifications and having to clear out the queue periodically was a pain. Besides, when I set up WordPress, I took care to implement my own custom “Turing test,” where would-be respondents must answer simple questions like “What is Prof. League’s first name?” Were the spam-bots lucky or clever enough to be answering these questions correctly? Or were they somehow bypassing the test?
This morning, I finally had a chance to investigate what was going on. I added some tracing statements to the commenting functions, so that when they were invoked I would receive an email with some information about variables and control flow. Some tracing emails started showing up within 15 minutes, and I learned two things: the spam-bots were not providing correct answers to my Turing questions (that’s good), and the IP addresses in the traces and the ones getting spam into the moderation queue were disjoint (that’s bad). Well, good and bad. It means that the spam-prevention measures in the regular comment code are working, but also that there must be a back door.
By grepping the server logs for yesterday’s spam-submitting IP addresses — don’t know why I didn’t think of that first thing — I discovered the back door: trackbacks. This is a facility for one blog post to link to another as a comment. This is an interesting idea, but since it’s some other blogging software that does the posting, I can’t really implement extra spam prevention measures here. So I decided just to disable trackbacks and pingbacks completely. That should do the trick!
Thursday 1 June 2006 @11:50
WordPress 2.0.3 was released today, so I had a chance to try out the vendor drop technique in Subversion… and it worked well!
The idea is to maintain a branch in the repository that mirrors the releases of the vendor. Mine now has this directory structure:
vendor/wordpress/latest/
vendor/wordpress/2.0.2/
vendor/wordpress/2.0.3/
Where the numbered directories are tags (snapshots) of the latest versions of WordPress at different points in time. The copy with my revisions — the code that powers this site — is in trunk/wp/.
Once the vendor branch was up to date, I just merged the changes made between 2.0.2 and 2.0.3 into the trunk. The changes touched many files, but since this was a point release, most of those changes were minor. In fact, only one line of code conflicted, and that was just a simple syntax issue. After fixing the conflict and briefly testing it, I uploaded the changes to the server, and now I’m running Wordpress 2.0.3.
Of course, a more substantial release (2.1 or 3.0, for example) would cause more problems. Probably some of my hacks will have to be rewritten. But still, the version control is an indispensible safety net. I won’t have to remember everywhere that I made revisions.
I had been programming for more than 10 years before I learned about version control. (But remember, I started programming when I was 10 years old!) So when I first encountered it, I thought, “where have you been all my life?” And that was just SCCS on Ultrix — pretty primitive compared to what we have now.
Subversion is pretty usable, but my first choice on new projects lately is Darcs. I like its distributed/disconnected nature, and its clean design. But there is some question as to how well patch-oriented (rather than snapshot-oriented) tools handle vendor drops. I’ll have to experiment more.
Sunday 23 April 2006 @16:33
My research pages have now been ported to the new site design. I’m proudest of the publication list, which now contains nifty JavaScript doodads to reorganize the list without waiting for a round-trip to my server. Try the ‘Research’ tab at the top of the page.
This also serves as the first post in a few significant WordPress categories (aka topics, aka tags). I will post to the ‘publications’ topic whenever I add a new publication to the list, and I will post to ‘talks’ to announce upcoming talks. Finally, the ‘research’ topic will be for any ideas, commentary, or other tidbits that are relevant to my research interests.
Monday 10 April 2006 @16:26
My web site is getting a much-needed reboot! Welcome to the new design, and better ’blog functionality, thanks to WordPress. This is the first post to the new site, but I will bring forward some of the old features (especially photo pages) over the coming weeks. Feel free to comment here on the new site design… it is my own creation.
So, things may be a little messy for a few weeks, but in the end I will have all the old pages forwarding to their equivalents on the new site (so as not to lose my Google cred).
Thanks for visiting!