On Chyrp's Revival

I completely missed the boat on this one, but apparently, ten months ago, Chyrp came back.

Provided the project persists and progresses, I might consider taking another look at the platform that I had once loved. In the meantime, I’ll stick with Habari - which I have grown accustomed to. I know that Chyrp is a very young product, but it’s sudden termination was simply too much to bear - I honestly can’t get my hopes up again.

Truth be told, I’m actually very pleased to hear that the product was restarted - it would have been a shame to have let such a promising piece of software go to waste. Even Chyrps website’s design was delicious:

I wish the team the best of luck with all of their endeavours.

Official Chyrp Development Halted

I was saddened to recently hear that work on Chryp had officially ended. It’s really a shame, as Chyrp provided everything I needed at a fraction of the resources required by functionally-similar blog engines. It was the most aesthetically pleasing blogging engine I had come across, and it offered unparalleled simplicity.

As much as I would love to stay with Chyrp’s frozen state of code, I can’t dismiss the number of outstanding bugs on the platform. Also, as the code is relatively new, and the community relatively quiet in terms of feedback (moreso now after current events), it won’t be a security-conscious move for me to stay on board. l’ll have to find a blog engine with a similarly low footprint and a more active community.

Salvaged from the author’s site were these final words:

As you may have noticed, progress on Chyrp has grinded to a halt, and has been in that state for a long while now. It is no longer maintained. A few people have volunteered to step in, which I appreciate, but no progress has been made. Throughout this project’s timeline I can count the repeated contributors on one hand (whom I am eternally grateful for; Twig, a lot of internal refactoring, and many fixes are the result of their hard work). It’s unhealthy for a project to rely too much on one maintainer; when they lose interest the whole thing crumbles down. This is essentially what’s happened. People keep switching to, finding, or using Chyrp, which just isn’t a good idea for me to encourage given Chyrp’s current state. So now I’m announcing it’s death.

Chyrp will always be available at GitHub. Any contributors can feel free to fork my repository; I’d be more than happy to accept patches and security fixes, or add you as a committer if you seem trustworthy and active enough. But I will no longer be working on this project, I probably won’t be in the IRC channel anymore, and I can no longer guarantee that this site will stick around through server moves and such. Unless a miracle happens and Chyrp development springs from the grave (which will be judged by actions, not words).

Chyrp has been a part of my life since I first learned to program. It grew out of what is now a “hello world”: writing a blog engine. It has spanned a decent chunk of my critically-thinking life. Thanks for being a part of this project, whether you were a user or a contributor. Chyrp author’s blog

Readernaut in Chyrp

Readernaut is the easiest way to share what you’re reading with friends.

Chyrp’s Readernaut module provides a sample twig:

Twig, a language specifically created for Chyrp, that is put through a compiler to produce PHP.

… that is unnecessarily complicated - it essentially tries to fit both the book title and book cover into a table column. I’d much rather allocate space for the book’s cover than it’s details given the small area to work with.

Ultimately, I modified themes/$theme/content/sidebar.twig to show:

To restrict the book listing to only show books that are currently being read, in modules/readernaut/readernaut.php:

## The actual data
public function books($limit=10) {
$config = Config::current();
$xml = simplexml_load_string(get_remote('http://readernaut.com/api/v1/xml/'.$config->readernaut_user.'/books/reading/?limit='.$limit));
return $xml->reader_book;

.. essentially changing the path to the reading list from books/ to books/reading/.

Backup of Chyrp

With NB, off-line backup was rather easy - essentially I was dealing with textual content from two sources that could be easily synchronized with basic shell tools.

Chyrp, on the other hand, required that I duplicate both the MySQL database and the static content, and that I had a web browser handy to access the graphical markup tools provided.

I had to dump the contents of the remote MySQL database to a local file, which could then be used to recreate the on-line database if ever the need arose. I created the following script for that purpose:


With a rudimentary backup method in place, I could now completely migrate away from NanoBlogger.

Themes in Chyrp

This page provides the links to modules/themes/feathers.

Installation involves downloading the zip archive, and extracting its contents to a similarly-named directory under themes/. You’d then need to activate it via the admin panel.

By the by, I was rather disappointed that the archives were only available as .zip archives. I’d much rather these archives be available in .tar.gz, or some other commonly used *nix format. To add insult to injury, several of the themes - gull and grackle - had .zip archives that produced errors when uncompressed with 7zip in Windows. These exact same archives extracted fine under OpenBSD.

Thoughts on Chyrp

I recently found out about Chyrp from a co-worker, who had been alpha-testing it for a while now. She took some time out of her busy work day to advocate its usage.

From Chyrp’s Homepage

Chyrp is a blogging engine designed to be very lightweight while retaining functionality. It is powered by PHP and has very powerful theme and extension engines, so you can personalize it however you want. The code is well-documented, and it has a very strong structure that’s loosely based on the MVC design pattern.

Upon installing Chyrp onto the bur.st host, I found it to be scalable; quick to deploy; fast to navigate; functional; aesthetically appealing; and very quick - something that couldn’t be said about NB.

One oversight made by developers of Chyrp was that, by default, noone was able to access any pages (!). As it turned out, the default .htaccess file that shipped with Chyrp-2.0, or even the git-version, did not have global-read permissions. This basically prevented the www-data system group from accessing the file, and in turn, this prevented all WWW users from viewing anything on the site. The issue was easily resolved by a $ chmod +r .htacccess.