<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: jmduke</title><link>https://news.ycombinator.com/user?id=jmduke</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 15 Apr 2026 00:57:39 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jmduke" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jmduke in "The Cold Email Handbook"]]></title><description><![CDATA[
<p>It's an interesting question! To me, an (or perhaps _the_) obvious threshold is once the emails become automated.</p>
]]></description><pubDate>Thu, 12 Dec 2024 01:49:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=42395286</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=42395286</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42395286</guid></item><item><title><![CDATA[New comment by jmduke in "Cold Email Handbook"]]></title><description><![CDATA[
<p>I think the definition of spam necessitates some level of bulk sending, and I struggle to consider ~fifty emails over the course of two or three years "bulk".</p>
]]></description><pubDate>Thu, 12 Dec 2024 01:39:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=42395232</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=42395232</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42395232</guid></item><item><title><![CDATA[New comment by jmduke in "Cold Email Handbook"]]></title><description><![CDATA[
<p>The vast majority of commenters are being negative about this essay, and I agree with the negativity, because _automated cold emails_ are awful. (As are sequences, and mail merges.)<p>However!<p>_Bespoke cold emails_ are I think, a dying/lost art. I want to give an example of two cold emails that I (manually!) send a few times a month. (I run Buttondown, which is an email SaaS — think similar to Mailchimp, ConvertKit, etc.)<p>---<p>The first is to folks who have the following criteria:<p>1. they hit the front page of HN<p>2. they have a personal blog that isn't tied to a platform (e.g. they're using jekyll or something similar)<p>3. they have RSS enabled<p>4. they do _not_ collect email addresses<p>The thrust of the email is this:<p>```
Hi! I'm the founder of Buttondown, a newsletter tool for technical blogs. I'm reaching out because:<p>1. You just hit HN front page! (Congrats and/or my condolences.)
2. You've got an RSS feed but are not capturing emails.<p>My proposal: I set you up with a free (for life!) Buttondown account seeded with your blog's RSS feed. All you do is drop in a form tag or an iFrame in your blog and folks can sign up with their email address and get an email whenever you publish something new. I can handle the setup and then hand it off to you for perpetuity.<p>If this is something you're at all interested in, please let me know! (There's no catch, and this isn't an automated email, so please — I'd love to hear why not, even if the answer is simply "shove off, I don't care about collecting an audience, Twitter and Mastodon are sufficient").
```<p>(I tweak the language based on their own voice, mention what in particular I like about their blog, etc.)<p>---<p>The second is to folks who fit the following criteria:<p>1. they're a technical newsletter publishing programming-related content<p>2. they're using a platform that I know to be particularly expensive relative to me (Mailchimp, ActiveCampaign are the two big culprits here)<p>```
hi there! I run Buttondown — you may have heard of us, we're used by RELEVANT_CUSTOMER_1 and RELEVANT_CUSTOMER_2. I see you're using OTHER_PLATFORM; is there anything I could do to get you to switch to [us](<a href="https://buttondown.com/pricing?count=7500" rel="nofollow">https://buttondown.com/pricing?count=7500</a>)<p>(btw, this is a real email, not a marketing campaign. it's still early days for us, so tbh you telling me why you're _not_ interested is just as valuable as getting to call you a customer :)
```<p>Small sample size for both genres — I've probably sent them a total of ~fifty times — but the response rate is around 80% and conversion rate (though granted for the first genre "conversion" is more of a second-order effect, since I'm offering them a free account!) is ~25%.<p>I say all of this because, as someone who a priori _hated_ outbound and "sales stuff", I learned that at least for me and my business both the most palatable _and_ most effective method was just being earnest and helpful. It has been the single most useful non-technical skill I've gained over the past few years.</p>
]]></description><pubDate>Thu, 12 Dec 2024 01:24:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=42395144</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=42395144</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42395144</guid></item><item><title><![CDATA[New comment by jmduke in "Ruby might be better than Python for new learners"]]></title><description><![CDATA[
<p>This is pretty clearly an LLM-generated article. Kind of funny to see the commit that appears to have added a whole slew of them:<p><a href="https://github.com/ronynn/ronynn.github.io/commit/f1bc45de82ac77908d65144239c24c5b533d2744#diff-ae1a4a609d72811d84d91a8625035ddfadf4be48249d18de4b7f7d035c1cbfdf">https://github.com/ronynn/ronynn.github.io/commit/f1bc45de82...</a></p>
]]></description><pubDate>Sun, 10 Nov 2024 19:19:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=42102000</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=42102000</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42102000</guid></item><item><title><![CDATA[New comment by jmduke in "Moving Off Heroku, Slowly"]]></title><description><![CDATA[
<p>This dovetails with my own experience more or less exactly: when I launched my company, it was easy to throw everything on Heroku, and to their credit and detriment it was also fairly easy to move pretty much everything _off_ of Heroku (RDS for a database, RedisLabs for, well, Redis, and so on.)<p>Back in 2021 (<a href="https://news.ycombinator.com/item?id=29648325">https://news.ycombinator.com/item?id=29648325</a>, <a href="https://news.ycombinator.com/item?id=30177907">https://news.ycombinator.com/item?id=30177907</a>) and 2022 (<a href="https://news.ycombinator.com/item?id=32608734">https://news.ycombinator.com/item?id=32608734</a>) Heroku went from "well this is costing enough that it probably makes sense to divest at some point and save the $X00/mo" to "Heroku is now the biggest systemic risk to uptime that I have", and it felt _very_ high-priority to get off of them and onto someone else.<p>Two years later, though... the inclination has ebbed. Heroku hasn't shipped anything meaningful for my use case in the past 24 months, but also they have been fairly stable. I'm sure I will migrate off of them onto something else in the fullness of time, but it would take a pretty severe precipitating event.</p>
]]></description><pubDate>Sun, 03 Nov 2024 21:57:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=42036398</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=42036398</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42036398</guid></item><item><title><![CDATA[New comment by jmduke in "Astral: Next-Gen Python Tooling"]]></title><description><![CDATA[
<p>I have no relation with the Astral team but have been an early and aggressive adopter of everything they've released and it's all been easy, fast, and ergonomic. Over the past eighteen months I've:<p>1. Replaced `flake8` with `ruff`;<p>2. Replaced `black` with `ruff`;<p>3. Replaced `pip` with `uv`;<p>4. Replaced `poetry` with `uv`.<p>Their next project appears to be exactly what I _wish_ their next project to be — a replacement for pyright et al (<a href="https://github.com/astral-sh/ruff/discussions/10581">https://github.com/astral-sh/ruff/discussions/10581</a>). Type checking is my least favorite part of my Python toolchain at the moment; I can't wait to take it for a spin.</p>
]]></description><pubDate>Wed, 30 Oct 2024 14:06:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=41994966</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=41994966</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41994966</guid></item><item><title><![CDATA[New comment by jmduke in "The new culture war is real vs. bogus"]]></title><description><![CDATA[
<p>The only through-line for the author's definition of "bogus" (AI generated content; identity performance; rejection of canon) appears to me "cannot be situated in the culture of a few decades ago."<p>To pick on one example: he writes of the linked NYT essay:<p>> Is greatness overrated? What’s next—Is disease the new health? Is losing the new winning? Is stupid the new smart?<p>At risk of sounding uncharitable, this is the kind of reaction one might have to the essay if they read the title and skipped the content. The author is specfically talking about the idea of the Nobel canon and its orthogonality to other reasons you might want to read an author. (I don't think it's a particularly good essay, but it's certainly not saying "bad stuff is good, actually"!)</p>
]]></description><pubDate>Sun, 13 Oct 2024 16:36:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=41829381</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=41829381</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41829381</guid></item><item><title><![CDATA[Show HN: A list of all 'public' company handbooks]]></title><description><![CDATA[
<p>Article URL: <a href="https://handbook.directory/">https://handbook.directory/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41601933">https://news.ycombinator.com/item?id=41601933</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 20 Sep 2024 13:40:43 +0000</pubDate><link>https://handbook.directory/</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=41601933</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41601933</guid></item><item><title><![CDATA[New comment by jmduke in "Notes on Buttondown.com"]]></title><description><![CDATA[
<p>Yup, absolutely — you see a lot of the larger brokers do some genre of lease-to-own program (pay us the purchase price plus a near-usurious APY over 24mos and at the end, you can keep the domain.)<p>My margins are solid and there aren't a lot of competing opportunities to deploy capital besides pulling forward cloud costs or hiring folks (which is a very different value prop altogether), so reasoning about the lump sum was pretty easy, but you're definitely right in that objectively speaking I should have just gotten a line of credit and amortized it that way.</p>
]]></description><pubDate>Tue, 27 Aug 2024 11:49:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=41366518</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=41366518</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41366518</guid></item><item><title><![CDATA[New comment by jmduke in "Notes on Buttondown.com"]]></title><description><![CDATA[
<p>Honestly, as long as you don't call it "Buttdown"... (this happens more than you'd think.)</p>
]]></description><pubDate>Tue, 27 Aug 2024 11:30:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=41366389</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=41366389</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41366389</guid></item><item><title><![CDATA[New comment by jmduke in "Notes on Buttondown.com"]]></title><description><![CDATA[
<p>And my old blog domain to boot! Exactly what I meant by "The hardest part of the process was the stuff you can't grep for..."<p>(T/Y — fixed.)</p>
]]></description><pubDate>Tue, 27 Aug 2024 11:29:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=41366376</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=41366376</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41366376</guid></item><item><title><![CDATA[New comment by jmduke in "Notes on Buttondown.com"]]></title><description><![CDATA[
<p>Definitely not _necessary_ — I was more or less resigned to not having the domain, since the sticker price was $170K and my mental "is this _really_ worth it?" number was high five figures.<p>As for why important: a melange of reasons. I had heard a _lot_ from customers and prospects that they couldn't find the site because they searched for/navigated to buttondown.com; I was faintly worried about SEO/brand impact from using a vanity TLD like `.email`; I was faintly worried about a more well-financed competitor buying it and redirecting to their own property; there are a very real number of legacy pieces of software that do not _accept_ `buttondown.email` as a valid domain, which is important when you're dealing with UGC.<p>(When I was debating what a reasonable purchase price might be, the framing that helped me make a decision was: "if this helps my overall conversion funnel grow by 2% in perpetuity, is it worth it?", and that answer was yes. Time will tell, of course, to see where that number actually lands!)</p>
]]></description><pubDate>Tue, 27 Aug 2024 11:27:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=41366370</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=41366370</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41366370</guid></item><item><title><![CDATA[New comment by jmduke in "Notes on Buttondown.com"]]></title><description><![CDATA[
<p>Nah, if you don't need list management you're definitely better off going with something a little bit closer to the metal. We actually keep a price guide for comparing MTAs here (<a href="https://buttondown.com/comparison-guides/esps" rel="nofollow">https://buttondown.com/comparison-guides/esps</a>). I do happily recommend Postmark; they're a little bit more expensive than their peers but are worth it, IMHO.</p>
]]></description><pubDate>Tue, 27 Aug 2024 10:10:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=41365954</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=41365954</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41365954</guid></item><item><title><![CDATA[New comment by jmduke in "Notes on Buttondown.com"]]></title><description><![CDATA[
<p>Author here! Happy to answer any questions folks have.<p>(I would also be remiss if I didn't say that I am grateful to HN for introducing me to what was called microISVs a decade ago, "indie hacking" five years ago, and now I suppose is mostly called "building in public" / "lifestyle businesses". I was inspired to start Buttondown in no small part due to reading about Candy Japan, Appointment Reminder, et al, and learning that there was a different yet equally valid path for growing a SaaS)</p>
]]></description><pubDate>Tue, 27 Aug 2024 10:07:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=41365933</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=41365933</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41365933</guid></item><item><title><![CDATA[New comment by jmduke in "Plunk: The open source email platform"]]></title><description><![CDATA[
<p>(Disclaimer: I run Buttondown, which is an email-inflected product. I also have a comparison guide of various MTAs here — <a href="https://buttondown.email/comparison-guides/esps" rel="nofollow">https://buttondown.email/comparison-guides/esps</a> — and will add Plunk!)<p>Nuances of self-hosting aside, I'd recommend caution looking at that pricing pane.<p>The disclaimer is:<p>> Calculated based on the plan that best matches the features of Plunk at 2500 emails per month.<p>And the author then cites prices of $0.001/email for Plunk and $0.013/email for Sendgrid.<p>I am neither a user or fan of Sendgrid but that feels like disingenuous anchoring. Sendgrid's free plan is 100/day; if you want to eliminate the free plan entirely and just focus on their cheapest paid option, it's $19.95 for 50K emails — or $0.000399/email, cheaper than Plunk's sticker price.<p>It's not entirely obvious to me how that $0.013 was even calculated ($0.013 * 2500 = $32.50). Either way, be sure to spot-check against live sticker rates before making a decision there.</p>
]]></description><pubDate>Tue, 06 Aug 2024 16:09:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=41172237</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=41172237</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41172237</guid></item><item><title><![CDATA[New comment by jmduke in "Show HN: Doggo – A powerful, human-friendly DNS client for the command line"]]></title><description><![CDATA[
<p>Shameless plug for folks looking for something similar, but on the web: I was fed up with Google's slow/janky dig webface, so built my own. (Still very WIP, but already works better as a daily driver than Google's!)<p><a href="https://www.shovel.report/ycombinator.com" rel="nofollow">https://www.shovel.report/ycombinator.com</a></p>
]]></description><pubDate>Mon, 01 Jul 2024 20:57:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=40850589</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=40850589</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40850589</guid></item><item><title><![CDATA[New comment by jmduke in "Build a side project using your data"]]></title><description><![CDATA[
<p>1. I quite like Evidence, and recommend folks check it out if they haven't already. My general sense is that there are 900 different "BI tooling" startups around right now and it strikes a really good balance between ergonomics (it's basically just Markdown, SQL, and some react components) and ROI (you don't need to do a lot of complicated ingestion, it's just hitting a database directly.)<p>2. Maybe it's me being a little tin-foil-hatty, but parts of this feel aggressively LLM-written (a suspicion enhanced by looking at some of the other essays on the site.) OP, if you're the author — I strongly advise just getting rid of fluff like "By leveraging Evidence.dev, we've created a comprehensive and visually appealing dashboard that provides valuable insights into FC24 player statistics. This dashboard includes high-level metrics, top player highlights, and detailed analyses of countries and clubs. Whether you're a data analyst or a football enthusiast, this dashboard offers a powerful tool for exploring and understanding FC24 data.". It helps no-one, I promise!</p>
]]></description><pubDate>Mon, 03 Jun 2024 10:54:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=40561379</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=40561379</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40561379</guid></item><item><title><![CDATA[New comment by jmduke in "Pydantic Logfire"]]></title><description><![CDATA[
<p>Responding to my own post: this comment (<a href="https://news.ycombinator.com/item?id=40214695">https://news.ycombinator.com/item?id=40214695</a>) I think is a very compelling answer. I love the design language of the splash page, but I think the copy could be improved by a little less "here is why performance insights are useful" (which I think most people are kind of already on board with) and more "here is why our performance insights are _particularly_ more useful than the competition".</p>
]]></description><pubDate>Tue, 30 Apr 2024 19:27:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=40215183</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=40215183</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40215183</guid></item><item><title><![CDATA[New comment by jmduke in "Pydantic Logfire"]]></title><description><![CDATA[
<p>OP: as someone who runs a Python business and is a happy user of Pydantic (via Django-ninja) — something I would want this splash page to convey, at least implicitly, is “why use this over Sentry?” As far as I can tell, the answer is: an OpenAI binding and stronger Otel support.<p>(That being said, I am a sucker for all new tooling in this genre and am excited to play around with it!)</p>
]]></description><pubDate>Tue, 30 Apr 2024 19:04:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=40214894</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=40214894</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40214894</guid></item><item><title><![CDATA[New comment by jmduke in "We're moving continuous integration back to developer machines"]]></title><description><![CDATA[
<p>I think it's a good platonic ideal to have CI that _can_ be run on devboxes, but in my opinion most of the value in having runners like GitHub Actions is in _asynchronicity_, not in _performance_.  Having to pull in changes and run the suite manually and locally to deal with merges, for instance, seems like a chore.</p>
]]></description><pubDate>Mon, 29 Apr 2024 19:03:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=40202521</link><dc:creator>jmduke</dc:creator><comments>https://news.ycombinator.com/item?id=40202521</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40202521</guid></item></channel></rss>