jlm-blog
~jlm

24-Aug-2005

suphp and WordPress

Filed under: linux, web — jlm @ 13:14

Okay, so I now have WordPress working with suphp, which allows for the use of Unix user accounts in php scripts. Steps:

  • I made a dedicated jlmphp account, so php won’t have access to my main account.
  • The hosting server (ofb.net) runs Debian, so I installed suphp with
    apt-get install libapache-mod-suphp
  • In the Apache config, I put the lines:

    LoadModule suphp_module /usr/lib/apache/1.3/mod_suphp.so
    suPHP_Engine on

    and

    <VirtualHost *>
    ServerName php.mandelson.org
    DocumentRoot /home/jlmphp/www/data/
    </VirtualHost>

    The first set turns suphp on, the second set makes a virtual host “php.mandelson.org” with its own www directiory in jlmphp’s homedir.

  • Made a CNAME aliasing php.mandelson.org to mandelson.org, so that when you look up php.mandelson.org you get this server.
  • Changed the blog address to be http://php.mandelson.org/wordpress/
  • In the .htaccess file for jlmphp, put

    AddHandler x-httpd-php .php

    (which tells Apache to use suphp for .php files in this directory), and put in redirects from the old blog address to the new.

  • Made wp-config.php user-readable-only and change the passwords. (Which is the whole point!)

22-Aug-2005

Make your own robot

Filed under: misc — jlm @ 21:15

Someone has done something creative with that Flash engine which is used to make all those insipid dress-up “games”.
Newgrounds link

It won’t let you really make a robot. But you can make an image of one:

[image of robot]

20-Aug-2005

Information theory applied to word puzzles

Filed under: math — jlm @ 19:12

You know those coin weighing puzzles? For the most part they can all be solved easily by using elementary information theory: At each step just make the weighing which maximizes your expected information gain. But what about word puzzles, can the math help us here?

Well, lately I’ve been playing this word game sometimes called “Jotto”. The idea is you pick a six letter word, and the person you’re playing against also picks a word. Then you each try to guess the other’s word. You do this by selecting a word, then they tell you how many letters match their secret word.

For example, if my word is “spaces” and you guess “guests”, I’d tell you that 1 letter was right. Then I’d get a chance to guess your word.

But what’s a good strategy? Well, I often try “throw out a lot of vowels” then once I think I have those pegged I play hot-and-cold with the rest of the word. But more ideally, you’d pick a word which divides up the word space as evenly as possible so you’ll get to small sets of possibilities quickly. Or put another way, you want to maximize the amount of information you acquire at each guess. Now, estimating information content is hard to do (how many words are one-letter matches of “spaces” as compared to zero-letter matches? Now take the logarithm…) but it’s easy enough for a computer to calculate, so I built a “Jotto Bot” which does just that. It plays pretty well — sometimes amazingly, but it doesn’t learn, so once you’ve found a word in the information boondocks, it’ll always do poorly on it… for now.

You can play with it here. Nicest is “you vs. computer”, but “computer guesses your word” shows you what’s going on behind the scenes.

15-Aug-2005

CalDAV

Filed under: programming, web — jlm @ 17:00

One of the sessions I attended at OSCon was about the upcoming CalDAV standard. As calendaring is a weak spot in the Linux/Free Software application space, advances here are particularly welcome.

There was a panel of implementers there, representing:

  • Novell / Hula
  • Mozilla Foundation / Sunbird and Lightning
  • RPI / UW Calendar server
  • OSAF / Cosmo and Scoobie and Chandler

(organization) / (programs)

A lot of the session talked about features of their various products, but I’ll ignore those in favor of looking at the protocol.
CalDAV in a nutshell is WebDAV holding iCalendar files and extended to handle calendar-type queries (“when is Joe Blow free?”). The idea is the basic common protocol one: An open spec will let all these products interoperate, so you can use the calendar app which is your favorite without having to bother with which calendar system is at the other end. (Do you know what software your email server is running?)

The IETF tried to standardize calendaring before, with its CAP (“Calendar Access Protocol”), but no one implemented it. Starting from WebDAV means implementers have less work to do, and hey!, it’s working.

Stuff like room / multiparty scheduling is not addressed, they’re leaving that for a later protocol. “Clearly more research is needed.” Conflicting schedule changes are detected using ETags; resolution is unspecified and left to the clients to decide.

If you’re doing any calendaring, you absolutely want to take a look at it. You’re already supporting iCalendar (right?), and there are WebDAV implementations out there you can use (though alas not particularly cleanly), and from there to CalDAV isn’t a big step for an implementer but is a giant leap for interoperability.

10-Aug-2005

Party

Filed under: misc — jlm @ 17:28

[Edit: Link down due to technical problems.]

Pictures from a backyard party I was at in PDX.

[Link]

Can you find me?

7-Aug-2005

Back from OSCon

Filed under: travel — jlm @ 16:45

I’m back from the O’Reilly Open Source Conference in Portland. The conference was great but surprisingly tiring. There were a huge number of people there. The exhibit hall was pretty small, and there were many (about 10) sessions going on at a time. Contrast this with say the Unicode Conference, which had a much larger exhibit hall, but only three sessions at a time (and a much lower attendance). Or compare to SCALE, which had a small attendance, but a small exhibit hall and many sessions, like OSCon.

I prefer the Unicode Conference model; with the way OSCon is set up, you always feel like you have to give up something you want to attend when you go to another session. With just three sessions at once, you only occasionally have that feeling. But I guess the big problem is that Open Source is such a wide audience that you need a ton of sessions to capture the appeal of enough people.

As my employer paid my way, I’m going to be talking about some of the more interesting sessions on its blog (link forthcoming) instead of here. Some good sessions, good conversations, good people make for good times. And it was very nice to be back visiting the Portland area again. The MAX system has grown and is impressive — too bad Angelinos are so dismissive of public transit, they don’t know what they’re missing (whereas I do, ugh). I finished up with a nice short hike in the Gorge to McCord Creek Falls; I was worried about the heat, but under the forest canopy it was nice and comfortable.

Powered by WordPress