Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,125 | Comments: 45,493

filter by tags archive

And now… Raccoon Blog

time to read 2 min | 297 words

One of the things that people kept bugging me about is that I am not building applications any longer, another annoyance was with my current setup using this blog.

Basically, my own usage pattern is quite different than most people. I tend to post to the blog in batches, usually of five or ten blog posts in a short amount of time. That means that future posts are pretty important to me, and that scheduling posts is something that I care deeply about. I managed to hack Subtext to do my bidding in that regard, but it was never perfect, and re-scheduling posts was always a pain in the ass.

Then there is RavenDB, and my desire to run on it…

What this means, in short, is that we now have the Raccoon Blog, which is a blog application suited specifically for my own needs, running on MVC 3 and with a RavenDB backend.

By the time you read it, it will already be running our company blog and it is scheduled to run ayende.com/blog this week.

What is Raccoon Blog?

It is a blog application running on top of RavenDB store and tailored specifically for our needs.

  • Strong scheduling features
  • Strong re-scheduling features
  • Support multiple authors in a single blog
  • Single blog per site (no multi blog support)
  • Recaptcha support
  • Markdown support for comments (you’ll be able to post code!)
  • Easy section support (for custom sidebar content)
  • Smart tagging support

And just for fun:

  • Fully HTML 5 compliant



And unfortunately including:

  • No styling

  • Javascript errors

At least on my IE7 at work. ;-)

Ayende Rahien


Can you give me more precise feedback on what you are seeing?

Steven Burman

"which is a blog application suited specifically for my own needs"

Unfortunately, I'm not sure anyone else shares your blogging needs!

Ayende Rahien


We haven't written that for anyone else.

Ayende Rahien


Those would never work, they are missing the "/blog/" in the beginning


Yes, I noticed it. I just thought you could write a simple url rewrite rule providing a permanent redirect to get advantage of those orphans

Jon Wingfield


I'm impressed with how quickly you turn stuff out. A great example of agile/lean imo.

Simon Bartlett

The Hibernating Rhinos blog is not displaying correctly in any version of IE for me. CSS doesn't seem to load.

Daniel Marbach

Wordpress has all this built in and even more...!

Ayende Rahien


Can you send me a screen shot showing how it looks like?

We tested in IE, and it is fine.

Ayende Rahien


I am aware of word press, it doesn't fit how I do things.

Simon Bartlett

I can send you a screenshot, but from what I can see:

The browser requests a stylesheet from: /Skins/Semagogy/css.axd?name=Semagogy

Gets redirected to: /skins/semagogy/css.axd

Which returns a 404 error.

Ayende Rahien

What URL are you actually using? Because we don't have an /Skins/ directory in there.

Ayende Rahien

Okay, I found out what was happening, we had a redirect issue there.

Bogdan Marian

It was just fixed - Ayende, you sure read your blog FAST!

Jesse Williamson

Very cool. I've been on an off again with writing my own blog app, no because nothing supports what I want to do, but because I want to write an app. This has inspired me to get back on it again. Thanks.


I cannot run the blog because in AbstractController.cs, it tries to read blog config from the database and it returns null

var blogConfig = Session.Load <blogconfig("Blog/Config");

Then when it tries to map with the following line I get an ArgumentException

protected override void OnActionExecuted(ActionExecutedContext filterContext)


        var blogConfig = Session.Load


                    ViewBag.BlogConfig = blogConfig.MapTo


Vinicius Andrade

Can you explain why WordPress doesnt fit your needs?

I just started a blog and WordPress was the best option due to its incredible community, plugin and theme support.

Alexander Nyquist

You've maybe thought of it earlier but i would strongly recommend that you redirect all of your old urls (running this blog) to your new urls.

I can imagine that you get quite a lot traffic from Google which you don't want to lose.

Ayende Rahien


The blog assumes some data is already in the DB. We will make sure that it will create that data if it doesn't exists.

Ayende Rahien


Future posting, post reordering, things that I really care about aren't there.

I don't care to run a blog on a platform that I don't know very well.

Jonathan Oliver

April Fools! Oh wait...It's May. I guess you really did write your own blogging engine.

Frank Quednau

Victor: +1

It's funny you actually get flac when you write your own blog engine. It's a well understood problem domain which is of limited scope but not too trivial, can help you in understanding yet unknown technologies and in this case dogfooding your own products. Did the same thing myself 2 years ago, and I'm fairly sure there may be a version 2.

Sadly, Winhost stated it wouldn't host RavenDB, otherwise I'd probably go for a fubumvc or openrasta + ravenDB combination.

Ayende Rahien


Thanks for noticing, fixed now


Ouch! That shouldn't be there, and it will be removed


Make sure to keep the old URLs exactly the same for SEO reasons (see my comment on a previous post). Not even a difference in case allowed. You must 301 redirect case differences to the canonical URL so that all wrong external links still get you link juice.

Alvaro Oliveira

Are you going to port your posts from this one to the new one ?


Alvaro, I saw in github a migration program, so yes I'd say so.

Would be crazy not to.

Dmytrii Nagirniak

Oren, God bless you haven't written Yet Another CMS.

Wheels are being reinvented so many times :)


Didn't spend any time behind the PC after my initial post, but I see others had the same problem. But it has been fixed now. The page is now styled properly and no more javascript errors.

Rob Cannon

The links in your RSS feed are not correct. They take me to an invalid page in FeedBurner.

Wyatt Barnett

How does raven licensing work for this product- - as in let's say I wanted to run my personal blog on this platform. Would I need a ravendb license?

Ayende Rahien

Wyatt, You could do so, since this falls under the OSS license, the entire thing fall under the AGPL license, basically.

Harry Steinhilber

I've been going back through a bunch of the previous posts and taking a look at them in the new blog. It's actually really nice. The new markdown comments actually work on a lot of old comments. The bullet points and a lot of code just work.

There are some catches, though. See some of the comments towards the end of Answer: Stopping the Leaks.

I doubt there is much that can be done about this, though.

Ayende Rahien

Harry, We put a LOT of time into making sure that comments ported over nicely. I am willing to accept that some of them won't convert nicely, as long as the vast majority of them does

Geoff Stockham

I'm getting the same articles appearing in Google Reader every day, in a flood of new posts. I'm presuming this happens every time you deploy a new version, which could get annoying considering your rate of development...

Ayende Rahien

Geoff, Yes, I fixed this now

Bradley Landis

Is there a trick to get this to run in a partial trust environment?



The webpage at http://ayende.com/blog/4837/and-nowhellip-raccoon-blog has resulted in too many redirects

Ayende Rahien

You need to host RavenDB somewhere, it can't run without RavenDB. And RavenDB will not work in partial trust env.

Ayende Rahien

Ram, I don't see it, but it is possible, we played a lot with the url re-write scenarios

Jake Ginnivan

Ayende, just to let you know a few devs from Australia have been working on a blog engine solving the same things that Racoon does, except for the RavenDb backend of course, we already are working on being able to select a database provider.

Please have a look at http://www.funnelweblog.com/. Our stacks are pretty much the same, MVC3, Razor, nHibernate, Autofac, MEF (we have an awesome extensibility model) and markdown for both posts and comments. Seems silly to have two blog engines which are so close to each other in terms of goals :)

Ayende Rahien

Jake, Thanks for letting me know. But there were a few other reasons to want to write our own blog engine.

I'll put all of them in a future post, but the essence is that: a) using RavenDB properly means that you can't really hide it behind a data layer (more accurately, the RDBMS data model that the data model exposes wouldn't be a very good option for RavenDB).

b) we wanted a RavenDB sample app.

c) it is easier for us to make changes and modifications to our own stuff, which we know and built to support our own needs.

Tero Teelahti

The initial HTML page response is very fast, but opening e.g. category "blog" (http://ayende.com/blog/tags/blog) makes 277 requests and takes a total of 18 seconds on a fast network. Opening this page my chrome 12 totally halts for >10 seconds. IE9 handles the situation better, but the amount of requests and page load time stays the same. Most of the requests are to Facebook and Twitter. I tried on two different networks just to be sure that this is not an issue on my network.

Maybe some room for improvement here?

Muhammad Adeel Zahid

Hello, i have downloaded the RaccoonBlog and tried to debug it using visual studio. but RavenDb profiler gives me 404 errors at /docs/Raven/Replication/Destinations and /docs/Blog/Config. what can i do to sort this one out. plus what's the default username/password to enter the admin section of Raccoon Blog regards Adeel

Ayende Rahien

Muhammad, It is best to ask on the mailing list for ravendb

Muhammad Adeel Zahid

Ok, i will ask there. what about admin user/password for Raccoon Blog

Comment preview

Comments have been closed on this topic.


  1. RavenDB 3.5 whirl wind tour: I'll have the 3+1 goodies to go, please - 2 days from now
  2. The design of RavenDB 4.0: Voron has a one track mind - 3 days from now
  3. RavenDB 3.5 whirl wind tour: Digging deep into the internals - 4 days from now
  4. The design of RavenDB 4.0: Separation of indexes and documents - 5 days from now
  5. RavenDB 3.5 whirl wind tour: Deeper insights to indexing - 6 days from now

And 10 more posts are pending...

There are posts all the way to May 30, 2016


  1. The design of RavenDB 4.0 (14):
    05 May 2016 - Physically segregating collections
  2. RavenDB 3.5 whirl wind tour (14):
    04 May 2016 - I’ll find who is taking my I/O bandwidth and they SHALL pay
  3. Tasks for the new comer (2):
    15 Apr 2016 - Quartz.NET with RavenDB
  4. Code through the looking glass (5):
    18 Mar 2016 - And a linear search to rule them
  5. Find the bug (8):
    29 Feb 2016 - When you can't rely on your own identity
View all series


Main feed Feed Stats
Comments feed   Comments Feed Stats