Scott Hanselman & Mark Downie: Blogging for Developers
Scott and Mark chat about writing technical blogs that get read (even in an era of TikTok and goldfish brains)
Scott Hanselman is practically synonymous with technical blogging. So when we were finishing our book on writing engineering blogs, we anxiously shared a draft with him after some editorial coercion, errr, encouragement. We honestly didn’t expect him to respond. But he did! After reading the manuscript, Scott offered some sage suggestions and graciously volunteered to contribute to the book project – leading to this amazing afterword.
After the book published, Scott dedicated an entire Hanselminutes episode to technical blogging. He teamed up with fellow Microsoft blogger Mark Downie, who spends his days building debugging and diagnostics tooling for Visual Studio and Azure, serves as the main contributor to DasBlog Core, and writes extensively at https://www.poppastring.com.
Here’s the result:
[Also on iTunes]
The chat covers:
Reducing the friction for bloggers
Owning your words vs digital sharecropping
POSSE/Fediverse opportunities and challenges
Places for throwaway words, wins with throwaway posts
Blogging as an engine of community
Conserving your keystrokes, magnifying your impact
Context as empathy
Getting from draft to published
Views and cadence don’t really matter
Blogging in an era of TikTok and goldfish attention spans
Attempting to summarize Scott’s famous podcasts can’t do them justice, so we’re sharing a lightly edited transcript instead. Please grab a nice beverage, listen/read, and enjoy!
***
Scott: Hi, I am Scott Hanselman. This is another episode of Hanselminutes. Today we've got Mark Downie. He was on the show back in 2018. Then, we were talking about modernizing DasBlog, the blogging engine I worked on that was started by Clemens Vasters and is now being shepherded by Mark. Today, we're going to be chatting about blogging. How are you, sir?
Mark: Hi, Scott.
Scott: You know, we met blogging. Blogging is such a wonderful way to meet cool people of like minds.
Mark: It is. I started following your blog … I think it was around 2003. There was a community of people with interconnected blogs. We would see blogrolls. I would discover who else was blogging from the people I knew who were blogging…you'd be deliberate about connecting to those other people. So for me, it started off thinking about finding a community of people who were interested in the same things. At that point, it was all about .NET and the types of burgeoning new frameworks that were being shown by Microsoft.
Scott: Do you still blog only about .NET? I know you have a diverse background – your username is poppastring, you do a lot of string instruments. Do you blog about music?
Mark: For me, it's about technology first. It's about how technology impacts culture. It's about how software impacts culture. It's about the dangers we see ourselves in when technology goes without any bounds or fences or deliberation preceding it. I like to talk about things around technology, and I do occasionally talk about my music and other things – but it’s mostly technology.
Blogging is more essential than ever…but it needs to be simpler
Scott: Do you think blogging is dying or dead? I feel like Google Reader going away was ridiculous. I used Feed Reader and different things like that. There was a time when Dare Obasanjo had a blogging app, when there were all sorts of fat-client Windows RSS apps. But I don't have a blog reader anymore, I don't do that anymore. Do you think blogging is dead? Or is blogging more essential than ever before?
Mark: I think blogging is more essential than ever before, but we need blogging to be way easier. If folks don't realize how to get started with blogging, they will just go to whatever is the easiest thing to do. I think the rise of social networks right after blogging became popular sucked a lot of life out of blogs. If you have a little thing to say, why go through all the ordeal of a blog when you could just go onto a social network?
The threat of potentially losing all my words was enough of a shot across the bow for me to always own the things I'm saying, to always have complete ownership of my words. So if I decide to edit them, change them, remove them, add more, modify, I don't have to ask anybody's permission. No one can take away my words. I think there is an obvious decline in blogging. But, I think it's because of the ease through which you can do similar things in other places. However, there's also a downside to that ease of “microblogging” on these social networks.
Scott: There’s a whole lot to unpack there. Think about the success or failure of things based on friction. Linux people ask, “Why isn't Linux happening on the desktop?” Well, it's known to be hard. They’ll counter that it’s not really that hard – but saying that is not enough to make Linux on the desktop a thing.
If you want to go and set up a blog, you have to register a domain, figure out your certificates… It's like telling someone who wants to get from point A to point B to build a car. It’s not as easy as downloading the Uber app. The extra step required to simply sign up to Mastodon (picking a server) will allow Bluesky to eclipse Mastodon.
So, how do we make blogging easier without it becoming a monoculture? WordPress is eating the world – and also eating itself, with its weird culture. But you should be able to go somewhere, sign up, get a domain… Why has no one done that? Medium is the closest thing and everyone stays with the default domain.
Mark: It's frustrating to see that. It's definitely a human problem. How do we get you to not only sign up really quickly, but then have complete ownership so you can take this anywhere you want to go? My blogging engine is essentially based on XML files under the hood. They're just text files, and I can bring them anywhere. As a developer, I think of that as the most natural way to store information with absolutely zero barriers between me and it.
But maybe it's a little bit more difficult for others. As you say, as a normal human being, I wouldn't know how to get started, how to get a certificate, and things like that. It needs to be reduced.
Avoiding “digital sharecropping”
Scott: Additionally, I don't think people realize how easy it is to steal their stuff, or think to back it up. I backed up my TikTok this morning, but I had to download an app, pay $20, and use tools to call their backend API, remove the watermark, etc. My son almost lost access to his Instagram. That was a real wake-up call: all those pictures, years and years of pictures, they're not really yours. That's a walled garden. Why is it so important for us to own our words?
Mark: I remember back in...was it 2010…that Windows Live Spaces got shut down. That was when I realized: “Oh gosh, I don’t own this.” I was planting food on somebody else's property, then I'm wondering why none of the food I've planted is in the place I put it. Well, it wasn't my land to start with. For any reason, this can all go away at any moment. That’s when I came to a decision point: Should I go with Subtext or should I go with DasBlog? And I went with DasBlog. The inconvenience of having to set up my domain and my certificates and everything else was offset by the disruption caused by not owning my words. For me, that ownership part was just the most critical thing.
Scott: Here’s an extended analogy. After the Civil War, the southern economy was in ruins, and they needed people to farm the land. So, they made a deal called sharecropping. You’re a tenant, they give you seed, they give you tools, they give you living quarters, they give you food, and they go, “Look at all this great stuff we're giving you!” But you don’t own the land. You pour your heart and soul into a space, and then they go, “You're fired, you're gone.” And it’s all gone.
So “digital sharecropping” has been a conversation that's been happening for years. It was really big in the mid-2010s. It's this concept that they talked about in Web 2.0 where you are building someone else's business with your words. You and I figured this out in 2003, 2005, that those are my words.
And here we are, we're building AI models without being paid. We're giving views to folks. Tantek Çelik talks about a concept called POSSE: Publish Once, Syndicate Everywhere. If he wants to say anything, it starts on his blog (on his own website) and then it proliferates from there. If you think about Twitter and Instagram and Bluesky, I don’t think even you and I have gotten quite that dedicated.
Mark: Yeah, that is the ideal for me. I certainly don't do it yet. I've tried a few of these syndications where they send out the one message everywhere. But my ideal thing, for any of these social networks, is that I own the words I say in the context. I say them and push them everywhere. I actually started an initiative where I was thinking about adding Fediverse (kind of Mastodon-like) support in the blogging engine. And part of me kind of rejected it after a while for that exact same reason. I want my blog to be the place where I store and I exist – and then I push it wherever else I want. That idea was a bit stronger than the idea of a complete integration.
Will POSSE and the Fediverse save us?
Scott: There's a new thing that just launched called micro.blog. It follows the principles of the Indie web: data portability, open standards, and a domain name. You go to micro.blog and sign up (it's pretty inexpensive, $5 to $10 a month) And everything starts there. Publish on your own site, syndicate everywhere. It uses microformats. The idea is that you manually cross-post to Twitter and then you automatically cross-post to Mastodon, Threads, etc.
[Side note: Catch Scott’s follow-up discussion with Manton Reece, the creator of micro.blog]
You and I had talked about doing this ourselves with DasBlog. As a long-form blogger, I still haven't quite got my head around what the Indie web folks and people like Tantek do, which is everything is on their blog first. Would I want just a random sentence, a random tweet, to start on my blog? I would feel like it would be littering my highly curated blog space. But, it works for them. I wonder if we could get past that barrier.
Mark: That would be really interesting, but I do think it would need a redesign. I think we would have to have this notion of “This is something short, just a couple sentences.” This isn't deep, it doesn’t need to go in your RSS feed, but you still want to own it. Then you could push it to wherever you exist as a presence. That would be a really compelling argument for why people should start there.
Scott: This idea of federation, of federating things and attaching them to each other… Before the holidays, we were talking about figuring out ways we would own our words and move them over to things like Mastodon and Threads. But apparently today, Hachyderm de-federated from Threads since Meta changed its moderation policies.
Do you think that blogging in your own space is a way to get out of the content bubbles and echo chambers?
Mark: I do. I think there's a tendency for repetition in social networks that is hard to avoid. I really do hunt for those blogs that are going off in their own direction. I did try to get integration with ActivityPub.The whole thing was actually inspired by a blogger, Maho Pacheco. He had done a whole integration with ActivityPub – so you could have a static site and still integrate with ActivityPub in that regard. I was using that as inspiration for some of the work I was doing.
But yeah, I think having your own garden and curating it the way you want – so it doesn't just become part of the overall noise of a particular social network – is really, really important. It's like when you are walking down a street and you see somebody's garden and they've made a particular set of decisions for their space. I just love that kind of individuality that you have in blogging. I think it's very much missing in today's big social network spaces.
Scott: When you and I were doing DasBlog stuff back in the day, it felt like RSS was simple enough syndication – you could hold it in your brain. Writing to those specs did not seem difficult to me. Do you feel the same way about ActivityPub? Or is it getting to a level of complexity where you're noticing it?
Mark: No. In fact, I kind of gave it up, to be honest. I've been doing this for 20 years and I thought, well, this is not worth the complexity level. And the idea that there's going to be a change in some future iteration… and then I would have to do some more work to just continue with it. Again, this is why I go back to the POSSE type approach – because I don’t want the responsibility of having to keep up with a spec that’s well thought out, but verbose and hard to match. I felt that that burden was just way too high a bar for me to continue.
Scott: I wonder why it's so much more complex. Is this just the world of identity that we have right now? Back in the day, we could just curl from the command line. Now, it feels like we're beyond that.
Mark: I do feel like the flexibility of what they were trying to do means that it’s got to be ready for almost anything. I don’t mean to critique it – I wouldn't even know where to start if I were trying to do this myself. But it did create some challenges for me.
Context fosters empathy
Scott: Shifting gears a little bit, have you thought much about making sure your blog gets read? You and I are developers, we are writing for developers. I was talking with Cynthia Dunlop and Piotr Sarna. They just came out with a book called Writing for Developers: Blogs That Get Read. Bryan Cantrill wrote the foreword, I got to do the afterword. They were saying that you can just slap the keyboard for your own satisfaction, but if you want your blogs to get read, here's a way to approach it. And I'm curious how much you've curated your work to make sure that the blog posts are something that you'd be proud of.
Mark: I do think about that a lot. My first principle is, “Is it something that I'd find helpful to me on some future date?” If I look through it with that lens, it's probably going to be important to somebody else right now. I have to assume that my goldfish-like brain will have completely forgotten everything I've talked about and thought about in the next month or so. That will be overwritten, let’s just assume that.
In that regard, I'm always thinking about how whoever comes to this blog might not know a thing about this topic. How do I approach them? How do I talk to them about this topic? I don't think I'm the best writer in the world, but I'm always trying to remind myself of why I'm thinking this way. I'm trying to leave enough breadcrumbs so I know why I'm thinking this way and why I think this is particularly special or interesting or useful. In that regard, I do think how you think about writing is tremendously important – for both you and your future self.
Scott: Yeah, I feel like I have that goldfish brain a lot. And I have had people say that my blogging is very empathetic because they feel like I'm bringing them along for the ride, and I'm being very gentle. What they don't realize is that I'm doing it for me. I know I’m going to go search for that later and probably end up at my own blog. It’s happened a lot.
That's when you know you're truly alone on the internet. It's 2:00 AM on a Tuesday night, you're deep into some HTTP header and then you Google it and you're like, “Oh, I had this problem in 2019 and I never figured it out. Now what do I do?”
I always write to bring people up to speed. This is my criticism for blog writers who are listening. More words. You're always missing a paragraph and you assume that I know way more than I do. Give me more context, please!
Mark: That's a really great point. I think the point of the blog is context. I think of what I do on social networks as “my throwaway words.” I am okay with these being thrown away, reattributed, etc. I don't care how you treat these words. But for the words on my blog, I want to spend a bit more time thinking about the delivery, thinking about what context I'm setting. I get to set that up – and no one gets to contradict me because it's my blog. I think adding a few more paragraphs or sentences to set context is critical.
Blogging as an engine of community
Scott: In the Writing for Developers book [use the discount code HMdunlop for 50% off], they agree with me that blogging is an engine of community. I wrote a blog post a long time ago called Your Blog is the Engine of Community. You could just go to Twitter and start a conversation… or you could write a blog post and then it will go on Hacker News and it'll go on Reddit, Twitter, etc., and it will be talked about.
I feel like the same thing applies at work. I don't like writing emails. I would rather write a document (like a .NET feature), put it somewhere with a URL, and then give it to someone and have them go and talk about it. It means I can type less and I can get more done.
Mark: Yes, I often blog because I'm answering a question that I've answered a few times already. If somebody's asking you the same question over and over again, you can save yourself a little bit of time and frustration by writing the answer. That's a force multiplier right there. You have an order of magnitude more influence – more people get to read it and share it. I often think about the web as having a certain type of frequency, having a certain type of hum, as it were. And you get to add in your version of the web, whatever that is.
For me, I try to be kind, thoughtful, and patient – and the way I write contributes to that as well. Taking the time to create blog posts that answer questions people are asking is important to me. I take on a lot of mentees and I find I am repeating certain parts of my suggestions over and over again. I'm happy to share in the moment, but it also helps if they have time to sit on my words, think about my words. So, I share the blog post. It gives folks time to rest on your words a little bit.
Conserving your keystrokes
Scott: That is so true. People have heard me talk about conserving your keystrokes – you only have so many. Though, a lot of people will think, “Oh, I shouldn't start blogging. No one will read it right now.”
You said orders of magnitude. I don't think people understand that phrase enough. That means that if you write a blog post and 10 people read it, and then maybe a hundred people read it, now we're starting to talk about orders of magnitude. So say a hundred people read your blog. Don’t think, “Oh, my blog didn't get a million views, it just got a hundred.” Do you want to try to send a hundred emails? If three people read your blog, that’s you times two extra people. I feel like people should give themselves a little grace. And you'd be shocked at how many times you write a blog post, you go to sleep, and then you wake up the next day and that one throwaway blog post has blown up and everyone's reading it. You just have to do the work.
Mark: Yeah, it’s incredible. I think writing for yourself should be your first order of business. It would be something that you find valuable for its own sake. That's always a really great place to start. But then, like you say – if folks are connecting with your words and are able to learn more and do something else…that is a great gift.
You mentioned the “throwaway blog.” I think my most popular blog was one that was born when I was trying to figure out how to do my yearly reviews. I was constantly frustrated by deciding which words to use. And I said, “I do this every year anyway, so I’m just going to write this as a blog post.” So I wrote a blog post about how I approach performance reviews, and I get tens of thousands of views on this page alone. Isn't that funny? I wrote this thinking that it would just be for me, returning to it next year when I'm doing reviews again. But apparently not – everybody does reviews. That's the thing. You might assume that it's just of no value. But you never know.
Just do it
Scott: It's so funny. I talk to people who get all in their heads about their blogs and they say, “Oh, I've got five or six blog posts in Drafts.” I'm like, “Drafts, no – just publish it!” If you're listening right now, Mark and I are experienced bloggers, we’ve been doing this for multiple decades. Just publish the draft! Every day that you don't publish that draft is a day where no one's reading it. It's not doing any good in your Drafts.
I will say though, it is a little disheartening when I work for a week on a perfect technical blog post and a hundred people will read it. Or, I work hard to make informative TikToks and they get a thousand views. Then I make a throwaway TikTok because I had three minutes to spare and it ends up going viral and getting a million views. What are we even doing here?
Mark: Just curate the garden you want for yourself. People will enjoy it as they see fit, as they pass by. Stop worrying so much about the passers by. Just be yourself with the audience. If you are finding value, I assure you that of the 7 billion people on this planet, there's going to be a few of them who match your view of this.
Scott: I love that perspective. You're right. You need to remind yourself that with 7 or 8 billion people, someone's into your thing – whatever you're into. Even underwater basket weaving. You should blog about it. If 10 people read it, then you found your 10 people. It's not about the audience. Don't chase the audience.
Don’t worry about your cadence
Mark: On a similar note, don’t worry about your cadence, don’t worry about when it’s “the right time.” I like to get things done in the time it takes, to blog when the feeling hits me. Right now, it's a monthly thing for me. I've taken time off, I have come back, I have gone on binges where I'll blog daily or weekly. And I think that all of that is okay.
Scott: You know, COVID slowed me down and I hadn’t blogged in about a year. And then out of nowhere, a thing happened and I was like, “I'm going to blog” and I blogged about the thing – a technical fix or something. And I thought it was so funny. Someone commented something like, “What a king! Not a word for a year, and he just shows up with a technical post. No apology, no where you’ve been. Just, ‘Here's a new post.’”
I'm not going to be like, “Oh, sorry, it's been a busy time. I'm rededicating myself to blogging.” I blogged every Tuesday and Thursday for 20 years. I took a break. I'm allowed to have a break.
Mark: I think that is perfectly okay. Instead of thinking that our blogs are all about the latest thing we did, think about them featuring what it is we've done. I don't look at somebody's garden and say, “You haven't planted anything new this year.” I just look at the garden for what it is. This idea of having a body of work is by itself valuable, whether you are going to keep doing it forever or doing it for a year, or maybe just doing it while you're on this new course that you want to get feedback on.
Blogs beat social media “brands”
Scott: This might be controversial, but I would rather someone have a blog than a social media presence. And I feel like young people are out there focusing on things like…
I have 20,000 followers on Twitter.
I ask open-ended questions about JavaScript and everyone follows me for my wisdom.
I don't care. Show me that you're a technical writer. Yes, it should be easier to get a domain. But if you can write a blog engine or even deploy one like DasBlog and you’re keeping the site up, updating the certs, and blogging long form – that’s a living resume. You have a decade-long resume of content that shows you are a competent technologist. That's much more interesting to me than having a lot of followers.
Mark: The thing I value when I see bloggers is that they take time to learn how to communicate. I don't care how well you program. At some point, you are going to have to convince somebody of the value of the thing you are suggesting or doing. Having a really strong way to communicate through writing – there's no substitute for that kind of skill.
Exits
Scott: One hundred percent! So, now that people could do it the hard way and register the domain themself or go somewhere like micro.blog and have them do it for a dollar or two…do you think people getting started with blogging should do it the easier way? Or should they drive stick shift?
Mark: I'm obviously hugely biased, but I'm going to always opt for the stick shift. I think knowing it – even if you're not going to use it consistently – is the way to do it. You should own your words.
If you're going to go with anything else, make sure you have a strong exit strategy. Make sure you can take your words with you as soon as you decide that the platform is no longer valuable, that it's not for you. I certainly wouldn’t go with a solution that wouldn't allow me to take my words with me and take my images with me, and take my time with me.
But for me, I would obviously encourage people to have a presence, have an identity that you own and that you contribute to on your terms.
Scott: Very cool. Well, folks can check out DasBlogCore at Mark’s GitHub and Mark’s blog, poppastring.com. And then if you're interested in checking out the Writing for Developers: Blogs that Get Read book by Piotr Sarna and Cynthia Dunlop, you can use our 50% off code (HMdunlop) at Manning’s site.
I think the main problem is there has been a barrier to entry that has developed in the dotnet space over the past 5 years. If you are a well know person selling your database/actor/microservice all your articles get exposure but there is nothing for developers with great ideas so those ideas don't get shared.