This comment from the Drupal Theme developer’s guide is an
example of why whatever your question, PHP is not the answer:
An important note- when developing a theme using any of the methods
described here, you must be sure that the name of the theme is not
the same as the name of any module being used on the site because
the function names may collide and your site may no longer function
correctly.
My blog has moved to a dedicated new home:
http://www.mikerowecode.com/
All appropriate redirects are in place, but please check your feed
reader to be sure. I’ve done a far-reaching survey of a wide range of
users and clients—ok, well, actually myself and one friend, both
using NetNewsWire—and it seems that it works fine when the feed
is accessed directly, but if you have it syncing via NewsGator it
doesn’t correctly propagate the new feed URL. It does follow the
redirect to get the feed content, but doesn’t to push the changed URL
back to the client. I’d be interested to
hear about experiences with other
readers.
A word about what’s behind curtain
The new site is built from text files using the blosxom
publishing system. The text files are formated using John Gruber’s
Markdown, with punctuation fixed by his SmartyPants.
I use a number of plugins for blosxom to get things working the way I
want. These include archives and recententries to provide the
navigation options in the sidebar, entries_index to maintain article
time stamps and atomfeed to produce, er, an atom feed. :)
Blosxom runs in “static” mode to generate the site locally, and then I
rsync it to my web server, where it’s served as static HTML.
Why blosxom?
It probably seems like a strange choice, when there are so many
“advanced” alternatives such as Drupal (which was my previous
system), WordPress, MovableType, Blogger, etc., etc. But a couple of
things convinced me that blosxom was the way to go.
First, my needs are minimal. I just want to publish the stuff I write with
the minimum of fuss and overhead. I wanted a publishing system that
would get out of the way.
Second, there is something very appealing about keeping things in
plain text. I can write in emacs (which is of course the One True
Editor), manage changes with git, search with grep (or
spotlight). The directory layout is the same on my hard disk as on the
public server. There’s no database to worry about backing up.
Finally, since I’m serving static HTML, in the (admittedly
far-fetched) event that this site becomes wildly popular and sees huge
amounts of traffic, scaling will be trivial. :)
For some months now, I’ve been maintaining a git mirror of the Reviewboard project’s svn repository. The git-svn tool works really well for this, except for one small wrinkle: the reviewboard projects uses svn:external to include an external module, djblets, and git-svn provides no transparent way to support this.
For now, I manage this manually. When ever I notice an update to djblets (which are thankfully rather rare), I use the following process to merge the changes into a branch (with-djblets) in the git repo:
$ cd ~/src/djblets
$ git svn rebase
$ git log -1 | grep -v '^commit' > /tmp/djblets.log
Note: change “1” to whatever number of commits have happened in djblets since the last time I did this. The grep command removes the git-specific “commit” lines from the log, which won’t be interesting enough to include in the commit message below.
$ cd ~/src/reviewboard-with-djblets
$ git status # make sure working dir is clean
$ cp -rp ~/src/djblets/* reviewboards/djblets/
At this point, I do a git status and manual sanity check to make sure the changes I’m about to commit here match the incoming change to djblets.
$ git add <files that are changed/new>
$ git commit -F /tmp/djblets.log
$ git push public-repo with-djblets
Done! Simple, no? Well, no… This process has a number of problems, the main one of which is it’s manual, and I have to do it. I’m hoping that I’ll be able to bend git-submodule to my will enough to take care of this.
It’s been a while coming, but here is a quick update on my job search:
Whether it was my letter to recruiters, or just dumb luck, I ended up finding and accepting a pretty good contract job back in November. A product company, smart people, great relaxed environment. More or less everything on my list. Even a kick-ass coffee machine in the office. As expected, it was a smaller “boutique” recruiter that came through.
I’ve had a happy and productive couple of months.
Then this week, the company was bought by Microsoft and my contract terminated
early. *sigh* More job search news to come, I guess.