WordPress replacement?

Being frustrated with soooo many security vulnerabilities of my current blogging engine, I decided to find a replacement. Here’s a list of requirements I came up with:

  1. Not written in PHP
  2. No known security vulnerabilities.
  3. Supports customization – I would like to have a Tadek’s theme on it.
  4. Can import my current blog content.
  5. Supports markdown (or a similar syntax. The only thing I hate more than writing html, are bad UIs for generating it).

Since I already have a server, I didn’t want to go for a hosted solution (though I may change my mind on this one, as I did with my e-mail). I quickly discovered that excluding PHP, there’s little out there. Also, I didn’t want to jump to a full-bodied CMS for my puny website.

The more I thought about it, the more I realized I wanted have something very much like WordPress (willing to compromise on some bells and whistles like WYSIWYG editor I personally hate) that is not-Wordpress. Knowing what I to look for, I quickly came across Zine, which is exactly what I was looking for:

  1. It’s written in Python. Yay!
  2. It’s seems pretty nicely written and haven’t seen any mentions of security vulnerabilities (given, it’s a niche product).
  3. It’s really nice – I ported Tadek’s theme in no time. I also really liked the templating language.
  4. I managed to import my blog content in 2 min (I spent another 100 trying to identify two records-of-death).
  5. It has a markdown plugin. Yay!

While playing with Zine, I realized that PHP, with all its drawbacks and issues, has one big advantage: most programs are simple drag-n-drop and modules are very well supported on Debian I run. Having gone through a mixture of obsolete Python modules and easy_install, I started to appreciate simplicity. Ah, did I mention that my swigged psql module would crash apache workers with SEGV at random times?

It sounded like a challenge and, after two evenings, I actually do have a running Zine-powered WordPress replica in Python (I even started implementing some missing functions like adding counts to post categories and search function). The admin UI is awesome and I really like it. With a few days of evening hacking, I would have a really awesome blog in Python. It was only that when I realized that… the Zine and Python are slow. Not just slow, but it’s excruciatingly slow. My server is not the most powerful machine and having to wait almost 10s for the initial page load was way more than I could handle (to give justice, you can enable mamcache/file based caching). This is when I decided to grind my teeth, upgrade the WordPress blog one more time and give another try.

As of now, I am still not writing Zine off, but WordPress is to stay for now (well, at least till I get really annoyed).


PS. I still cannot comprehend why getting WordPress behind SSL (under a different path) is sooooo hard. There used to be a plugin that did this but it since stopped working. But then WordPress’s security track record shows that maybe there’s more to worry about than somebody sniffing your password – just don’t reuse it ;-)

PPS. WordPress Android app is awesome and just works. I can share photos I took with just a few clicks.

6 Responses to “WordPress replacement?”

  1. Diego Says:

    Hey Tadek, I think I have mentioned it before, but you should really take a look at posterous.com. It’s a really nice platform:

    • it’s themeable (they have a small but nice and growing selection of themes, and you can easily customize your themes)

    • it’s dead-simple to post by email, you just email your stuff (text, pictures, videos, whatever) and it both posts it in your blog and auto-posts it to any sites that you have configured (e.g. it can automatically upload videos to YouTube, images to Flickr, documents to Scribd, post notifications to Twitter or Facebook, and even replicate posts to other blogs, such as WordPress).

    • it also does smart handling of certain URLs – e.g. if you include the URL of a youtube video, a Scribd document, or a Gist snippet (http://gist.github.com/) it will automatically embed the content in your post instead of just including the URL

    • you can have as many blogs as you want.

    • you can also create static pages which can be viewed as part of your site.

    • you can map your blogs to your own domain.

    • (this is one of the best ones for me) the support is incredible. It’s a really small company (7-8 people or so), but still EVERY single time I have emailed them with a question, request for support or feature suggestion, I have received a personalized reply from one of them, often from one of the two founders.

    • they are really active in implementing new features, and really open about communication. See their blog: http://blog.posterous.com/

    • you can import your wordpress blog really easily: http://posterous.com/switch/wordpress

    When we moved from Switzerland and we stopped using your shared server, I moved my blogs to posterous and I haven’t looked back. Take a look: http://blog.zzamboni.org/ and http://posterous.zzamboni.org/

    Anyway, take a look, I think you’ll like it.

  2. Diego Says:

    Another option would be to host your blog on github.com, using the Git Pages feature: http://pages.github.com/

    Essentially you create a git repository with a special name, and it will automatically map it to the yourgituser.github.com domain, and you can also map it to any custom domain you want. They use a rendering engine called Jekyll, which generates static pages but is blog-aware and has many other nice features. It’s all statically-generated, so no security vulns :-)

    I am currently hosting the mirror of my old blog using github: http://zzamboni.org/brt/

  3. Diego Says:

    I think my previous comment about posterous got swallowed by your blog – maybe it had too many links? Could you try to rescue it from the spam folder? :-)

  4. tadekp Says:

    Yeah, github is interesting (and there’s even some support for comments with Disqus), but I am looking at ways to make blogging easier and nicer (did I mention the android app? ;-) ) Posterous is also very appealing because it just works.

  5. Diego Says:

    Hi Tadek – I posted a fairly detailed comment about posterous (before posting the one about github), but it seems to have been lost (I tried resubmitting it, but your blog told me I had already submitted it). Maybe it’s stuck in the moderation or spam queue?

    In summary – I love posterous, it totally rocks.

  6. tadekp Says:

    Thanks for your detailed post – I will definitely give it a try! I rescued your comment – sorry about that. The spam filter seems trigger happy. It wasn’t until I started getting real comments that I realized how bad it is ;-) – will check if I can tune it somehow.


Leave a Reply