Seriously, the service is brain-dead easy to use, scales wonderfully, and took me 30 seconds to set up, rather than the <X time units> that it would take to set up what the OP describes. If you don't like tumblr, use posterous, or wordpress, or rock it old school with blogger. I don't get why so many people take the time to set these things up when there are better things to do, such as actually writing to your blog.
Pro tip: unless you're really popular, no one cares how you power your blog... they care about what you write on it.
I don't like that "Tumblr reserves the right to remove any Subscriber Content from the Site, suspend or terminate Subscriber’s right to use the Services at any time, or pursue any other remedy or relief available to Tumblr and/or the Site under equity or law, for any reason [...] or for no reason at all."
[http://www.tumblr.com/policy/en/terms_of_service]
That "or for no reason at all" part is a bit bothersome.
I thought the whole hacker nomenclature revolved around tinkering, crafting, and creating. The type of person that is compelled by an idea they had for their blog and then they enjoyed implementing it.
So unless you propose a blogging system that facilitates the hacker urge, how does it have anything to do with hackers?
I'll agree with you partly, but hacking with something just because you can hack with it can be a huge distraction as well. Put another way, "maintaining a blog" is a professional development goal, which can and will have direct benefit to many hackers. "Hacking together your own blog" is a fun side project, with the side benefit of you learning a new technology. However, I fear that most hackers would spend far more time coding their blog than writing to it, which completely undermines the purpose of having a blog in the first place.
I started my blog partly to get things off my chest, partly to gain eyeballs - call me crazy, but having eyeballs that listen to your messages feels great.
Which is why "maintaining a blog" is not necessarily distinct from "hacking together your own blog" (which is not something I'm doing btw, as I'm using already available tools). The reasons for that have to do with methods of gaining conversions.
Conversions are hard to gain. Good content is kind, however many people that write good content then wonder why they don't get conversions. And sometimes it doesn't have anything to do with your content, but with the actual presentation. Marketing people have a word for it: "merchandising".
And if the blog is important to you, then it makes sense to approach it just like you would approach application development. You start with something simple, then gradually add to it. You also respond to user feedback. You make sure your design is bearable to read (I've skipped on many blogs with awful designs, which is why tools like Readability are a gift to our world). You also may be interested in doing A/B testing. And so on.
Doing this on e.g. Wordpress is doable as it has a great community and lots of plugins. But messing around with plugins, fixing dependencies and vulnerabilities, getting rid of crap you don't need, optimizing the user experience, finding a theme that doesn't make your eyes bleed and so on ... also takes lots and lots of time. There's no silver bullet.
I also like Tumblr, but it is unsuitable for the purposes of my blog. Tumblr is designed for writing opinions longer than tweats or for posting pictures. It isn't designed for long tutorials that also have code in them.
With my Jekyll blog I could even write a plugin / or some kind of script that runs/tests the posted code for me. And do so automatically on submit. And having your content in GitHub - is so freaking awesome. If you don't see it, just wait until somebody sends you a pull request for a fix in your article.
I'll agree with you that there is some fun in putting the whole thing together. However, "merchandising" is definitely far too strong a word... (1) very few people will create better themes all by themselves than what Tumblr/Posterous/Blogger already made, and (2) the css for each of those sites is completely editable, so you can customize to your heart's content. This makes sense with your testing approaches as well... you can implement A/B testing with a blogging service just as you could with a homebrew solution.
Regard your "isn't designed for long tutorials with code" post:
That's my blog, and it's a tutorial. It's not the best, but it's got code, it's got links, it's got pictures, and I could have put youtube there if I wanted to. You can definitely do heavy lifting using these solutions, and you can use all the time you saved to work on making your actual product that much better.
An issue I had was that there is no easy/seemless way to include code snippets in tumblr. A google search brings up a couple ways you can make it possible but its not something I want to do for every post I want to have code in.
I'd immediately switch to a blogging platform that was like tumblr or blogger but with an easy way to include code.
Currently what I do is paste only short sections into the blog and link to the proper syntax highlighted code on pastebin, or if it is on Googe code or github directly to it there.
The only problem I've had is embedding github gists in tumblr (or any other javascript-based embed). Putting code snippets in is trivial using Markdown.
1.5. Make backups. A periodic wget would be better than nothing, though I don't think it would grab the parts hosted on AWS. e-mail to posterous does backups as a side effect, but you still need to grab Disqus comments using their API.
Very good point. I write (and save) all my posts to Simplenote, so I forgot to mention this. I don't save any of my Disqus comments. Definitely do this.
I believe that simply redirecting the base URL obviates the need of setting up redirects for each post, but it's been a long while since I looked into that. Hopefully someone else will give you a more definitive answer.
I'm in the process of moving my Typo4 blog to Octopress in the hopes of blogging more when there are fewer textareas to fill in.
Octopress is built on a fork of Jekyll and comes with a very nice html5 / sass default template and some other goodies. The default is markdown but it plays nice with haml too. It took me a while to grok how to make my own templates, but that would surely have gone faster if I'd actually read the docs instead of dog-paddling around in them.
AWS is a way better solution. Especially if combined with CloudFront, since some people are targeting outside of the US :)
I personally don't like the default theme that Octopress comes with, so after I tried rolling with Octopress I digged deeper and made a custom Jekyll Site. Awesome learning experience and dead-simple deploy
> AWS is a way better solution. Especially if combined with CloudFront, since some people are targeting outside of the US :)
To expand on this, you can easily host your Jekyll blog (or any static site) on Amazon S3 and use CloudFront to serve assets. I would imagine this will be more reliable than Heroku and is certainly less complicated than the OP's setup. Unless you have an enormous amount of traffic or huge assets, S3+CloudFront will be essentially free (dollars per month, if that).
The whole reason why I preferred this setup and not straight hosting on GitHub Pages (which works great for low-traffic content) is that I want control. Control means also adding dynamic behavior when you need it.
A pure static solution like Cloudfront doesn't allow dynamic behavior. One incredibly useful use-case is having redirects, because your content moved around, after a cleanup, or a migration, or something. HTTP redirects are useful for moving the Google juice you received on your original link, doing Javascript-redirects does not work in the same way.
So I like the idea of a static site, but sometimes you really need dynamic behavior. Also, I hate the www. prefix for some reason. I think it is obsolete. It's just an opinion, but I hate that Google's App Engine or Cloudfront doesn't let me go naked.
The problem is that the DNS RFC (RFC1033) requires the "zone apex" (the naked domain) to be an "A Record," not a CNAME. And these services insist on CNAME. It is understandable why, because CNAMEs scale better and a CDN (for instance) couldn't function properly with A records, but I hate this situation it nonetheless. In my view, root domains should be used naked, not with the "www." prefix.
Fair enough. Actually, today I sort of wanted redirects so I could change some URLs on my S3-hosted blog.
Another easier solution to this would be hosting with a service like http://nearlyfreespeech.net. They're pay-by-usage like AWS, but you get full Apache config abilities + dynamic pages if you need them.
I think that 750 limit resets every month for a year though. Thus you could get by on one of their micro instances for a year for free. Not sure if GAE or Heroku has a similar limit.
Heroku limits you to one dyno, which is equivalent to one server instance (mostly to one server process). So if your app is serving requests from Ruby, then on the Bamboo stack at least it can only serve one request at a time. For static content this doesn't bother me though, as on the Bamboo stack you also have Varnish, which has great async behavior a really good performance for serving static assets.
GAE has daily limits. For instance you have 28 frontend instance hours, which get depleted quickly when using multiple instances. You also have a 1 GB bandwidth limit, which apparently is really insufficient for serving images bigger than small logos (looking at their dashboard now). And the list goes on. It's OK for low to medium traffic, if you're not doing lots of background processing and if you're not serving big files.
AWS's free tier allows for renting a micro-instance for a whole year. However the micro instances, as I discovered, have really poor performance characteristics. They work in bursts of available CPU. So one minute they may have better performance characteristics than the next instance type and the next minute a micro instance can get completely frozen with pending activity.
I don't like AWS micro instances. You're much better off paying for a small Linode instance, something like $20 / month.
I am currenly working on porting my blog to Blogofile, but the process is not the smoothest. The documentation is fairly poor, and the creator stopped committing to the repo in May.
Even so, I think it's going to be worth the effort, because the prospect of entering all the dynamic values in a YAML header and the rest in plain Markdown hosted on GitHub pulled from a static site is appealing as hell.
What's the argument against wordpress? I'm trying to figure out where to have my first dev blog hosted with minimum hassle, wordpress seemed like a popular option.
Wordpress is great for starting out and in general the smart choice as you'll find tons of already-made plugins and themes.
However, I like control and I find Wordpress to be a hassle when I want to customize or optimize the setup. But if you don't want to spend too much effort and simply don't care about customizing it, there's no better alternative than Wordpress.
But make sure to continually upgrade it to the latest version as Wordpress is the most targeted piece of software by crackers/spammers on the Internet. And if you don't, one day you'll notice Viagra-related ads or pornographic content on all of our pages. This is what I meant by static content being a lot more secure, although fortunately Wordpress is easy to upgrade these days.
I really, really dislike PHP, and so I don't muck about in the internals...in fact, I find it easier just to totally toss away whatever styles/plugins I have setup rather than dig into the internals. But the kicker is is that everything still works fine. WP, from 2 to 3.x over the last two years hasn't caused me any real issues even though I maintain it in the worst way.
1. User tumblr.
2. You're done.
Seriously, the service is brain-dead easy to use, scales wonderfully, and took me 30 seconds to set up, rather than the <X time units> that it would take to set up what the OP describes. If you don't like tumblr, use posterous, or wordpress, or rock it old school with blogger. I don't get why so many people take the time to set these things up when there are better things to do, such as actually writing to your blog.
Pro tip: unless you're really popular, no one cares how you power your blog... they care about what you write on it.