[{"approved_at_utc":null,"subreddit":"programming","selftext":"After [temporarily banning LLM-related content over April](https://www.reddit.com/r/programming/comments/1s9jkzi/announcement_temporary_llm_content_ban/), and [asking you for feedback on that ban](https://www.reddit.com/r/programming/comments/1t4odyl/looking_for_feedback_on_ai_content_in/), we've decided to bring about an end of the temporary, I-can't-believe-it's-still-April ban on AI-related posts.\n\nReplacing the trial rule is a new shiny rule that refers to our new shiny [AI policy](https://www.reddit.com/r/programming/wiki/ai-policy/). In short:\n\n&gt; Content about AI and LLMs are considered off-topic with the sole exclusion of **deeply technical** content about implementation.\n\nAnd if you want more detail than that, go read the policy, that's what it's there for.\n\nIn addition, when writing that rule, I realized the rules weren't listed on the [old.reddit.com](http://old.reddit.com) sidebar, so that's been updated. For those of you who are seeing those rules for the first time, everything there is not new. We've been enforcing those rules as best we can for ages. You can click the link above those to get to the old.reddit rules page, with plenty of info that doesn't exactly read well when crammed into a sidebar.","author_fullname":"t2_4ta76","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Announcement: We've Updated The Rules, and April Is Finally Over","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tlh5aj","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.94,"author_flair_background_color":null,"subreddit_type":"public","ups":906,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":906,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":1779544888,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":true,"mod_note":null,"created":1779544477,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"self.programming","allow_live_comments":false,"selftext_html":"&lt;!-- SC_OFF --&gt;&lt;div class=\"md\"&gt;&lt;p&gt;After &lt;a href=\"https://www.reddit.com/r/programming/comments/1s9jkzi/announcement_temporary_llm_content_ban/\"&gt;temporarily banning LLM-related content over April&lt;/a&gt;, and &lt;a href=\"https://www.reddit.com/r/programming/comments/1t4odyl/looking_for_feedback_on_ai_content_in/\"&gt;asking you for feedback on that ban&lt;/a&gt;, we&amp;#39;ve decided to bring about an end of the temporary, I-can&amp;#39;t-believe-it&amp;#39;s-still-April ban on AI-related posts.&lt;/p&gt;\n\n&lt;p&gt;Replacing the trial rule is a new shiny rule that refers to our new shiny &lt;a href=\"https://www.reddit.com/r/programming/wiki/ai-policy/\"&gt;AI policy&lt;/a&gt;. In short:&lt;/p&gt;\n\n&lt;blockquote&gt;\n&lt;p&gt;Content about AI and LLMs are considered off-topic with the sole exclusion of &lt;strong&gt;deeply technical&lt;/strong&gt; content about implementation.&lt;/p&gt;\n&lt;/blockquote&gt;\n\n&lt;p&gt;And if you want more detail than that, go read the policy, that&amp;#39;s what it&amp;#39;s there for.&lt;/p&gt;\n\n&lt;p&gt;In addition, when writing that rule, I realized the rules weren&amp;#39;t listed on the &lt;a href=\"http://old.reddit.com\"&gt;old.reddit.com&lt;/a&gt; sidebar, so that&amp;#39;s been updated. For those of you who are seeing those rules for the first time, everything there is not new. We&amp;#39;ve been enforcing those rules as best we can for ages. You can click the link above those to get to the old.reddit rules page, with plenty of info that doesn&amp;#39;t exactly read well when crammed into a sidebar.&lt;/p&gt;\n&lt;/div&gt;&lt;!-- SC_ON --&gt;","likes":null,"suggested_sort":null,"banned_at_utc":null,"view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":"moderator","subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1tlh5aj","is_robot_indexable":true,"report_reasons":null,"author":"ChemicalRascal","discussion_type":null,"num_comments":138,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1tlh5aj/announcement_weve_updated_the_rules_and_april_is/","stickied":true,"url":"https://www.reddit.com/r/programming/comments/1tlh5aj/announcement_weve_updated_the_rules_and_april_is/","subreddit_subscribers":6883335,"created_utc":1779544477,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_6gkbb","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Your process' memory is a file: The underappreciated gem that is /proc/&lt;pid&gt;/mem","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1ttjtwv","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.95,"author_flair_background_color":null,"subreddit_type":"public","ups":297,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":297,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780295532,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"lcamtuf.substack.com","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://lcamtuf.substack.com/p/weekend-trivia-your-process-memory","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ttjtwv","is_robot_indexable":true,"report_reasons":null,"author":"mttd","discussion_type":null,"num_comments":25,"send_replies":false,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1ttjtwv/your_process_memory_is_a_file_the/","stickied":false,"url":"https://lcamtuf.substack.com/p/weekend-trivia-your-process-memory","subreddit_subscribers":6883335,"created_utc":1780295532,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"patch-client@4.0.4 went out through the project's own github action OIDC trusted publisher today and not any stolen token or a typosquat anything, we saw that the actual release pipeline produced it. this runs on npm install, steals cloud creds and self propagates by injecting fake CodeQL workflows into repository the stolen tokens can reach. 32 packages is currently sharing the same publisher so the window of exposure isn not only just a single package.  \nif you have anything from related to /`redhat-cloud-services` in your tree, 4.0.3 is the last clean version.","author_fullname":"t2_ewn6cu80w","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"@redhat-cloud-services publish pipeline is compromised today and shipped a signed, trusted, malicious npm package","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1ttt4p4","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.96,"author_flair_background_color":null,"subreddit_type":"public","ups":60,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":60,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780322435,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"safedep.io","allow_live_comments":false,"selftext_html":"&lt;!-- SC_OFF --&gt;&lt;div class=\"md\"&gt;&lt;p&gt;&lt;a href=\"mailto:patch-client@4.0.4\"&gt;patch-client@4.0.4&lt;/a&gt; went out through the project&amp;#39;s own github action OIDC trusted publisher today and not any stolen token or a typosquat anything, we saw that the actual release pipeline produced it. this runs on npm install, steals cloud creds and self propagates by injecting fake CodeQL workflows into repository the stolen tokens can reach. 32 packages is currently sharing the same publisher so the window of exposure isn not only just a single package.&lt;br/&gt;\nif you have anything from related to /&lt;code&gt;redhat-cloud-services&lt;/code&gt; in your tree, 4.0.3 is the last clean version.&lt;/p&gt;\n&lt;/div&gt;&lt;!-- SC_ON --&gt;","likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://safedep.io/redhat-cloud-services-hit-by-mini-shai-hulud-npm-worm/","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ttt4p4","is_robot_indexable":true,"report_reasons":null,"author":"BattleRemote3157","discussion_type":null,"num_comments":12,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1ttt4p4/redhatcloudservices_publish_pipeline_is/","stickied":false,"url":"https://safedep.io/redhat-cloud-services-hit-by-mini-shai-hulud-npm-worm/","subreddit_subscribers":6883335,"created_utc":1780322435,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_xeaqp","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Learn SQL Once, Use It for 30 Years","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tt034b","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.81,"author_flair_background_color":null,"subreddit_type":"public","ups":401,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":401,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780245082,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"fagnerbrack.com","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://fagnerbrack.com/learn-sql-once-use-it-for-30-years-9aceb0bdee03","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1tt034b","is_robot_indexable":true,"report_reasons":null,"author":"fagnerbrack","discussion_type":null,"num_comments":76,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1tt034b/learn_sql_once_use_it_for_30_years/","stickied":false,"url":"https://fagnerbrack.com/learn-sql-once-use-it-for-30-years-9aceb0bdee03","subreddit_subscribers":6883335,"created_utc":1780245082,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_xeaqp","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Reviewing large changes with Jujutsu - Ben Gesoff","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tt9bs5","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.86,"author_flair_background_color":null,"subreddit_type":"public","ups":93,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":93,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780265996,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"ben.gesoff.uk","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://ben.gesoff.uk/posts/reviewing-large-changes-with-jj/","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1tt9bs5","is_robot_indexable":true,"report_reasons":null,"author":"fagnerbrack","discussion_type":null,"num_comments":17,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1tt9bs5/reviewing_large_changes_with_jujutsu_ben_gesoff/","stickied":false,"url":"https://ben.gesoff.uk/posts/reviewing-large-changes-with-jj/","subreddit_subscribers":6883335,"created_utc":1780265996,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_s9ig9giv","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Benchmarking SlateDB vs. RocksDB","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1ttls9m","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.87,"author_flair_background_color":null,"subreddit_type":"public","ups":11,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":11,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780302118,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"nixiesearch.substack.com","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://nixiesearch.substack.com/p/benchmarking-slatedb-vs-rocksdb","view_count":null,"archived":false,"no_follow":true,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ttls9m","is_robot_indexable":true,"report_reasons":null,"author":"InvadersMustLive","discussion_type":null,"num_comments":2,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1ttls9m/benchmarking_slatedb_vs_rocksdb/","stickied":false,"url":"https://nixiesearch.substack.com/p/benchmarking-slatedb-vs-rocksdb","subreddit_subscribers":6883335,"created_utc":1780302118,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_2d7quwf","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Breaking what a program is","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1ttqimx","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.86,"author_flair_background_color":null,"subreddit_type":"public","ups":5,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":5,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780316454,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"frn.sh","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://frn.sh/program/","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ttqimx","is_robot_indexable":true,"report_reasons":null,"author":"andreiross","discussion_type":null,"num_comments":0,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1ttqimx/breaking_what_a_program_is/","stickied":false,"url":"https://frn.sh/program/","subreddit_subscribers":6883335,"created_utc":1780316454,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_karj1rzk","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Why I used vsock instead of TCP in a Firecracker serverless platform","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1ttrc88","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.67,"author_flair_background_color":null,"subreddit_type":"public","ups":4,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":4,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780318477,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"medium.com","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://medium.com/@vivek1502/tcp-was-overkill-how-i-built-ipc-for-a-firecracker-serverless-runtime-2048c2758513","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ttrc88","is_robot_indexable":true,"report_reasons":null,"author":"viks98","discussion_type":null,"num_comments":2,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1ttrc88/why_i_used_vsock_instead_of_tcp_in_a_firecracker/","stickied":false,"url":"https://medium.com/@vivek1502/tcp-was-overkill-how-i-built-ipc-for-a-firecracker-serverless-runtime-2048c2758513","subreddit_subscribers":6883335,"created_utc":1780318477,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_2iryj8bq","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"How Servers Work: A Hands-On Introduction to TCP Sockets","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tt1hcf","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.92,"author_flair_background_color":null,"subreddit_type":"public","ups":132,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":132,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780248247,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"labs.iximiuz.com","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://labs.iximiuz.com/tutorials/how-servers-work-tcp-sockets","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1tt1hcf","is_robot_indexable":true,"report_reasons":null,"author":"iximiuz","discussion_type":null,"num_comments":15,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1tt1hcf/how_servers_work_a_handson_introduction_to_tcp/","stickied":false,"url":"https://labs.iximiuz.com/tutorials/how-servers-work-tcp-sockets","subreddit_subscribers":6883335,"created_utc":1780248247,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_1jsy1lka1h","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Docker Networking explained in plain English","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tt7s56","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.88,"author_flair_background_color":null,"subreddit_type":"public","ups":41,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":41,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780262284,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"sanyamserver.online","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://sanyamserver.online/posts/docker-networking/","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1tt7s56","is_robot_indexable":true,"report_reasons":null,"author":"AdvertisingFancy7011","discussion_type":null,"num_comments":4,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1tt7s56/docker_networking_explained_in_plain_english/","stickied":false,"url":"https://sanyamserver.online/posts/docker-networking/","subreddit_subscribers":6883335,"created_utc":1780262284,"num_crossposts":3,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_ftk74lidc","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Story Points: Explicit, Honest, Predictable. Already in Use.","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tsyfhk","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.81,"author_flair_background_color":null,"subreddit_type":"public","ups":112,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":112,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780241328,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"bastrich.tech","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://bastrich.tech/story-points/","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1tsyfhk","is_robot_indexable":true,"report_reasons":null,"author":"areklanga","discussion_type":null,"num_comments":92,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1tsyfhk/story_points_explicit_honest_predictable_already/","stickied":false,"url":"https://bastrich.tech/story-points/","subreddit_subscribers":6883335,"created_utc":1780241328,"num_crossposts":1,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","user_reports":[],"saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"A Double Shot of DuckDB: Vector Similarity Search and Quack","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tti97b","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.8,"author_flair_background_color":null,"subreddit_type":"public","ups":6,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"author_fullname":"t2_3jx2e","secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":6,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"crosspost_parent_list":[{"approved_at_utc":null,"subreddit":"dataengineering","selftext":"","author_fullname":"t2_3jx2e","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"A Double Shot of DuckDB: Vector Similarity Search and Quack","link_flair_richtext":[],"subreddit_name_prefixed":"r/dataengineering","hidden":false,"pwls":6,"link_flair_css_class":"","downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tsuils","quarantine":false,"link_flair_text_color":"light","upvote_ratio":0.89,"author_flair_background_color":null,"subreddit_type":"public","ups":47,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":"Blog","can_mod_post":false,"score":47,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780231858,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"peterdohertys.website","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://peterdohertys.website/blog-posts/double-shot-of-duck.html","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"link_flair_template_id":"eb739554-a7db-11eb-95d7-0ec0f8f30313","can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_36en4","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"#0079d3","id":"1tsuils","is_robot_indexable":true,"report_reasons":null,"author":"pdoherty926","discussion_type":null,"num_comments":1,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/dataengineering/comments/1tsuils/a_double_shot_of_duckdb_vector_similarity_search/","stickied":false,"url":"https://peterdohertys.website/blog-posts/double-shot-of-duck.html","subreddit_subscribers":456873,"created_utc":1780231858,"num_crossposts":1,"media":null,"is_video":false}],"created":1780290521,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"peterdohertys.website","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://peterdohertys.website/blog-posts/double-shot-of-duck.html","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1tti97b","is_robot_indexable":true,"report_reasons":null,"author":"pdoherty926","discussion_type":null,"num_comments":0,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"crosspost_parent":"t3_1tsuils","author_flair_text_color":null,"permalink":"/r/programming/comments/1tti97b/a_double_shot_of_duckdb_vector_similarity_search/","stickied":false,"url":"https://peterdohertys.website/blog-posts/double-shot-of-duck.html","subreddit_subscribers":6883335,"created_utc":1780290521,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_ic9qlqs5","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Training + inference of a transformer inside an email","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":true,"name":"t3_1ttuxmh","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.57,"author_flair_background_color":null,"subreddit_type":"public","ups":1,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":1,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780326157,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"adamoshadjivasiliou.com","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://www.adamoshadjivasiliou.com/blog/transformer-in-email.html","view_count":null,"archived":false,"no_follow":true,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ttuxmh","is_robot_indexable":true,"report_reasons":null,"author":"kjndfsfdsjnksdf","discussion_type":null,"num_comments":0,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1ttuxmh/training_inference_of_a_transformer_inside_an/","stickied":false,"url":"https://www.adamoshadjivasiliou.com/blog/transformer-in-email.html","subreddit_subscribers":6883335,"created_utc":1780326157,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_88llg","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Social Programming Language Constructs","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":true,"name":"t3_1ttuhop","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.5,"author_flair_background_color":null,"subreddit_type":"public","ups":0,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":0,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780325254,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"jimmyhmiller.com","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://jimmyhmiller.com/social-language-constructs","view_count":null,"archived":false,"no_follow":true,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ttuhop","is_robot_indexable":true,"report_reasons":null,"author":"jhartikainen","discussion_type":null,"num_comments":1,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1ttuhop/social_programming_language_constructs/","stickied":false,"url":"https://jimmyhmiller.com/social-language-constructs","subreddit_subscribers":6883335,"created_utc":1780325254,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_1zf2krnwgn","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Email from 10,000 feet.","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":true,"name":"t3_1ttt9bm","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.36,"author_flair_background_color":null,"subreddit_type":"public","ups":0,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":0,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780322701,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"maneeshaxyz.substack.com","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://maneeshaxyz.substack.com/p/email-from-10000-feet","view_count":null,"archived":false,"no_follow":true,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ttt9bm","is_robot_indexable":true,"report_reasons":null,"author":"loosedolphin","discussion_type":null,"num_comments":0,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1ttt9bm/email_from_10000_feet/","stickied":false,"url":"https://maneeshaxyz.substack.com/p/email-from-10000-feet","subreddit_subscribers":6883335,"created_utc":1780322701,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_xeaqp","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"The gold standard of optimization: A look under the hood of RollerCoaster Tycoon","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1ts97an","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.89,"author_flair_background_color":null,"subreddit_type":"public","ups":977,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":977,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780169646,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"larstofus.com","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://larstofus.com/2026/03/22/the-gold-standard-of-optimization-a-look-under-the-hood-of-rollercoaster-tycoon/","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ts97an","is_robot_indexable":true,"report_reasons":null,"author":"fagnerbrack","discussion_type":null,"num_comments":78,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1ts97an/the_gold_standard_of_optimization_a_look_under/","stickied":false,"url":"https://larstofus.com/2026/03/22/the-gold-standard-of-optimization-a-look-under-the-hood-of-rollercoaster-tycoon/","subreddit_subscribers":6883335,"created_utc":1780169646,"num_crossposts":1,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_xeaqp","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Debunking zswap and zram myths","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tsrxh8","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.91,"author_flair_background_color":null,"subreddit_type":"public","ups":54,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":54,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780224367,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"chrisdown.name","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://chrisdown.name/2026/03/24/zswap-vs-zram-when-to-use-what.html","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1tsrxh8","is_robot_indexable":true,"report_reasons":null,"author":"fagnerbrack","discussion_type":null,"num_comments":10,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1tsrxh8/debunking_zswap_and_zram_myths/","stickied":false,"url":"https://chrisdown.name/2026/03/24/zswap-vs-zram-when-to-use-what.html","subreddit_subscribers":6883335,"created_utc":1780224367,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_cx7hq","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"On Scenarios That Will Not Happen","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tsoqjf","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.86,"author_flair_background_color":null,"subreddit_type":"public","ups":65,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":65,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780213375,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"radekmie.dev","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://radekmie.dev/blog/on-scenarios-that-will-not-happen/","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1tsoqjf","is_robot_indexable":true,"report_reasons":null,"author":"radekmie","discussion_type":null,"num_comments":25,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1tsoqjf/on_scenarios_that_will_not_happen/","stickied":false,"url":"https://radekmie.dev/blog/on-scenarios-that-will-not-happen/","subreddit_subscribers":6883335,"created_utc":1780213375,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","author_fullname":"t2_x30x82e","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"You Wrote To Two Databases. Did Both Succeed?","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1ttq0d0","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.35,"author_flair_background_color":null,"subreddit_type":"public","ups":0,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":0,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780315197,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"medium.com","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://medium.com/@tamartwena/you-wrote-to-two-databases-did-both-succeed-f44118a3a65f?source=friends_link&amp;sk=260f14c248a7145db97d7c4ef05c8025","view_count":null,"archived":false,"no_follow":true,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ttq0d0","is_robot_indexable":true,"report_reasons":null,"author":"Happycodeine","discussion_type":null,"num_comments":3,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1ttq0d0/you_wrote_to_two_databases_did_both_succeed/","stickied":false,"url":"https://medium.com/@tamartwena/you-wrote-to-two-databases-did-both-succeed-f44118a3a65f?source=friends_link&amp;sk=260f14c248a7145db97d7c4ef05c8025","subreddit_subscribers":6883335,"created_utc":1780315197,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","user_reports":[],"saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Désinformation par l’IA et confiance bancaire - Questionnaire de recherche","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1ttpvpl","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.27,"author_flair_background_color":null,"subreddit_type":"public","ups":0,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"author_fullname":"t2_ws7rmrj8g","secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":0,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"crosspost_parent_list":[{"approved_at_utc":null,"subreddit":"Accounting","selftext":"Bonjour à tous,\n\nDans le cadre de mon mémoire de fin d'études, je réalise une étude sur l'impact de la désinformation générée par l'intelligence artificielle sur la confiance des clients bancaires.\n\nLe questionnaire est entièrement anonyme et ne prend que quelques minutes à remplir.\n\nVotre participation m'aiderait énormément dans mes recherches.\n\nLien du questionnaire :  \nhttps://docs.google.com/forms/d/e/1FAIpQLSd\\_6GLceNjnCWZj8uxMS\\_eiNJPoFHO4DcmY\\_ujuhkfhQwi3eA/viewform?usp=header\n\nMerci à tous pour votre aide et votre temps !","author_fullname":"t2_ws7rmrj8g","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Désinformation par l’IA et confiance bancaire - Questionnaire de recherche","link_flair_richtext":[],"subreddit_name_prefixed":"r/Accounting","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tt0ia9","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":1,"author_flair_background_color":null,"subreddit_type":"public","ups":2,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":2,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780246054,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"docs.google.com","allow_live_comments":false,"selftext_html":"&lt;!-- SC_OFF --&gt;&lt;div class=\"md\"&gt;&lt;p&gt;Bonjour à tous,&lt;/p&gt;\n\n&lt;p&gt;Dans le cadre de mon mémoire de fin d&amp;#39;études, je réalise une étude sur l&amp;#39;impact de la désinformation générée par l&amp;#39;intelligence artificielle sur la confiance des clients bancaires.&lt;/p&gt;\n\n&lt;p&gt;Le questionnaire est entièrement anonyme et ne prend que quelques minutes à remplir.&lt;/p&gt;\n\n&lt;p&gt;Votre participation m&amp;#39;aiderait énormément dans mes recherches.&lt;/p&gt;\n\n&lt;p&gt;Lien du questionnaire :&lt;br/&gt;\n&lt;a href=\"https://docs.google.com/forms/d/e/1FAIpQLSd%5C_6GLceNjnCWZj8uxMS%5C_eiNJPoFHO4DcmY%5C_ujuhkfhQwi3eA/viewform?usp=header\"&gt;https://docs.google.com/forms/d/e/1FAIpQLSd\\_6GLceNjnCWZj8uxMS\\_eiNJPoFHO4DcmY\\_ujuhkfhQwi3eA/viewform?usp=header&lt;/a&gt;&lt;/p&gt;\n\n&lt;p&gt;Merci à tous pour votre aide et votre temps !&lt;/p&gt;\n&lt;/div&gt;&lt;!-- SC_ON --&gt;","likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://docs.google.com/forms/d/e/1FAIpQLSd_6GLceNjnCWZj8uxMS_eiNJPoFHO4DcmY_ujuhkfhQwi3eA/viewform?usp=header","view_count":null,"archived":false,"no_follow":true,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2qw2b","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1tt0ia9","is_robot_indexable":true,"report_reasons":null,"author":"ke2nyjks","discussion_type":null,"num_comments":0,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/Accounting/comments/1tt0ia9/désinformation_par_lia_et_confiance_bancaire/","stickied":false,"url":"https://docs.google.com/forms/d/e/1FAIpQLSd_6GLceNjnCWZj8uxMS_eiNJPoFHO4DcmY_ujuhkfhQwi3eA/viewform?usp=header","subreddit_subscribers":1254435,"created_utc":1780246054,"num_crossposts":3,"media":null,"is_video":false}],"created":1780314853,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"docs.google.com","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://docs.google.com/forms/d/e/1FAIpQLSd_6GLceNjnCWZj8uxMS_eiNJPoFHO4DcmY_ujuhkfhQwi3eA/viewform?usp=header","view_count":null,"archived":false,"no_follow":true,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ttpvpl","is_robot_indexable":true,"report_reasons":null,"author":"ke2nyjks","discussion_type":null,"num_comments":0,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"crosspost_parent":"t3_1tt0ia9","author_flair_text_color":null,"permalink":"/r/programming/comments/1ttpvpl/désinformation_par_lia_et_confiance_bancaire/","stickied":false,"url":"https://docs.google.com/forms/d/e/1FAIpQLSd_6GLceNjnCWZj8uxMS_eiNJPoFHO4DcmY_ujuhkfhQwi3eA/viewform?usp=header","subreddit_subscribers":6883335,"created_utc":1780314853,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"We asked developers to spill their little dirty secrets, the lies they tell their managers and what actually creates tension in teams. One theme that kept coming up was the gap between how software development looks from the outside and what it actually looks like in practice.","author_fullname":"t2_kwhjycw7","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Developers Confess: The Unfiltered Truth","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1ttremo","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.27,"author_flair_background_color":null,"subreddit_type":"public","ups":0,"total_awards_received":0,"media_embed":{"content":"&lt;iframe width=\"356\" height=\"200\" src=\"https://www.youtube.com/embed/ZGXQWjChuO0?feature=oembed&amp;enablejsapi=1\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen title=\"Secrets, Deadlines &amp;amp; Workplace Myths In Software Development\"&gt;&lt;/iframe&gt;","width":356,"scrolling":false,"height":200},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":{"type":"youtube.com","oembed":{"provider_url":"https://www.youtube.com/","version":"1.0","title":"Secrets, Deadlines &amp; Workplace Myths In Software Development","type":"video","thumbnail_width":480,"height":200,"width":356,"html":"&lt;iframe width=\"356\" height=\"200\" src=\"https://www.youtube.com/embed/ZGXQWjChuO0?feature=oembed&amp;enablejsapi=1\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen title=\"Secrets, Deadlines &amp;amp; Workplace Myths In Software Development\"&gt;&lt;/iframe&gt;","author_name":"Developers Answer","provider_name":"YouTube","thumbnail_url":"https://i.ytimg.com/vi/ZGXQWjChuO0/hqdefault.jpg","thumbnail_height":360,"author_url":"https://www.youtube.com/@DevelopersAnswer"}},"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{"content":"&lt;iframe width=\"356\" height=\"200\" src=\"https://www.youtube.com/embed/ZGXQWjChuO0?feature=oembed&amp;enablejsapi=1\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen title=\"Secrets, Deadlines &amp;amp; Workplace Myths In Software Development\"&gt;&lt;/iframe&gt;","width":356,"scrolling":false,"media_domain_url":"https://www.redditmedia.com/mediaembed/1ttremo","height":200},"link_flair_text":null,"can_mod_post":false,"score":0,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780318639,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"youtube.com","allow_live_comments":false,"selftext_html":"&lt;!-- SC_OFF --&gt;&lt;div class=\"md\"&gt;&lt;p&gt;We asked developers to spill their little dirty secrets, the lies they tell their managers and what actually creates tension in teams. One theme that kept coming up was the gap between how software development looks from the outside and what it actually looks like in practice.&lt;/p&gt;\n&lt;/div&gt;&lt;!-- SC_ON --&gt;","likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://www.youtube.com/watch?v=ZGXQWjChuO0&amp;feature=youtu.be","view_count":null,"archived":false,"no_follow":true,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ttremo","is_robot_indexable":true,"report_reasons":null,"author":"aisatsana__","discussion_type":null,"num_comments":3,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1ttremo/developers_confess_the_unfiltered_truth/","stickied":false,"url":"https://www.youtube.com/watch?v=ZGXQWjChuO0&amp;feature=youtu.be","subreddit_subscribers":6883335,"created_utc":1780318639,"num_crossposts":0,"media":{"type":"youtube.com","oembed":{"provider_url":"https://www.youtube.com/","version":"1.0","title":"Secrets, Deadlines &amp; Workplace Myths In Software Development","type":"video","thumbnail_width":480,"height":200,"width":356,"html":"&lt;iframe width=\"356\" height=\"200\" src=\"https://www.youtube.com/embed/ZGXQWjChuO0?feature=oembed&amp;enablejsapi=1\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen title=\"Secrets, Deadlines &amp;amp; Workplace Myths In Software Development\"&gt;&lt;/iframe&gt;","author_name":"Developers Answer","provider_name":"YouTube","thumbnail_url":"https://i.ytimg.com/vi/ZGXQWjChuO0/hqdefault.jpg","thumbnail_height":360,"author_url":"https://www.youtube.com/@DevelopersAnswer"}},"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"Inspired by a question on r/haskellquestions, i wrote about the practical aspect of monads for people at a beginner / intermediate level, about how to go beyond mere understanding the monad class. I try to highlight how we use monads to structure our code, what benefits they bring, and how to reason about them. it comes with exercises!","author_fullname":"t2_58521","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Practical uses of monads in Haskell","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1ts1x2l","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.86,"author_flair_background_color":null,"subreddit_type":"public","ups":121,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":121,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780152423,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"nauths.fr","allow_live_comments":false,"selftext_html":"&lt;!-- SC_OFF --&gt;&lt;div class=\"md\"&gt;&lt;p&gt;Inspired by a question on &lt;a href=\"/r/haskellquestions\"&gt;r/haskellquestions&lt;/a&gt;, i wrote about the practical aspect of monads for people at a beginner / intermediate level, about how to go beyond mere understanding the monad class. I try to highlight how we use monads to structure our code, what benefits they bring, and how to reason about them. it comes with exercises!&lt;/p&gt;\n&lt;/div&gt;&lt;!-- SC_ON --&gt;","likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://nauths.fr/en/2026/05/28/practical-use-of-monads.html","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ts1x2l","is_robot_indexable":true,"report_reasons":null,"author":"nicuveo","discussion_type":null,"num_comments":113,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1ts1x2l/practical_uses_of_monads_in_haskell/","stickied":false,"url":"https://nauths.fr/en/2026/05/28/practical-use-of-monads.html","subreddit_subscribers":6883335,"created_utc":1780152423,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"","user_reports":[],"saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Redis Locks: Working, Failure Modes and Real-World Examples","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tslj02","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.73,"author_flair_background_color":null,"subreddit_type":"public","ups":6,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"author_fullname":"t2_trbdwwpg","secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":6,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"crosspost_parent_list":[{"approved_at_utc":null,"subreddit":"softwarearchitecture","selftext":"","author_fullname":"t2_trbdwwpg","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Redis Locks: Working, Failure Modes and Real-World Examples","link_flair_richtext":[],"subreddit_name_prefixed":"r/softwarearchitecture","hidden":false,"pwls":6,"link_flair_css_class":"","downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tslish","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.93,"author_flair_background_color":null,"subreddit_type":"public","ups":38,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":"Article/Video","can_mod_post":false,"score":38,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780202864,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"open.substack.com","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://open.substack.com/pub/engineeringatscale/p/redis-distributed-locks-explained?r=8sprj&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=true","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"link_flair_template_id":"4c0b0ac4-472f-11ee-8bd6-760858d1c0c2","can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2zim0","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"#a06324","id":"1tslish","is_robot_indexable":true,"report_reasons":null,"author":"Local_Ad_6109","discussion_type":null,"num_comments":1,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/softwarearchitecture/comments/1tslish/redis_locks_working_failure_modes_and_realworld/","stickied":false,"url":"https://open.substack.com/pub/engineeringatscale/p/redis-distributed-locks-explained?r=8sprj&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=true","subreddit_subscribers":105836,"created_utc":1780202864,"num_crossposts":1,"media":null,"is_video":false}],"created":1780202884,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"open.substack.com","allow_live_comments":false,"selftext_html":null,"likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://open.substack.com/pub/engineeringatscale/p/redis-distributed-locks-explained?r=8sprj&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=true","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1tslj02","is_robot_indexable":true,"report_reasons":null,"author":"Local_Ad_6109","discussion_type":null,"num_comments":0,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"crosspost_parent":"t3_1tslish","author_flair_text_color":null,"permalink":"/r/programming/comments/1tslj02/redis_locks_working_failure_modes_and_realworld/","stickied":false,"url":"https://open.substack.com/pub/engineeringatscale/p/redis-distributed-locks-explained?r=8sprj&amp;utm_campaign=post&amp;utm_medium=web&amp;showWelcomeOnShare=true","subreddit_subscribers":6883335,"created_utc":1780202884,"num_crossposts":0,"media":null,"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"I go over some basics and implement a simple feature live on the Wookash Podcast. It might be interesting to those who have tried File Pilot and wondered why its UI is so fast and responsive.\n\nI do some actual UI programming. Not much, since we were short on time, but enough to give you a glimpse into how it works.","author_fullname":"t2_fviel","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Looking at code behind File Pilot","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1ts7u6m","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.68,"author_flair_background_color":null,"subreddit_type":"public","ups":21,"total_awards_received":0,"media_embed":{"content":"&lt;iframe width=\"356\" height=\"200\" src=\"https://www.youtube.com/embed/Ww26eO1WeGQ?feature=oembed&amp;enablejsapi=1\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen title=\"Implementing File Pilot feature on stream!\"&gt;&lt;/iframe&gt;","width":356,"scrolling":false,"height":200},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":{"type":"youtube.com","oembed":{"provider_url":"https://www.youtube.com/","version":"1.0","title":"Implementing File Pilot feature on stream!","type":"video","thumbnail_width":480,"height":200,"width":356,"html":"&lt;iframe width=\"356\" height=\"200\" src=\"https://www.youtube.com/embed/Ww26eO1WeGQ?feature=oembed&amp;enablejsapi=1\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen title=\"Implementing File Pilot feature on stream!\"&gt;&lt;/iframe&gt;","author_name":"Wookash Podcast","provider_name":"YouTube","thumbnail_url":"https://i.ytimg.com/vi/Ww26eO1WeGQ/hqdefault.jpg","thumbnail_height":360,"author_url":"https://www.youtube.com/@WookashPodcast"}},"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{"content":"&lt;iframe width=\"356\" height=\"200\" src=\"https://www.youtube.com/embed/Ww26eO1WeGQ?feature=oembed&amp;enablejsapi=1\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen title=\"Implementing File Pilot feature on stream!\"&gt;&lt;/iframe&gt;","width":356,"scrolling":false,"media_domain_url":"https://www.redditmedia.com/mediaembed/1ts7u6m","height":200},"link_flair_text":null,"can_mod_post":false,"score":21,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780166443,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"youtu.be","allow_live_comments":false,"selftext_html":"&lt;!-- SC_OFF --&gt;&lt;div class=\"md\"&gt;&lt;p&gt;I go over some basics and implement a simple feature live on the Wookash Podcast. It might be interesting to those who have tried File Pilot and wondered why its UI is so fast and responsive.&lt;/p&gt;\n\n&lt;p&gt;I do some actual UI programming. Not much, since we were short on time, but enough to give you a glimpse into how it works.&lt;/p&gt;\n&lt;/div&gt;&lt;!-- SC_ON --&gt;","likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://youtu.be/Ww26eO1WeGQ","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1ts7u6m","is_robot_indexable":true,"report_reasons":null,"author":"vkrajacic89","discussion_type":null,"num_comments":4,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1ts7u6m/looking_at_code_behind_file_pilot/","stickied":false,"url":"https://youtu.be/Ww26eO1WeGQ","subreddit_subscribers":6883335,"created_utc":1780166443,"num_crossposts":0,"media":{"type":"youtube.com","oembed":{"provider_url":"https://www.youtube.com/","version":"1.0","title":"Implementing File Pilot feature on stream!","type":"video","thumbnail_width":480,"height":200,"width":356,"html":"&lt;iframe width=\"356\" height=\"200\" src=\"https://www.youtube.com/embed/Ww26eO1WeGQ?feature=oembed&amp;enablejsapi=1\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen title=\"Implementing File Pilot feature on stream!\"&gt;&lt;/iframe&gt;","author_name":"Wookash Podcast","provider_name":"YouTube","thumbnail_url":"https://i.ytimg.com/vi/Ww26eO1WeGQ/hqdefault.jpg","thumbnail_height":360,"author_url":"https://www.youtube.com/@WookashPodcast"}},"is_video":false},{"approved_at_utc":null,"subreddit":"programming","selftext":"A malicious npm package name `js-logger-pack`, went through 29 versions on the registry which was looking innocuous logger and ending as a binary dropper.  \nThe payload it dropped was 81 MB of binary called MicrosoftSystem64 which is a full cross-platform RAT packaged as a Node.js Single Executable Application, so it shows up as a native binary to endpoint tools rather than a node process.\n\nAnd the clever bit was instead of sending the stolen data directly to a C2 server, it uploads everything to private **HuggingFace** datasets using an embedded API token. So all exfiltration traffic appears as normal HTTPS requests to a legitimate ML platform.  \nIf you have any of those in your install history then rotate everything like credentials, SSH keys, API tokens, crypto seed phrases. All packages list and full technical breakdown is in blog.","author_fullname":"t2_ewn6cu80w","saved":false,"mod_reason_title":null,"gilded":0,"clicked":false,"title":"Someone hid a full RAT inside a fake npm package and exfiltrated victim data to HuggingFace","link_flair_richtext":[],"subreddit_name_prefixed":"r/programming","hidden":false,"pwls":6,"link_flair_css_class":null,"downs":0,"top_awarded_type":null,"hide_score":false,"name":"t3_1tqwksq","quarantine":false,"link_flair_text_color":"dark","upvote_ratio":0.97,"author_flair_background_color":null,"subreddit_type":"public","ups":848,"total_awards_received":0,"media_embed":{},"author_flair_template_id":null,"is_original_content":false,"user_reports":[],"secure_media":null,"is_reddit_media_domain":false,"is_meta":false,"category":null,"secure_media_embed":{},"link_flair_text":null,"can_mod_post":false,"score":848,"approved_by":null,"is_created_from_ads_ui":false,"author_premium":false,"thumbnail":"","edited":false,"author_flair_css_class":null,"author_flair_richtext":[],"gildings":{},"content_categories":null,"is_self":false,"mod_note":null,"created":1780047268,"link_flair_type":"text","wls":6,"removed_by_category":null,"banned_by":null,"author_flair_type":"text","domain":"safedep.io","allow_live_comments":false,"selftext_html":"&lt;!-- SC_OFF --&gt;&lt;div class=\"md\"&gt;&lt;p&gt;A malicious npm package name &lt;code&gt;js-logger-pack&lt;/code&gt;, went through 29 versions on the registry which was looking innocuous logger and ending as a binary dropper.&lt;br/&gt;\nThe payload it dropped was 81 MB of binary called MicrosoftSystem64 which is a full cross-platform RAT packaged as a Node.js Single Executable Application, so it shows up as a native binary to endpoint tools rather than a node process.&lt;/p&gt;\n\n&lt;p&gt;And the clever bit was instead of sending the stolen data directly to a C2 server, it uploads everything to private &lt;strong&gt;HuggingFace&lt;/strong&gt; datasets using an embedded API token. So all exfiltration traffic appears as normal HTTPS requests to a legitimate ML platform.&lt;br/&gt;\nIf you have any of those in your install history then rotate everything like credentials, SSH keys, API tokens, crypto seed phrases. All packages list and full technical breakdown is in blog.&lt;/p&gt;\n&lt;/div&gt;&lt;!-- SC_ON --&gt;","likes":null,"suggested_sort":null,"banned_at_utc":null,"url_overridden_by_dest":"https://safedep.io/microsoftsystem64-binary-payload-analysis/","view_count":null,"archived":false,"no_follow":false,"is_crosspostable":false,"pinned":false,"over_18":false,"all_awardings":[],"awarders":[],"media_only":false,"can_gild":false,"spoiler":false,"locked":false,"author_flair_text":null,"treatment_tags":[],"visited":false,"removed_by":null,"num_reports":null,"distinguished":null,"subreddit_id":"t5_2fwo","author_is_blocked":false,"mod_reason_by":null,"removal_reason":null,"link_flair_background_color":"","id":"1tqwksq","is_robot_indexable":true,"report_reasons":null,"author":"BattleRemote3157","discussion_type":null,"num_comments":98,"send_replies":true,"contest_mode":false,"mod_reports":[],"author_patreon_flair":false,"author_flair_text_color":null,"permalink":"/r/programming/comments/1tqwksq/someone_hid_a_full_rat_inside_a_fake_npm_package/","stickied":false,"url":"https://safedep.io/microsoftsystem64-binary-payload-analysis/","subreddit_subscribers":6883335,"created_utc":1780047268,"num_crossposts":0,"media":null,"is_video":false}]