Ask HN: What are some technical topics I can blog about?

76 points by vedanshbhartia ↗ HN
I want to start writing a technical blog (related to computer science and development), but almost every topic I think of has been written upon by someone, probably better that what/how I would have written it.

53 comments

[ 3.8 ms ] story [ 104 ms ] thread
You could always pick something you don't know much about but are interested in, then blog about your learning process. Chances are you'll present it in a way that helps someone else learn it, who either appreciates your presentation style, or couldn't find answers to issues they faced on their learning path.
The best inspiration comes from the development work you are doing for work or a hobby project.

When you start something new or run in to an issue doing something create an article.

Detail what you are doing and what documentation your are following. Outline the steps, pitfalls/potential pitfalls and how to overcome them.

Almost everything we do whether something new or doing something new detailing the steps and providing tips to complete it or improve it is going to help someone coming down the same path after you.

So take inspiration from your own work.

If you use a framework or language that's a good topic to dump all the knowledge you come across for others following in your footsteps.

Every topic has been written about, but there is always new versions of everything so detailing the steps again and including anything missing from the docs will be helpful to people.

Previously I had a blog where I wrote about any issues I ran across while developing, or anything that required a decent amount of research to solve. I would regularly reference it, and other people found it useful (based on the traffic I received).
Why did you stop?
It was a wordpress website that I ran 5-10 years ago, and I just got tired of maintaining it. I've been looking at spinning up something similar using Jekyll and github pages.
I went through a similar transition. There is much less friction editing a quick post in markdown with Jekyll than with the heavy wordpress UI, much happier with that setup.
Blogging should be less about immediately building an audience and more about gaining a greater individual understanding for the topics you blog about. You might also find that with each post, you learn something new about writing, style, etc and will grow embarrassed about your original posts. You will learn how to communicate better, write better and gain a greater understanding of your own opinions by blogging even if no one ever reads it.

For those interested, i wrote a blog post on this exact topic[1] about a year ago.

1: https://blog.benroux.me/untold-benefits-of-a-software-blog/

Ended up reading bunch of your blogs. Nicely articulated. As a developer, communication with analogies really helps :) cheers!!!
Think of yourself going on a journey, a journey into the technical world. Where you talk about your development skills, your technical tact, your debt and how you go about them each and every day. Writing down your inner turmoil, thoughts, moments of brilliance, or moments of despair and frustration is one of the most valuable things you can share with someone. Along with tips, hacks, and tricks of course. It also forms valuable research for yourself because it enables you to capture your raw thoughts when in the moment. Digestible in bite-size pieces for yourself and the world to see.
What do you know?

If you want to write about what you know, do it. Even if someone else has written about it, you may write about it differently. Maybe your "voice" will reach people that didn't like another blog post about the same subject.

If you decide, as saluki suggested to write about something you don't know; do as he suggest and provide details and references. This could be more interactive, if people are trying to learn along with you.

The key is to write -- both on schedule and as well as you can. Adhering to a schedule means people can easily follow along and know when you are posting. The more you write, the better you get.

It's better to write about stuff that you've just learnt. Fixed a tricky bug, learnt about a new API, found a useful library? Write about it.

It'll cement the knowledge in your mind, and perhaps you'll have insights that others haven't had. If you're aiming to write about stuff no-one's ever written before, you'll never get around to actually writing anything.

> I want to start writing a technical blog (related to computer science and development)

Why?

> but almost every topic I think of has been written upon by someone, probably better that what/how I would have written it.

So?

If you want to write the most authoritative blog post on some technical topic, why? Why be the best? Why that topic?

Write what you want to write about. In a year or two you can look back and revise/delete your old posts if you want. Do you think your favorite blogger's first post was amazing? Probably not.

If you're just starting a blog/technical publication, there's nothing wrong with casting a wide focus and writing about many barely related topics. As you get some articles written/published, you'll learn more about what you're good at, what you enjoy and what brings the most useful traffic.

At this point, you'll be better served by building a publishing habit than picking the mythical perfect niche. But, if you're concerned, in my experience, all the good niches either have huge amounts of competition or they're so incredibly bleeding edge that they're risky to learn about.

I tried going down your path and blogged only about stuff that's arcane or interesting tech wise, and it did nothing but cause me writer's block and turn me off blogging.

Learn to write for yourself first. If you set up Raspian on a Raspberry Pi over the weekend, write about it! If you popped a CentOS install disk and set up a server, write about that. It doesn't matter if there's 10000 blog posts about the same exact thing, you can turn even mundane topics interesting as long as you have a good writing style- and that's what you're going to be exercising by blogging.

This is good advice. I too have a personal blog that I mostly neglect. This past week we "cut the cord" on our cable TV service at home and the process has inspired me to blog. I've been composing blog posts "in my head" for the past few days and I take this as a good sign about my future intentions.

I have thoughts on Xfinity's value, YouTube TV's ad policies, Hulu's DVR restrictions, Roku's awesome interface - all good useful resources for those researching the same process.

In contrast, some weekends I'll sit down (without an idea) to compose a new blog post and frequently hit a wall.

I'd be very interested in seeing your thoughts on Roku :)
Very much this. I find how-to guides to be a very good type of topic to blog about: 1) It serves as documentation for yourself to get back to later on (it has come in useful for myself many times to look back at my blog on how I set up something), 2) It serves as a good guide for others and is how you build your audience. Almost any how-to guide out there misses some information. Not everyone ran into the same issues. Your guide will have some info others who have written similar ones have missed. Similarly, you won't be covering some issues that the next person will write about. Someone googling around setting up their raspberry pi or CentOS server about the exact same issue you had, will find your article (and not any other because other guides didn't mention it), and save hours of time because of your guide. (I have comments on my blog telling me this, despite writing about topics that have hundreds of guides out there about)
A fascinating technical blog would be about exploring private apis of common applications people use.
There are articles about really interesting subjects, but I can't get through them because of the way they're written. Conversely, there are articles about not very interesting subjects that I devour because they're well written. Don't worry about what others write about, just pick subjects you enjoy and keep writing and practicing. Those are the things that show.
The most important thing I ever got from blogging is that it helped me learn topics. One of the best ways to learn something is to teach it, and that is more or less what a technical blog is. You're trying to teach your readers something.

Find a topic you want to learn (or understand at a much deeper level) and blog about it.

When I'm trying to solve a technical problem and have to cobble together a solution from two or more piece of content found in Google, that's a signal that there's room in the marketplace for a single, SEO-optimized piece on solving that particular problem.
I don't think it's mandatory to write about novel or innovative things. It's your blog, you can write what you want.

Agree with the write for yourself mindset.

I am kind of doing the same thing on my blog https://flaviocopes.com where I write every single day (personal challenge) about some particular thing related to Web programming, and I mainly write for me, because I don't have a good long term memory and every time I need to use X I reference what I learned n months ago about it. That's much better than searching again and again "that post" you remember that clarified the thing for you.

Turns out this is useful for other people too, as I can see in the positive feedback I get.

After some time I started rewriting old posts to improve them / add more things I learned, as your writing style evolves.

So, my advice is, just start and stick to it.

For lots of people (including me), writing is hard.

The people that wrote the better version of your article probably weren't great writers from the start. My advice would be to just start writing. You will get better and you will find along the way what you want to write about or maybe you will find you don't want to write at all.

I'd take a subject that busy engineers would be interested in knowing more about but don't have the time it take to investigate it. I.e. going in depth about how the chrome debugger work in javascript to analyze performance. I remember reading a blog post about it and a few weeks later it really helped me.

You could write about new programming languages or new algorithms that just came out. Anything with nice animation is a plus. (I.e. to illustrate the algorithm)

Another thing that I find interesting is interviewing great people in the field. Often, there are questions I wish I could ask them that most other interviewers don't because they're not technical enough.

You can write about weird bugs that you encountered, how you fixed them and what lessons you learned.

At the risk of hijacking the comments thread:

Any pointers on how to start blogging about a side-project? I've been working on a prototype, but it isn't quite operational yet. I'd like to start laying the groundwork, but I'm having trouble distilling my thoughts into actual blog posts.

write about the requirements of your side-project, why you started it? what would be the use of it etc. Blog about every feature that you develop and how to use it. This will help in documentation when your prototype is ready and you might be able to attract audience who are interested in your prototype and might help you with beta testing/refine the features. You can also get early feedback without finished product. For technical posts look at your commit log and pick the one that you think is most complex and describe it. It is possible that it may not be to the level of your satisfaction and you can refine it in second pass until you think it is ready to go. Idea is that is is easier to refine than writing from scratch. my 2 cents!
>write about the requirements of your side-project

>For technical posts look at your commit log and pick the one that you think is most complex and describe it

Thanks so much. This is exactly the kind of entrypoint I was looking for.

The easiest is to find a dataset and analyse it. Pull together information from different sources. Write a web crawler, etc.
You've got to first start by finding something that you're interested in. As long as you're interested in something then you should be able to find a sub-area which hasn't been discussed quite as much as you'd like or discussed in a manner that you like.

Write for yourself to help learn a skill and improve your ability to write future articles.

I wouldn't worry about whether someone else has written about a topic.

Worry about being the best written explanation.

For instance patio11 has gathered a huge blog audience, and he didn't do that by writing about things no one else had written about, or knowing more then everyone else.

But his writing is fucking amazing, and that's why I can read 20 pages of his writing while being barely able to make it through 3 paragraphs of other authors.

Two ideas that come to mind:

Quantum computing understandable for simple tech people (not quantum physicists). There is so much noise (as in SNR) on the internet about this topic, and I think I have a reasonable grasp of it, but I don't have a big audience nor the time to write it all down. A good source on that would be great.

Machine learning: where are we and does it hold any promise for future work, or is it a dead end beyond optimizing what we're already doing with it? Neural networks sounded like "oh, with enough compute power, we can simulate a brain right?" but so far the models show no level of true understanding whatsoever (to the best of my knowledge).

------

While writing answers on the IT Security StackExchange website, I often find that answers of mine which I found dull and uninteresting (they logically follow from basic knowledge) are popular in terms of views and votes. Usually it's somewhat predictable, but I'm regularly surprised by what people find interesting and useful. One example was about receiving email without a "to" field ('how did it end up in my inbox?'), which I thought was a niche question (only people who run their own mail server would have that, I thought, and they know SMTP right?), but 80 upvotes tell a different story.

And like other commenters said: it's not so much about what topic you choose, but about how well you can explain it. Of course pageviews is your quality of writing multiplied by the general interest level (bad quality but huge interest might still get you a lot of views), but most of the time there turn out to be a lot of people interested if you only explain it well, so the quality matters more than the topic.

> but almost every topic I think of has been written upon by someone, probably better that what/how I would have written it

That's a defeatist attitude that will sap your energy and make sure your blog is short lived.

Now, I definitely understand the sentiment, because there are a lot of smart folks out there writing on the internet. However, it simply isn't true that you don't have anything to say, even on a topic that has been written about over and over again.

What I'd suggest is writing about something that you are passionate about and willing to investigate. And I'd suggest primarily writing for yourself and your understanding rather than to be a famous blogger or find a job (those might be byproducts, but they're unlikely, whereas gaining knowledge is pretty much guaranteed).

The topic could be a problem domain (real estate tech, fintech) or a specific technology (AWS RDS, Google cloud spanner) or even development techniques (TDD, mob programming).

Pointing to other interesting posts and riffing on them is a great way to get started, but do be prepared to spend some time writing original content. Don't feel you have to find your perfect topic immediately, you can wander a bit.

Source: I've been blogging since 2003.

Why not yo dawg and put a blog about your blog in your blog so you can blog while you blog.
For open source or generic computer science topics, I think it is indeed difficult to come up with much in the way of useful new or interesting content.

Do you use any proprietary or closed source products? Many (not all) of those have poor quality, perfunctory documentation, and if you work with them a long time you'll development knowledge by means of experimentation, reverse engineering and support tickets.

Try blogging some of that, or develop it into some alternative documentation, book, or presentation. Become a well-known independent expert.

Just write articles that you would find interesting to read--don't worry about the subject. I like reading technical articles that have lots of illustrative figures and modest amounts of interactivity, so that's how I write.