1
00:00:05,920 --> 00:00:07,480
[CLAIRE] Welcome to Talking Postgres.

2
00:00:08,020 --> 00:00:10,680
It's a monthly podcast for developers who love Postgres.

3
00:00:10,980 --> 00:00:15,900
I am your host, Claire Giordano, and in this podcast, we explore the human side of Postgres,

4
00:00:16,560 --> 00:00:18,140
databases, and open source.

5
00:00:18,350 --> 00:00:23,680
And that means we try to figure out why do people who work with Postgres do what they

6
00:00:23,840 --> 00:00:25,700
do and how did they get there?

7
00:00:26,340 --> 00:00:30,420
Thank you to the team at Microsoft for sponsoring this community conversation.

8
00:00:31,180 --> 00:00:35,160
And I am so excited to introduce today's guest to you.

9
00:00:35,920 --> 00:00:38,620
Peter Cooper is our episode 28 guest.

10
00:00:39,270 --> 00:00:41,020
Peter is joining us from the UK.

11
00:00:42,340 --> 00:00:47,480
And if you don't know Peter, he was formerly chair of several O'Reilly conferences,

12
00:00:48,560 --> 00:00:51,460
conferences like Fluent and OSCON Europe.

13
00:00:52,220 --> 00:00:55,080
And today and since about 2010.

14
00:00:55,440 --> 00:00:56,040
So what is that?

15
00:00:56,660 --> 00:00:57,180
12 years.

16
00:00:57,940 --> 00:00:59,960
It says 2010, but that's more than 12 years.

17
00:01:00,030 --> 00:01:01,280
We'll have to talk about that.

18
00:01:01,800 --> 00:01:06,120
That Peter has been founder and editor-in-chief of Cooper Press.

19
00:01:06,610 --> 00:01:13,340
And it's a company that publishes about seven weekly newsletters that reach almost, it's

20
00:01:13,480 --> 00:01:20,880
about 460,000 developers and engineers, including JavaScript Weekly, Front End Focus, Ruby Weekly.

21
00:01:21,460 --> 00:01:22,860
I think that was the first one.

22
00:01:23,580 --> 00:01:27,380
There's a newsletter for Golang and for React and Node.

23
00:01:27,680 --> 00:01:31,220
And my favorite, my absolute favorite, is Postgres Weekly.

24
00:01:32,540 --> 00:01:40,380
And one of the things I love most about Postgres Weekly are the insights and perspectives that get shared in the very short blurbs that link to new content, new articles, new videos, things that have been recently published.

25
00:01:46,720 --> 00:01:49,380
And it's a newsletter that's industry-wide.

26
00:01:49,620 --> 00:01:56,540
So it covers Postgres content from all over the Postgres project, around the globe and

27
00:01:56,700 --> 00:01:57,880
around all the different companies.

28
00:01:58,920 --> 00:02:01,840
So with that long preamble, welcome, Peter.

29
00:02:03,160 --> 00:02:03,760
[PETER] Hey, how's it going?

30
00:02:04,860 --> 00:02:05,320
[CLAIRE] It's good.

31
00:02:05,460 --> 00:02:06,620
I'm so glad that you're here.

32
00:02:08,700 --> 00:02:09,320
Today's topic?

33
00:02:08,720 --> 00:02:10,259
[PETER] It feels like we've known each other forever.

34
00:02:11,180 --> 00:02:18,060
[CLAIRE] It does, but we've only met in person for real once, but actually probably twice.

35
00:02:17,360 --> 00:02:17,460
[Yeah.]

36
00:02:18,720 --> 00:02:23,060
I think the very first time I saw you, maybe I introduced myself, but you probably don't remember.

37
00:02:24,040 --> 00:02:29,420
But yeah, I'm glad you were actually in the San Francisco Bay Area a couple of weeks ago.

38
00:02:30,220 --> 00:02:31,940
And that kind of led to today.

39
00:02:33,580 --> 00:02:34,880
[PETER] Yeah, you finally managed to convince me.

40
00:02:35,060 --> 00:02:38,540
[CLAIRE] Although I am so happy after years of trying.

41
00:02:39,400 --> 00:02:43,560
I don't know if you know this, but Michael Christofides, who is one of the hosts of another

42
00:02:43,900 --> 00:02:45,340
Postgres podcast called Postgres FM, he sent me a note a number of months ago saying,

43
00:02:48,460 --> 00:02:52,060
Ah, Claire, I think it would be great to get Peter Cooper on a podcast.

44
00:02:50,500 --> 00:02:51,900
[LAUGHS]

45
00:02:52,740 --> 00:02:55,260
And I think your podcast makes the most sense.

46
00:02:55,720 --> 00:02:56,700
So make it happen.

47
00:02:57,320 --> 00:03:02,380
And hopefully he knows this is happening and he's going to listen to it afterwards.

48
00:03:03,230 --> 00:03:03,640
[PETER] Yeah

49
00:03:03,660 --> 00:03:05,460
I know his show, I promote it quite often.

50
00:03:05,680 --> 00:03:06,500
So yeah, fantastic.

51
00:03:07,940 --> 00:03:12,300
[CLAIRE] So the topic for today is 12 years of Postgres Weekly.

52
00:03:12,020 --> 00:03:12,120
[Yeah.]

53
00:03:12,980 --> 00:03:14,280
Oh, so how does that work?

54
00:03:14,440 --> 00:03:15,040
I get it.

55
00:03:15,080 --> 00:03:20,360
You've been working on the newsletter business since 2010, but maybe Postgres Weekly didn't

56
00:03:20,570 --> 00:03:21,800
happen for the first couple of years.

57
00:03:21,950 --> 00:03:24,480
Is that how the math works?

58
00:03:25,540 --> 00:03:26,280
[PETER] Yes, that's correct.

59
00:03:26,600 --> 00:03:32,540
So Postgres Weekly didn't turn up until quite late in 2012, I believe.

60
00:03:33,980 --> 00:03:35,120
I don't have the number in front of me

61
00:03:35,300 --> 00:03:38,560
but I know that it was during the Postgres 9.2 era

62
00:03:38,800 --> 00:03:41,700
so that kind of puts it into perspective a little bit.

63
00:03:42,960 --> 00:03:43,460
[CLAIRE] Okay.

64
00:03:43,840 --> 00:03:49,980
And when you were in elementary school, I actually don't know what they call.

65
00:03:47,840 --> 00:03:48,200
[PETER] Yep.

66
00:03:49,340 --> 00:03:50,480
We're skipping right back.

67
00:03:50,880 --> 00:03:51,800
[CLAIRE] We're skipping right back.

68
00:03:51,820 --> 00:03:53,740
We're going to the beginning of your origin story.

69
00:03:54,180 --> 00:03:55,420
And you know how you have to...

70
00:03:54,390 --> 00:03:54,940
[When I was born...]

71
00:03:57,480 --> 00:03:59,660
When you were born, how about where you were born?

72
00:03:59,820 --> 00:04:01,180
I'm presuming you were born in the UK.

73
00:04:02,500 --> 00:04:07,000
[PETER] At least I can say something interesting about where I was born, so I was born in Greenwich pretty

74
00:04:07,100 --> 00:04:11,460
much very close to the Meridian line, so I know, you know, I was born at nought degrees,

75
00:04:13,040 --> 00:04:13,800
and actually have pretty much lived on that line, like the nought degree Meridian line actually runs

76
00:04:19,299 --> 00:04:24,340
through my current town I live in. I'm much further north now in a place called Lincolnshire but

77
00:04:24,710 --> 00:04:28,640
we have the line run through our town so I've always lived on that Greenwich Meridian line so

78
00:04:28,660 --> 00:04:30,720
I'm a GMT child all the way.

79
00:04:31,240 --> 00:04:39,060
[CLAIRE] Okay. Well, I don't think my question applies to when you were born. I want to fast forward to

80
00:04:39,120 --> 00:04:41,080
like elementary school.

81
00:04:40,630 --> 00:04:44,200
But you know how you have to fill out those pieces of paper to bring home to your family

82
00:04:44,380 --> 00:04:49,320
that say like, my favorite color is this and my favorite thing to do and my favorite food.

83
00:04:49,720 --> 00:04:53,540
And usually one of the questions is, what do you want to be when you grow up?

84
00:04:54,240 --> 00:04:57,460
So when you filled out that, what do you want to be when you grow up?

85
00:04:57,640 --> 00:05:03,840
Did you say, I want to be a publisher that focuses on developers and giving them really

86
00:05:04,060 --> 00:05:04,800
useful content?

87
00:05:05,420 --> 00:05:06,680
Is that your answer?

88
00:05:06,660 --> 00:05:07,400
[PETER] No, not quite.

89
00:05:08,600 --> 00:05:14,620
I don't remember actually doing that exercise, but my parents always remind me that when I was a child, I already wanted to be a bus driver.

90
00:05:14,860 --> 00:05:25,380
So I set my ambitions high at an early age, but unfortunately never got to drive a bus and instead discovered I was a lot better at sitting behind a keyboard and typing.

91
00:05:25,720 --> 00:05:32,520
So it wasn't until my teenage years, though, that I did actually figure out kind of like what I'm doing now almost.

92
00:05:32,960 --> 00:05:34,280
So there is a little bit of a story to that.

93
00:05:34,420 --> 00:05:38,720
But yeah, it took until I was about 14 or 15 to figure that out.

94
00:05:39,300 --> 00:05:41,660
[CLAIRE] Okay, so what happened when you were 14 or 15?

95
00:05:43,120 --> 00:05:48,380
[PETER] So I pretty much programmed my entire life, probably from when I was around like three or four,

96
00:05:48,980 --> 00:05:56,200
just because my father was really heavily, heavily, like geekily into microcomputers in the 80s.

97
00:05:56,340 --> 00:05:57,560
So he had them all over the place.

98
00:05:57,640 --> 00:06:02,260
He had all sorts of different ones and Spectrums and BBC Micros and things that were popular in the UK.

99
00:06:03,580 --> 00:06:10,280
Machines that didn't necessarily extend to the US. We had some rather odd machines. And of course,

100
00:06:10,430 --> 00:06:15,020
you know, I'd start to play with them and he encouraged it. And I was just into, you know,

101
00:06:15,050 --> 00:06:18,820
just messing around. Obviously, you know, it wasn't building, you know, databases or enterprise

102
00:06:19,180 --> 00:06:23,800
software at that age. But just, you know, messing around and doing loops and all this type of thing.

103
00:06:24,880 --> 00:06:29,119
So programming has always been a part of my life, you know, before I can even remember. So it's

104
00:06:29,140 --> 00:06:34,360
kind of been a natural thing for me but when I was a teenager I kind of got a lot more into it

105
00:06:34,360 --> 00:06:40,000
with like demo coding so that's where you like make you know graphical demos. This is back

106
00:06:40,010 --> 00:06:47,540
in the DOS days so you know it was it was all quite rustic let's say, but I got onto the

107
00:06:48,110 --> 00:06:55,839
yes I got onto the internet in 1990 I'd say early 1995 and I was basically addicted to

108
00:06:53,440 --> 00:06:53,620
[Okay.]

109
00:06:55,900 --> 00:07:02,060
a part of the internet called Usenet which is kind of around now but it's used for pirating movies

110
00:07:02,110 --> 00:07:07,220
and stuff but back in the day it was kind of like the equivalent of let's say like Reddit or forum

111
00:07:07,440 --> 00:07:13,100
software but it kind of ran a very low level on the internet you know it's just text but there

112
00:07:12,940 --> 00:07:17,280
were all these different groups where you could discuss with people you know whatever your favorite

113
00:07:17,480 --> 00:07:23,819
topics were and so I was actually on a lot of groups like I was on the JavaScript group back

114
00:07:23,840 --> 00:07:28,740
in 1996 so JavaScript had just come out and you know people are on there asking questions and you know

115
00:07:28,780 --> 00:07:34,080
we were chatting and everything but I was very heavily into BASIC programming so you know kind of

116
00:07:34,080 --> 00:07:39,480
a slight Microsoft connection there. I was using like QBasic and professional basic that you know

117
00:07:39,620 --> 00:07:46,080
Microsoft was producing at the time QuickBASIC 4.5 and I started what's what I called a fanzine

118
00:07:46,680 --> 00:07:53,800
where I would get submissions from people on the news group of you know cool programs that

119
00:07:53,820 --> 00:07:58,280
or tips that they had and then I'd package them together into like a you know plain text kind of

120
00:07:58,360 --> 00:08:03,640
like newsletter format and then once every couple of months or so I would then you know put that

121
00:08:03,760 --> 00:08:10,620
onto the group as a published thing and the funny thing is you can actually go back and there are

122
00:08:10,800 --> 00:08:14,980
still archives of these things so I can go back and look at you know the things that I was publishing

123
00:08:15,100 --> 00:08:17,120
when I was 14 and 15 it's quite fun to see.

124
00:08:19,360 --> 00:08:20,680
[CLAIRE] Have you showed your family?

125
00:08:22,280 --> 00:08:23,780
Would they get a kick out of this?

126
00:08:25,580 --> 00:08:30,640
[PETER] Not my current close family but my you know my parents were aware of it and everything

127
00:08:30,940 --> 00:08:31,140
[Okay.]

128
00:08:31,360 --> 00:08:35,599
but my kids wouldn't find it very entertaining at this point. It doesn't involve Peppa Pig or

129
00:08:35,700 --> 00:08:41,000
anything like that so, yeah, my children are not into technology whatsoever which is rather bizarre

130
00:08:41,280 --> 00:08:44,740
given my background but yeah I think it's their rebellious streak.

131
00:08:45,500 --> 00:08:46,540
[CLAIRE] Well, maybe there's still time.

132
00:08:46,860 --> 00:08:47,240
You never know.

133
00:08:47,640 --> 00:08:48,740
They surprise you.

134
00:08:47,720 --> 00:08:48,560
[PETER] You never know.

135
00:08:49,180 --> 00:08:49,600
[CLAIRE] They pivot.

136
00:08:49,780 --> 00:08:50,440
They change.

137
00:08:50,900 --> 00:08:51,360
Who knows?

138
00:08:52,160 --> 00:08:52,460
[Sadly.]

139
00:08:52,760 --> 00:08:56,240
Okay, so you kind of found your calling at 14 or 15.

140
00:08:57,260 --> 00:08:59,740
But did you know it was your calling or no?

141
00:08:57,439 --> 00:08:58,400
[PETER] Well kind of,

142
00:09:00,100 --> 00:09:00,759
[You just...]

143
00:09:00,420 --> 00:09:05,180
no, I mean it was just my hobby so when I eventually you know went through education and

144
00:09:05,180 --> 00:09:09,180
I was going to go to college I was going to go and study law so my kind of you know plan was I

145
00:09:09,220 --> 00:09:15,820
wanted to become a lawyer essentially, that didn't actually end up happening because

146
00:09:16,020 --> 00:09:23,100
my parents plan backfired on them so my plan after I finished high school was to you know just sit

147
00:09:23,220 --> 00:09:28,700
around and do what I wanted all summer and then go to college and my parents you know I grew up in a

148
00:09:28,940 --> 00:09:33,020
very working class family and they were like well no you're not gonna laze around all summer you're

149
00:09:33,020 --> 00:09:38,460
gonna get a part-time job or you know some kind of job, so you know you're gonna pay your way so

150
00:09:38,740 --> 00:09:43,800
you know I pretty much paid rent since I was 16 and you know which is fair enough that's just the

151
00:09:43,800 --> 00:09:50,060
way I was brought up so I went and got a job and because this was like the late 90s the whole

152
00:09:50,720 --> 00:09:57,380
you know we're kind of early on in that dot-com era very early on and I managed to get a job at a

153
00:09:57,720 --> 00:10:00,740
what was then called a new media company in London who were building websites that you know

154
00:10:02,600 --> 00:10:08,440
some of the earliest you know big budget websites and I just kind of got hooked on working so I was

155
00:10:08,460 --> 00:10:11,320
okay, I'm not going to go to college. I'm just going to keep working in this industry. So

156
00:10:12,200 --> 00:10:15,080
yeah, that kind of backfired. So I never actually became a lawyer. I just kind of

157
00:10:15,740 --> 00:10:19,620
fell into a job that naturally meshed with my personal interests. And it just happened

158
00:10:19,690 --> 00:10:21,540
to be there at the time, but that wasn't the plan.

159
00:10:22,380 --> 00:10:27,280
[CLAIRE] I can't imagine your parents' conversations, like talking about how it backfired and how,

160
00:10:27,640 --> 00:10:29,020
oh, we shouldn't have said that.

161
00:10:29,020 --> 00:10:30,180
We should have done something different.

162
00:10:30,580 --> 00:10:36,780
But of course, I'm sure that they were quite pleased with how you landed, even though it wasn't the plan.

163
00:10:36,120 --> 00:10:38,980
[PETER] Yeah, but I still didn't get to goof off that summer.

164
00:10:39,030 --> 00:10:43,780
I basically spent, you know, I was doing nine hour work days with a three hour, you know, commute each day as well.

165
00:10:44,000 --> 00:10:46,300
So it was like, yeah, ridiculous.

166
00:10:46,560 --> 00:10:50,200
But I get dropped into the, you know, the work world and, you know, really at the deep end.

167
00:10:50,350 --> 00:10:51,680
And, you know, just went from there.

168
00:10:52,420 --> 00:10:52,600
[CLAIRE] Okay.

169
00:10:53,540 --> 00:10:59,740
Now, for anybody listening to this podcast who is unfamiliar with Postgres Weekly, you should definitely go check it out.

170
00:11:01,100 --> 00:11:04,360
postgresweekly.com is the right URL.

171
00:11:02,440 --> 00:11:02,800
[PETER] Correct.

172
00:11:03,030 --> 00:11:03,140
Yeah.

173
00:11:04,820 --> 00:11:08,840
[CLAIRE] And I remember when I first started working at Citus Data,

174
00:11:09,540 --> 00:11:13,440
it was maybe my first day at work, my second day at work.

175
00:11:13,720 --> 00:11:19,400
It was absolutely on the to-do list from my boss saying that you have to subscribe to this newsletter.

176
00:11:19,780 --> 00:11:20,720
It'll be really useful.

177
00:11:20,140 --> 00:11:23,600
[PETER] What year would that have been?

178
00:11:21,900 --> 00:11:22,100
[CLAIRE] What?

179
00:11:22,960 --> 00:11:23,400
What year?

180
00:11:24,180 --> 00:11:24,540
2017.

181
00:11:25,800 --> 00:11:25,980
[PETER] Okay.

182
00:11:27,620 --> 00:11:28,620
The reason I point that out is just because for the first couple of years of the newsletter,

183
00:11:32,860 --> 00:11:36,200
we had a different person was curating and editing it.

184
00:11:36,340 --> 00:11:38,980
So our first editor was someone called Craig Kerstiens,

185
00:11:39,180 --> 00:11:41,500
who a lot of people in the Postgres world will be familiar with.

186
00:11:42,520 --> 00:11:44,560
He essentially phased out over time.

187
00:11:44,630 --> 00:11:46,340
But yeah, by 2017 or whatever,

188
00:11:47,270 --> 00:11:49,420
it was pretty much me doing everything at that point.

189
00:11:50,140 --> 00:11:55,740
[CLAIRE] Okay. Yeah. And Craig worked at Citus Data as well. So I worked very closely with Craig.

190
00:11:53,740 --> 00:11:54,040
[PETER] He did.

191
00:11:54,350 --> 00:11:54,500
Yeah.

192
00:11:56,060 --> 00:11:59,780
[CLAIRE] And so maybe that's part of why Umur suggested, oh, you have to go subscribe to Postgres Weekly

193
00:12:02,300 --> 00:12:03,640
because he knew about it from Craig.

194
00:12:03,760 --> 00:12:08,220
Or maybe it was just, you know, pervasive and considered generally useful.

195
00:12:08,640 --> 00:12:15,320
I do know I got a note from someone who is a senior leader in one of the Postgres, one

196
00:12:15,320 --> 00:12:18,100
of the several, many Postgres startups in the world.

197
00:12:18,640 --> 00:12:22,120
And he said that, quote unquote, I'm reading his DM to me right now.

198
00:12:22,220 --> 00:12:26,000
He said, Postgres Weekly is one of the only newsletters I'm subscribed to.

199
00:12:27,380 --> 00:12:30,380
And so I do think a lot of us read it.

200
00:12:31,040 --> 00:12:32,500
And it's super useful.

201
00:12:32,740 --> 00:12:37,680
So anyway, small plug there that if people are new to it, it's worth subscribing to.

202
00:12:38,420 --> 00:12:41,560
And I don't just say that because you're a guest on the show.

203
00:12:41,580 --> 00:12:42,920
I'm not just being nice.

204
00:12:43,100 --> 00:12:44,880
It's really, really quite useful.

205
00:12:46,040 --> 00:12:48,160
[PETER] Yep, no, I'm happy to get as many plugs in as possible.

206
00:12:48,460 --> 00:12:50,640
So yeah, that's a nice big tick.

207
00:12:51,880 --> 00:12:55,720
[CLAIRE] So what caused you to create a newsletter business?

208
00:12:55,950 --> 00:13:01,140
Let's fast forward from your 14 or 15, and then you didn't go to college and become a

209
00:13:01,310 --> 00:13:01,460
lawyer.

210
00:13:02,380 --> 00:13:05,780
And then you were working at a new media company.

211
00:13:06,170 --> 00:13:07,100
You were building websites.

212
00:13:07,470 --> 00:13:12,960
And then there must have been something that happened between that and starting to write

213
00:13:13,100 --> 00:13:15,560
these developer newsletters and founding Cooper Press.

214
00:13:16,620 --> 00:13:20,220
[PETER] Yes, so I rapidly got sick of having a full-time job,

215
00:13:21,300 --> 00:13:24,740
you know, quite amazing for someone that's still a teenager. But I kind of realized after about

216
00:13:24,880 --> 00:13:29,700
nine months of that, that that was much more than I ever wanted to go through. And I was done with

217
00:13:29,840 --> 00:13:38,060
it. So I began working for myself, kind of as a contractor, as a, you know, just someone who had

218
00:13:38,440 --> 00:13:42,920
digital skills. And, you know, if you got in touch with me, I could put them to use for you,

219
00:13:43,100 --> 00:13:50,780
and you gave me money. You know, it's kind of a thing now that, you know, so many people do. But

220
00:13:50,800 --> 00:13:56,420
My father had always been, well, not always been self-employed, but had been self-employed for at least 10 or 20 years by that point.

221
00:13:56,870 --> 00:13:58,540
So he was familiar with how it all worked.

222
00:13:59,190 --> 00:14:05,900
And so it didn't seem like a scary leap to me to do that type of thing because I had contacts and people hitting me up to do work.

223
00:14:05,990 --> 00:14:16,540
So I did that for some years. And eventually, you know, I got into blogging and was blogging about Ruby quite a lot, Ruby programming language and Ruby on Rails in particular.

224
00:14:17,120 --> 00:14:20,960
And I had a publisher called Apress reach out to me and say, oh, we've seen your blog.

225
00:14:22,000 --> 00:14:25,740
You know, would you be interested in writing a Rails book for us?

226
00:14:26,460 --> 00:14:28,240
And I said, no, I'm not interested in doing that.

227
00:14:28,240 --> 00:14:29,760
I said, I'd rather write a Ruby book for you.

228
00:14:30,860 --> 00:14:35,760
Just because I liked Rails, but I was much more interested in the language behind it.

229
00:14:35,920 --> 00:14:41,060
So I said, you know, there's a massive hole here for, you know, a book that could teach people Ruby from the ground up.

230
00:14:41,540 --> 00:14:44,760
You know, there's some fantastic reference books and things like that.

231
00:14:44,000 --> 00:14:48,840
But there wasn't much for like kind of in the style of the 1980s programming books.

232
00:14:48,860 --> 00:14:54,160
I was used to, you know, hundreds of pages and, you know, take you through every single tiny little baby step.

233
00:14:54,560 --> 00:14:57,380
So I said, let's build let's do that. And they were like, great, let's do it.

234
00:14:57,480 --> 00:15:01,240
So I started a blog to help promote the book.

235
00:15:02,140 --> 00:15:06,500
Now, back in sort of the noughties, as I call them.

236
00:15:07,040 --> 00:15:09,300
So this is like 2005, that kind of area.

237
00:15:10,460 --> 00:15:13,460
It was very common to launch a blog to promote something.

238
00:15:13,660 --> 00:15:18,540
So whereas nowadays you might launch a podcast or you might launch a newsletter, back then it was launch a blog.

239
00:15:19,180 --> 00:15:25,280
So I launched a blog and just started posting updates about the book and things about that were going on in the Ruby world.

240
00:15:25,480 --> 00:15:38,020
And eventually the book completely eclipsed any success that the book, sorry, the blog eclipsed the success that the book had and became basically the most popular Ruby blog out there.

241
00:15:38,680 --> 00:15:46,620
And that was basically my almost my full time business for, you know, a handful of years and, you know, did very, very well.

242
00:15:47,640 --> 00:15:58,120
This was the era when, you know, blogs like TechCrunch and so on were coming up and they were making, you know, tens of thousands of dollars just having tiny little 125 by 125 pixel ads on the side of the site.

243
00:15:59,260 --> 00:16:05,560
I did something very similar. I didn't make tens of thousands of dollars, but I did, you know, more than well enough to pay my way.

244
00:16:07,120 --> 00:16:10,080
And eventually I got to a point where I saw there was lots of things going on with email.

245
00:16:10,270 --> 00:16:14,580
There were companies like Groupon and LivingSocial and Help A Reporter Out.

246
00:16:14,580 --> 00:16:15,980
And there were all these types of email projects.

247
00:16:16,940 --> 00:16:23,320
And I just like thought, well, let's try and just turn this blog into a newsletter on the side.

248
00:16:24,130 --> 00:16:28,700
And again, like the blog took off as a side project, the newsletters took off as a project.

249
00:16:29,160 --> 00:16:31,180
And that was the very first newsletter.

250
00:16:31,210 --> 00:16:32,420
It was rubyweekly.com.

251
00:16:32,450 --> 00:16:35,480
That was in about 2010, but kind of 2011 as well.

252
00:16:35,540 --> 00:16:39,420
it spread over this period where it kind of got formalized into a company.

253
00:16:40,980 --> 00:16:43,520
But yeah, by 2011, we were very formally established.

254
00:16:43,880 --> 00:16:45,640
And that was our one newsletter at that time.

255
00:16:47,300 --> 00:16:47,920
[CLAIRE] Okay.

256
00:16:48,580 --> 00:16:50,100
Now, what was the name of the Ruby blog?

257
00:16:51,820 --> 00:16:52,240
[PETER] Ruby Inside.

258
00:16:52,800 --> 00:16:55,020
And I can never remember if it's actually still up or not,

259
00:16:55,240 --> 00:17:00,960
because it's literally on an old server that's just a HTML mirror image of what used to be there.

260
00:17:01,020 --> 00:17:01,840
In fact, yeah, it's still there,

261
00:17:01,980 --> 00:17:04,520
rubyinside.com, in fact, it's so old

262
00:17:02,460 --> 00:17:03,260
[It's still there.]

263
00:17:04,600 --> 00:17:11,120
it doesn't even have HTTPS and actually it looks like someone has put loads of spam over the top

264
00:17:11,319 --> 00:17:15,620
two posts so I need to sort that out but that shows you how often I go to this website which

265
00:17:15,579 --> 00:17:17,880
is like never so yeah

266
00:17:16,400 --> 00:17:33,420
[CLAIRE] Yeah. It's kind of got the look of, you know, how you walk into an old house and it's full of old furniture and it doesn't look modern at all. This doesn't look modern. I'm not, I'm not insulting it. I'm just like, wow, I feel like I'm going back in time when I look at it.

267
00:17:33,080 --> 00:17:39,160
[PETER] So yeah I mean I haven't posted to it for 11 years so it's probably running an antique WordPress I

268
00:17:39,460 --> 00:17:44,199
did kind of delete all of the parts of WordPress that are usually the most hackable parts but it

269
00:17:44,220 --> 00:17:48,460
looks like someone's managed to uh, figure it out slightly, so uh yeah I've at least

270
00:17:49,460 --> 00:17:52,460
I found a new project to work on now which is cleaning up the site.

271
00:17:53,440 --> 00:17:53,580
[CLAIRE] Okay.

272
00:17:53,640 --> 00:17:58,800
And the book that you published, Beginning Ruby: From Novice to Professional, Aaron just

273
00:17:59,400 --> 00:18:01,220
posted it in the chat.

274
00:18:01,860 --> 00:18:02,160
[Oh, cool]

275
00:18:02,260 --> 00:18:04,580
Is that still relevant?

276
00:18:04,760 --> 00:18:06,520
Do you still recommend it to people?

277
00:18:06,820 --> 00:18:09,340
I'm imagining it has stood the test of time.

278
00:18:11,500 --> 00:18:17,160
[PETER] Yes and no. So I have you know plenty of funny stories to do with the book as well but

279
00:18:17,840 --> 00:18:25,140
it's now on its fourth edition so I was involved in the first three and I had kind of a few run-ins

280
00:18:25,140 --> 00:18:32,260
with the publisher let's say, and a slightly testy relationship with them, and so when they

281
00:18:32,280 --> 00:18:36,220
came to me for the fourth edition I was like I just can't be bothered with this anymore and they said

282
00:18:36,220 --> 00:18:42,320
well that's fine but we reserve the right to get someone else in to you know basically write the

283
00:18:42,440 --> 00:18:47,860
fourth edition your name will still be on the cover but their name you know they will become the lead

284
00:18:47,960 --> 00:18:51,660
author of the book and I said that's totally fine like I think the book's run its course by this

285
00:18:51,800 --> 00:18:57,020
point you know it's written in a slightly old-fashioned style for now you know not many

286
00:18:57,040 --> 00:19:02,540
people buy 600 page programming books at the moment, and so I was happy to do that so

287
00:19:02,660 --> 00:19:05,460
the book is out there in a fourth edition but yeah, it's it's gone it's gone through some history

288
00:19:08,180 --> 00:19:09,940
but uh you know it's done well over its time.

289
00:19:11,200 --> 00:19:11,640
[CLAIRE] Okay.

290
00:19:12,720 --> 00:19:14,780
I love hearing the backstories.

291
00:19:16,440 --> 00:19:18,920
I also have to tell you, maybe the reason you and I got along,

292
00:19:19,020 --> 00:19:22,600
I was supposed to be a lawyer too, and then I didn't go to law school.

293
00:19:23,340 --> 00:19:24,660
But it was the plan.

294
00:19:25,700 --> 00:19:27,000
Everybody knew I was going to be a patent lawyer,

295
00:19:29,020 --> 00:19:32,640
and I started working at Sun and just never looked back.

296
00:19:34,880 --> 00:19:39,460
[PETER] So yeah it never happened for either of us and now I look back and I think I really wish I'd

297
00:19:39,650 --> 00:19:44,520
become a doctor so you know it's we have all these kind of like you know thoughts about what

298
00:19:44,550 --> 00:19:47,820
our career could have been and should have been but yeah here we are.

299
00:19:48,980 --> 00:19:51,400
[CLAIRE] So you create Postgres Weekly.

300
00:19:52,100 --> 00:19:57,080
I'm looking at the very first issue, which is actually easy to find.

301
00:19:57,160 --> 00:20:03,960
Because if I go to postgresweekly.com and then I look at the latest edition, you have

302
00:20:03,960 --> 00:20:07,520
those previous and next links at the top left and the top right.

303
00:20:07,700 --> 00:20:07,840
[PETER] Yeah.

304
00:20:08,260 --> 00:20:13,220
[CLAIRE] But I noticed in the URL, you just have the edition or I don't know, do you call them

305
00:20:13,950 --> 00:20:14,880
editions or versions?

306
00:20:15,080 --> 00:20:15,520
I'm not sure.

307
00:20:16,960 --> 00:20:22,700
And so I just replaced the 603, which is the latest one with the number one.

308
00:20:22,850 --> 00:20:25,540
And I can see it from March 13th, 2013.

309
00:20:27,380 --> 00:20:27,440
[PETER] Yes.

310
00:20:27,440 --> 00:20:30,440
Yep, it's super easy for all those AI bots to crawl.

311
00:20:31,400 --> 00:20:33,760
It's very easy to navigate around.

312
00:20:34,500 --> 00:20:36,920
[CLAIRE] And that was, that was on purpose, I'm assuming.

313
00:20:37,100 --> 00:20:41,740
Well, you didn't do anything on purpose for AI bots back in 2013, but I'm assuming it

314
00:20:41,740 --> 00:20:42,900
was for the crawlers, right?

315
00:20:44,540 --> 00:20:49,740
[PETER] Pretty much yeah I mean it doesn't hurt us whatsoever for you know anyone to crawl our

316
00:20:49,820 --> 00:20:54,620
stuff and to link to our stuff so yeah there's literally no downside to make you know making

317
00:20:54,800 --> 00:20:56,200
there's no point in us making it difficult.

318
00:20:58,160 --> 00:21:04,060
[CLAIRE] See at the top, it says that Heroku's Craig Kerstiens was the chief curator in the beginning.

319
00:21:04,860 --> 00:21:04,940
[Yes.]

320
00:21:05,340 --> 00:21:09,180
But what's the story on how this first one happened?

321
00:21:09,540 --> 00:21:12,220
Were you already keen on Postgres yourself?

322
00:21:12,640 --> 00:21:16,140
Did you have the vision that Postgres was going to grow like gangbusters?

323
00:21:16,470 --> 00:21:17,980
Or did Craig come to you?

324
00:21:18,130 --> 00:21:19,400
Or how did it all happen?

325
00:21:19,900 --> 00:21:24,560
[PETER] This is going to be extremely boring because I actually cannot remember, I don't remember how

326
00:21:25,340 --> 00:21:31,500
it came together but uh I am going to guess just from a bunch of contexts that I have that I believe

327
00:21:32,060 --> 00:21:36,660
Craig probably did approach me to do it, and the reason that I say that is because

328
00:21:38,280 --> 00:21:46,260
although I was reasonably pro Postgres at that time I wasn't an active day-to-day user of it

329
00:21:46,880 --> 00:21:52,940
and that did follow on, but in everything that I was using up until that point I, you know, had

330
00:21:52,960 --> 00:21:59,540
pretty much been using MySQL or whatever you know just to that point and I think part of

331
00:21:59,540 --> 00:22:05,140
that becomes you know comes from my Ruby background so the Ruby world was very very heavily into MySQL

332
00:22:05,380 --> 00:22:14,740
rather than Postgres, it's changed a little bit now, although 37signals I believe

333
00:22:15,260 --> 00:22:20,179
you know are still heavily invested in that uh rather than Postgres but uh yeah so just because of

334
00:22:20,200 --> 00:22:23,600
my background, I wasn't in the Postgres space at the time. So I'm going to predict that Craig did

335
00:22:24,900 --> 00:22:26,240
come to me. And especially because at the time he would have been working for Heroku when they were

336
00:22:29,540 --> 00:22:33,500
building out their big, you know, Postgres hosting thing. So, yeah.

337
00:22:34,430 --> 00:22:37,100
[CLAIRE] Well obviously the space has grown

338
00:22:37,790 --> 00:22:39,700
the investments in Postgres have grown

339
00:22:40,300 --> 00:22:40,620
the number of hyperscaler cloud offerings has grown,

340
00:22:44,960 --> 00:22:47,600
like the Postgres landscape has developed

341
00:22:48,140 --> 00:22:49,660
since you started this newsletter.

342
00:22:51,600 --> 00:22:52,779
That's my perception.

343
00:22:53,040 --> 00:22:55,660
What's your perception as a newsletter publisher?

344
00:22:56,200 --> 00:23:01,240
Like, did it exceed expectations or has it not yet met your expectations?

345
00:23:03,140 --> 00:23:07,940
[PETER] It is well the newsletter itself is actually still our smallest of all our newsletters

346
00:23:08,000 --> 00:23:13,680
But I'd say it punches above its weight in terms of, you know, impact and community and so on.

347
00:23:14,310 --> 00:23:19,540
But in terms of raw numbers, you know, it's like a tenth of the size of our JavaScript newsletter.

348
00:23:19,960 --> 00:23:24,000
So, you know, is the Postgres community 10 times smaller than the JavaScript one?

349
00:23:24,180 --> 00:23:25,460
It's kind of hard to say.

350
00:23:25,600 --> 00:23:28,000
Like, I haven't, you know, got good numbers on that.

351
00:23:29,920 --> 00:23:31,860
But, yeah, it's worked out totally fine.

352
00:23:32,300 --> 00:23:35,900
And, you know, it has grown alongside the industry.

353
00:23:36,220 --> 00:23:43,360
And we've got some great readers who reach out to me and people tell me, you know, mention the newsletter in various places and so on.

354
00:23:44,980 --> 00:23:47,140
So, yeah, it could always be doing a lot better.

355
00:23:47,640 --> 00:23:48,220
Let's put it that way.

356
00:23:48,380 --> 00:23:52,560
But, you know, there's obviously part of the thing about plugging it on shows like this as well.

357
00:23:53,440 --> 00:23:55,520
So, yeah, everyone sign up and it will do even better.

358
00:23:57,120 --> 00:23:59,540
[CLAIRE] So how do you find the Postgres links

359
00:23:59,640 --> 00:24:01,660
that you include each week?

360
00:24:01,760 --> 00:24:02,520
And what's your,

361
00:24:03,100 --> 00:24:04,740
I'm gonna ask two questions at the same time,

362
00:24:04,860 --> 00:24:07,300
which is probably a really bad best practice,

363
00:24:07,540 --> 00:24:09,100
but what's your guiding principle

364
00:24:09,420 --> 00:24:11,120
for deciding what to include?

365
00:24:13,840 --> 00:24:17,820
[PETER] So, you asked multiple questions, I could take the political way of just saying what I want to

366
00:24:17,870 --> 00:24:23,739
say and just ignore the questions but I'll try and go through them in order, so you started

367
00:24:23,760 --> 00:24:30,380
by asking like you know where do I find things and obviously you know initially it was Craig doing it

368
00:24:30,480 --> 00:24:35,160
so he had all these contacts and you know he was on Twitter all the time and you know kind of just

369
00:24:35,400 --> 00:24:41,520
had the inside track on everything uh over time as I began to you know take over more of that role

370
00:24:41,180 --> 00:24:44,720
part of it came through the fact that you know I was actually beginning to use Postgres

371
00:24:45,220 --> 00:24:49,660
increasingly more so that really helped me out and so i was beginning to engage with people on Twitter

372
00:24:49,800 --> 00:24:53,720
that you know were well known in the space so you know they would tweet about something I'd be

373
00:24:53,740 --> 00:24:59,420
oh there's some news I can include that, you know that's still relevant, probably less relevant

374
00:24:59,760 --> 00:25:05,760
now uh than it was up until a few years ago but uh you know that's still one way of finding things

375
00:25:06,500 --> 00:25:11,500
but then actually Postgres is super well represented on sites like Hacker News for example I mean that's

376
00:25:13,880 --> 00:25:18,720
just one of many. There's other ones you know lobste.rs and Reddit and there's a whole bunch of

377
00:25:18,760 --> 00:25:23,700
you know different kind of community aggregators and planet sites and things like that but

378
00:25:23,720 --> 00:25:30,140
just picking on Hacker News, there are just so many items that get added to Hacker News that

379
00:25:30,420 --> 00:25:34,900
are Postgres related. It just seems to be a natural place that people in this space gravitate towards.

380
00:25:35,480 --> 00:25:39,860
Even if they're not commenting on there, even if they don't like Hacker News, they submit their

381
00:25:40,100 --> 00:25:45,600
posts to it or they're like, oh, can you vote up my post or this type of thing. Please don't send

382
00:25:45,600 --> 00:25:51,860
me those types of messages. So yeah, I find a lot of stuff on there. And part of it is because I've

383
00:25:51,880 --> 00:26:00,220
been on Hacker News actually since the very very early days and I also am glued to the newest page

384
00:26:00,340 --> 00:26:04,580
on there so for people that are not familiar with Hacker News you've got the front page which has

385
00:26:04,670 --> 00:26:10,040
like the top 30 items as of right now but then there's also a page called newest that you can

386
00:26:10,090 --> 00:26:15,700
click on at the top and it's like the raw firehose of items that have been submitted to the site.

387
00:26:16,400 --> 00:26:22,460
Now you know I would guesstimate that perhaps only about one percent, probably less actually, of the

388
00:26:22,530 --> 00:26:29,080
items added to Hacker News actually get upvoted and put onto the front page but that doesn't mean

389
00:26:29,110 --> 00:26:34,640
the other 99 are just you know trash uh there's a lot of good stuff in there so people will often

390
00:26:34,860 --> 00:26:40,080
post all their blog posts and you know corporate news and things like that and if you stay glued to

391
00:26:40,100 --> 00:26:47,060
that newest page or you subscribe to it through RSS like I do, you might end up with like a

392
00:26:47,220 --> 00:26:50,000
thousand things to look at each day, but you can quickly skim through and be like, oh yeah,

393
00:26:50,160 --> 00:26:57,520
there's something interesting. So that is a massive source of kind of items from just disparate

394
00:26:57,700 --> 00:27:02,000
places for me. But then you can add to that, you know, we've built up obviously over time,

395
00:27:02,720 --> 00:27:06,399
we've linked to hundreds of different blogs. And each time we find a new blog that's talking

396
00:27:06,420 --> 00:27:11,480
about Postgres, it gets added to my feed reader. So I'm then following it forever more. And so I

397
00:27:10,780 --> 00:27:16,080
find stuff that way. That probably makes up about, you know, so let's say like Hacker News and Twitter

398
00:27:16,320 --> 00:27:21,260
and Reddit and so on, make up about a third. The feeds I subscribe to probably make up another third.

399
00:27:22,060 --> 00:27:28,080
And then the other third roughly is people that then send us emails. So you can reply to any issue.

400
00:27:29,040 --> 00:27:33,520
And, you know, we do get this every single week. People reply and say, oh, I've just posted this

401
00:27:33,540 --> 00:27:38,300
or I've just released this extension. Can you check it out? And then, you know, we don't post

402
00:27:38,440 --> 00:27:42,860
everything that we're sent, but quite a lot of it makes it in. So we kind of have this nice

403
00:27:43,580 --> 00:27:47,540
split of different ways that we find things, you know, roughly by thirds, I would say.

404
00:27:48,620 --> 00:27:51,420
[CLAIRE] Okay, so I've got to ask you, what do you use for a feed reader?

405
00:27:53,100 --> 00:27:59,660
[PETER] I am currently using two different ones for very bizarre, complex reasons, but I use one called

406
00:27:59,680 --> 00:28:06,140
Feedbin which is at feedbin.com which just as it happens happens to be implemented on top of

407
00:28:06,500 --> 00:28:10,220
Ruby on Rails so I like to support that and I think it's open source as well so you can actually

408
00:28:10,440 --> 00:28:15,560
download your own copy and run your own version of it. And then I'm also using a system called

409
00:28:15,760 --> 00:28:20,080
feeder which is at feeder.co and the reason for that is that it has this kind of cool teams

410
00:28:20,300 --> 00:28:25,000
interface so the other people that I work with uh can look at the same feeds I'm looking at so if

411
00:28:25,080 --> 00:28:29,640
there's any kind of like you know blind spots or whatever they can catch things that you know I

412
00:28:29,660 --> 00:28:34,060
catch or they can catch things before I see them. So that quite often happens as well. So yeah,

413
00:28:34,070 --> 00:28:36,180
I use two different feed readers.

414
00:28:36,580 --> 00:28:38,220
[CLAIRE] When you said it had a cool teams interface,

415
00:28:38,380 --> 00:28:40,960
I was thinking, huh, Microsoft Teams is integrated with that. [No, not Microsoft Teams. No.]

416
00:28:41,140 --> 00:28:41,680
I didn't know.

417
00:28:42,220 --> 00:28:44,980
That's not what you meant.

418
00:28:45,440 --> 00:28:45,720
Got it.

419
00:28:46,560 --> 00:28:46,720
Okay.

420
00:28:48,000 --> 00:28:57,500
Yeah, I've not found a good feed reader ever since Google shut down my favorite one, which, as you know, was quite a number of years ago.

421
00:28:58,040 --> 00:28:58,700
[PETER] Well, I would say that Feedbin, feedbin.com, is definitely the closest to the reader experience that I've found.

422
00:29:04,840 --> 00:29:05,100
[Okay.]

423
00:29:05,280 --> 00:29:08,380
And it has all the keyboard shortcuts that work in exactly the same way.

424
00:29:08,460 --> 00:29:11,400
And, you know, j, k, and l, all that sort of stuff jumping up and down.

425
00:29:12,320 --> 00:29:19,920
[CLAIRE] Okay, so like vi based or something okay vi based then j, k, and l, I don't know okay.

426
00:29:13,240 --> 00:29:14,060
[PETER] It's my favorite.

427
00:29:14,540 --> 00:29:14,680
Yeah.

428
00:29:15,320 --> 00:29:15,860
Sorry, say that again?

429
00:29:18,620 --> 00:29:18,840
Yes.

430
00:29:19,620 --> 00:29:25,240
Yeah, it has the vi style, you know, keyboard shortcuts and things, which actually I think Feeder does as well.

431
00:29:25,300 --> 00:29:26,780
But I'm not quite so keen on Feeder

432
00:29:26,780 --> 00:29:27,980
but it does have some extra features

433
00:29:28,220 --> 00:29:29,760
that we need in the company

434
00:29:29,940 --> 00:29:32,140
but yeah, feedbin.com is worth looking at

435
00:29:32,340 --> 00:29:33,280
especially as it's open source

436
00:29:33,420 --> 00:29:34,680
and it might even use Postgres

437
00:29:35,500 --> 00:29:36,700
for the database as well.

438
00:29:36,760 --> 00:29:37,500
I'm not quite sure,

439
00:29:37,660 --> 00:29:38,520
I haven't looked into that,

440
00:29:38,720 --> 00:29:39,860
but it wouldn't surprise me.

441
00:29:40,340 --> 00:29:47,320
[CLAIRE] Okay. Yeah, I wonder if anyone on the chat knows the answer to that question. So we'll see. We'll

442
00:29:47,320 --> 00:29:54,140
see if anybody chimes in. I think one of the things that I've talked about with people about

443
00:29:54,740 --> 00:30:00,880
your Postgres Weekly newsletter in particular is how it, on the one hand, it's very fair

444
00:30:01,320 --> 00:30:06,920
in the sense that it feels like you share links from all the different companies,

445
00:30:07,660 --> 00:30:08,380
all the different countries.

446
00:30:08,610 --> 00:30:11,560
Like you really do canvas a lot of sources.

447
00:30:12,920 --> 00:30:16,720
And I'm always finding things that were not in my feeds, right?

448
00:30:16,860 --> 00:30:24,000
That I was not going to catch on my own on Twitter or LinkedIn or Bluesky or Mastodon

449
00:30:24,000 --> 00:30:25,760
or all the places I pay attention to.

450
00:30:26,820 --> 00:30:29,120
So I love that kind of breadth of perspective.

451
00:30:29,620 --> 00:30:32,500
And yet, in addition to being fair, it's also opinionated.

452
00:30:32,910 --> 00:30:38,120
Like when I read your blurbs, you don't just factually pass on an article.

453
00:30:38,540 --> 00:30:40,180
This is an article about logical replication published by so-and-so from this company.

454
00:30:44,250 --> 00:30:45,680
Like it's not like that.

455
00:30:45,800 --> 00:30:46,480
It's not boring.

456
00:30:46,760 --> 00:30:46,820
[Hmm.]

457
00:30:47,580 --> 00:30:54,160
Your blurbs have opinions about what is being presented in that article or link or video

458
00:30:54,290 --> 00:30:55,120
or whatever it is.

459
00:30:55,140 --> 00:31:11,300
So is that like, do you write them all? And is it always your opinion? Or do you have a style guide and have a team of people writing those blurbs? And therefore you've each tried to adopt a similar tone of voice? Like, how does it how does it happen?

460
00:31:12,340 --> 00:31:21,600
[PETER] In the in the case of Postgres it is 99 percent me. I do work with someone who is in the company and

461
00:31:21,820 --> 00:31:25,900
you know works on the editorial side and he will occasionally see an item that's really really

462
00:31:26,200 --> 00:31:30,880
like you know straightforward and he'll write it up and I'll often tweak it or sometimes I'll post

463
00:31:30,940 --> 00:31:36,580
if it's you know spot on. But in terms of most of the opinionated and technical stuff yeah with

464
00:31:36,600 --> 00:31:45,840
Postgres is 99% me. And, you know, just to kind of give some background as to why I have that style, a lot of it comes from being English.

465
00:31:46,700 --> 00:31:51,080
And you might think, well, how does that work? And the reason is, you know, I grew up with the BBC.

466
00:31:52,799 --> 00:32:02,900
And for all of its kind of warts and problems, especially nowadays, just over the years, the BBC kind of has this reputation of kind of being a big tent.

467
00:32:03,260 --> 00:32:07,920
So it can't just say, you know, we're going to go along with whatever the politics of the day are.

468
00:32:08,660 --> 00:32:11,660
You know, whoever's in charge, like we'll just, you know, cuddle up to them.

469
00:32:12,200 --> 00:32:16,580
They're always a big tent.

470
00:32:12,300 --> 00:32:13,020
[CLAIRE] Being a big what?

471
00:32:13,620 --> 00:32:16,620
Being a big, what was the word he used?

472
00:32:17,300 --> 00:32:17,880
A big tent.

473
00:32:17,660 --> 00:32:21,880
[PETER] Tent. Yeah, I guess I don't know if that's a word that's an idiom that's used anywhere else.

474
00:32:18,160 --> 00:32:18,720
[Okay, got it.]

475
00:32:22,100 --> 00:32:27,440
But in England, it's kind of means to adopt, you know, a broad set of viewpoints.

476
00:32:28,140 --> 00:32:30,960
So you don't want to leave people outside the tent, as it were.

477
00:32:31,640 --> 00:32:35,940
You want everyone to be within the tent and then, yeah, you then you get to have the largest coverage.

478
00:32:36,120 --> 00:32:39,980
So there's no like companies, you know, in the Postgres space that I want to be outside that tent.

479
00:32:40,070 --> 00:32:47,140
I want everyone to be inside the tent. And then we write about everyone, you know, good or bad, you know, however we see it at the time.

480
00:32:48,020 --> 00:32:55,740
And so the BBC does this culturally. You know, they actually have as part of their conditions for being able to collect TV license in the UK,

481
00:32:55,920 --> 00:32:58,480
which is basically a tax we pay to watch the TV.

482
00:32:59,680 --> 00:33:09,320
As ridiculous as that sounds, part of the condition behind that is that they provide programming for underrepresented communities,

483
00:33:09,580 --> 00:33:15,660
whether that's ethnic communities, religious communities, just all different types of thing of that nature,

484
00:33:16,280 --> 00:33:20,980
because they have to basically be there for the entire United Kingdom.

485
00:33:21,220 --> 00:33:36,560
And so in a very similar way, some of that, I picked up some of those kind of ideas for osmosis to use in my newsletters where, you know, maybe I'm not particularly interested in, let's say, I don't know what, you know, a particular company is doing.

486
00:33:36,760 --> 00:33:41,460
Let's say I'm not interested. Let's just say, for example, that I was really anti-Microsoft, which I'm not.

487
00:33:42,370 --> 00:33:50,220
But it's, you know, an easy thing to pick on, as I remember all the kind of the background of, you know, people into Linux didn't like Microsoft, those old kind of wars people used to have.

488
00:33:50,780 --> 00:33:55,220
you know let's say I was in that kind of camp, well I would still believe that I still need to

489
00:33:55,420 --> 00:33:58,620
you know faithfully represent everything that Microsoft's doing if it's doing important work

490
00:33:59,000 --> 00:34:06,020
in the Postgres space which it does. So I'm not tribal about anything I kind of look at all

491
00:34:06,020 --> 00:34:09,560
the different things and even though I have opinions about oh this company's doing something

492
00:34:09,700 --> 00:34:13,379
better than this company I'm not just going to say well we're going to kind of ignore this whole

493
00:34:13,700 --> 00:34:18,720
section of you know the ecosystem just because I don't like it. And so that's why it's a very

494
00:34:18,740 --> 00:34:21,820
broad tent and you know I try and keep everything included.

495
00:34:23,020 --> 00:34:29,520
[CLAIRE] I think maybe that's why people are so supportive of the newsletter and will recommend it to others

496
00:34:29,760 --> 00:34:32,179
and will recommend it to new hires, right?

497
00:34:32,620 --> 00:34:36,179
Because you're not tribal and because it seems fair.

498
00:34:36,280 --> 00:34:40,620
And I've never heard this idiom of the big tent before, but I'm going to run with it.

499
00:34:40,620 --> 00:34:41,200
I love it.

500
00:34:41,460 --> 00:34:43,300
What a great image that brings to mind.

501
00:34:43,780 --> 00:34:43,980
Cool.

502
00:34:45,679 --> 00:34:53,379
And just for the record, let me repeat that I would like to believe that Microsoft is doing good things for Postgres.

503
00:34:53,960 --> 00:34:56,460
And hopefully you believe that as well.

504
00:34:57,170 --> 00:35:00,800
And you just decided to nitpick on us because I'm here and I get it.

505
00:35:00,540 --> 00:35:04,920
[PETER] I think it's just because I was picking up on just something very historical.

506
00:35:05,090 --> 00:35:12,340
So because I was, you know, around 20 years ago, you know, kind of in these spaces still and, you know, the Linux ecosystem and everything,

507
00:35:12,470 --> 00:35:17,620
there was obviously a period of time where, you know, Microsoft by certain people was seen as the enemy company.

508
00:35:17,980 --> 00:35:24,380
all this type of nonsense, which has actually been kind of like withdrawn to a large extent.

509
00:35:25,600 --> 00:35:30,360
We don't see that hostility now. I mean, they obviously exist in some camps, but broadly,

510
00:35:30,900 --> 00:35:36,020
Microsoft has made so many great steps forward into communities like the Postgres community and

511
00:35:36,640 --> 00:35:40,460
releasing things like Visual Studio Code. And it's just so many different things,

512
00:35:40,580 --> 00:35:46,160
even in .NET, bringing in the Mono project and all these types of things and WSL. And I guess it's

513
00:35:46,180 --> 00:35:50,120
is completely countless the number of things that Microsoft does now but it's a totally different

514
00:35:51,050 --> 00:35:53,360
era I mean to what it was 20 years ago.

515
00:35:51,960 --> 00:35:52,280
[CLAIRE] It is.

516
00:35:53,840 --> 00:35:56,200
Well, you know, I started in Citus.

517
00:35:56,420 --> 00:36:01,340
That's, well, I didn't start my career in Citus, but I started my Postgres work at Citus Data.

518
00:36:01,450 --> 00:36:04,680
And then about two years after joining, we were acquired by Microsoft.

519
00:36:04,850 --> 00:36:09,380
And it was really interesting because friends of mine, former colleagues and teammates who

520
00:36:10,110 --> 00:36:13,880
were like, especially the Sun Microsystems friends, they were all over the industry at

521
00:36:13,880 --> 00:36:14,560
this point, right?

522
00:36:14,680 --> 00:36:16,200
Because most of them were no longer at Sun.

523
00:36:17,140 --> 00:36:22,700
And I would get these notes and these DMs and these calls saying, you know, Claire, if

524
00:36:22,720 --> 00:36:27,180
this had happened to you 5, 10 years ago, I would be offering to help you find a new

525
00:36:27,400 --> 00:36:29,020
job and commiserating with you.

526
00:36:29,540 --> 00:36:30,520
But you know what?

527
00:36:31,080 --> 00:36:31,520
Congratulations.

528
00:36:32,420 --> 00:36:33,280
This is pretty cool.

529
00:36:33,780 --> 00:36:39,040
And I heard that same theme in multiple conversations and it was kind of cool.

530
00:36:39,300 --> 00:36:40,400
It really was kind of cool.

531
00:36:40,580 --> 00:36:41,460
And yeah, thank goodness.

532
00:36:41,820 --> 00:36:42,400
It's nice.

533
00:36:42,710 --> 00:36:48,380
If you're going to get acquired by another company, you want to like that culture, right?

534
00:36:48,660 --> 00:36:50,400
And like that team that you're joining.

535
00:36:50,660 --> 00:36:51,800
So anyway, yeah.

536
00:36:51,580 --> 00:36:52,400
[PETER] Yeah, I was acquaintances

537
00:36:52,520 --> 00:36:57,440
with the GitHub founders just because they came from the Ruby on Rails world because GitHub was

538
00:36:57,580 --> 00:37:00,200
originally developed entirely in Rails. And so I used to hang out with them on IRC and chat rooms

539
00:37:03,280 --> 00:37:06,900
and stuff like that. And, you know, I know they had very similar things happen there because

540
00:37:07,140 --> 00:37:11,000
obviously, you know, GitHub was acquired by Microsoft and, you know, it was kind of,

541
00:37:11,760 --> 00:37:14,940
that was at the period, I think, where the attitudes were just starting to shift.

542
00:37:15,960 --> 00:37:18,520
But people were still concerned like, oh, Microsoft's going to take all that source code

543
00:37:18,640 --> 00:37:22,480
and all this type of thing. So, you know, but it has turned out to be an extremely good steward of

544
00:37:22,500 --> 00:37:22,860
GitHub.

545
00:37:23,140 --> 00:37:26,140
So, yeah, I think that helped a lot.

546
00:37:23,740 --> 00:37:30,800
[CLAIRE] Yeah. Well, Git and GitHub are near and dear to me because I started my career at Sun in developer

547
00:37:32,120 --> 00:37:41,000
tools. So I worked on a predecessor to a predecessor to a predecessor of Git and GitHub. So anyway.

548
00:37:40,640 --> 00:37:42,160
[PETER] Yeah, all these worlds are colliding.

549
00:37:42,380 --> 00:37:43,120
It's very nice.

550
00:37:44,640 --> 00:37:47,160
[CLAIRE] Okay, so I'm curious.

551
00:37:48,040 --> 00:37:56,800
Obviously, not everybody who reads a book is curious about the act of writing that book and what the author went through.

552
00:37:56,820 --> 00:37:59,040
But I am, and I get to ask the questions.

553
00:37:59,400 --> 00:38:02,920
So I'm curious about the process for putting together a newsletter.

554
00:38:03,260 --> 00:38:16,200
And I fully respect that there might be aspects about the process that are like your secret sauce that you don't want to tell us about because you don't want anyone to be able to replicate what you do, the magic in your newsletters.

555
00:38:16,580 --> 00:38:23,580
But seriously, tell us what you can about creating a new edition of Postgres Weekly besides the sources that you already covered.

556
00:38:25,340 --> 00:38:31,540
[PETER] So we have an internal system that is kind of like the core of all of this in terms of us

557
00:38:31,750 --> 00:38:36,960
collecting together links and writing things up. And we have a few external curators, not for

558
00:38:37,220 --> 00:38:42,120
Postgres, but on some of our other titles. So we can all use this system that we have internally,

559
00:38:42,160 --> 00:38:48,900
which was built wow sort of about 12 years ago and it's it's barely changed over that time

560
00:38:49,580 --> 00:38:54,780
it's essentially you know a bookmarking system but kind of like turned up to 11

561
00:38:55,480 --> 00:39:00,300
that allows numerous people to use it and you know allows us to collaborate on you know writing

562
00:39:00,370 --> 00:39:06,260
things up and stuff like that, but it also acts as kind of like a queue of things for us to include

563
00:39:06,560 --> 00:39:12,120
so there you know there are basically tens of thousands of links in this thing, and so I can

564
00:39:12,140 --> 00:39:18,840
when we link to something in the past and I can see information about how often we link to

565
00:39:19,000 --> 00:39:22,780
something. There's always different things I can look up. So I can really get a good feel for the

566
00:39:22,920 --> 00:39:28,120
rhythm of including certain things or certain topics in newsletters. So that always really,

567
00:39:28,260 --> 00:39:36,120
really helps. But then it turns on a weekly basis, what I do is, I mean, I'm addicted to

568
00:39:36,300 --> 00:39:40,380
Hacker News and Reddit and all these different sites anyway. I'm always in my email inbox,

569
00:39:40,680 --> 00:39:43,800
even though I take forever to reply to emails, I am always reading my emails.

570
00:39:44,600 --> 00:39:50,900
And so things are getting added into this essentially queue for future is all the time.

571
00:39:51,040 --> 00:39:55,040
So I can literally go on there right now. You know, I'm going to be doing Postgres Weekly tomorrow.

572
00:39:55,820 --> 00:40:02,780
And there will already be, you know, 20, 30 different things that have been added over the past week that are, you know, of some interest.

573
00:40:03,400 --> 00:40:04,120
[CLAIRE] I sent you a few.

574
00:40:03,610 --> 00:40:09,740
[PETER] And then there's hundreds of things. So, yeah, well, exactly. You sent me some things, but there's hundreds of things as well from previous weeks that just never made it in.

575
00:40:10,460 --> 00:40:10,800
So sometimes, you know, if we're really desperate for something or we want to try to build up a connection between two stories, sometimes I'll go back and look for things that join the dots together.

576
00:40:20,460 --> 00:40:24,200
So that's kind of probably like the most journalistic part of the job.

577
00:40:24,340 --> 00:40:31,040
I mean, it's not a journalistic job whatsoever, but that's the part where I'm trying to flesh together a story or a chain of items that kind of relate to each other.

578
00:40:31,300 --> 00:40:34,440
Sometimes we have this system that allows me to do that.

579
00:40:35,000 --> 00:40:45,460
But then basically the way it really works is that when we get to the day of publication is I will then hit up all my different feeds I'm looking at.

580
00:40:45,600 --> 00:41:00,060
I'll go and do last minute checks of, you know, like Postgres website and some of the prominent people in the space just to make sure nothing has just dropped at the last minute, which it quite often does.

581
00:40:59,480 --> 00:41:02,320
And yeah, I get those things into the system and written up.

582
00:41:02,880 --> 00:41:06,940
And then what happens in that system is there's kind of a bunch of stages that items go through.

583
00:41:07,100 --> 00:41:13,100
So we can just push raw links into it and say, you know, these need to be reviewed or this is like something we definitely want to do.

584
00:41:13,940 --> 00:41:16,800
Or this is something that's kind of borderline or it's a submission or whatever.

585
00:41:18,460 --> 00:41:24,380
I will literally kind of take a prioritized look at that.

586
00:41:25,080 --> 00:41:27,200
So if there's anything marked as to do, this is really urgent.

587
00:41:27,400 --> 00:41:28,600
Then obviously I will tackle that first.

588
00:41:29,220 --> 00:41:30,040
And then we work our way down until essentially we have, you know, the right number of items to work with the issue.

589
00:41:35,620 --> 00:41:40,280
And we also have a real time collaborative editor for the newsletter.

590
00:41:40,330 --> 00:41:43,420
So we have a slightly odd proprietary system because.

591
00:41:44,920 --> 00:41:51,760
Back when we began doing this, we used MailChimp and MailChimp's editor was really, really slow.

592
00:41:51,760 --> 00:41:53,900
And it was really designed for marketing emails.

593
00:41:54,130 --> 00:41:56,480
It wasn't designed for the type of thing that we do.

594
00:41:57,380 --> 00:42:11,940
So because I had an API, I built numerous different editors over the years that allowed me to write issues in our own kind of XML style language, which is actually a little bit like MJML.

595
00:42:11,960 --> 00:42:24,500
If anyone's familiar with MJML, it's like a format for HTML email that then gets compiled down to the HTML and plain text and CSS in a way that works across different email clients.

596
00:42:24,800 --> 00:42:30,020
Well, before that existed, you know, I built our own system, which we still use.

597
00:42:29,740 --> 00:42:32,080
It allows us to mix things like Markdown, HTML.

598
00:42:32,880 --> 00:42:36,220
It allows us to put things like mastheads in, you know, with a special masthead tag.

599
00:42:36,480 --> 00:42:38,620
And we have all these different tags that we use for things.

600
00:42:39,280 --> 00:42:42,100
And then it shows on, so on the left-hand side, you've got the code.

601
00:42:42,660 --> 00:42:44,220
A little bit like a modern Markdown editor.

602
00:42:44,300 --> 00:42:45,700
You can on the left-hand side, you've got the code.

603
00:42:45,760 --> 00:42:48,680
On the right-hand side, you've got the live preview of the issue.

604
00:42:48,820 --> 00:42:53,040
So I can go to the issue right now for tomorrow, and it will be pretty much empty except the sponsors.

605
00:42:54,540 --> 00:42:57,100
But I can then gradually over time just add in the links.

606
00:42:58,240 --> 00:43:00,620
And then eventually we click a button and then it uploads it to the website.

607
00:43:00,980 --> 00:43:04,500
It puts it into our email system.

608
00:43:05,180 --> 00:43:06,940
And I can do things like start sending tests.

609
00:43:07,160 --> 00:43:10,960
And, you know, eventually we can move on to actually sending the final thing once it's passed forward to reviews.

610
00:43:12,220 --> 00:43:14,640
But the process is, you know, it's not a complex process.

611
00:43:14,920 --> 00:43:20,900
It's just lots of different proprietary bits and pieces that we put together over the years to make it really streamlined,

612
00:43:20,980 --> 00:43:24,060
so that we can focus on our job being the curation and reading things.

613
00:43:24,340 --> 00:43:27,300
And, you know, often we test things that we link to, you know,

614
00:43:27,620 --> 00:43:30,000
if it's a new project and we're like, well, this doesn't look quite right,

615
00:43:30,260 --> 00:43:31,880
we'll give it a test to make sure it all works.

616
00:43:32,460 --> 00:43:35,060
So we can focus on that part of the job, which is the interesting part,

617
00:43:35,260 --> 00:43:37,980
not the, oh, how am I going to make this render in the, you know,

618
00:43:38,100 --> 00:43:39,260
different email clients and things.

619
00:43:39,460 --> 00:43:43,160
That's the part that we've sorted out and we outsourced all these other systems.

620
00:43:44,300 --> 00:43:52,240
[CLAIRE] But the rendering and not getting caught up in spam filters and making sure that you know the

621
00:43:53,380 --> 00:43:59,980
the emails get across like that's the part that so many people can screw up on right even if they

622
00:44:00,000 --> 00:44:05,460
beautifully written, really interesting newsletter. If you're not paying attention to those technical

623
00:44:05,680 --> 00:44:10,620
bits under the covers, people won't necessarily get your mail or when they do, it won't look right.

624
00:44:10,750 --> 00:44:11,760
It won't be so readable.

625
00:44:13,620 --> 00:44:17,760
[PETER] One advantage that I've got is that I've been doing this for a long time. So I know where to go,

626
00:44:18,050 --> 00:44:22,420
you know, when there's bugs in the email sending process, I know roughly where to look. Like if

627
00:44:22,420 --> 00:44:25,760
you're a developer, then, you know, you know where to look for bugs once you're, you know,

628
00:44:25,980 --> 00:44:31,100
sufficiently experienced. We also use some other systems. So litmus.com is one that we use,

629
00:44:31,420 --> 00:44:35,560
which is kind of expensive now. It used to be quite cheap, but you can send your email to them

630
00:44:35,730 --> 00:44:39,660
and they will render it in 50 different, it's about 50 different email clients and you can

631
00:44:39,680 --> 00:44:44,000
visually see it on the screen and it will let you see what your email is going to look like. So we

632
00:44:44,080 --> 00:44:49,060
use that when we introduce new units to an issue just to make sure that everything renders fine.

633
00:44:49,700 --> 00:44:54,440
But we do have some funny stories over the years of things that have broken email systems,

634
00:44:55,260 --> 00:45:03,260
things that you wouldn't expect. So the one story that I often bring up is we had an issue of,

635
00:45:03,720 --> 00:45:06,420
I can't remember what newsletter it was, but it was constantly going to the spam

636
00:45:06,760 --> 00:45:11,860
in Gmail. And every single test we ran, spam, spam, spam, spam, spam. Now what we did was we actually

637
00:45:14,240 --> 00:45:19,080
have this system that allows us to kind of run almost like a binary search over our emails. So

638
00:45:19,080 --> 00:45:24,460
it will send out emails with like half the items in and then the other half of the items. And then

639
00:45:24,740 --> 00:45:29,440
you pick the one that worked and then it will put in half of the broken items and it will basically

640
00:45:29,600 --> 00:45:35,700
work its way down to working out what item was it that broke the email. And we found this website

641
00:45:35,700 --> 00:45:41,840
that broke the email and it was just an innocent developer blog. But the thing about their domain

642
00:45:42,440 --> 00:45:48,900
name is it began with 0x, which anyone who's been developing for some time or uses C, for example,

643
00:45:49,120 --> 00:45:57,840
will know that if you use 0x, you use that to notate hexadecimal numbers in a language like C.

644
00:45:58,880 --> 00:46:02,180
And I was like, well, why would that trigger it?

645
00:46:03,010 --> 00:46:07,400
Well, it turned out that you can also create URLs that are called long IP URLs.

646
00:46:07,780 --> 00:46:09,300
Now, you almost never see these.

647
00:46:10,050 --> 00:46:16,120
So if you have a URL like https://1.2.3.4, it will go to the IP address 1.2.3.4

648
00:46:16,920 --> 00:46:17,180
You can, however, write IP addresses in what's called a long IP form,

649
00:46:21,940 --> 00:46:26,340
which is basically if you take the 32-bit number, this is getting very technical now,

650
00:46:26,380 --> 00:46:27,580
[I love it.]

651
00:46:26,640 --> 00:46:41,280
If you take the 32-bit number that 1.2.3.4 represents, you can then turn that into the 32-bit integer, put 0x in front of it, notate it in hexadecimal, give it to the web browser, and it will still go to that IP address.

652
00:46:41,940 --> 00:46:47,020
That, I believe, still works in web browsers. I'm not sure if it does, but it did 10 years ago.

653
00:46:48,500 --> 00:46:58,340
Now, the problem is, is that Gmail added in its infinite wisdom a filter so that if anyone sent an email that involved a long IP URL,

654
00:46:58,850 --> 00:47:06,940
it would immediately put into spam because it was being used very heavily by, you know, people trying to scam people and, you know, get around, you know, all these types of things.

655
00:47:08,100 --> 00:47:09,220
But they got the filter wrong.

656
00:47:09,980 --> 00:47:18,040
So they just looked at any URL that began 0x and they didn't notice that the fact this was like 0x something, something, something dot-com

657
00:47:18,300 --> 00:47:21,860
or whatever the TLD was and they shouldn't have done that. So I reported the bug, they eventually

658
00:47:24,020 --> 00:47:29,980
fixed it, and happy days, but yeah for some period of time people that had you know links going to

659
00:47:30,100 --> 00:47:36,460
0x anything was completely broken in Gmail so that's just one example of some silly tiny thing

660
00:47:36,620 --> 00:47:40,860
that made a massive difference and you know we've run into so many of those over the years but that's

661
00:47:40,900 --> 00:47:43,500
just one I mean and you can see how deep that one got.

662
00:47:44,180 --> 00:47:44,960
[CLAIRE] Right, right.

663
00:47:45,410 --> 00:47:51,640
So a lot of details that have to be sweated in order to make this work.

664
00:47:50,100 --> 00:47:50,220
[Mmm.]

665
00:47:52,940 --> 00:47:53,700
Speaking of, that's a memory about the technical implementation of the newsletter and

666
00:48:00,200 --> 00:48:05,900
staying out of the spam filters, are there any other memories that are worth kind of going down

667
00:48:01,200 --> 00:48:02,240
[Yeah.]

668
00:48:05,960 --> 00:48:11,880
the lane and talking about about I don't know shifts you've seen in the Postgres ecosystem

669
00:48:12,320 --> 00:48:18,220
or particular articles or news that came out, I know we've had a lot of big news in the last

670
00:48:18,240 --> 00:48:22,080
couple of weeks with two big acquisitions of Postgres startups, right?

671
00:48:20,010 --> 00:48:20,420
[Yeah.]

672
00:48:22,680 --> 00:48:29,020
Both Neon and I don't know if you'd call Crunchy Data a startup, but, uh, you know, both of

673
00:48:29,120 --> 00:48:30,740
them acquired by much bigger players.

674
00:48:31,250 --> 00:48:35,740
But over the last 12 years, does anything stand out to you? Because you've seen the patterns as they've evolved.

675
00:48:37,500 --> 00:48:45,200
[PETER] Yeah I can't pick individual blog posts because I mean literally you think about

676
00:48:45,240 --> 00:48:50,300
the amount that I read, so many things just go through my brain out onto the page and then they're

677
00:48:50,300 --> 00:48:55,920
gone. So there's very few blog posts that kind of like really stick with me for years and years,

678
00:48:56,120 --> 00:49:01,580
but the broad stories stick with me a lot better. So, you know, in terms of overall trends and

679
00:49:01,720 --> 00:49:08,120
things like that, you know, one massive difference that we've seen just from 12 years ago to now is

680
00:49:08,260 --> 00:49:12,100
that we do write about the business side of things a lot more. Like, I mean, 12 years ago,

681
00:49:12,780 --> 00:49:15,440
Postgres was seen in a very different way from a business perspective.

682
00:49:16,910 --> 00:49:26,940
You know, if you go back 12 years ago, that's actually when Amazon RDS first introduced its Postgres support was in 2013, just after we launched.

683
00:49:27,640 --> 00:49:31,500
And, you know, people weren't really that heavily talking about it at the time.

684
00:49:31,620 --> 00:49:40,220
You know, it was news, but it wasn't news in the way that it would be if, you know, Amazon launched a new Postgres thing now like they have with DSQL.

685
00:49:41,180 --> 00:49:44,460
You know, corporate news in the Postgres space just wasn't that big a deal back then,

686
00:49:44,550 --> 00:49:47,900
whereas now it's a massive deal, whether it's Supabase, you know, getting funding or

687
00:49:48,370 --> 00:49:52,420
even things like this week, Timescale is, you know, renamed to TigerData. Like,

688
00:49:52,760 --> 00:49:57,500
that's a story now, whereas it wouldn't have been 12 years ago. So I've seen that occur,

689
00:49:57,740 --> 00:50:04,700
the growing role of companies in the ecosystem. But, you know, there are also things that haven't

690
00:50:04,720 --> 00:50:11,880
changed over the years that when I was kind of doing my research for this, you know, I realized

691
00:50:11,880 --> 00:50:17,460
just how important extensions are to Postgres's success, because the very first thing that we

692
00:50:17,620 --> 00:50:26,340
linked to in Postgres Weekly all those years back was an extension that allowed you to do stuff with

693
00:50:26,540 --> 00:50:32,380
the HyperLogLog algorithm in Postgres, which I don't think the extension is relevant now.

694
00:50:32,980 --> 00:50:36,680
But the fact is we've covered extensions all the way through and it hasn't changed.

695
00:50:36,880 --> 00:50:41,180
It's still very, very important and still an ongoing debate and discussion.

696
00:50:41,420 --> 00:50:48,440
And it's also a massive difference to MySQL and lots of other databases where there isn't that extension ecosystem.

697
00:50:48,480 --> 00:50:53,920
It's been so important to the Postgres ecosystem, something that I really enjoy seeing go on.

698
00:50:54,840 --> 00:50:55,900
So that hasn't changed at all.

699
00:50:56,960 --> 00:51:02,360
Then, you know the things that stand out to me are just when new things are introduced that kind of

700
00:51:02,600 --> 00:51:09,700
kick Postgres up to the next level so as I said you know we started in the Postgres 9.2 era and 9.2

701
00:51:09,880 --> 00:51:15,680
was a notable Postgres release just because it introduced JSON so Postgres went from this kind

702
00:51:15,720 --> 00:51:21,460
of idea of it just being a you know a row store essentially to being a multi-model store you know

703
00:51:21,480 --> 00:51:26,400
you could do some, you know, document kind of basic document stuff with it. And now that's just

704
00:51:26,900 --> 00:51:31,800
moved on and on and on over the years. We've had JSONB, we've had, you know, things like pgvector

705
00:51:32,000 --> 00:51:39,280
come in. There's other, like, there's the Apache product that adds graph support to Postgres,

706
00:51:39,520 --> 00:51:44,060
there's PostGIS. And things have just grown and grown and grown. And now you can look at Postgres

707
00:51:44,080 --> 00:51:50,060
as being a true kind of multi-model database at some level, thanks to its, you know, extension

708
00:51:50,080 --> 00:51:53,960
support and thanks to all of these different things being added in at the base level.

709
00:51:54,720 --> 00:52:00,180
And so it's really been fun being on that journey and seeing Postgres evolve, but having

710
00:52:00,400 --> 00:52:04,860
like such fertile ground to grow on that a lot of other database systems just haven't

711
00:52:05,000 --> 00:52:05,160
had.

712
00:52:05,240 --> 00:52:08,240
So that's been really exciting to see all of that growth.

713
00:52:10,840 --> 00:52:17,680
[CLAIRE] Sometimes when I give talks that focus on the history of Postgres, I will take a screenshot

714
00:52:18,360 --> 00:52:23,120
of the original paper that was published by Michael Stonebraker and Lawrence Rowe called

715
00:52:23,920 --> 00:52:24,960
The Design of Postgres.

716
00:52:25,440 --> 00:52:28,840
And I just love the fact that, like, number two, I'm looking at it in front of me so I

717
00:52:28,840 --> 00:52:29,760
can read it exactly.

718
00:52:30,320 --> 00:52:36,780
Number two on that design doc is provide user extendability for data types, operators, and access methods.

719
00:52:37,240 --> 00:52:41,760
And it just wows me that that was part of the design from the very, very beginning.

720
00:52:41,800 --> 00:52:49,200
Now, obviously, some aspects of extension support didn't come in until later, but it was the intention from the beginning.

721
00:52:49,980 --> 00:52:52,040
So I'd be happy.

722
00:52:50,940 --> 00:52:52,880
[PETER] Yeah, whereas that wasn't the case with MySQL.

723
00:52:53,080 --> 00:52:56,080
Now, I just want to say, I don't know whether you say My "S-Q-L" or My "Sequel".

724
00:52:56,140 --> 00:52:59,000
I tend to say MySQL, but obviously you can say it either way.

725
00:52:59,140 --> 00:53:04,280
But I mean, that was one difference with that is that even though MySQL can be extended,

726
00:53:05,260 --> 00:53:09,800
it's harder, a little bit riskier, less kind of like rewarding, essentially, than in Postgres,

727
00:53:09,980 --> 00:53:14,900
where it's so simple. Like Postgres has, you know, much more kind of API stability,

728
00:53:15,200 --> 00:53:20,380
and it has more hooks to like, you know, hook into it. Like, you know, this is one thing that

729
00:53:20,420 --> 00:53:22,020
we've covered over the years as well, is people releasing toolkits and libraries for building

730
00:53:25,540 --> 00:53:30,160
Postgres extensions with languages, you know, like Rust and Zig, and, you know, even with things like

731
00:53:30,180 --> 00:53:36,380
JavaScript and Perl and I've not seen it in Ruby I must admit but all these different languages you

732
00:53:36,380 --> 00:53:40,580
can build things in and it's actually not that difficult like almost anyone that is a software

733
00:53:40,720 --> 00:53:44,960
developer if they really wanted to right now they could sit down and they could figure out how to

734
00:53:45,080 --> 00:53:50,600
build a Postgres extension and distribute it and get people to install it in a way that you just

735
00:53:50,420 --> 00:53:57,799
can't do very easily with other database systems and I think that has had a massive effect on

736
00:53:58,140 --> 00:53:59,540
you know, Postgres's current status.

737
00:54:02,200 --> 00:54:07,700
[CLAIRE] I want to circle back for one second to a thread from earlier when you were talking about your feed

738
00:54:07,860 --> 00:54:09,280
readers. And Rob Treat on the chat did look it up. And I think, well, he looked it up and I had it in

739
00:54:15,270 --> 00:54:20,060
front of me and now I don't. Oh yeah, he says it looks like it uses a combination of Postgres,

740
00:54:20,500 --> 00:54:22,040
Redis and ElastiCache.

741
00:54:22,560 --> 00:54:24,380
So, yeah.

742
00:54:22,740 --> 00:54:23,740
[PETER] Oh, there we go. That's good news.

743
00:54:24,540 --> 00:54:26,280
[CLAIRE] So it has a nice little Postgres connection.

744
00:54:26,200 --> 00:54:38,880
[PETER] Yeah, and I do love Redis as well. So that's another favorite database of mine. Although I tend to call it a data structure store whenever I link to it rather than a database. But yeah, it's all semantics.

745
00:54:38,140 --> 00:54:40,440
[Because why?]

746
00:54:41,040 --> 00:54:53,120
Just because you are working at a much more low level, it's more granular, you're dealing with just, I'm storing a string or I'm working with a hash or I'm working with a list of something.

747
00:54:53,320 --> 00:55:04,280
Like it's, it feels like another dimension down from what something like Postgres or even, you know, SQLite or whatever, you know, SQL server is dealing with.

748
00:55:04,900 --> 00:55:10,380
So I tend to think it is a data structure server, but you could argue that, you know, things like Postgres are also storing data structures.

749
00:55:11,400 --> 00:55:20,340
But I just need to, I feel like to make the distinction, it kind of belongs in the same family as things like Memcached and, you know, Berkeley database and things like that.

750
00:55:20,620 --> 00:55:22,280
It's a different thing to me.

751
00:55:23,080 --> 00:55:23,200
[CLAIRE] Okay.

752
00:55:25,720 --> 00:55:28,300
When you talked about your process a few minutes ago,

753
00:55:30,470 --> 00:55:33,120
both at the technical level and at the curation level

754
00:55:33,440 --> 00:55:35,440
and how your team collaborates and everything,

755
00:55:36,100 --> 00:55:37,420
one of the things that's new,

756
00:55:37,700 --> 00:55:40,460
like when I first started reading Postgres Weekly in 2017,

757
00:55:40,480 --> 00:55:46,460
I don't think you had this feature yet, but you now include a beautiful graphic banner

758
00:55:46,670 --> 00:55:49,500
at the top of the newsletters, at least the ones I receive.

759
00:55:50,200 --> 00:55:53,200
Maybe if you send a text-only version, it does not have the graphic.

760
00:55:54,960 --> 00:55:56,340
And it's really interesting.

761
00:55:56,640 --> 00:55:59,920
I can always tell there's – I don't feel like you just threw it up there.

762
00:56:00,900 --> 00:56:03,760
It feels like there's some thought and some intentionality to it,

763
00:56:03,810 --> 00:56:05,220
although maybe I'm giving you more credit.

764
00:56:05,350 --> 00:56:05,800
I don't know.

765
00:56:06,140 --> 00:56:11,860
So can you talk to us about how those graphics came to be and why and are they working for you?

766
00:56:12,180 --> 00:56:15,540
And is it a delight to create them or a bit of a hassle?

767
00:56:17,260 --> 00:56:20,340
[PETER] So, when I was running the Ruby Inside blog,

768
00:56:20,580 --> 00:56:26,000
one of my kind of things I made sure to always do was include an image in every single post just

769
00:56:26,120 --> 00:56:30,020
because it seemed on blogs that that kind of helped your engagement especially with feed readers at

770
00:56:30,080 --> 00:56:34,180
the time you know people see an image and they'd be more likely to come through and read the whole

771
00:56:34,320 --> 00:56:39,820
post I don't know why but there's just like some psychological angle to it I guess and I kind of

772
00:56:40,170 --> 00:56:43,460
forgot about that when I was starting doing email I was just like let's keep it really really plain,

773
00:56:43,660 --> 00:56:47,100
really really simple, I don't want images in my emails I just want to keep it really really plain

774
00:56:48,060 --> 00:56:55,160
after some years I kind of got addicted to another newsletter called Podnews which is a podnews.net

775
00:56:55,360 --> 00:57:02,220
and that's a kind of a daily email about the podcasting industry which I definitely

776
00:57:02,520 --> 00:57:08,440
recommend subscribing to it's very very good. [Is it still relevant?] It's it's still relevant yeah it's you know it's

777
00:57:08,080 --> 00:57:11,420
interesting, it's interesting to people that are interested in podcasts as a business I think

778
00:57:11,560 --> 00:57:15,500
probably more than you know just average listeners.

779
00:57:13,080 --> 00:57:13,320
[CLAIRE] Okay.

780
00:57:14,480 --> 00:57:17,940
So they're probably not talking about Talking Postgres a lot, at least not yet.

781
00:57:18,100 --> 00:57:19,180
[PETER] No although you know if it was if they might mention it that type of thing like you know

782
00:57:22,020 --> 00:57:25,480
obviously oh Microsoft have released this or whatever but uh yeah it's more about the industry

783
00:57:26,620 --> 00:57:32,100
but it was one of the few newsletters that I kind of took direct inspiration from in having

784
00:57:32,260 --> 00:57:37,480
some new features, and one of the things that they always did and they still do is that they have

785
00:57:37,660 --> 00:57:43,560
a image at the top of their email and it's about you know whatever the top item in the

786
00:57:43,580 --> 00:57:47,180
newsletter is and I was like I really like the way that works I like the way they've implemented it

787
00:57:47,180 --> 00:57:52,060
so I was like I'm gonna just steal the idea from them, and I kind of knew the guy that runs

788
00:57:52,200 --> 00:57:58,120
it and everything he was very cool, so you know we began if the top item in a newsletter had an

789
00:57:58,180 --> 00:58:02,780
obvious screenshot or something that I could just take uh you know I'd take a screenshot and we'd

790
00:58:03,080 --> 00:58:09,580
you know put it in and uh you know people seem to like it people click on it and great uh over time

791
00:58:09,740 --> 00:58:13,740
obviously you know we started to get a habit of having these in but there wasn't always a screenshot

792
00:58:13,830 --> 00:58:20,240
to include so I was like well what can we do for these and I kind of had a weird background from

793
00:58:20,480 --> 00:58:27,540
many many years ago of being very briefly in involved in graphic design and so I had you know

794
00:58:27,620 --> 00:58:31,300
I've always been addicted to Photoshop, I use Photoshop nearly every day for doing random things

795
00:58:31,520 --> 00:58:37,060
or you know coming up with joke images or memes or whatever and all this type of thing and so I was

796
00:58:37,080 --> 00:58:39,340
well, you know, can I use some of my skills there to produce these images?

797
00:58:39,480 --> 00:58:42,880
And so we described to, I can't remember who it was now,

798
00:58:42,960 --> 00:58:46,160
like Shutterstock or someone like that, one of the stock libraries.

799
00:58:46,880 --> 00:58:50,080
And I would basically put together like composite images of things.

800
00:58:50,340 --> 00:58:57,180
So one of the worst ones that I remember in Postgres is that we had an article about auto vacuuming.

801
00:58:58,300 --> 00:59:00,500
And it was something about auto vacuuming getting stuck.

802
00:59:01,620 --> 00:59:08,460
And just I came up with this horrible montage of like a robot vacuum cleaner getting stuck under a table or something.

803
00:59:08,490 --> 00:59:12,040
And it's a terrible, terrible image. Very, very cheesy.

804
00:59:12,320 --> 00:59:15,780
But it made me laugh. And I was like, I actually quite enjoy making these silly images.

805
00:59:16,760 --> 00:59:19,220
And so it just went from there over time.

806
00:59:20,370 --> 00:59:22,960
You know, we've introduced all sorts of various different tools into it.

807
00:59:23,020 --> 00:59:26,720
You know, I will use AI to produce elements of images and stuff like that.

808
00:59:27,400 --> 00:59:31,040
But at the end of the day, I do a lot of composite compositing work

809
00:59:31,520 --> 00:59:32,400
to bring things together.

810
00:59:32,640 --> 00:59:34,240
You know, we don't just generate an image somewhere

811
00:59:34,250 --> 00:59:35,140
and just slap it in.

812
00:59:35,220 --> 00:59:37,080
We're like, you know, I need to make sure

813
00:59:37,140 --> 00:59:38,980
there's a story kind of told in the image.

814
00:59:39,720 --> 00:59:41,800
And so I'll bring together icons and, you know,

815
00:59:42,000 --> 00:59:43,040
bits and pieces and screenshots

816
00:59:43,360 --> 00:59:44,260
and put them together into something

817
00:59:44,310 --> 00:59:45,680
that kind of vaguely makes sense.

818
00:59:46,520 --> 00:59:48,140
So it's actually one of the most fun part of my jobs.

819
00:59:48,170 --> 00:59:49,200
I actually quite like doing the image for things

820
00:59:50,950 --> 00:59:52,700
and it makes a change from, you know,

821
00:59:52,820 --> 00:59:54,080
doing just purely editorial stuff.

822
00:59:54,980 --> 00:59:55,200
So yeah, I enjoy that.

823
00:59:56,780 --> 00:59:59,220
[CLAIRE] So maybe your writing and the blurbs that you write

824
01:00:00,090 --> 01:00:00,940
are fresher

825
01:00:01,490 --> 01:00:02,320
because you've had that

826
01:00:03,360 --> 01:00:04,980
distraction using another part of your brain,

827
01:00:05,210 --> 01:00:05,620
I don't know.

828
01:00:06,200 --> 01:00:06,940
[PETER] Yeah it's kind of a multimedia aspect to it I guess but uh yeah in terms of actually drawing

829
01:00:10,820 --> 01:00:15,120
things from scratch I have absolutely zero talent to do that so you know putting together montages

830
01:00:15,190 --> 01:00:18,980
and things like that and kind of newsy kind of pictures is is definitely more my style

831
01:00:19,420 --> 01:00:26,480
and actually I need to shout out someone in that regard because there's someone that's put

832
01:00:26,560 --> 01:00:32,520
together like a public domain uh group of images all to do with like gophers so whenever we do

833
01:00:32,590 --> 01:00:36,980
stuff like the Go programming language uh we use that public domain stuff quite a lot and we

834
01:00:38,820 --> 01:00:42,420
shout them out in the newsletter from time to time so I just wanted to mention it, just because

835
01:00:42,530 --> 01:00:46,060
you know there are groups of people out there illustrators and so on that produce images

836
01:00:46,660 --> 01:00:48,940
that we do use and we credit them and everything.

837
01:00:49,960 --> 01:00:52,960
But it's very important still to have that human aspect in there.

838
01:00:54,320 --> 01:00:59,880
[CLAIRE] So, on the chat Aaron seems to have found an edition of Postgres Weekly from August 2022

839
01:01:00,900 --> 01:01:05,060
and I don't know if this is the right one but it's a very sad looking blue elephant [Okay.]

840
01:01:05,060 --> 01:01:09,660
looking at a robot vacuum cleaner that's on fire.

841
01:01:11,060 --> 01:01:12,240
It's one of those circular ones

842
01:01:12,440 --> 01:01:14,060
that kind of rolls around on the floor by itself.

843
01:01:14,380 --> 01:01:15,480
Is that what you were thinking of?

844
01:01:14,460 --> 01:01:15,000
[All right.]

845
01:01:16,480 --> 01:01:18,060
Or is it different?

846
01:01:17,320 --> 01:01:18,800
[PETER] Hang on, let me just quickly look at this link.

847
01:01:19,090 --> 01:01:19,980
No, it's not that one.

848
01:01:20,580 --> 01:01:20,780
[CLAIRE] [Okay.]

849
01:01:21,460 --> 01:01:23,140
[PETER] But no, there is one that is

850
01:01:23,300 --> 01:01:24,900
very obviously Photoshop

851
01:01:25,080 --> 01:01:27,260
where I've put this table and a vacuum cleaner.

852
01:01:27,420 --> 01:01:28,800
It's just absolutely terrible.

853
01:01:28,920 --> 01:01:29,640
No, it's not that one.

854
01:01:29,900 --> 01:01:30,920
That is a very related one. But yeah.

855
01:01:30,020 --> 01:01:31,280
[CLAIRE] Well, now I want to see.

856
01:01:31,300 --> 01:01:32,060
We're going to go hunting

857
01:01:32,300 --> 01:01:36,840
until we can find the one that's absolutely terrible.

858
01:01:35,740 --> 01:01:37,820
[PETER] Yeah, I've shared it on our work Slack numerous times

859
01:01:37,890 --> 01:01:39,740
because it's like the nadir

860
01:01:39,880 --> 01:01:41,600
of my image creation efforts.

861
01:01:42,780 --> 01:01:44,340
[CLAIRE] I really enjoy the graphics.

862
01:01:44,560 --> 01:01:45,100
I don't know why.

863
01:01:45,100 --> 01:01:45,860
They pull me in

864
01:01:46,360 --> 01:01:48,600
and they kind of anchor the post as well

865
01:01:49,560 --> 01:01:50,660
and they tell you

866
01:01:51,000 --> 01:01:52,760
what the top article is about

867
01:01:53,440 --> 01:01:54,920
without even having to read a word

868
01:01:54,980 --> 01:01:55,660
which is kind of cool.

869
01:01:56,500 --> 01:01:57,380
[PETER] Yeah, it can be good.

870
01:01:56,620 --> 01:01:57,100
[CLAIRE] Okay so

871
01:01:58,180 --> 01:01:59,780
You don't just do this for free

872
01:02:00,080 --> 01:02:00,820
It's a business

873
01:02:01,520 --> 01:02:01,740
[Yeah.]

874
01:02:02,040 --> 01:02:03,940
And I'm assuming the bulk of the income

875
01:02:03,960 --> 01:02:05,020
is from advertising.

876
01:02:05,980 --> 01:02:06,320
[Yes.]

877
01:02:06,700 --> 01:02:09,540
Just full disclosure, my team at Microsoft

878
01:02:09,690 --> 01:02:11,940
and prior to this, my team at Citus Data,

879
01:02:12,480 --> 01:02:14,520
we have advertised with you.

880
01:02:14,940 --> 01:02:18,240
I wouldn't say always in the last seven or eight years

881
01:02:18,480 --> 01:02:19,860
because, you know, budgets come and go

882
01:02:20,340 --> 01:02:21,340
and projects come and go.

883
01:02:21,610 --> 01:02:22,820
But like most recently,

884
01:02:24,460 --> 01:02:26,840
we have placed some POSETTE ads

885
01:02:27,230 --> 01:02:29,680
to make sure that people knew about the

886
01:02:30,140 --> 01:02:33,220
POSETTE: An Event for Postgres virtual conference

887
01:02:32,480 --> 01:02:32,580
[PETER] [Yeah.]

888
01:02:33,220 --> 01:02:39,460
[CLAIRE] that we organize and trying to get people to attend or submit talks to the CFP or, you

889
01:02:39,480 --> 01:02:41,800
know, now, now that the videos are all published, to watch them.

890
01:02:42,380 --> 01:02:48,580
So, and we're not the only ones, like lots of Postgres companies spend dollars advertising

891
01:02:48,600 --> 01:02:49,340
in Postgres Weekly.

892
01:02:49,400 --> 01:02:54,280
And I'm sure the same is true across the other, across the other newsletters also.

893
01:02:55,520 --> 01:02:56,720
Has building up that, the business side, of your newsletter business been surprising in

894
01:03:02,740 --> 01:03:03,040
any way?

895
01:03:05,140 --> 01:03:09,140
[PETER] No, I mean, it's basically just fallen into our lap in some sense.

896
01:03:10,000 --> 01:03:15,820
You know, when I began doing the newsletters, it wasn't like the current business model wasn't what I planned to do whatsoever.

897
01:03:17,140 --> 01:03:31,360
So my original plan was I was going to have the Ruby newsletter and I was going to basically sell tickets to an online training course I was running at the time each month, which was an advanced kind of Ruby, like online webinar type thing.

898
01:03:32,080 --> 01:03:36,820
You know, I've worked for various Ruby concepts with people and people would pay, you know, three, four hundred dollars.

899
01:03:38,519 --> 01:03:42,380
And I would get, you know, like 20, 30 people to join on that.

900
01:03:42,460 --> 01:03:44,540
And I'd help them all out and all that type of thing.

901
01:03:44,540 --> 01:03:45,900
You know, we had a forum and stuff like that.

902
01:03:46,720 --> 01:03:48,220
And so, you know, that was good money.

903
01:03:48,340 --> 01:03:50,800
If you run that once a month, then, you know, you have a full time income.

904
01:03:51,760 --> 01:03:53,360
And so that's what I did in the early days.

905
01:03:53,520 --> 01:03:58,820
But then I very quickly realized that I'm just not my brain just isn't in teaching.

906
01:03:59,020 --> 01:04:01,500
I'm not, you know, really good at the real time thing.

907
01:04:01,680 --> 01:04:03,100
So I had these people originally reaching out saying, oh, we've got this thing we want to sponsor the newsletter.

908
01:04:08,100 --> 01:04:13,360
And it's like, well, we don't really do that. But then I realized, well, let's just do it temporarily and then we'll see what happens from there.

909
01:04:14,080 --> 01:04:18,060
Well, whenever I say let's just do something temporarily, it tends to become permanent.

910
01:04:18,220 --> 01:04:21,840
I'm still doing it 10 years later. So that is very much the case here.

911
01:04:22,040 --> 01:04:28,160
It's another one of these things where it was a side idea and just because there was the demand, it carried on.

912
01:04:28,480 --> 01:04:30,220
And that's literally how we got to where we are now.

913
01:04:30,640 --> 01:04:37,620
And so over time, you know, I've hired people because I got to a point where we just had too much inbound business.

914
01:04:37,800 --> 01:04:41,220
So I had to hire someone to take charge of the whole sales side of things.

915
01:04:41,400 --> 01:04:43,120
And she is still with us today.

916
01:04:43,300 --> 01:04:45,200
So she's actually just celebrated 10 years with us.

917
01:04:45,400 --> 01:04:49,900
So, yeah, it's it's worked out quite well.

918
01:04:51,260 --> 01:04:55,860
[CLAIRE] Well, and the ads in Postgres Weekly, at least, are tasteful.

919
01:04:56,560 --> 01:04:56,980
Does that make sense?

920
01:04:57,140 --> 01:04:59,020
I don't know how much thought you put into that.

921
01:05:00,500 --> 01:05:07,320
How much thought you put into the placements or whatever the guidelines are of what you accept or what you don't accept.

922
01:05:07,780 --> 01:05:15,220
But they seem, I don't know, they seem to fit the tone that the newsletter has of being useful.

923
01:05:17,000 --> 01:05:18,480
[PETER] Yeah, we try to make sure that's the case.

924
01:05:18,660 --> 01:05:20,840
I mean, partly because that performs better.

925
01:05:21,100 --> 01:05:32,020
So if there is some kind of relevance or even if it's like content, you know, we do have sponsors that will literally link to a blog post, which can sometimes get a little bit weird because it might have been a blog post we were going to feature anyway.

926
01:05:32,860 --> 01:05:36,540
And so I try to maintain a really good divide between sales editorial.

927
01:05:36,640 --> 01:05:42,740
I try not to get involved in sales because I don't want to be unduly influenced by it and say, oh, this company is great because, you know, they sponsor us.

928
01:05:43,520 --> 01:05:48,400
I try to avoid even having that potential by staying out the sales side of things.

929
01:05:48,640 --> 01:05:54,560
But sometimes it does have an influence on us because it's like, well, actually, I was going to feature this post anyway, and they're already paying us to promote it.

930
01:05:54,680 --> 01:05:57,620
So I can't have it as the feature and the sponsor.

931
01:05:58,400 --> 01:06:00,680
So sometimes it actually acts to a detriment.

932
01:05:58,600 --> 01:05:58,660
[Yeah.]

933
01:06:01,000 --> 01:06:10,160
But most times, you know, like the people I'm working with have a really good nose for, you know, what is something that's legit and kind of earnest and interesting.

934
01:06:10,960 --> 01:06:12,820
It's not always perfect, but it's usually pretty good.

935
01:06:14,240 --> 01:06:20,080
We don't do outbound. And so that's quite important because outbound can really lead to low quality kind of sales.

936
01:06:21,080 --> 01:06:22,140
[CLAIRE] What do you mean by that?

937
01:06:21,720 --> 01:06:28,300
[PETER] You know, what I mean is like most companies that are in media, they will do outbound sales,

938
01:06:28,430 --> 01:06:33,360
which is where you look at companies that you might want to have or that you think have got lots of money.

939
01:06:33,920 --> 01:06:37,480
And you reach out to their marketing departments and say, oh, we've got X thousand subscribers.

940
01:06:37,860 --> 01:06:43,640
You know, you could come in our newsletter and blah, blah, blah, like do that kind of sales pitch, which we don't do.

941
01:06:43,820 --> 01:06:45,540
Like we, I think we've done it like once or twice for some job ads, like 10 years ago or something.

942
01:06:49,180 --> 01:06:53,680
But like, it's not something that is a part of the business at this point.

943
01:06:54,700 --> 01:06:57,140
All of our sales are inbound. It's where companies have seen us.

944
01:06:57,260 --> 01:06:58,720
They've seen the newsletter. They know what it is.

945
01:06:59,700 --> 01:07:05,520
And quite often it's because employees at the company, so like engineers have seen, you know, been subscribed to Postgres Weekly.

946
01:07:06,320 --> 01:07:11,500
They get asked by the marketing department of the company, you know, what's somewhere that's relevant to what we're doing.

947
01:07:12,000 --> 01:07:15,520
And they'll say, oh, well, here's this newsletter that I've seen ads in it before.

948
01:07:14,900 --> 01:07:17,300
Like, you know, contact them. And that's how we get the contact.

949
01:07:17,640 --> 01:07:26,600
So people that work at companies are actually probably our best sales agents in a way because they recommend us to their marketing departments and then it goes from there.

950
01:07:26,800 --> 01:07:30,120
So that is our most common way of getting customers.

951
01:07:31,340 --> 01:07:37,660
[CLAIRE] And then there's a question from Kaiting on the chat about how your business team decides

952
01:07:37,840 --> 01:07:38,820
who gets to sponsor.

953
01:07:39,360 --> 01:07:42,880
Do you ever have people competing for the same newsletters?

954
01:07:43,100 --> 01:07:45,640
Because it's not overflowing with ads.

955
01:07:45,860 --> 01:07:46,880
Presumably you have a limit.

956
01:07:46,970 --> 01:07:51,580
We're only going to have this many ads or these many sponsors in a given newsletter.

957
01:07:53,380 --> 01:07:56,200
[PETER] Yeah, I mean, you know, we have different ratios that I'd like to maintain.

958
01:07:57,240 --> 01:08:00,220
You know, the fewer, the better, but obviously to a point, because obviously we're a business.

959
01:08:01,180 --> 01:08:04,980
but you know I try to make sure that you know we don't just have like ad, ad, ad, ad, ad, ad, like you

960
01:08:04,980 --> 01:08:07,860
know it's not like a fashion magazine where it's just you know 20 pages of ads before you even get

961
01:08:09,340 --> 01:08:15,520
to the you know the content. So you know I've kind of just got this basic feel of what if I was a

962
01:08:15,660 --> 01:08:22,759
reader what I would tolerate and deal with but then obviously the other aspect of it that kind of goes

963
01:08:23,320 --> 01:08:28,959
to Kaiting's question which you know is how do we get decide who gets to sponsor you know it's not

964
01:08:28,980 --> 01:08:34,440
just like if anyone turns up and anyone has money then you're in uh you know our team usually is

965
01:08:34,440 --> 01:08:37,839
good at sniffing out things that are relevant I have kind of directives I've given them things I'm

966
01:08:38,319 --> 01:08:43,520
not interested in covering whatsoever or having involved with us. I'll give you one example of

967
01:08:43,660 --> 01:08:50,259
that which is, it's less important now but it was quite big a few years back which was companies

968
01:08:50,380 --> 01:08:57,039
that were very heavily into cryptocurrency and it's not because I'm against cryptocurrency per se

969
01:08:57,100 --> 01:09:04,160
it's just that when they advertise it tends to be quite overly commercial and overly

970
01:09:06,680 --> 01:09:10,140
I don't know this is the right word but kind of exploitative the thought the weight the things

971
01:09:10,160 --> 01:09:14,560
that they're trying to promote like it's not there's no kind of like organic edge to it whatsoever so

972
01:09:14,839 --> 01:09:18,799
they're the types of companies that we're not interested in and like NFTs things like that

973
01:09:18,839 --> 01:09:23,699
just kind of turn me off, but then there's companies you know that really make sense like

974
01:09:23,720 --> 01:09:27,160
you know when it's someone that's providing Postgres managed services or something like that

975
01:09:27,220 --> 01:09:31,720
then obviously for Postgres Weekly it's perfect fit, and if they can link to content or libraries

976
01:09:31,880 --> 01:09:36,040
that they produced or you know things of that nature like, you know, Timescale does with like

977
01:09:36,040 --> 01:09:41,500
their AI libraries and things like that and you know [You mean TigerData, right?] yeah oh sorry TigerData yeah they've renamed

978
01:09:41,819 --> 01:09:47,080
or you know or Microsoft with POSETTE, when it's things that you know that are going to get

979
01:09:47,259 --> 01:09:51,659
an editorial mention in some way even though it's not the ideal way that the sponsor would want

980
01:09:52,420 --> 01:09:56,540
that's a good fit because then it allows them to tell their story in their way if you know they

981
01:09:56,680 --> 01:10:02,920
want to add to what we're saying so, you know it works out quite well in those situations and

982
01:10:03,010 --> 01:10:08,240
yeah my team seems to really you know get it and they understand what I'm aiming for and

983
01:10:08,840 --> 01:10:13,140
yeah we don't tend to we you know we occasionally have the odd weird sponsor and I'm like why did

984
01:10:13,150 --> 01:10:17,400
you sign them up and you know we figure it all out in the end it gets figured out we talk to them

985
01:10:17,450 --> 01:10:21,099
and see what the deal is and what they're going to run and we'll sometimes help them finesse and

986
01:10:21,120 --> 01:10:25,640
hone what they're going to run but nine times out of ten we don't have any problems at all but

987
01:10:25,820 --> 01:10:28,440
you know it's uh it's worked out pretty well.

988
01:10:29,980 --> 01:10:33,460
[CLAIRE] Okay, so now I have a couple random questions for you before we wrap.

989
01:10:33,680 --> 01:10:39,100
And the first is, I don't know if you ever listened to the episode with David Rowley.

990
01:10:39,230 --> 01:10:41,920
It was on Talking Postgres last August.

991
01:10:42,490 --> 01:10:47,920
And it was one of the canonical How I got started as a developer (& in Postgres) themes.

992
01:10:48,230 --> 01:10:49,700
That was the title of his episode.

993
01:10:50,220 --> 01:10:51,080
And he started in a really unusual way.

994
01:10:53,470 --> 01:10:55,920
It involved a cheese factory and a forklift.

995
01:10:56,320 --> 01:11:00,680
And for some reason then, a whole bunch of the guests brought a cheese story to the podcast.

996
01:11:01,380 --> 01:11:07,540
and somehow cheese was involved in their journey into Postgres or their work on Postgres.

997
01:11:07,920 --> 01:11:10,640
So I just have to ask you, do you have a cheese story to share with us?

998
01:11:12,540 --> 01:11:17,820
[PETER] No, I mean I absolutely hated cheese for probably the first 20-25 years of my life I couldn't stand

999
01:11:17,880 --> 01:11:22,440
cheese. I actually do like it now but it's pretty much something I only eat at Christmas so

1000
01:11:22,670 --> 01:11:27,720
I associate it with Christmas and holidays, because if I eat any other time of the year I'm

1001
01:11:27,720 --> 01:11:33,260
just going to get very very fat so yeah I'm not a big cheese person but when I do eat cheese I

1002
01:11:33,270 --> 01:11:34,060
eat it very seriously.

1003
01:11:35,920 --> 01:11:36,320
[CLAIRE] Okay, then.

1004
01:11:37,980 --> 01:11:39,100
Books you're listening to,

1005
01:11:40,000 --> 01:11:40,780
anything you want to recommend.

1006
01:11:43,080 --> 01:11:44,840
[No, I mean I was addicted to Audible.]

1007
01:11:44,220 --> 01:11:44,980
Or books you're reading.

1008
01:11:45,280 --> 01:11:46,500
You don't have to be listening to it.

1009
01:11:46,580 --> 01:11:47,360
You could be reading it.

1010
01:11:47,020 --> 01:11:50,120
[PETER] Well so in terms of listening you know I was addicted to Audible I had the subscription I

1011
01:11:50,120 --> 01:11:53,820
used to get stuff all the time I'll be listening to like true crime and murders and all these

1012
01:11:54,140 --> 01:11:58,180
horrible different things, I never listened to anything technical like in an audiobook just

1013
01:11:58,290 --> 01:12:03,040
because it doesn't work for me like it's I need to read that type of stuff on paper [Okay.] But then it tends to

1014
01:12:04,200 --> 01:12:08,500
be things like about the Linux kernel and things of that kind of nature which is just out of

1015
01:12:08,820 --> 01:12:16,100
personal interest so most of the books I read have no direct implication on my job

1016
01:12:17,820 --> 01:12:20,640
you know unless it's something that I'm reviewing because I'm going to mention it in an issue or

1017
01:12:20,760 --> 01:12:26,080
something like that but that's not very often, so no.

1018
01:12:25,080 --> 01:12:27,220
[CLAIRE] So would you say you read to escape?

1019
01:12:27,720 --> 01:12:29,780
You read to kind of get away from your work?

1020
01:12:31,820 --> 01:12:35,540
[PETER] Yeah I don't read a lot of books now I used to read a lot more in the past

1021
01:12:36,180 --> 01:12:59,820
because I got three kids I don't really get a chance to do that now, so yeah I read a lot of technical books just to kind of scratch the intellectual itch, let's say, but in terms of

1022
01:12:48,960 --> 01:12:52,760
novels and things you know I used to read tons and tons when I was younger I used to read a lot

1023
01:12:52,780 --> 01:12:57,940
horror novels like Dean Koontz and Stephen King and that type of thing and then later on

1024
01:12:58,360 --> 01:13:04,660
sort of like very sort of highbrow sci-fi like J.G. Ballard I was very heavily into for a while but

1025
01:13:04,820 --> 01:13:12,300
yeah lately i've not read any novels oh in quite a few years so yeah it's very sad but uh you know.

1026
01:13:11,160 --> 01:13:11,260
[CLAIRE] Okay.

1027
01:13:12,440 --> 01:13:16,300
[PETER] These things come and go as come and go with age I think you know eventually once the kids have

1028
01:13:16,350 --> 01:13:21,501
moved on and well if that ever happens uh you know I'll be sitting there with a glass of

1029
01:13:21,520 --> 01:13:25,540
wine the garden, reading novels again, I'm sure, at some point, but this is not the stage of life for that.

1030
01:13:26,180 --> 01:13:36,460
[CLAIRE] I'm sure you're going to be hesitating when they're in that last summer before potentially going to college and you're trying to decide whether to encourage them to get a job or not or whether they can laze around.

1031
01:13:36,620 --> 01:13:40,920
You'll be sitting there thinking, hmm, okay, if I do this, if I do that, what are my choices?

1032
01:13:41,920 --> 01:13:49,180
[PETER] Yeah, and yet the thing I know just from age and experience is that no generation is like the previous generation.

1033
01:13:49,640 --> 01:13:53,480
Like, you know, my parents couldn't identify with things that my generation was going through.

1034
01:13:53,930 --> 01:13:58,180
And I already know I will not be able to identify with things that my children's generation is going through.

1035
01:13:58,360 --> 01:14:00,600
So to a large extent, I leave it up to them.

1036
01:14:00,800 --> 01:14:03,380
Like, I know how it, you know, how it worked for me.

1037
01:14:03,900 --> 01:14:06,140
Like, they're going to figure it out if they're smart enough to, you know.

1038
01:14:06,340 --> 01:14:08,560
I am the safety net for my children.

1039
01:14:09,160 --> 01:14:12,520
I am not their guide in telling them what to do.

1040
01:14:13,800 --> 01:14:15,980
[CLAIRE] Parenting advice from Peter Cooper.

1041
01:14:16,100 --> 01:14:19,800
[PETER] Yeah, so maybe not a cheese story, but you get a cheesy story.

1042
01:14:20,760 --> 01:14:20,820
So, uh, yeah.

1043
01:14:21,280 --> 01:14:26,340
[CLAIRE] I love it. All right. Well, thank you so much, Peter Cooper, for joining us today.

1044
01:14:27,720 --> 01:14:27,880
[PETER] No,

1045
01:14:27,920 --> 01:14:28,520
you've been fantastic.

1046
01:14:28,120 --> 01:14:34,520
[CLAIRE] It's, it's been really a lot of fun. 

1047
01:14:29,600 --> 01:14:30,640
[PETER] The time has flown by. [It has flown by.]

1048
01:14:34,700 --> 01:14:39,220
[CLAIRE] All right, wrapping up. If you liked today's episode and you want to hear more of these Talking Postgres episodes,

1049
01:14:39,800 --> 01:14:44,080
you should subscribe on Apple, Spotify, and YouTube, or wherever you get your podcasts.

1050
01:14:44,860 --> 01:14:51,040
Subscriptions are a great way to help the algorithms promote the show to new listeners.

1051
01:14:51,450 --> 01:14:52,740
And please tell your friends too.

1052
01:14:53,260 --> 01:14:56,780
And if you leave a review, that helps even more people discover the show.

1053
01:14:57,300 --> 01:15:00,640
You can always get to past episodes and links to subscribe at TalkingPostgres.com.

1054
01:15:03,620 --> 01:15:07,880
And transcripts are included on the episode pages on TalkingPostgres.com too.

1055
01:15:07,960 --> 01:15:11,240
We actually put a little bit of effort to make sure the transcripts are pretty good.

1056
01:15:11,800 --> 01:15:15,200
So, yeah, let us know if we're succeeding in that.

1057
01:15:15,450 --> 01:15:21,340
And a big thank you to everybody who joined the live recording here on Discord and participated in the chat.

1058
01:15:22,110 --> 01:15:22,840
Thank you again, Peter.

1059
01:15:24,020 --> 01:15:24,740
[PETER] Thank you very much.