LnBlog - Now on GitHub

Just as an FYI, since I haven't really been religious about updating the documentation, LnBlog is still alive and well and is now on GitHub.  You can find it here.

For years I hosted LnBlog on my personal Mercurial server running my own bug tracker for project management (first MantisBT, then The Bug Genie).  However, as I wrote in my regular blog, Mercurial has lost the DVCS war and I'm tired of having to manage and administer a bug tracker, so I've switched LnBlog to Git and moved the project management to GitHub.  Of course, I still run a private Git server, because I'm paranoid and I don't want to be totally dependent on a third-party, but I don't want to manage the public-facing stuff anymore.

On the up side, this will also make LnBlog more visible and make it more convenient for anyone who is interested to follow development.

And speaking of following development, I've added an awful lot of stuff since the last official release.  This includes some security enhancements, post auto-save, WYSIWYG editor enhancements (including mobile support), a responsive layout, and actual pagination.  All that stuff will go into the next release, but you can always clone the master branch if you want to try it out now.

Documentation update

I've uploaded an updated version of the official documentation.  You can view it here.

Sadly, I hadn't updated the documentation in years.  Some of it was misleadingly out of date — for instance, it still claimed to run on PHP 4.1, which hasn't been true since version 1.0, which I put out in 2011.  So, yeah, it was kind of embarassing.

The new documentation takes care of some details like that.  It also rounds out the documentation for all the standard plugins.  Or, rather, all the plugins that will be standard in the next release.  So it'll be slightly ahead of current until then (though the next release shouldn't be too far off).  It could probaby be a little more comprehensive, but at least every plugin has a page now.

Public Mercurial repository online

To go with the newly-added issue tracker, LnBlog finally has a publicly accessible code repository.

Last week I started playing with Mercurial and switched LnBlog from Subversion to that. In the process, I set up a web-accessible central repository. Previously, I'd just run the Subversion repository on my local machine, but since Mercurial makes it so easy to set up the web-based repository, I figured why not?

You can access the repository at http://hg.skepticats.com/lnblog. Feel free to browse the code, clone the repository, and send me any changesets if you're so inclined.

I have returned

It's been three years since I updated this site, but I'm back. After a fairly long hiatus, I've decided to pick up development of LnBlog again.

There are several reasons for this. The first, and most pressing, is that I still use this software for my personal blog, and I don't really want to migrate to something else. For one thing, writing migration scripts is a drag. For another, it's kind of a point of geek pride to have written the software that runs you site.

The second, and only slightly less pressing, is that I actually still have this application on my resume. And why not? After all, it represents three years of work and tens of thousands of lines of code. So it's a significant accomplishment. Unfortunately, it's also horribly out of date. In other words, it's not such a great example of my current work. In fact, much of the app isn't quite up to my current standards, so I'm going to fix that. Although I am happy to report that, when I was looking through the code the other day, it wasn't nearly as bad as I thought it was going to be. I've seen people get paid to write much, much worse code, so I guess I shouldn't be too hard on myself.

Anyway, in the coming months, I'm going to be slowly updating LnBlog. I'll start with a 1.0.0 release, which will really just be my new starting point - some bug fixes, a few extra features, and killing off support for PHP 4.

To facilitate this, and to ramp up my own software engineering discipline on my personal projects, I've instituted an issue tracking system. You can check it out at http://tracker.skepticats.com/. If you find any bugs or have any feature requests, feel free to create an account and report an issue.

I'll update this site little by little as I get around to it. I have much less time for this than I did when I originally developed LnBlog, so don't look for lots of huge new features or updated documentation. Think frequent incremental releases adding minor features, fixing bugs, and refactoring things. But at least it's better than the project being dead.

I have returned

It's hard to believe it's been 6 months since I posted an update here. That's by far the longest lapse since I started working on LnBlog.

If you're curious as to the reason, I started doing some serious refactoring back in late April and May, so the codebase was in serious flux. Then I got distracted looking for a new job. Then I found a new job and got distracted adjusting to it. Then I had to move for the new job and, well, you get the idea.

So now I'm settled in at my new job as a full-time LAMP developer, I'm moved into our new house and about ready to put the old one on the market, and so now I feel like a little hobby coding again.

I'll start with the bad news. I'm probably not going to be releasing anything for a little while, what with having to fix up the code and refamiliarize myself with where I left off. I'm also switching to PHP 5 after the next release, so if your host only has PHP 4, sorry, but you're out of luck. PHP 4 has finally been officially EOLed anyway, so it really is time for everyone who's still on version 4 to upgrade.

The good news is that I've already uploaded some fixes to my site, so it should be mostly working again. I've also been getting lots of good experience at my new job, so I'm expecting the overhaul of LnBlog to speed up. I've also got lots of new features in mind, particularly on the user interface side. But first I have to clean up the mess I made earlier this year.

There will be more updates in the coming weeks. Stay tuned!

Now on a subdomain

Well, now that I have a host that supports subdomains, I've finally gotten around to adding subdomain support to LnBlog. And so, the URL of this page has now changed to http://lnblog.skepticats.com/. Thanks to the wonder that is mod_rewrite, the old URLs should continue to function.

And, of course, it goes without saying that subdomain support will be in the nex release of LnBlog. Of course, first I'll have to add a user interface to configure it, but at least the back-end code is working now.

New file writing twists

It looks like I've got my file permission issues sorted out now. I case you didn't know, I've moved to a new web host and I ended up having some issues with LnBlog.

My previous host ran PHP as an Apache module. In this configuration, andy files PHP creates are owned by the Apache user. Basically, this means that if you want a script to write to the filesystem, you have to disable safe_mode and make everything world-writable, or you have to use FTP. This is the scenario I had in mind when I wrote the NativeFS file writing module for LnBlog.

My new host, however, runs PHP suexec. This means that PHP is running as CGI, not an Apache module, and is running as my regular user account, not the Apache account. Thus, there is no need to worry about file permissions or ownership, because everything "just works."

Well, almost everything. It turns out that the server objects to scripts and directories that are world-writable, throwing an internal server error. This is a good thing as far as security goes. However, the NativeFS module, by default, makes everything world-writable because it was designed for the mod_php scenario. Hence it doesn't work.

Needless to say, I've fixed this problem and deployed it on my site. Basically, I've just added the ability to set the permissions for LnBlog to use when creating files. I just have to work out the configuration interface and then I'll put up a maintenance release.

LnBlog in Linux Format

I discovered something rather cool this weekend. While browsing through a copy of the June 2006 Linux Format in Barnes & Noble, I found a reference to LnBlog! In fact, LnBlog was featured on the first page of their "Hot Picks" section. I had no idea it was going to be listed, so this was a pleasant surprise for me.

Their write-up provided a pretty good summary and was generally positive. It was a little out of date, in that it covered LnBlog 0.6.4, but that's unavoidable, as they always write these things way ahead of time. The only real criticism the author had was that there is a lack of end-user documentation. I'm working on fixing that, but it's slow going. Now, if there were 36 hours in a day, then it might be another story.

As a point of interest, I was so pleased by this that I actually shelled out the $16 or whatever it was to buy a copy of the magazine. When I showed the column on LnBlog to my wife Sarah, it took several minutes to convince her that I actually wrote the software. (She's obviously not very interested in software.) The thing that convinced her was that the screenshot with the column used the skepticats theme, which includes a picture of our cat Loki in the banner. When she asked, "How did they get a picture of Loki?" and I explained that I put it in that theme because I wrote the program, it finally started to sink in. After that, she thought it was really cool.