

Blogging: The Hacker Way - bem
http://bnjmn.org/2011/11/blogging-the-hacker-way/

======
ezyang
My experience trying to convince my friends to start blogging is that the
absolute worst thing to happen to a blogger is for them to spend an inordinate
amount of time tweaking their blog setup, and not actually writing. So yes, if
you blog regularly and are looking to improve your process, this may be
useful, but if you're just starting off, just do something that works
immediately, and worry about the words, not the code.

~~~
prawn
Someone should create a blogging platform where the features are unlocked with
each post you make. After your first post, you can name your blog. After your
second, add an about page. Your third, comments or a blogroll. Fourth,
analytics, etc.

~~~
injekt
Whilst that might be an interesting idea, it would probably drive people away
from focusing on great content. "Ooo I want comments and I'm only two blog
posts away!"

~~~
prawn
My suggestion was only partly serious, but IMO, focusing on great content is
probably one reason many blogs are abandoned - people worrying that an entry
won't cut it. That doesn't meant everyone should post junk, but sometimes you
can write something short and punchy rather than an epic essay.

~~~
petercooper
Agreed. My most successful blogs over the years started initially with pretty
low quality, high throughput "just stuff I want to post" stuff. Then
eventually they became higher quality (and more difficult to post to). It
seems like a good process, rather than just expecting to write high quality
stuff out of the gate.

------
danishkhan
Octopress is a project that uses Jekyll, but adds a lot more features that
make it even easier to use as a blogging framework.

<http://octopress.org/>

~~~
mgualt
How can it be justifiable that one has to regenerate the entire blog every
time a post is made? Do you have any idea how much time this wastes?
Conceptually, I see no justification for this.

------
ggwicz
For people commenting on his statements about WordPress: Yes, there are better
ways than having 12 files to generate what you need. In fact, you can do it
with two: an index.php and a style.css file (technically).

But the point is that if you just want to write on the web and not deal with a
bunch of nonsense, learning a whole CMS like WordPress can be a pain. I cringe
when people give WP a bad name, as it really is awesome and it's pretty much
how I make my living. But you can't deny that if you just want simple posting
features, WordPress can be a little unnecessarily large.

~~~
danneu
If I wanted a full feature set with effortless tools that trivialize
everything about blogging from scheduling posts to posting from an iPhone,
Wordpress is easily my favorite. The level of polish and ease that Wordpress
comes with is unparalleled.

For my personal blog though, I enjoy Jekyll (via Octopress) because it's
hands-on and an educational experience for someone like me that's trying to
become a better developer. I learn a lot just jumping in to the source code
and trying to figure things out, and it even inspires small coding
projects/ideas.

~~~
ggwicz
exactly. The majority of my job as a freelancer is working with WordPress
sites and I love it, but for my own site I just use plain HTML and CSS static
files.

If you need to hammer a nail you don't use a screwdriver. The right tool is
what matters.

------
jyap
I had this grand idea of re-working my personal web site and having it be
redirected to a GitHub hosted instance. All very clean/elite and all. And I
did set it up and made 3 posts...

But then I stumbled onto or more so realized that I had a road block. Namely
that of practicality.

I mean it meant that I needed to be on the command line to actually post and I
needed to run Git commands to add files/posts and then push to the server. I
couldn't post from my cell phone or iPad. Most of my browsing these days is
from my iPad.

I mean blogging from WordPress/Blogger isn’t as clean/elite but at least you
can edit through the web as well as optionally via a separate application. So
if the barriers to create are too high I may as well be using
WordPress/Tumblr/Blogger.

I tested out Cloud9 IDE since it ties in nicely with GitHub repositories and
covers the base of being able edit througth the web... But the workflow still
didn't work. Everything besides blogging 'got in the way'.

If you want to blog like a hacker, start by writing content that doesn't suck.

If you want to feel elite and 'static HTMLy' about it, then:

    
    
      - Set up a simple content creation site that supports your content creation workflow best.
      - Set up your elite Jekyll site.
      - Set up a cronjob and a HTML parser which downloads and reformats your posts from your simple content creation site and feeds them to Jekyll.

~~~
scottmcdowell
I haven't tried it, but I believe one solution people have found for mobile
posting to jekyll is keeping your _posts folder in dropbox, setting up a
cronjob, then using Capistrano for deployment.

~~~
jokull
This is now a hosted service but with Pelican instead of Jekyll. Have a look
at Calepin.co

------
acangiano
As many here know, I wrote a book on technical blogging for "hackers and
founders" (<http://pragprog.com/book/actb/technical-blogging>, now complete).
In it I included Jekyll/Octopress as one of the available options, but
ultimately suggested WordPress to most readers. WordPress, with its unlimited
number of features, allows you to set it up quickly and start writing.
Jekyll/Octopress requires you to write quite a bit of code if you want to
obtain the same level of customization that I recommend for professional
blogs. It's a growing ecosystem, and one to monitor closely, but at this stage
I feel it would be a disservice to my readers to blindly recommend a somewhat
Spartan system that requires hacking if you want to add, say, a list of most
popular posts in the sidebar.

~~~
bem
Which is exactly why it goes on Hacker News. I would never in a lifetime
recommend it to my mother.

~~~
acangiano
Your post is perfect for the HN crowd. But I think even among "techies",
Jekyll/Octopress are the ideal solution for only a minority of people reading
this.

~~~
bem
Certainly. Hopefully my post will help them judge whether they are part of
that minority or not.

------
po
If you want a similar solution but are more comfortable in python then also
check out hyde: <http://ringce.com/hyde>

It's very similar in spirit but uses python and the corresponding tools to get
the job done.

~~~
limmeau
Another Python blog engine: <https://github.com/ametaireau/pelican>

I'm using it for a new-baby-picture-proud-parents blog (which I won't link to
due to its private nature). It's not very feature-rich, but it gets the job
done.

------
asto
I use Wordpress with almost no modifications made. I haven't even changed the
default header image that comes with Wordpress. The way I saw it when I made
the blog, the content's more important than making things look pretty. I'll do
up the theme later when I have a decent reader-base.

~~~
acangiano
This approach is unfortunately mistaken in my experience. Readers are humans,
and they will judge books by their covers. The default WordPress theme is the
worst you can do to attract new readers/subscribers, all things being equal.

Here is what I wrote about this in my book:

"The default WordPress look is clean and minimalist. Depending on your
aesthetic preferences, you may like that look a lot. But it would be a mistake
to settle for this default theme, for three reasons:

1\. Most new blogs use the default theme. Sticking with it won’t help your
blog stand out from the crowd.

2\. Visitors value eye candy. Beautiful design will greatly help your blog
succeed.

3\. The default theme has very limited features and customization options.

Spend some time evaluating other themes, until you find one that fits your
style and the type of blog you intend to run. If you’re running a team blog
that will be updated on a daily basis, for example, a magazine or even
newspaper style theme may be a good idea."

------
numbdemon
<http://octopress.org/> this one is better

~~~
limmeau
Why?

------
8ig8
Regarding WordPress, the author says:

> The theme for the blog and two static pages took up 12 files of HTML and PHP
> layouts. Furthermore I had made several hacks to make things be just the way
> I wanted.

I know WordPress is an easy target on some fronts, but this point seems like a
stretch. Twelve files plus hacks?

I don't know all your site requirements, but 2 to 4 WP theme files would
probably work for what I see on your site.

I'd be interested to see what the twelve files included. I'm no expert but
maybe I could offer some tips for simplifying things?

~~~
bem
I guess I should elaborate on my statement about Wordpress because it came out
wrong. I realize Wordpress is powerful, extremely powerful. What I meant was
that this comes at an expense. This power means one has to deal with a very
extensive API. This is great for someone who needs it (or knows it), but when
building a personal site, dealing with an API requiring more than a couple of
pages of documentation seems _wrong_ (to me). Something like having to keep af
functions.php with a 20+ sloc function to generate the current page title.

Obviously Wordpress does not suck, it is one of the most used blogging
platforms. The feeling I got when tweaking it to do something different from
the standard themes was that I was using a chainsaw to slice a loaf of bread.
It was certainly powerful enough and it could certainly get the job done, but
it wasn't easy and it wasn't elegant.

And here is an overview of the files in my custom wordpress theme:
[http://dl.dropbox.com/u/3240627/wordpress_folder_structure.p...](http://dl.dropbox.com/u/3240627/wordpress_folder_structure.png)
:)

------
_frog
I started working on my personal site today and I've been using Jekyll for it
to take advantage of GitHub pages, it's fantastically useful for someone like
me who already keeps all their essays in markdown and knows their way around
HTML and CSS. This post is super helpful to me, thanks for showing it to us.

------
bothra90
Has anyone tried blosxom(written in perl) and pyblosxom (the python
alternative)? They are both pretty easy to setup and use. try
:<http://pyblosxom.bluesock.org/> and <http://www.blosxom.com/>

~~~
jdlshore
I use blosxom for jamesshore.com. Although I like its simplicity, I wouldn't
start with it now. I don't think it's being maintained. I've also had some
performance problems.

Jekyll's "static pages" approach has a lot of appeal to me, so if I were
starting over I'd give it a serious look.

------
helipad
I can recommend StaceyApp: <http://staceyapp.com/>

The filesystem is built of just folders and text files, and it creates a blog
automatically. Very minimal and doesn't require any kind of admin backend.

~~~
dchest
From installation instructions:

 _Go into the /app folder and change the permissions on the _cache folder to
be 777 (completely public)._

~~~
helipad
I'm not sure what you mean by this? Are you suggesting it's insecure?

I thought lots of uploads/cache folders on blogging platforms have 777? I'm a
lay person, indulge me.

~~~
simonbrown
See <http://dionysopoulos.me/blog/777-the-number-of-the-beast>

------
josscrowcroft
That is a really, really nice looking blog. I love the clean simple approach.

