Claus Beerta

Stuff i do, don't and other babble.

Picasa to Flickr


Since i use Picasa to Upload my Photo's these days, i needed something to keep Flickr updated as well. Being the lazy ass i am, i built this little tool to do it automatically.

Put it on Github, as other people might find it useful too.

CBeerta/Picasa-To-Flickr - GitHub

Picasa-To-Flickr - Copy Public Photos from Picasa to Flickr



Behavior driven Infrastructure and Monitoring

While I'm busy getting acquainted with Chef I'm starting to wonder why the topic of "Behavior driven Infrastructure" hasn't picked up more momentum than what appears to be the case right now. (Or I've just been living under a Rock, and missed all of it).

Behavior driven Infrastructure

BDD Has been around in Software Development for a while now, but coverage for it's use in a Systems Administrators life has been pretty vague from what i can tell.

I've found a few interesting posts, but not much beyond this.

I've read Test-Driven Infrastructure with Chef which touched a bit on the subject.

Behavior Driven Monitoring?

With growing Infrastructure, Monitoring becomes a major Pain. Especially if you do it the "classic" way, that focuses on monitoring Components rather then Services. If your system checks thousands of hosts, chances are on some of them something is broken. Broken disk maybe? MySQL Slave that is causing high loads because a batch Job is running some statistics? Apache that is running low on Childs?

But really, does it matter? As long as the Service is up and running and performing? Do we need to monitor every little cog in our infrastructure if there is a way to do "Top Down" Monitoring?

I certainly don't enjoy being woken in the middle of the night by Monitoring that tells me that a Database is chocking somewhere.

And now?

cucumber-nagios seems like the only project touching on that Subject.

As PHP is my language of choice, and I'm not quite convinced that learning Ruby is going to make me a happier person, I'll stick to that.

Behat is Cucumber for PHP, installation is done quickly:

pear channel-discover pear.behat.org
pear channel-discover pear.symfony.com

pear install behat/gherkin
pear install behat/behat

(Remind me to build a Chef Cookbook for this.)

Time to explore...



Bliss Demo

I've setup a little Bliss Demo Installation for you to look at here

It Only pulls my own feed, and added feeds will get wiped on each update.



rssReader is now Bliss

What?

Time to revive an ancient project: rssReader

It's been a while since i last worked on my own little Feed Reader project (7 Years).

Why?

I've recently started using Google Reader as i got myself a fancy Android Phone with a data flat rate, and i didn't get TT-RSS running properly on it (probably totally my fault).

The only thing i didn't want on Google Reader were all my authenticated and NSFW feeds, i needed something different for those.

I remembered that i had this little project way back when, and decided to have a look at it. Unfortunetly it has grown quite old. Still based on PHP4, not very web2.0'ish, and generally not really pretty to look at.

So i just rebuilt the thing from Scratch.

The only thing it has in common with the old version is that it uses Smarty as Template engine. I commited the old thing, if you want to have a good laugh.

Where?

First: May I suggest you try TT-RSS. Or if you don't care much about privacy: Google Reader is quite awesome. It's even more Awesome with this extension installed.

If you still want to have a look, you can get it on Github. Installation should be very straight forward.

The only advantage it has over TT-RSS, is that it doesn't need a database whatsoever (It's also somewhat easier to configure, but with the difference in features that's not much of a surprise)

It has plenty of disadvantages though.



First Post via Posterous

So, how do you build an interface to post content for your selfmade Blog app if you actually don’t really want to?

Easy: You don’t!

I’ve been looking around for inspirations on how to build a interface to put posts on my selfmade website. Thing is though: Input validation is tedious and error prone. Even if i am the only person who will ever use this interface, i’ll still manage to trick myself. Encodings, Character Sets, HTML Editing etc, then i’d like to post Images and Photos and other Media stuff. Building a frontend for that is a tedious task.

So, why bother?

Posterous to the rescue

While looking around i stumbled over tumblr and posterous both providing a blogger like service that:

  • Doesn’t run on Wordpress. I’ve grown old and tired of it.
  • Both have slick looking and quick interfaces.
  • Neither want to know when your mothers, best friends niece had it’s last teeth pulled while signing up.
  • Both allow posting Markdown content via Email, and they both obviously have rich text editors to edit your posts afterwards.

What Posterous also has is the ability to distribute content to various other sites.

That and Posterous didn’t present the site in german to me unlike Tumblr. I know german, sure, but i don’t want to. My browser says “Give me English Please”, so why send me a german page? I absolutely HATE it when sites do that.

My Content is Mine

Posterous has a simple, yet usefull API that allows me to get my Content back and put it on my site. It also has a comments API where i can feed the comments from posterous back into my database. That way everything i create is under my control, and i can do with it as i see fit. If for some reason the site starts to bother me, i can just delete my account. I will keep my content.

Punch line is: I can use Posterous wonderful interface and features to produce and distribute content, and then just pull it back into my Site.

Here’s the Code to it. It lacks importing comments, but that’s not that urgent.

Triggering the importer

Once posted, Posterous sends a mail back to confirm that something went live. Why thank you, I can use that!

A little procmail action:

:0
 * ^From: .*post@posterous.com.*
 {
     :0 c # Trigger an Update
     ! USER=cbeerta PASSWORD=thoughshallnotknow php index.php --import-posterous

:0 # and store it (for now) $DEFAULT }

And the post will be added to my page immediatly. Nifty.