When crappy software and crappy ISP meet
Or: Welcome to my new blog
My previous blog is dead, and my blog is now running on brand new software (details below). Apparently this is what happens when you choose WordPress as your software, and GoDaddy as your host. Luckily I had almost everything backed up.
WordPress is a nice software to quickly start up from scratch, but once you need to squeeze more out of it - may it be performance or custom features - you get to understand how crappy it really is. And GoDaddy - well - I'm not going to even start.
Actually, my previous blog software had many quirks and weird random request timeouts for quite a long time, but it was survivable. All seemed fine until one day in the first week of July, when it suddenly crashed and refused to go up again. It would always return a 500 response. A few days later, the server was completely unreachable.
A quick diagnostic pointed at some server fault, which apparently shut down my WordPress application. When I contacted GoDaddy support they replied with some scripted answer about how to view the actual error message and good luck fixing it yourself. I didn't even bother replying back to ask them why the server of which they assigned to me is no longer on-line.
Meanwhile, my blog was down and I was left with 2 options: fight with GoDaddy, or go get another hosting and blog engine. Since I decided I will never go with GoDaddy again no matter what and started really hating WordPress too, I chose the second.
Not a long ago I blogged about the WMS concept, and while I already started coding a PoC it was far from ready. It was a perfect fit for a new website featuring my blog and other work as well, so I took this opportunity to give this idea a serious push forward, and the blog is now powered by NSemble.
The idea behind NSemble is simple - it allows to assemble a website out of modules very easily. You can either use existing modules or write your own modules. Building a website with NSemble is simply a matter of defining areas, and the module defined for an area is in charge of handling the rest, like routes, content negotiation etc. You can obviously use the same module several times in multiple areas with different content.
NSemble still has quite a long way ahead of it before it can even be considered beta, but it is what powers this blog. Since I'm now actively using it, I expect to be fixing bugs and adding features more frequently.
NSemble is using NancyFX as its web framework, and RavenDB as its backing store. I'll blog about it in more details as soon as I'm out of the mud. In the meantime, you can check the sources on github (github.com/synhershko/NSemble) and look at the list of open issues (or feature requests).
Contributors, early adopters and critiques welcome! (and until the comments are enabled (still a few things to fix in code), feel free to ping me on Twitter).