Top all-time · #3938
Raphael
Personal blog · rtpg.co · on HN as rtpgprogramming
Raphael is a personal blog at rtpg.co about programming. Since 2016, 18 different Hacker News readers have linked it 47 times, most often “Trying to Understand Copilot's Type Spaghetti”. It is still writing: the last post was on 2026-02-03, and you can follow it by feed.
Too few sampled comments (3) to say how often HN recommends it.?
Why HN links it
HN readers link Raphael's posts on effect systems and on the type errors in GitHub Copilot's code. One commenter suggests the effect-systems post as a practical introduction to the topic.
Summarised by Claude from a sample of 3 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Trying to Understand Copilot's Type Spaghetti4 people · 4 mentions · first linked 2024-03-07
- Black Handles Comments When Python's Grammar Ignores Them3 people · 3 mentions · first linked 2021-07-05
- Writing Your Own Sudo3 people · 3 mentions · first linked 2022-02-13
- The pedantic checklist for changing your data model in a web application2 people · 3 mentions · first linked 2021-06-08
- My Fractal of Pain from Trying to Do TCP Sockets the First Time2 people · 2 mentions · first linked 2021-09-29
- Supercharged Types2 people · 2 mentions · first linked 2016-07-24
- DB Indexes Do Not Magically Compose2 people · 2 mentions · first linked 2024-04-14
- Precision in Technical Discussions2 people · 2 mentions · first linked 2022-02-04
- Type Unions Don't Always Compose Well2 people · 2 mentions · first linked 2024-03-11
What Hacker News says?
> 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)
Comment linking /2016/07/20/supercharged-types.html
on “PHP 7 deployment at Dailymotion”Submitted The pedantic checklist for changing your data model in a web application as a story · 310 points
HN discussionThe 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]: http…
Comment linking /2016/07/20/supercharged-types.html
on “Rewriting Rust”Submitted I Tried to Reduce Pylint Memory Usage as a story · 249 points
HN discussionThere'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…
Comment linking /2021/06/07/changes-checklist.html
on “Kamal Proxy – A minimal HTTP proxy for zero-downtime deployments”Submitted Implementing Rust's dbg! in Python as a story · 121 points
HN discussionhttps://rtpg.co/2016/07/20/supercharged-types.html I wrote this example a long time ago, I think nowadays I could come up with some more interesting examples though. As to the differences with TS... I think they're playing in similar spaces but the monadic do syntax with Purescript lets you use row polymorphism for effect tracking without having to play weird API tricks. In TS that's going to be more difficult. (sho…
Comment linking /2016/07/20/supercharged-types.html
on “Adding row polymorphism to Damas-Hindley-Milner”Submitted Precision in Technical Discussions as a story · 90 points
HN discussionFor Kindle users like myself, I've bundled up the plan archive into a nice e-book format (one chapter per entry) to read through all of these: http://rtpg.co/files/carmack-plan.epub For those interested in the script, here's that: https://gist.github.com/rtpg/4eb757c2c71ab20946bbd8156cd0533...
Comment linking /files/carmack-plan.epub
on “John Carmack .plan Archive (2014)”Submitted Checking Out CPython 3.14's remote debugging protocol as a story · 85 points
HN discussionCould 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 diff…
Comment linking /2024/03/07/parsing-copilots-type-spaghetti/
on “Trying to Understand Copilot's Type Spaghetti”Submitted Trying to Understand Copilot's Type Spaghetti as a story · 77 points
HN discussionHere's a checklist I wrote way back. https://rtpg.co/2021/06/07/changes-checklist.html I've been meaning to write an interactive version to sort of "prove" that you really can't do much better than this, at least in general cases.
Comment linking /2021/06/07/changes-checklist.html
on “Notes on Starting to Use Django”Submitted Writing Your Own Sudo as a story · 9 points
HN discussionSubmitted Named Arguments in Rust, If You Want Them as a story · 5 points
HN discussionSubmitted DB Indexes Do Not Magically Compose as a story · 5 points
HN discussionSubmitted Type Unions Don't Always Compose Well as a story · 4 points
HN discussionSubmitted A Couple Lines to Improve Print-Based Debugging in Loops as a story · 3 points
HN discussionSubmitted A Conjecture About Adversarial Wordle as a story · 3 points
HN discussionSubmitted My Fractal of Pain from Trying to Do TCP Sockets the First Time as a story · 3 points
HN discussionSubmitted Designing Code for Forward Progress as a story · 2 points
HN discussionSubmitted DB Indexes Do Not Magically Compose as a story · 2 points
HN discussionSubmitted Precision in Technical Discussions (2022) as a story · 2 points
HN discussionSubmitted Trying to Understand Copilot's Type Spaghetti as a story · 2 points
HN discussionSubmitted It's All Just Debian as a story · 2 points
HN discussionSubmitted How to Adopt Mypy on Bigger Projects as a story · 2 points
HN discussionSubmitted My Fractal of Pain from Trying to Do TCP Sockets the First Time as a story · 2 points
HN discussionSubmitted Being Careful Around ORMs as a story · 2 points
HN discussionSubmitted JavaScript Promises and Causality as a story · 2 points
HN discussionSubmitted Supercharged Types as a story · 2 points
HN discussion