How? Here are a few things that have helped:
1) I got lucky - I jumped on something early and got picked up quickly and rode on the back of a giant gorilla as it kept getting higher and higher - right place, right time
2) I keep costs low - I use Tumblr (free) and cheap, pluggable services like Campaign Monitor, Wufoo, Buffer, and IFTTT to automate a lot of the process.
3) Don't be afraid to ask for money - I started doing this very early on, but even that wasn't soon enough! People will pay if there's a benefit, so don't be afraid to ask.
4) Keep it simple - I write brief emails, I don't respond to everything and I only spend a few hours each week on the site - updating content, checking stats, emailing etc.
5) Get multiple sources of revenue - I use a number of affiliates as well as offering traditional advertising.
6) Be social - Twitter, Facebook, Tumblr, Pinterest, Google+ - BWB is on all of these. I try to engage with people and respond to things
7) Start a mailing list - this is not to be overlooked!
I hope this gives you some helpful ideas :) don't be afraid to ask any questions.
I would buy/read it! (Just brainstorming here...)
I think 6 is the hardest for me. Keeping up a social media presence is such a slog.
If not that might be a good ship to jump on now, as it's the buzzword for tech recruiters. Most of whom have no clue what it is.
This is actually on a public repo on GitHub I believe & curated by the Angular team iirc.
I had to turn it off to see anything.
(That said, it worked on me.)
I have played a little with direct advertising, but paying for adverts that link to a site that sells adverts seems a little too much like a self-defeating loop. Normally paid ads are done during promotions.