[00:00.000 --> 00:21.760] So, welcome to the PostgreSQL Dev Room. If you just got here, you missed all the early [00:21.760 --> 00:29.840] morning excitement. Can I please ask you, because this is a very loud room, take care [00:29.840 --> 00:36.560] with the seats, because they're very loud, and please silence your phones. Now, can we [00:36.560 --> 00:43.400] please welcome Claire Giordano, who's going to speak about PostgreSQL's blog posts and [00:43.400 --> 00:55.480] how to give them an outsize impact. I have to get my phone so that I can take a selfie [00:55.480 --> 01:01.320] at some point in this talk. All right, so how many of you, is it your first day of [01:01.320 --> 01:06.120] FOSDOM or your second? How many of you are here for your first day of FOSDOM? Okay, most [01:06.120 --> 01:12.360] of you were here yesterday. Yeah, and I love that it's not freezing cold this year. It's [01:12.360 --> 01:18.880] actually comfortable. All right, well, I thank you for coming. This is my third FOSDOM, my [01:18.880 --> 01:25.400] second time giving a talk here in the PostgreSQL Dev Room. Boris, I promise to stay in the [01:25.400 --> 01:33.000] proper range now. Okay, am I good? All right, so I'm here to talk to you about how to give [01:33.000 --> 01:43.200] your PostgreSQL blog posts an outsize impact. And I'm really happy to talk about it, because [01:43.200 --> 01:50.240] sharing information about PostgreSQL and our projects, new features, new capabilities is [01:50.240 --> 01:55.120] just super important to growing the community and having more people learn about it, use [01:55.120 --> 02:01.480] it, become developers on it. So before I dive in a bit about my background, I started my [02:01.480 --> 02:07.160] career as an engineer in the developer tools group at Sun Microsystems. I worked on a predecessor [02:07.280 --> 02:13.720] to a predecessor to modern day GitHub and Git. And then I spent many years as an engineering [02:13.720 --> 02:19.200] manager in the kernel group at Sun. Before moving into product management, product marketing [02:19.200 --> 02:25.960] roles, I think of myself as a writer. That's why I care about blogging. And about six years [02:25.960 --> 02:32.200] ago, I joined a small startup in San Francisco, well, not so small, but a startup nonetheless [02:32.240 --> 02:38.640] called Citus Data. Have any of you heard of Citus? Okay, so some of you didn't raise your [02:38.640 --> 02:42.880] hands, but I know you've heard of Citus. And then after a couple years, we were acquired [02:42.880 --> 02:51.000] by Microsoft. So I work at Microsoft. And this is a screenshot of the GitHub repo for [02:51.000 --> 02:56.080] the Citus database extension, which is an open source extension that I spend most of [02:56.080 --> 03:01.840] my days working on. And I put the screenshot there with the stars over in the right, because [03:01.880 --> 03:08.160] I'm on a mission to, you know, make sure people who know it, use it, like it, our supporters [03:08.160 --> 03:15.160] of it actually do go and give it a star so I can bump that number up and get some validation. [03:15.160 --> 03:20.320] So the reason I created this talk is I ran across this quote somewhere where somebody [03:20.320 --> 03:26.480] said about Postgres that it's not just open source, it's open engineering. And I'm looking [03:26.480 --> 03:31.320] at Joe Conway. Did that quote come from you? Or was it Peter Eisentraut? I'm not sure who [03:31.360 --> 03:36.920] it was, but it's a fabulous quote. And so I thought about, well, why not share the techniques [03:36.920 --> 03:42.600] and the best practices that we use, not just in engineering, but in engineering the blog [03:42.600 --> 03:47.840] posts and the content that we create? Now, before I dive in, I have to give you a warning. [03:47.840 --> 03:52.080] There's a lot of dog illustrations in this talk. And that's because I'm here in Brussels [03:52.080 --> 03:56.400] and back home in California is my chocolate Labrador named Zuka. So I don't know, I had [03:56.400 --> 04:01.300] to inspire myself to think of her as I was working on it. Now, the talk is going to have [04:01.340 --> 04:08.340] two parts. The first is what you write, the actual kind of drafting of the blog post. [04:08.420 --> 04:14.140] And the second is, well, where you send it, who you send it to. And in marketing speak, [04:14.140 --> 04:19.500] that means we're going to talk about content. And then we're going to talk about distribution. [04:19.500 --> 04:24.900] Now let's dive into content first. And in this area, I want to start with you in your [04:24.900 --> 04:29.940] frame of mind when you're creating these blog posts. And then we'll talk a bit about the [04:29.940 --> 04:36.940] edit cycle after that, which is also super important. And I think my first tip for you [04:37.780 --> 04:43.860] when you're creating a blog is to write with a specific reader in mind. Now, and think of [04:43.860 --> 04:48.260] who's this person that you want to read it? What kind of skills do they have? What kind [04:48.260 --> 04:53.820] of problems? See, those are those that, sorry. The seats are really loud in here, aren't they? [04:53.820 --> 04:58.980] Yeah, welcome. I'm glad you're here. Who do you want to read it? What are their skills? [04:59.020 --> 05:04.100] What are their interests? And write to that individual. This may seem obvious, but for [05:04.100 --> 05:11.100] a lot of us, when we try to write to this vague, big, amorphous world out there, the [05:12.540 --> 05:17.660] blog post kind of ends up like hotel food. And I mean bad, boring hotel food, where it's [05:17.660 --> 05:23.660] trying to appeal to everybody and doesn't dare have any strong flavors or strong spices [05:23.740 --> 05:29.820] and ends up being very bland. So write to that specific person as you're creating it. [05:29.820 --> 05:35.580] And then the second tip is also obvious. Pick good topics. But I put it up there because [05:35.580 --> 05:39.740] in many, well, there've been many conversations I've had with people where they've said, you [05:39.740 --> 05:43.940] know, I want to start blogging. I want to start sharing my expertise, but I don't know [05:43.940 --> 05:50.140] what to write about. And so I just want to tell you that the world, the internet is full [05:50.180 --> 05:55.660] of inspiration of what to write about. And every time you send an internal email answering [05:55.660 --> 06:02.500] a question or somebody comes, if you're working in an office or with a team of people in person, [06:02.500 --> 06:08.860] someone comes in and asks you a question. Maybe your answer is good fodder for a post. [06:08.860 --> 06:14.900] Maybe more than that person has that question and it should be shared more broadly. So whether [06:14.940 --> 06:21.940] it's Stack Overflow as well, or the Postgres Slack, the IRC channel, Reddit, there's a lot [06:22.140 --> 06:26.860] of, there's different subreddits. There's one for Postgres, but there's other ones [06:26.860 --> 06:31.700] that deal with databases and distributed systems as well. There's questions that come up there [06:31.700 --> 06:37.700] that might make a good blog topic too. And then just make sure those blogs are interesting. [06:37.700 --> 06:43.180] Like that, again, not bland, not boring. Okay. And the third tip when you think about your [06:43.220 --> 06:48.900] frame of mind is to have empathy for your reader. That's probably the most important [06:48.900 --> 06:55.380] takeaway from this talk is to have empathy. And so what does empathy mean? It does not [06:55.380 --> 07:02.380] mean sympathy. I love this cartoon from a human cloud of gaping void. And on the left, he [07:03.100 --> 07:10.100] describes empathy as, I feel your pain. I physically feel how you feel. I really understand [07:11.100 --> 07:16.420] and have empathy for your situation. Whereas sympathy is just, oh, I'm sorry that you're [07:16.420 --> 07:23.420] in pain, which is kind of just words. It doesn't have the same impact. So the goal is to have [07:24.180 --> 07:29.780] empathy be your true north. And that means you're going to care about the reader more [07:29.780 --> 07:35.220] than you care about yourself. It means you're going to put in some extra effort in creating [07:35.220 --> 07:40.460] the blog post and recognize that they're busy. They're in a hurry. So you should write and [07:40.460 --> 07:45.460] create this post so that it's easy for them to quickly get answers to their questions. [07:45.460 --> 07:49.980] And just remember that they don't know what you know. So when you work with a team of [07:49.980 --> 07:54.780] people who have similar knowledge, expertise and skills, we use a lot of shortcuts. Like [07:54.780 --> 08:00.220] we use acronyms and we don't have to define or explain concepts. We all understand. Anybody [08:00.260 --> 08:06.380] who works with Citus understands what sharding is, for example. But the reader doesn't necessarily [08:06.380 --> 08:11.940] know what you know. So taking a few moments to define a term or explain a concept or link [08:11.940 --> 08:18.940] to a background blog is super helpful to them. All right. So let's dive into specific tactics [08:19.460 --> 08:24.860] that you can use to apply empathy and really care about your readers. And the first is [08:24.940 --> 08:31.300] to make your blog posts scannable. I grabbed these two big, chunky, dense paragraphs from [08:31.300 --> 08:36.700] the internet as an example of what you should not do. Like I can't even bring myself to [08:36.700 --> 08:41.620] read them. They're in my talk and I've not read those paragraphs because it's just blah, [08:41.620 --> 08:48.620] blah, blah. Like my brain cannot embrace whatever they're trying to tell me. So because [08:48.780 --> 08:54.740] people are in a hurry, you got to make it easy for them to find the part of the post that [08:54.740 --> 09:01.740] will help them. And one mistake a lot of people make is they, it's okay. It's totally okay. [09:03.180 --> 09:08.220] They assume someone's going to read the whole post from the beginning to the end, but they're [09:08.220 --> 09:14.180] not. They're going to jump around. Maybe they'll start in the middle. And so when I think about [09:14.180 --> 09:18.180] how to make things scannable, there's a bunch of techniques that I just wanted to point [09:18.220 --> 09:24.220] out that are super useful. The first is to have section headlines that break up the post, [09:24.220 --> 09:29.620] H2s, if you will. But they should not be subject titles. And we'll talk about that in a moment. [09:29.620 --> 09:34.420] They should actually be headlines, like headlines you'd see in a newspaper. Use bullets. Bullets [09:34.420 --> 09:40.380] are fabulous for scanning. If the bullets are multi-line bullets, put a bold font prefix [09:40.380 --> 09:44.700] at the beginning of each one, just like two, three words that tells them what that bullet [09:44.740 --> 09:49.900] is about. And then most people will just read those bold font prefixes. And they may not [09:49.900 --> 09:55.020] read the rest of it if it's not what they're looking for. Short sentences and short paragraphs [09:55.020 --> 10:02.020] are your friend. White space is also a big friend. And then tables are super helpful too. [10:02.380 --> 10:06.620] I was reviewing a blog post with someone once, and they were sharing just three or four pieces [10:06.620 --> 10:12.060] of performance benchmark data, but they were doing it in sentences, like in the copy. And [10:12.100 --> 10:16.820] when we took those numbers out and we put them in a super small, like two by three table, [10:16.820 --> 10:22.700] all of a sudden the conclusion just popped, whereas before it was hidden in the paragraphs. [10:22.700 --> 10:29.700] So I said we'd talk about the section headlines, the H2s, a few seconds ago. So here's a couple [10:29.860 --> 10:35.540] of examples. And these are actual examples from actual blogs that I worked on with people. [10:35.900 --> 10:42.420] And in this first example, literally the H2 said example, which is nice. It tells you, [10:42.420 --> 10:48.340] okay, we're going to look at something that will help show me what we're talking about. [10:48.340 --> 10:52.980] But in fact it's much better if it were to say a real world example, a multi-tenant to-do [10:52.980 --> 10:59.180] application. It gives more specifics about what's going to be in that section. Similarly [10:59.180 --> 11:04.620] I was working on a blog post with, I don't even remember who it was with, and the H2 [11:04.700 --> 11:08.900] just said PG Bouncer, which is great. It tells you that section is about PG Bouncer. That's [11:08.900 --> 11:14.060] useful. But it's even more useful if we tell you in the H2 that this is about how to set [11:14.060 --> 11:20.580] up PG Bouncer. And oh, by the way, it's our preferred connection pooler. So just being [11:20.580 --> 11:25.580] more specific can help the reader, and it primes their brain as to what they're going [11:25.580 --> 11:32.580] to get, or tells them whether to even read that section. Okay. Now, not everybody is [11:33.340 --> 11:36.660] a reader. So I already said people aren't going to read the whole thing. They're going to [11:36.660 --> 11:42.300] bounce around. But people's brains process information differently. So how many of you [11:42.300 --> 11:48.620] think of yourselves as being visual in how you process information? Okay. And how many [11:48.620 --> 11:51.940] of you, when you're explaining something to a colleague, the first thing you do is jump [11:51.940 --> 11:58.940] up to a whiteboard and start sketching diagrams? Yeah. Okay. So to make your blog post more [11:59.540 --> 12:04.980] accessible to more people, it shouldn't just be paragraphs and words and sentences, but [12:04.980 --> 12:09.420] obviously a picture speaks a thousand words. So including a diagram in there and taking [12:09.420 --> 12:15.900] the time to figure out what should that diagram be can make a world of difference. I gave [12:15.900 --> 12:20.460] you the example of tables before. Those are super helpful when you're sharing numeric [12:20.460 --> 12:26.340] information. For those of us who work on cloud services, sometimes having that screenshot [12:26.340 --> 12:32.700] of whatever is going on in the UI can be really helpful. And then code blocks as well. [12:32.700 --> 12:35.940] Particularly when you're talking about some new capability or trying to show someone how [12:35.940 --> 12:42.420] to use something, that code block is huge. So the variety of formats can help. I took [12:42.420 --> 12:48.540] this screenshot, don't worry about it, from a blog post that David Rowley wrote last year [12:48.540 --> 12:54.460] about speeding up sort performance in Postgres 15. He's one of the Postgres contributors [12:54.980 --> 13:01.420] that works on my team at Microsoft. And without this chart, the blog post would have been [13:01.420 --> 13:06.500] nice. It would have been good, but it was so much more powerful when you show visually [13:06.500 --> 13:13.500] like what the results were and how sort performance was sped up. And when you do include diagrams [13:15.460 --> 13:22.460] or charts, it's important to remember to put alt text in there. Not just because we care [13:22.980 --> 13:28.660] about people who are visually impaired and are using screen readers, but also it influences [13:28.660 --> 13:34.300] how your blog post will get ranked on search engines. Because alt text is one of the factors [13:34.300 --> 13:41.060] and things that the search engines look for. Using H2s as well can also help screen readers. [13:41.060 --> 13:44.340] So don't just, when you have those section headlines we talked about earlier, don't just [13:44.340 --> 13:49.980] like put a bold font in and make it a bigger font size. Actually change the paragraph format [13:50.020 --> 13:56.860] to H2 or section header or whatever it's called in your platform. And that will help those [13:56.860 --> 14:02.180] screen readers too. The other thing I'll say about this chart is it looked totally different [14:02.180 --> 14:08.300] at first. Like we iterated on it to try to figure out how do we make the story pop. Like [14:08.300 --> 14:13.780] we ended up pivoting it by 90 degrees, changing the title, changing how we labeled things [14:13.780 --> 14:20.780] and doing our best to make it drop dead easy to understand. Alright, the third technique [14:21.660 --> 14:28.660] in the empathy area that I want to point out is readability. And I always recommend to [14:28.740 --> 14:34.500] people that you write at the third or fifth grade level. Maybe sixth grade is okay. But [14:34.500 --> 14:41.500] a lot of us in engineering, we're trained to write in very formal, academic, dry, and [14:44.500 --> 14:50.780] tones of voice. And even at the 16th grade level, at the 14th grade level. And that's [14:50.780 --> 14:54.940] hard for people to read, especially when they're in a hurry and trying to get something done. [14:54.940 --> 14:59.860] So if you simplify your writing, that can make a big difference. This is a screenshot [14:59.860 --> 15:06.220] of a tool that I use called the Hemingway app. And if you go and you put copy from your [15:06.220 --> 15:10.660] blog post in there, it'll tell you what grade level. It's written that and will give you [15:10.660 --> 15:16.620] some specific suggestions about how you can simplify your writing. And that assumes your [15:16.620 --> 15:22.340] writing in English. I don't know if it has support for other languages. Other people [15:22.340 --> 15:29.340] are big fans of Grammarly and I'm glad you're here. And so, absolutely recommend this. [15:30.300 --> 15:34.940] The other aspect of readability that I want to point out, I always recommend people write [15:34.940 --> 15:41.940] in a conversational tone of voice. Again, going back to how we were taught to write, [15:42.180 --> 15:49.180] it was very formal, pedantic even, official, academic. But actually when people are in [15:50.180 --> 15:57.180] a hurry, their brains are wired for conversation. So if you write in that easy, accessible conversational [15:57.180 --> 16:00.820] tone of voice, you're going to have more people recommending your blog post. You're [16:00.860 --> 16:05.140] going to have more people actually reading it versus just bouncing and leaving, deciding [16:05.140 --> 16:10.620] oh, this is too much work or oh, the worst is I'll read this later, which of course most [16:10.620 --> 16:17.220] people don't ever do. So part of writing in a conversational tone of voice, like how do [16:17.220 --> 16:22.980] you do it? I always tell people to imagine that they're sitting over coffee and trying [16:22.980 --> 16:28.060] to explain to another engineer or developer how this thing works or whatever the topic [16:28.100 --> 16:32.100] is. And maybe that person is their best friend and they're going for a job interview and [16:32.100 --> 16:36.620] they really need to understand. How are you going to explain it to them so that it makes [16:36.620 --> 16:41.020] sense so that they get it? That's the kind of conversational tone of voice that you want [16:41.020 --> 16:48.020] to employ. And then I also recommend people write in the second person you. And that's [16:48.340 --> 16:54.100] because your reader doesn't care about yourself. They don't care about the author. They care [16:54.140 --> 17:00.640] about themselves. So when you speak to you, when you write about you and in the screenshot [17:00.640 --> 17:05.100] here I put like little, I don't know if you can see them. Oh yes, you can. The yellow [17:05.100 --> 17:10.900] boxes around all the instances of the word you. And a lot of times in the first draft, [17:10.900 --> 17:15.340] the word you won't even show up. People will just say, I, I, we, we, I'm doing this. This [17:15.340 --> 17:20.460] is all about me. Kind of like in the beginning of this talk when I introduced myself. Probably [17:20.500 --> 17:25.220] a lot of you didn't care. You just wanted to get to the meat of the topic. So speak [17:25.220 --> 17:31.660] to you and write in that conversational tone of voice. So I'm a big fan of checklists. [17:31.660 --> 17:36.900] I don't know how many of you have read this wonderful book by Atul Gawande called The Checklist [17:36.900 --> 17:43.900] Manifesto. Anybody? Oh, cool. Strong recommend. It's a really wonderful book and it talks [17:44.900 --> 17:50.700] about using checklists not just in his field, which is medicine and surgery, but also in [17:50.700 --> 17:57.060] other fields like airline pilots and people in charge of big, massive like skyscraper [17:57.060 --> 18:03.140] construction projects. Anyway, so a big fan of checklists. So here's a checklist that summarizes [18:03.140 --> 18:09.140] the three things we just talked about regarding scannability, variety of formats, and readability. [18:09.580 --> 18:15.460] All right. And now we're going to pivot away from you and your frame of mind and empathy [18:15.460 --> 18:22.460] and talk about the edit cycle. So I think the first thing I tell people who are starting [18:22.460 --> 18:28.460] off blogging or even experts who are looking to get better is to just embrace the edit [18:28.460 --> 18:35.460] cycle and the, the iteration. You have to do the work. Now, I suppose that's not true [18:35.460 --> 18:40.580] for everybody. I do know some people who are kind of famous and they can write really [18:40.580 --> 18:47.580] crappy blog posts and people are going to give it a plus one and, and promote it and [18:48.540 --> 18:51.820] they'll get a lot of traffic even though it's not actually very helpful. It's not actually [18:51.820 --> 18:56.220] very good, but they're famous. And so they get that kind of benefit. But for most of [18:56.220 --> 19:02.820] us mere humans, we've got to do the work to make something usable by people. I'm a fan [19:02.860 --> 19:09.460] of this writer named David Perrell and I grabbed this screenshot of a tweet that he did and [19:09.460 --> 19:13.420] you don't really need to read the words, but the visual kind of tells the story that when [19:13.420 --> 19:18.940] you are creating a blog and probably the same as true for coding, you end up going down [19:18.940 --> 19:23.180] a lot of dead ends and that's what all those gray lines are meant to represent. They're [19:23.180 --> 19:26.940] things that you thought were going to be part of the blog, ways of explaining that you thought [19:26.940 --> 19:31.940] were going to be useful, but they weren't and you had to throw them away. And it's only [19:32.020 --> 19:38.020] in, and these are his words, good writing is only obvious in retrospect. And so that [19:38.020 --> 19:45.020] purple line could not have been found without all those gray dead ends. And yeah, so you've [19:45.980 --> 19:51.220] got to edit. And the other thing that is important is that it's okay for your first draft to [19:51.220 --> 19:58.220] suck. So especially with people who are creating blogs for the first time, they'll get a little [19:58.340 --> 20:03.340] bit stuck because they're not sure how to say it. And they literally, their hands are [20:03.340 --> 20:09.840] frozen over the keyboard. And you just have to recognize that dirty little secret that [20:09.840 --> 20:16.020] everybody's first drafts suck. And that's okay. So once you give yourself permission [20:16.020 --> 20:22.700] to write something bad, then you're well on your way to having a good end result. So the [20:22.700 --> 20:29.540] other quote people often use is perfect is the enemy of the good. These images of these [20:29.540 --> 20:34.980] artists though are kind of interesting because when you think about artists, because their [20:34.980 --> 20:40.720] initial sketches are typically not shared with a team, they feel free. They don't have [20:40.720 --> 20:47.560] anybody judging them and they can go scribble and draw and experiment and create some really [20:47.600 --> 20:54.600] amazing things by exploring in ways that they wouldn't be able to do if they felt like they [20:54.680 --> 21:00.080] had an audience right there. So the technique that some people do is they just low, okay, [21:00.080 --> 21:04.240] I'm not going to show my first draft that anybody, I'm going to wait until it's a second [21:04.240 --> 21:07.760] draft and it's a little more refined. And maybe that's what you have to tell yourself. [21:07.760 --> 21:12.480] I just write crappy first drafts and I'm not embarrassed by it because I know the end result [21:12.520 --> 21:19.520] is going to be really fricking good. All right. Feedback is gift. So if you find good reviewers, [21:20.160 --> 21:27.160] they're gold and say thank you and have gratitude for it. I've worked with some brilliant bloggers [21:28.280 --> 21:33.160] in my career who, if you ask them to review your post, you'll get, oh yeah, it looks fine, [21:33.160 --> 21:37.280] looks pretty good. You got some typo in the fourth paragraph, but other than that, it looks [21:37.360 --> 21:44.360] good. And that's generally not complete feedback. And maybe they didn't even read the thing. [21:44.800 --> 21:50.800] So hopefully you can find people who will look at what's missing or who will give you [21:50.800 --> 21:56.800] specific actionable ideas for how you could improve it or flag the things that are confusing. [21:56.800 --> 22:02.160] Now, one of the things I do, particularly when I'm working with folks who are super [22:02.160 --> 22:08.240] crazy busy and who I know are really carving out part of their weekend time or their evening [22:08.240 --> 22:13.800] time to give me feedback, is I will ask them to focus on something specific. So like if [22:13.800 --> 22:19.000] you're giving some important post out to three engineers, give them each a different part, [22:19.000 --> 22:23.720] a different assignment. Hey, Joe, I want you to look at the conclusion and make sure I [22:23.720 --> 22:29.280] didn't miss anything. Bertron, can you look at the diagrams in the middle and make sure [22:29.360 --> 22:34.960] that they're clear? I'm just calling you guys out because you're on the back row, so hello. [22:34.960 --> 22:40.360] So giving people those areas of focus can help. I don't know who to attribute this screenshot [22:40.360 --> 22:46.360] here, but I have used it with people and it's super effective. I'll tell them to flag anything [22:46.360 --> 22:53.360] that's confusing, flag anything where their mind starts to wander, because when their [22:53.360 --> 22:59.160] mind wanders, then that means they're probably bored and I need to go cut or fix it or do [22:59.360 --> 23:06.360] something to flag maybe the 10% that they love that I better not throw away in my next [23:06.480 --> 23:11.840] edit cycle and then scribble any ideas for what might be missing. And people have loved [23:11.840 --> 23:16.840] that technique and have said thank you to me for making it easy for them to help me. [23:16.840 --> 23:23.840] Okay, fifth tip in the edit cycle is just be willing to get your scissors out and to [23:24.160 --> 23:31.160] cut and to cut. Are any of you Stephen King fans? One, two, three, four, half, four and [23:35.040 --> 23:42.040] a half, okay. So Stephen King wrote, I'm actually not a big fan of his horror books, but over [23:43.160 --> 23:47.280] the years I've found some of his books that I absolutely love and the one I love the most [23:47.280 --> 23:53.280] is called On Writing. And we all know if you work in engineering and you work with software [23:53.280 --> 23:58.680] that a big part of your job is communicating, right? It is explaining things to other people. [23:58.680 --> 24:02.480] So if you've ever wanted to get better at writing, that is the book to read and it's [24:02.480 --> 24:08.480] part autobiographical and was written by, well he wrote it as he was recovering from [24:08.480 --> 24:14.280] an accident where he'd been hit by a car, but it's part about the craft of writing. [24:14.280 --> 24:20.280] And in it he has a quote that says, kill your darlings, kill your darlings even when it breaks [24:20.280 --> 24:26.720] your egocentric little scribbler's heart. Kill your darlings. And I just love that quote. [24:26.720 --> 24:31.880] A lot of people misquote it as kill your babies, which I think is rather grotesque. But the [24:31.880 --> 24:37.000] idea is you've got to be willing to throw stuff away. And if you can't bring yourself [24:37.000 --> 24:40.640] to throw stuff away and delete it, one of the things I do is I just put a section at [24:40.640 --> 24:45.200] the bottom of the document called the cutting room floor and I just move stuff down there. [24:45.200 --> 24:49.200] And then I somehow feel better about it. Like well I'll be able to go back and get it if [24:49.200 --> 24:55.420] I decide it really should be reinstated. That never happens. It never gets reinstated. But [24:55.420 --> 25:01.640] psychologically putting it in the cutting room floor for me is better than killing it. But [25:01.640 --> 25:05.320] you just got to be willing to cut. Otherwise people will get bored and they will leave [25:05.320 --> 25:10.480] your blog because it will be full of noise and you won't have enough signal to noise [25:10.480 --> 25:15.440] in that ratio. Alright, number six. Forking your blog post [25:15.440 --> 25:21.200] into several shorter blogs. So, um, Andres Freund, who some of you probably [25:21.200 --> 25:26.800] saw, he was here at Fosdome PG Day on Friday and he's probably around right now. No, he's [25:26.800 --> 25:31.960] probably on his way to the airport. I worked with him on some blog posts that he wrote [25:31.960 --> 25:36.560] over a year ago about connection scalability and postgres. And when he shared the first [25:36.560 --> 25:42.040] draft with me, it was really freaking long. And I didn't even have to tell him that it [25:42.040 --> 25:46.560] was long. He started off with, yeah, maybe I should split this into two different posts. [25:46.560 --> 25:50.840] Well, he ended up splitting it into three different posts. And I think all three of [25:50.840 --> 25:56.440] them hit front paycheck or news and they all got a ton of traffic and they were all useful. [25:56.440 --> 26:02.400] And I would argue that having three shorter posts made the information more accessible [26:02.400 --> 26:09.440] to people. People tend to have shorter amounts of time available to read or to learn. So, [26:09.440 --> 26:14.320] this is a technique that can work wonders for you in the edit cycle, is to cut things [26:14.320 --> 26:19.040] apart. And then just keeping it simple, which is really hard to do, especially when you're [26:19.040 --> 26:25.760] trying to explain a concept that's complicated. Um, but you know, you can, you can keep it [26:25.760 --> 26:29.280] simple in a lot of different ways. Like one of the things you can do is just move certain [26:29.280 --> 26:35.200] details into footnotes. So they're not fluttering your main points, but they're still there. [26:35.200 --> 26:40.360] You can also use analogies to help people understand a difficult concept, to make it [26:40.360 --> 26:46.080] easier for them to put that concept that, that's new to them in a mental model that [26:46.080 --> 26:50.400] they already have. And then of course, writing at that third or fifth grade level will help [26:50.400 --> 26:57.480] keep things simple as well. And then number eight, reading it out loud. So, it's interesting. [26:57.480 --> 27:03.160] Um, when I read, and this is true for many people, when I read something silently in [27:03.200 --> 27:09.360] my head, if there's a mistake in it, my brain will self correct it. And I won't even notice [27:09.360 --> 27:15.480] the mistake. Like it just, I'll be oblivious to it. Um, but if I read it out loud, I hear [27:15.480 --> 27:21.720] it immediately. It's like nails on a chalkboard. I hear it. So reading out loud is a great [27:21.720 --> 27:28.600] way to find errors in what you've written or to find that it's confusing or long winded. [27:28.600 --> 27:33.120] You almost run out of breath when you're reading it and you're like, oh, maybe I should simplify [27:33.120 --> 27:39.920] that or shorten it. Um, it's also a good way to assess if you've written in that conversational [27:39.920 --> 27:46.040] tone of voice. If when you're reading it out loud, you're like, oh, I would never say that. [27:46.040 --> 27:51.040] Well, then it's time to like get your red pen out and go fix it to make it more conversational. [27:51.040 --> 27:58.160] All right. So then the nice tip is to optimize for SEO. So most of you know SEO stands for [27:58.160 --> 28:05.040] search engine optimization and improving some basic SEO attributes of your post will make [28:05.040 --> 28:10.960] it more likely that your post will show up on that first page of search results. Um, and [28:10.960 --> 28:16.360] you do not need to be an SEO expert at all. You just need a few very, very basic skills [28:16.360 --> 28:21.760] that you can learn today. And as long as you retain them, you're good to go. Um, but I [28:21.760 --> 28:28.000] have to tell you first that all these, these few basic SEO tips are not worth your time [28:28.000 --> 28:33.400] if you don't have good content, right? If it's not scannable, if it's not readable, [28:33.400 --> 28:39.440] if you haven't, um, written in a conversational tone of voice, then the SEO stuff's not gonna [28:39.440 --> 28:44.240] help you at all. So starting with good content, there are a few things you can do. Um, and [28:44.240 --> 28:51.240] the first is just to spend a few extra minutes, maybe 10 minutes, 15 minutes on the title. [28:51.320 --> 28:58.820] Um, the title is what's gonna cause people to click or not click if they discover or [28:58.820 --> 29:06.520] see your blog post, um, somewhere in search results. And also the keywords in the title [29:06.520 --> 29:13.640] are going to affect, um, on what search results your blog is gonna show up. Um, not just the [29:13.640 --> 29:18.480] keywords in the title, obviously the search engines use a lot of factors. Um, but it's [29:18.520 --> 29:25.760] very, very important. So what I've found is I have to create at least 15 bad titles to [29:25.760 --> 29:31.200] come up with one good title. So, and it's interesting because a lot of times when people [29:31.200 --> 29:36.800] in my team will create blogs, they'll literally just create one title. And that's just the [29:36.800 --> 29:40.440] starting, they, they think they're at the finish point, but it's just the starting point. [29:40.440 --> 29:45.800] And then we riff from there to come up with other alternatives. Um, so this is an example [29:45.800 --> 29:51.520] of screenshot of 15 different titles that, um, Marco Slott and I were experimenting with [29:51.520 --> 29:59.520] and fiddling with for some blog last October, um, about the Citus 11.1 open source release. [29:59.520 --> 30:05.000] But, and it looks like noise. I probably should have displayed these in categories, but there [30:05.000 --> 30:11.120] really is a method to the madness here. Like some of these titles use Postgres as well as [30:11.200 --> 30:15.960] Vitus in the title for people who don't know the connection. It's an important connection. [30:15.960 --> 30:21.960] So, you know, maybe the title had to include both. Um, we were fiddling with, uh, different [30:21.960 --> 30:28.080] ways to talk about like without blocking rights or without interruption or, um, how are the [30:28.080 --> 30:32.880] other ways, um, using create distributed table concurrently. So using different terms to [30:32.880 --> 30:39.880] express the same concept, 15 minutes. Huh? I better talk faster, huh? Okay. I'll get going. [30:39.880 --> 30:45.040] Um, so the bottom line is don't be afraid to generate a whole bunch of titles and fiddle [30:45.040 --> 30:49.360] and experiment to try to come up with what the right, the right answer is. Now, there's [30:49.360 --> 30:54.040] three techniques for assessing once you have a list. Um, the first is, are the most important [30:54.040 --> 30:58.840] terms in the first 60 characters. So on a Google search results page, they will truncate [30:58.840 --> 31:03.920] the title after 60 characters. So don't take the most important word and put it later in [31:03.920 --> 31:07.000] the title because then people are never going to see it and it's not going to cause them [31:07.040 --> 31:13.880] to click. Um, also just, is it boring versus is it interesting? And I'll often use incognito [31:13.880 --> 31:20.880] browser searches to figure out, um, you know, what other things are popping up already for [31:22.360 --> 31:28.040] those particular search keywords in terms. And I definitely don't want to use the title [31:28.040 --> 31:32.760] that somebody else has already used. Like that would be a bad thing. So that's one, one reason [31:32.760 --> 31:38.000] to kind of compare it to what's out there in the world. All right. And then, um, a few [31:38.000 --> 31:43.840] more bullets here on the right hand side of things to pay attention to. Um, I will often [31:43.840 --> 31:48.160] advise people to avoid general terms like solution. I can't stand that one. Like why [31:48.160 --> 31:55.160] say solution when you could just say database or Postgres or Citus? Um, I really pay attention [31:56.160 --> 32:01.640] to pronouns like it and this. A lot of us like to be efficient in our writing. And so [32:01.640 --> 32:07.800] using it makes things sound a little bit less repetitive and I get it, but almost always [32:07.800 --> 32:13.440] that pronoun is introduces an ambiguity because it could be referring to this noun or maybe [32:13.440 --> 32:18.120] to that noun. And for somebody who's in a hurry, it stops them dead in their tracks to [32:18.120 --> 32:21.640] try to figure out what you're referring to and they're not quite sure what you meant. [32:21.640 --> 32:28.640] Um, so that's another tip. And then I try to, um, when you create, um, hyperlinks, like [32:28.640 --> 32:35.640] it's a really bad idea to ever use like the word here as a, as the anchor text for a hyperlink [32:35.640 --> 32:41.240] or anything generic. You want the, the anchor text that, you know, has the underline under [32:41.240 --> 32:46.080] it that links to wherever you're taking them off site to have very specific and relevant [32:46.080 --> 32:51.480] keywords to wherever you're taking them, not vague in general ones. And you'll, it's actually [32:51.480 --> 32:56.480] something that, that matters to the search engines. So those are some SEO tips, but I'm [32:56.520 --> 33:02.120] going to move on as quickly as I can because there's more to talk about. Um, alt text for [33:02.120 --> 33:06.160] graphics. I mentioned that earlier. And then, um, Google actually also cares about this [33:06.160 --> 33:13.160] thing called eat for author bios. And that stands for expertise, authoritativeness and [33:13.240 --> 33:20.240] trustworthiness. And so on your blog platform, wherever you publish, make sure that there's [33:20.400 --> 33:25.760] a bio description for you. And it's always, it's nice to make it fun. In my case, I would [33:25.800 --> 33:30.640] say that I love chocolate labradors or I love salient grease, but it's even more important [33:30.640 --> 33:36.240] to show your expertise and your trustworthiness. You know, um, the examples, let's see, do [33:36.240 --> 33:41.240] I have two examples here? Yeah. So in Marco's case, the second one down, you know, I showed [33:41.240 --> 33:46.120] that he has a PhD in distributed systems and that he's the lead engineer on the Citus database [33:46.120 --> 33:51.840] team. And also like what conferences he's spoken at. Apparently the eat, um, team of [33:51.840 --> 33:56.200] reviewers care a lot about conference talks. That's one of the ways they decide somebody [33:56.200 --> 34:02.000] is credible in a field. Um, for Thomas Monroe, who's another postgres engineer on our team, [34:02.000 --> 34:07.600] um, again, list what conferences that he spoke at and, um, the fact that, you know, he's [34:07.600 --> 34:13.160] a core developer, et cetera, et cetera. Okay. So again, another checklist. I will be publishing [34:13.160 --> 34:20.120] my slides afterwards. So, uh, you'll be able to grab these if you find them useful. Uh, [34:21.000 --> 34:28.000] I think I've got all of the editing tips here as well as the SEO tips. Cool. So now we're [34:28.080 --> 34:33.360] done with content, um, both you as well as the edit cycle. And I want to talk for just [34:33.360 --> 34:38.160] a few minutes on distribution, which is kind of how do you publish? So first I want to [34:38.160 --> 34:42.280] ask a question, which is, um, somebody said this to me once, we're going to know which [34:42.280 --> 34:49.280] blog posts are good by how much traffic they got. True show of hands. False show of hands. [34:50.920 --> 34:57.920] Okay. So it's, it's false. Like typically how much traffic something gets is more a factor [34:58.600 --> 35:04.480] of how much was it shared? How much was it promoted? Did you actually distribute it and [35:04.480 --> 35:11.480] get it out into the world? Um, distribution trumps content almost all of the time. So [35:12.000 --> 35:17.520] there's two aspects of distribution that publishing platform itself, which needs to, you need [35:17.560 --> 35:21.760] to be smart about that, but we're not going to talk about that today. We'll focus instead [35:21.760 --> 35:28.760] on how to promote your blog posts. Um, so one pro tip I always share with people is before [35:28.760 --> 35:33.000] you, as soon as you publish, but before you start sharing it for anybody start sharing [35:33.000 --> 35:40.000] it, double check what I call the unfurl of that URL. Um, that might be a slack term. So [35:40.240 --> 35:45.320] I'm sure there's another term for it, but basically when you share your URL on different [35:45.320 --> 35:50.840] platforms, the HTML metadata will get displayed, right? The HTML title, the HTML description [35:50.840 --> 35:56.000] as is here, title, description, as well as the OG image, right? Or the social graphic [35:56.000 --> 36:01.080] or the teaser graphic, different blog platforms call it different things. Um, and sometimes [36:01.080 --> 36:05.240] people have screwed up and they have the wrong graphic or they didn't fix their description. [36:05.240 --> 36:10.120] And then some of these social platforms cash the graphic in particular. So if you notice [36:10.120 --> 36:15.400] the mistake seconds after you tweet it out the first time, Twitter was going to catch [36:15.400 --> 36:20.640] that graphic for 24 to 48 hours and you can fix it, but people are still going to see [36:20.640 --> 36:25.800] the wrong one. So, um, it's just worth double checking that, um, before you start sharing. [36:25.800 --> 36:31.280] And then I always put a plug in for Planet Postgres. If your blog is about Postgres and [36:31.280 --> 36:37.720] it complies with all of the Planet Postgres policies, um, syndicating it there is a great [36:37.760 --> 36:43.280] way to get it into people's RSS feeds. And, um, also you'll see on the right here that [36:43.280 --> 36:47.800] there's a Planet Postgres Twitter account and on MasterDawn there's a Planet Postgres [36:47.800 --> 36:54.800] unofficial bot account too. And so then you can, people follow that account on MasterDawn [36:54.840 --> 36:58.760] or on Twitter and it's another way to reach people. So that's a fabulous way to reach [36:58.760 --> 37:03.120] people. And the bottom line thing is just go to where your readers are. Um, and so what [37:03.200 --> 37:08.440] that means for me and our team is that we end up sharing our blog posts on pretty much [37:08.440 --> 37:15.600] all of these different social platforms because there's no one social platform that everybody [37:15.600 --> 37:20.760] subscribes to. And did I add MasterDawn to this list? Oh, I need to update this and add [37:20.760 --> 37:25.920] MasterDawn. Um, I created this slide back in October. Things were a little bit different [37:25.920 --> 37:31.880] back then. But actually on most of these, um, slides I have my, my MasterDawn account [37:31.920 --> 37:37.720] is now listed. So Twitter is just the clear Jordan a bit, but I'm on hackyderm.io, which [37:37.720 --> 37:42.720] I probably mispronounced. Okay. Another tip, rinse, lather, repeat. And, and that just [37:42.720 --> 37:47.200] means if you're going to share it, don't be afraid to share it a few times. At different [37:47.200 --> 37:53.240] times a day. Like you're, the Postgres audience is global and something that you tweet in [37:53.240 --> 37:58.560] the morning in Europe is not going to reach people in California necessarily unless they're [37:58.600 --> 38:04.600] super night owls. Um, and vice versa. So I know a bunch of engineers were like, oh, [38:04.600 --> 38:09.200] I already tweeted it once. I don't want to pollute my, you know, my profile with it more [38:09.200 --> 38:13.160] than once. But if you want to reach your friends, you're going to have to hit different time [38:13.160 --> 38:19.320] zones. Um, and just keep in mind that only like one statistically only one to 2% of your [38:19.320 --> 38:23.520] Twitter followers would see a given tweet. I don't actually know what that statistic [38:23.520 --> 38:30.520] is on mastodon. Yeah. Devrim, do you want me to go faster? Is that? Yeah. Yeah. The number [38:34.160 --> 38:40.640] may be lower now. Things are definitely changing in the Twitter world. Um, an example of rinse, [38:40.640 --> 38:47.140] lather, repeat too. Um, uh, some of my colleagues, my boss actually was interviewed on Azure [38:47.140 --> 38:52.000] Friday, which is this wonderful video show put on by Scott Hanselman, who I think is [38:52.000 --> 38:58.880] a fabulous human being. And, um, the person in charge of the Azure Friday show tweeted [38:58.880 --> 39:02.920] about it multiple times, but with different graphics each time and different words each [39:02.920 --> 39:07.920] time. And I actually think that's a good technique because the different graphics are bound to [39:07.920 --> 39:14.920] appeal to different people. I mean, I suppose it's not unlike Netflix having, um, different [39:14.920 --> 39:20.920] graphics that they use to promote a movie and something that appeals to Boris is not necessarily [39:20.920 --> 39:26.240] going to be what appeals to me. So I bet we see different, um, graphics for these various [39:26.240 --> 39:31.440] shows. All right. Um, and you can keep your Twitter momentum by recycling tweets. Um, [39:31.440 --> 39:35.920] the same is true on mastodon as well. So just, you know, you can quote tweet on Twitter [39:35.920 --> 39:42.560] and not on mastodon yet. Um, your mileage may vary, but it's super, um, effective. And [39:42.560 --> 39:49.400] also having other people on the team share it. So for example, um, let's see, I think [39:49.440 --> 39:54.120] Devrim took something that I tweeted recently and then he quote tweeted it and it reached [39:54.120 --> 40:00.000] a ton more people as a result. So, um, just keep recycling it and eventually you will [40:00.000 --> 40:05.640] hit more people. Um, on Reddit, it's super important to be there for the Q and A. Like [40:05.640 --> 40:10.160] most of the moderators will say that one way promotion is considered advertising. They [40:10.160 --> 40:16.280] don't like that. And then you can end up getting blocked by the mods explicitly or by the bots, [40:16.320 --> 40:21.600] you know, sometimes by mistake. And so, but if you go in there and you make a comment [40:21.600 --> 40:27.160] and you say, Hey, we're here to answer questions. Let's discuss this. And you facilitate a conversation. [40:27.160 --> 40:32.480] That's quite welcome. And so, but then you have to be willing to participate. And, um, [40:32.480 --> 40:37.160] there were a ton of questions on this particular topic when we open source site is last year. [40:37.160 --> 40:41.960] And so Yalta had a lot of work to do to get answers to those questions. Five minutes left. [40:42.760 --> 40:50.000] Number seven is that karma is a two way street. So if you want your postgres colleagues or [40:50.000 --> 40:56.400] people who work on the same team as you to help spread the word on some blog post that [40:56.400 --> 41:03.480] you've written, turn the table around and help them when they've got something new and [41:03.480 --> 41:07.680] that they're publishing and they're trying to get it out there. And that's something [41:07.720 --> 41:13.680] that I think we all should do more of. The more we help amplify each other's work on [41:13.680 --> 41:21.640] postgres and on site is the just the more people will discover what's going on, learn about it, [41:21.640 --> 41:27.880] become expert in it and join the community. Again, another set of tips. And here for promotion, [41:27.880 --> 41:32.800] your checklist, like your mileage is going to vary. So I didn't give an explicit checklist [41:32.800 --> 41:37.520] because what you want to do is going to be different based on whatever part of the database [41:37.560 --> 41:41.880] you're working on. So you'll have to create your own promotion checklist, but hopefully these tips [41:41.880 --> 41:47.680] will be helpful. And I put it all together here because the devil is in the details and there [41:47.680 --> 41:54.640] is a lot to do. And if there's one thing you're going to remember from this talk today, it should be [41:54.640 --> 41:59.680] to have empathy for your readers. And if you do that, you're more likely to write a conversational [41:59.680 --> 42:05.480] tone of voice, speak to you, make things scannable, readable, simple, take the time to explain [42:05.520 --> 42:11.720] things. Prioritize and care about your reader more than you care about yourself. There were a [42:11.720 --> 42:16.000] whole bunch of people who helped me and inspired me in writing this talk. So I had to throw that [42:16.000 --> 42:22.840] slide out there to thank them. And there is a feedback link for all of the talks here in the [42:22.840 --> 42:28.880] Postgres dev room. So if you go into flodstem.org 2023 schedule and you go to the Postgres dev [42:28.880 --> 42:34.040] room track, you can see all of our talks listed, and you can click on any one of them. And in the [42:34.040 --> 42:39.320] bottom left, there's a submit feedback link. And I don't know how many of you generally give feedback [42:39.320 --> 42:47.000] on your flodstem talk. Show of hands. Okay. Let's try to increase that number this year. Because [42:47.000 --> 42:51.760] it's super helpful. People pour a lot of energy into creating these talks and organizing the dev [42:51.760 --> 42:59.160] room. And we would love to get your feedback. I put my addresses up there on mastodon and on [42:59.160 --> 43:04.720] Twitter. If any of you want to follow me, I will be posting a link to the slides on both of those [43:04.720 --> 43:12.280] accounts. And I put the site is GitHub repo on there too. So that if it is something that you [43:12.320 --> 43:17.440] appreciate, you can be sure to drop it a star as well. And then I know that we need to move on to the [43:17.440 --> 43:22.680] next talk. I think I'm out of time. So I don't know. Do we have any time for questions? Okay, so we [43:22.680 --> 43:29.640] have a few minutes for questions. I also wanted to say that I have some Postgres and some Citus [43:29.640 --> 43:36.840] database socks up here. I have 40 pairs. I also have a whole bunch of stickers of the Citus LA corn [43:37.000 --> 43:43.320] open source mascot too. So feel free to come and get them afterwards and wear them in good health. But [43:43.320 --> 43:45.320] first questions. Any? [43:57.280 --> 44:05.080] Hey, so great talk. So in tech, mostly most many folks have strong opinions about certain thing to a [44:05.080 --> 44:10.600] point like some people take religiously certain stuff. And when you're in the edit cycle, would you [44:10.640 --> 44:17.320] eliminate such pieces of information that will cause a sparking reaction from such folks? Or would you [44:17.320 --> 44:23.800] let the disagreement and see it because knowing that disagreement is information? So what should one [44:23.800 --> 44:28.000] do in such certain situation when they want to like have such piece of information in their blog [44:28.000 --> 44:28.520] post? [44:29.040 --> 44:34.720] I think that's a really good question. So where's the line between having an opinion on something, [44:35.000 --> 44:41.760] right? An opinion that might be unique in your own and being offensive, perhaps to other groups or [44:41.760 --> 44:48.760] hurtful or overly critical. And I kind of use the code of conducts as my guide. Like how far have I [44:48.760 --> 44:57.040] stepped from expressing my opinion into trashing somebody else's opinion? I think I fall back on [44:57.040 --> 44:57.400] that. [44:59.000 --> 45:00.080] Other questions? [45:02.280 --> 45:03.800] There's one behind you, Jimmy. [45:05.720 --> 45:13.120] It's a small question, but what's the different tips you can say about presenting something in your [45:13.120 --> 45:20.240] team to your colleagues, whatever. It's not blogging something, but still it's a lot of things you [45:20.240 --> 45:25.440] mentioned here and etc. Maybe you have some tips there as well to say. [45:25.720 --> 45:31.120] I do, but there's no way I could answer that question succinctly in the time that we have. But I will [45:31.160 --> 45:37.840] say that a lot of these same tips about communicating in the format of a blog also make a lot of [45:37.840 --> 45:45.800] sense in the format of a presentation. It's just, for example, the white space that I talked about in [45:45.800 --> 45:51.720] your blog, that breathing room, it's the pause when you're giving a talk. It's the taking a moment to [45:51.720 --> 45:57.600] speak slowly when you're giving a talk, for example. I also a big fan of spreading things out on [45:57.600 --> 46:03.720] multiple slides so that any one slide only says one thing versus having a lot of noise up there. So the [46:03.720 --> 46:09.720] signal to noise ratio lesson is the same in both two. Okay. Another question? [46:12.240 --> 46:16.720] Oh, and just be careful with the seats, people. When you sit down, it's very loud. Go for it. [46:17.000 --> 46:22.600] So I'm a personal blogger and let's say I don't have all the resources to promote on all the [46:22.680 --> 46:31.000] possible websites, Reddit, Hacker News, post to Twitter. So if I can choose, let's say, two or three [46:31.000 --> 46:35.840] like major promotion resources, what's your advice for choosing them? [46:36.240 --> 46:40.960] Which social platforms to pick if you only have time to publish on a few of them? Is that the question? [46:41.160 --> 46:43.920] Yeah, like, shall I choose Reddit over Hacker News? [46:44.560 --> 46:49.320] I can't prescribe that for you. What I would recommend is that you experiment, right? Because it [46:49.320 --> 46:56.200] depends on where your friends are, who your customers and users are, where they are. That advice [46:56.200 --> 47:04.480] about go to where your audience is, that's where you need to go. And so you might try these two first [47:04.480 --> 47:09.920] and then try these two another time. I also don't think I would just give it, give a particular [47:09.920 --> 47:14.960] social platform one chance because it might be the right platform for you, but you post it at the [47:14.960 --> 47:20.200] wrong time of day or the wrong day of week. So I think you're just going to have to experiment a [47:20.200 --> 47:26.040] little bit there. Thank you. Any other questions or are we out of time, Jimmy? No, we got three, two [47:26.040 --> 47:36.560] minutes. Okay, Karen has a question. I'll repeat the question if you want. [47:39.560 --> 47:43.400] Hey, thank you very much. I didn't manage to catch your talk last time you did it. So I'm really [47:43.440 --> 47:51.680] glad I was here today. Lots of us in IT from speaking to many people don't find it natural to [47:51.680 --> 47:59.120] promote ourselves or to put ourselves out there and write blog posts and, you know, promote our [47:59.120 --> 48:06.800] tweets and things. Have you got specific advice for that? That is a really good question. And I [48:06.800 --> 48:13.520] struggle with it because it's back to why I made that karma point to sometimes people also have [48:13.520 --> 48:19.880] trouble promoting their teammates work because that might be seen as too self-serving also. But [48:19.880 --> 48:25.920] the fact is, like, if we want the Postgres community to grow, if we want the information that [48:25.920 --> 48:32.960] we're sharing to get out there, then we kind of do have to promote it. And I don't know, I don't [48:33.000 --> 48:40.080] know how to really address that concern, except to suggest that you just have to let it go, right? [48:40.080 --> 48:45.440] We just have to do it. You have to see it as part of the job. It does become more comfortable over [48:45.440 --> 48:51.960] time. It's not unlike anything that with practice. And you know what will happen when you promote [48:51.960 --> 48:57.680] something and you get the feedback from someone, Pavlo sends you a note and says, hey, that was [48:57.680 --> 49:02.440] really useful. I especially like the bit about this. And then your brain starts to connect the [49:02.440 --> 49:08.680] dots like, oh, Pavlo wouldn't have even known about it if I hadn't shared it. Okay, maybe sharing is a [49:08.680 --> 49:15.760] good thing. I don't know. So you get the positive validation and that might help. Any other questions? [49:15.760 --> 49:32.000] How to cope with imposter syndrome is the question. And it's a really good question. I [49:32.280 --> 49:39.840] think a lot more people feel imposter syndrome than we realize. I bet there's a lot of speakers here at [49:39.840 --> 49:45.280] FOSDOM who are experts in their field, but maybe felt like imposters as they were walking into the [49:45.280 --> 49:51.360] building today and wondering why they're the ones giving the talk. I'm not a psychologist, so I [49:51.360 --> 49:57.520] don't think I have a good answer except to say that you're not alone. And everybody has a story to [49:57.520 --> 50:04.520] tell. And everybody has a unique point of view and lessons. And just, just, just, just, just, just,