rtpg

rtpg.co · Personal blog · on HN since 2016

Developer rtpg writes about programming topics such as Copilot's types, Python tooling, database indexes, migrations, and TCP sockets.

What HN saysHN links it for practical posts on type systems, effect systems, and zero-downtime data model changes, and commenters discuss its Copilot type analysis.
18HN people shared it
4linked it in comments
40stories submitted
1.0Kstory points
9 months agolast shared
2016people per year2026

Most-shared posts

  1. 1
    Trying to Understand Copilot's Type Spaghetti
    4 people · 80 points · first shared 2024 · 83 comments on HN
  2. 2
    Writing Your Own Sudo
    3 people · 11 points · first shared 2022 · discussion on HN
  3. 3
  4. 4
  5. 5
    Precision in Technical Discussions
    2 people · 92 points · first shared 2022 · 30 comments on HN
  6. 6
    DB Indexes Do Not Magically Compose
    2 people · 7 points · first shared 2024 · 1 comments on HN
  7. 7
    Type Unions Don't Always Compose Well
    2 people · 5 points · first shared 2024 · discussion on HN
  8. 8
  9. 9
    Writing the Most Boring Quine
    2 people · 2 points · first shared 2023 · discussion on HN
  10. 10
    Supercharged Types
    2 people · 2 points · first shared 2016 · discussion on HN
  11. 11
    I Tried to Reduce Pylint Memory Usage
    1 people · 249 points · first shared 2020 · 32 comments on HN
  12. 12
    Implementing Rust's dbg! in Python
    1 people · 121 points · first shared 2020 · 49 comments on HN
  13. 13
    Checking Out CPython 3.14's remote debugging protocol
    1 people · 85 points · first shared 2025 · 26 comments on HN
  14. 14
    Named Arguments in Rust, If You Want Them
    1 people · 5 points · first shared 2024 · discussion on HN
  15. 15
    A Conjecture About Adversarial Wordle
    1 people · 3 points · first shared 2022 · discussion on HN

What HN people wrote when they linked it

rtpg · 2024-09-26
The function trait section reminded me about effect systems and Purescripts row polymorphism[0], which is a great little way to be able to encode properties of your functions. I think Rust might quickly run into the “negative trait” problem trying to get that working, while embracing an effect system like Purescripts might get you the goods in a “principled” way. Though I haven’t thought about this deeply. [0]: https://rtpg.co/2016/07/20/supercharged-types.html
berdario · 2016-10-14
> typing and scope are obviously independent features You might want to read about effect systems http://rtpg.co/2016/07/20/supercharged-types.html (it might not be the best blog post on the subject theory, but I think it's a nice practical example)
globular-toast · 2024-09-21
There's a little bit more to it. Firstly you can deploy the migration first as long as it's forwards compatible (ie. old code can read from it). That migration needs to be zero downtime; it can't, for example, rewrite whole tables or otherwise lock them, or requests will time out. Doing a whole new schema is one way to do it, but not always necessary. In any case you probably then need a backfill job to fill up the new schema with data before possibly removing the old one. There's a good post about it here: https://rtpg.co/2021/06/07/changes-checklist.html
simonw · 2024-04-15
Could you help me understand which Copilots are involved in this? Your tweet at https://twitter.com/ataiiam/status/1765089261374914957 mentions "Cursor's copilot". The blog post at https://rtpg.co/2024/03/07/parsing-copilots-type-spaghetti/ talks about GitHub Copilot - did they make a mistake there? And your product is CopilotKit - is that related to the GitHub and Cursor Copilots in some way or is it something different?

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close