Blogging for Hackers
alexn.org
alexn.org
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.
Example: I'd like to have www.mydomain.com/blog
http://www.tumblr.com/docs/en/custom_domains
In brief, you would set up a custom domain name, and then if necessary set a redirect so that "blog.mydomain.com" points to "mydomain.com/blog".
Im not sure if this would have any averse effect on the site's SEO though. How did you deal with that? Did you do a 301 redirect for everything?
Example blog.mydomain.com/article1 to www.mydomain.com/blog/article1
That "or for no reason at all" part is a bit bothersome.
Otherwise is 100% completely agree.
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.
Anyone who is trying to set up a Jekyll-based blog might be interested this method for hosting it.
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'm just guessing the definition)
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.
Regard your "isn't designed for long tutorials with code" post:
http://shadyacres.tumblr.com/post/12476205833/learn-git-prog...
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.
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.
Edit: typo removal.
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
I've noticed that with a micro instance a blog can became irresponsive when it is indexed by Google.
Probably with a static blog a better solution is to use S3 and not ec2 as I've used.
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.
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).
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.
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.
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.
I'm thinking at statically integrating the comments in a post each time you rebuild your site.
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.