This is a question aimed at those of you that keep blogs particularly if you (or anyone else) share your posts here.
How do you go about finding interesting topics to write about?
Additionally, for the sake of discussion:
What leads you to digging into language features or discovering framework quirks or finding better patterns than what everyone else is using?
Do you do things with the intention of writing about them, or do you just write about the things you happen upon?
When writing your hot take on something, what gives you the confidence to put text to page and share it with the world?
Why do you blog at all? Is it to benefit others, to help you learn, just to document things, or just for the fame and fortune that comes from it?
How would you advise someone knew to blogging and early in their computing career begin?
I think the page on Aaron Swartz’s website about why he wrote a blog is worth a read.
It amazes me how often his stuff comes up and once again it’s something I’ve not read but absolutely found interesting. Thanks for sharing that.
Yes absolutely, writing is thinking … I also like this post - https://gregorygundersen.com/blog/2020/01/12/why-research-blog/
Much of https://www.oilshell.org/ is thinking as well. I just spent 3 weeks writing 5 posts, and that greatly clarified the language design. Now so many things are unblocked and can be implemented.
I don’t think there’s a shortcut – you may think you have an idea, but when you try to explain it to somebody, you will realize you don’t actually have the idea YET. Writing is thinking
Similar: http://www.paulgraham.com/words.html
To paraphrase one of my favorite comics of all time:
Most of my posts are Blogumentation - Writing Blog Posts as a Method of Documentation and are ways for me to write a thing for me to come back to. These generally aren’t super edited, and are often minimal effort but enough to get something minimally reproducing the need
I write some different posts, which I explicitly write with the idea that others are to read them, which I edit a little more.
And I also have some more personal posts that I write to think through
What’s awesome is that I do seem to have a small following, I also get a fair bit of traffic (> 30,000 hits a month) from search engines, and that I must be helping a good chunk of these folks to solve problems!
(I’m on holiday at the moment but do a more thorough reply when I’m back!)
These are really interesting questions! I enjoyed thinking through why I do what I do.
I write about what interests me! Sometimes that’s simonw-style TILs. Othertimes it’s personal essays, how-to guides, technical explorations, really anything that comes to mind. My biggest topic (by word count) is my yearly media reviews. I love doing them and my friends love reading them, so that keeps me going.
Definitely the second one. Very rarely do I approach something because it’ll make a good blog post. Instead, I do things that interest may, some of which may become serviceable blog posts.
The unearned confidence of being a straight white guy, mostly. 😅 Really though, I save my hot takes for twitter / mastodon. The sites are full of them and mostly, no one cares.
If you’re asking about “the confidence to post at all, when surely someone out there has already posted a better version of it”, I don’t worry about that. There’s always a better version of things, and given that I write for me, my being happy with it is all that’s really important to me.
Honestly, just for fun. Certainly not for profit. I find that part of being a good engineer is good written communication, and practice makes perfect. I suppose there’s an extremely minor amount of prestige that comes with being able to say “ah yes, I’ve blogged about that” (as if anyone has read it), but posts do serve as useful things to refer back to. How-tos are good for that, as are descriptions of personal systems (such as the way I store dates or rate media).
The most important thing is to actually publish something (anything). This means not spending too long playing with a static site generator, hosting, CSS, etc. Have something you want to cover and then write 100-2000 words on it! Practice makes perfect, so don’t be precious about it.
Additionally, I’ve found that it’s much easier for me to write a comment response on social media (reddit, here, etc) than to sit down and write a blog post. The latter feels like there’s a lot of pressure around it. I’m publishing something and it’s gotta be good. With a comment, I mostly stream-of-consciousness it and it turns out ok. I try to blog more like that, but haven’t gotten good at that yet.
Anyway, you can see my posts here if any of this has resonated with you: https://xavd.id/blog
That is a lot of questions. I blog at softwaremaxims.com/.
Usually i have no problems finding what to write about. I do my usual stuff, and things that would benefit from being visible by others naturally occurs. I have dozens of these in a backlog. I rarely write them because I have limited time.
Sometimes something riles me up enough that i immediately set a few hours aside to write them fully and release them. These are usually the one that get a lot of readers.
What lead me into digging? Need. I have a really limited tolerance for painful or overly complicated ways to do things. So if I encounter one, i go dig if there are solutions.
I usually write about what i stumble upon. Usually about what I would like others to do.
Confidence: nothing give it to me. I don’t need it. If people disagree, that is not my problem. And they can simply not read it. That said i do not write hot takes without backing. I write about domains i know in depth and I have researched for years. I come with receipt and citations. I consider that if someone spend their precious time and brainpower to read me, they deserve something that is at least reasonably supported by scientific evidence or something close to it.
Why do i blog. Multiple reasons. Mostly so i can link it to others instead of constantly repeating myself. In other cases, to have something solid i can share with others in order to convey my ideas and get results. Sometimes, it is simply cathartic, like my supplier post. I needed to yell in anger.
How to start: make lists. Publish stuff. Noone will read it anyway so there is no risk.
Your penultimate point is one I hadn’t considered actually: Efficiency. I think that is a good reason to write a blog post, and more so if it’s a subject you have touched upon more than once across whatever platforms you subscribe to.
Maybe try Blogging Advice For People Exactly Like betaveros.
Many of my blog posts [1] tend to fall into a few categories:
something i happened to work on that i could write about (i try to post something once a week, so i’ll take what i can get, sometimes it is just a progress report, othertimes a little more interesting)
something that somebody asked me and i wrote up a reply in chat, then reformatted into a blog post so i can link back to it later. these are the most likely ones to go into a more deep dive in something
an open letter to the language maintainers laying out some proposal. again i write these more so i can link to it years later when they finally do something and it is predictably wrong so i can say “told you so”. lol sad but true.
Still most the time my blog (which has im p sure single digit readers, but i don’t track it) is more of a place for me to copy/paste something i wrote elsewhere into a more linkable location for later than anything else.
1: http://dpldocs.info/this-week-in-d/Blog.html you might get the jist of what posts are which just by scrolling the index. I very rarely talk about anything that isn’t of at least some interest to a D programmer or more specifically, a user of one of my libraries. I have done a couple tangents about final fantasy though over the years.
I have never gone in search of a topic. I have never set out to write a blog post for the sake of writing a blog post – I have only written specific blog posts that I couldn’t avoid writing any longer. But I am very much not a prolific or “career” blogger who publishes on a regular schedule.
I think we’re reading different blogs! My posts are usually in the “hey here’s a thing I did and here’s what I learned” camp. More show-and-tell than investigative journalism.
Mmmm, I think all the things I do are things that I would do regardless, but writing about something does change the work itself. I might spend more time digging into something if I know that I’m going to explain it later. If I’m making a project for public consumption, I’ll make sure it works in multiple browsers, which I wouldn’t bother with if I were only making it for myself.
I might not be up on modern slang, but “hot take” to me implies a low-effort reaction to something. I don’t want to read hot takes, so I wouldn’t spend the time to write one. But in general anything you do publicly on the internet is going to be criticized by someone, regardless of the content. I think maybe “confidence” is as simple as realizing that no one you respect writes rude comments on the internet.
Because it’s fun! If I didn’t find it intrinsically enjoyable, I probably wouldn’t do it. If your reasons for blogging depend on other people reading your blog, you’re probably going to be disappointed.
That said, I keep a private journal while I work, which is very valuable to me, but it takes a lot more effort to produce something that is useful to other people. To some people that’s what blogging is, though, and I guess it’s better to keep a journal in public than to not keep one at all.
Oh gosh. No idea. Don’t write your own blogging engine – that’s a trap. Don’t expect fame, and definitely don’t expect fortune. Self host. Use any off the shelf static site generator except Jekyll – they’re all equally terrible, but Jekyll will break your website every two to three months. Getting in reps is probably the most important thing, but bear in mind that you can always write something without publishing it. Don’t listen to my advice on how to start blogging.
Why not? I wrote—I don’t know if I would call it an engine per se, but pretty much all the code except for a low-level http library (because I hate parsing) and nginx (reverse proxy for ssl); it was fairly little effort and works fairly well. The markup compiler doesn’t always give sensible error messages (see above re parsers), but it’s still overall less work than using any of the existing bad markup languages.
It’s like the perfect procrastination machine! Programming is comfortable and familiar and writing is hard, so some people get sucked into tinkering endlessly with their blogging engines at the expense of actually writing anything. (Of course this does not apply to everyone; I stand by my last piece of advice :)
haha! I for one make exactly $0 from doing it.
For me, things just constantly pop into my head to write about. I really enjoy writing them down because it forces me to organize my thoughts. As far as why actually release that to the public - well, I’d like to think that what I’m writing has a relatively unique spin, and it’s content that I don’t really see around the internet much. So I’m writing the content that I’d like to be on the other side reading.
It has started some good conversations, especially here, so that engagement is really fun and rewarding.
As far as advice: don’t write because you feel like you should write. Write because something inspired you. If you do that, I think all writing is worth it.
I write about what I’ve learned.
Like, I recently got fed up watching my Lenovo laptop battery get drained to death trying to run Linux, so now it’s got Windows on it, and I thought while I was there I should actually learn how to utilize that native environment well for doing development, so I wrote this:
https://www.feoh.org/posts/windows-papercuts-for-nix-developers.html
Most of my posts come from similar experiences.
I like writing, but I have enough code projects that I don’t look too far afield for excuses. Three ~simple approaches that work best for me are:
Blog whatever projects I’m working on. (Document what I do, how, and why.) This makes the sense when you had trouble finding examples or resources when you started the project.
Demonstrate how to work with / use something you’ve built. (These can be toy projects for demonstration or something you’re building anyways. This is basically a public-oriented version of what @jamietanna mentioned. You could also see it as like tutorial rewriting–but you can be a bit more discursive than would make sense in a tutorial.)
Write about some realization you had. (Often in the course of other work or thinking.) This is a bit more vulnerable, but you can at least survey for similar posts before you set out.
I wouldn’t think about it like this. Was the pattern/realization useful to you? It’ll help someone else. (Someone else may insist they learned this in Sunday school or whatever–but there’s still value in reframing existing knowledge.)
Not really (though I occasionally spend months developing/unpacking/iterating on an idea that seems to throw sparks but needs work. (for me, at least, these tend to be more theoretical and/or opinionated.)
I’m not the best about this. I usually have to just get sick of working on it or sick of putting off whatever I’d rather be working on. (I’m ~trained as a writer, which paradoxically means I’m hard-to-please and have a near-infinite toolkit for improving a given post.)
Everything but fame and fortune, though the easiest benefit to guarantee is that I learn. It’s hard not to learn more about a topic and/or yourself when you try to communicate something.
I blog about something I’ve used or discovered to solve a problem, so the blog is usually post-facto and not driving the discovery. Sometimes I’ll blog about the first milestone so there’s still an unclear roadmap ahead. One advantage if that is feedback can be very useful. I really value blog comments.
Sometimes I look back at my recent comments on sites like this, and one will stand out as pretty good blog material. I stick to short form anyway.
I write about things that I find interesting, which unfortunately isn’t a lot these days. I can’t motivate myself to take the time to write out something I find boring. But I don’t go out of my way to find things to write about, either. When I encounter something that I think isn’t written about much, or that is tricky to understand, I like to write it down for myself to get a deeper understanding. It’s only when you fully grok something that you can explain it to others. The act of writing about it will expose the gaps in my knowledge, so that I can figure it out.
Other times I just write to get things off my chest, or to document something for future me (and others who want to do the same thing)
I write because I need to. Which lately isn’t very much. I have recently formed an opinion I feel should be articulated, or learned something that should be taught.
I don’t. Since I don’t write for the sake of it, I just wait since one such topic falls into my lap. If and when it does, I start writing. Sometimes this leads me to do quite a bit of research. I also found that as my bar for what I consider worth my reader’s time heightens, I tend to write less and less. Which might actually be a good thing.
I noticed I have a rare taste for simplicity — or a pathological aversion towards unneeded complexity. And after 15 years on the job I have seen enough code to know that with few exceptions, any code I will ever look at is going to have a lot of unneeded complexity. Reasons vary, from second system syndrome to bad habits to thinking the wrong way, or simply being bad at programming. But the fact is, I know that I will see very little code I can consider good. Unless I wrote it, and even that is no guarantee.
But I don’t write much about that, because Ousterhout already has written it better than I ever will in A Philosopy of Software Design. I highly recommend this lecture if you want a taste.
I avoid writing hot takes on my blog. Hot takes are for quick forum comments, whose lesser investment let me change my mind more easily.
A bit of all. My main motivation though is to cement my thinking.
Find something you’d like to write about, then just write it. Could be an opinion, a tutorial, a description of a thing you did… Then submit it on relevant forums, and listen to the feedback (which may be a bit harsh at first, don’t let criticism (or crickets) discourage you). Maybe hone your writing skills on forum comments, try to be as clear and as concise as your reasonably can. You’ll get better at it over time. (Personally, while school taught me grammar and spelling, I learned actual writing by doing it on the internet.)
Most importantly, set your priorities straight: you don’t have to write if you’d rather do something else. Even if visibility is an important goal, your blog doesn’t need to be it. It could be a project you’d like to work on, or contributions you’d like to make.
Oh, and be careful not to confuse wanting to write, and wanting to have written. It’s easier to do the things you want to do, than doing the things you want to be done.
The topics are a byproduct of my activities, thoughts, and hobby projects.
Nothing fancy, just curiosity.
As mentioned above, my writings are a byproduct of my projects and activities.
No particular confidence is required when sharing my work or projects. I do something, I write about it.
Although some of my posts went viral on Hacker News, I write for my future self. My blog is an invaluable resource for providing all the context I need when resuming a project I set aside.
Just do it. No fancy tools, just write.
For me, it’s most often something that I’ve taught someone recently, or that I’ve taught various pieces of to multiple people, and putting it online in a polished form lets me just provide a link in future. Most recently, how do I store images in my database?. I also put up little gems that I find, mostly in mathematics, but that’s more of a personal record.
I stopped for a long time after my bioinformatics rant blew up. These days I write a weekly-ish email to a bunch of friends, and hot takes go there first. Sometimes they get put on my website later. As I get older, I find that I have fewer hot takes and more lumbering, systematic ways of thinking.
For years it was to decouple things I taught from my time. More recently I started selling a course on database query performance on my site, and I’m using that as a slow way of learning how to sell.
Write plain HTML5. Put it in a static site host like GitHub Pages or an S3 bucket. If you need something fancier later you can go do that.
Write about concrete things. Write with examples, because the abstract statement that’s obvious in your head is not obvious to your reader.
Write about what you’re thinking about. If you’re mostly thinking about character development in contrasting animes, write about that. Keep a pipeline going of stuff you’re not clear enough on to write about yet that you’re refining, and when it gets clear, write it down. Stuff may sit in this pipeline for a long time. I’ve got things around thermodynamics that have been churning for years.