How Speeding Up RL Led to Pufferlib (4.8K Stars) | Interview with Joseph Suarez
https://www.reddit.com/r/programming/comments/1q4meae/how_speeding_up_rl_led_to_pufferlib_48k_stars/
submitted by /u/research_pie (https://www.reddit.com/user/research_pie)
[link] (https://youtu.be/Sirpfci74zU) [comments] (https://www.reddit.com/r/programming/comments/1q4meae/how_speeding_up_rl_led_to_pufferlib_48k_stars/)
https://www.reddit.com/r/programming/comments/1q4meae/how_speeding_up_rl_led_to_pufferlib_48k_stars/
submitted by /u/research_pie (https://www.reddit.com/user/research_pie)
[link] (https://youtu.be/Sirpfci74zU) [comments] (https://www.reddit.com/r/programming/comments/1q4meae/how_speeding_up_rl_led_to_pufferlib_48k_stars/)
The Data Triangle
https://www.reddit.com/r/programming/comments/1q4o3o3/the_data_triangle/
submitted by /u/benlorantfy (https://www.reddit.com/user/benlorantfy)
[link] (https://www.benlorantfy.com/blog/the-data-triangle-and-nestjs-zod-v5) [comments] (https://www.reddit.com/r/programming/comments/1q4o3o3/the_data_triangle/)
https://www.reddit.com/r/programming/comments/1q4o3o3/the_data_triangle/
submitted by /u/benlorantfy (https://www.reddit.com/user/benlorantfy)
[link] (https://www.benlorantfy.com/blog/the-data-triangle-and-nestjs-zod-v5) [comments] (https://www.reddit.com/r/programming/comments/1q4o3o3/the_data_triangle/)
Common Architectures: Monolithic, Distributed, and Serverless
https://www.reddit.com/r/programming/comments/1q4opun/common_architectures_monolithic_distributed_and/
submitted by /u/stmoreau (https://www.reddit.com/user/stmoreau)
[link] (https://www.systemdesignbutsimple.com/p/common-architectures-monolithic-distributed) [comments] (https://www.reddit.com/r/programming/comments/1q4opun/common_architectures_monolithic_distributed_and/)
https://www.reddit.com/r/programming/comments/1q4opun/common_architectures_monolithic_distributed_and/
submitted by /u/stmoreau (https://www.reddit.com/user/stmoreau)
[link] (https://www.systemdesignbutsimple.com/p/common-architectures-monolithic-distributed) [comments] (https://www.reddit.com/r/programming/comments/1q4opun/common_architectures_monolithic_distributed_and/)
Who Owns the Memory? Part 3: How Big Is your Type?
https://www.reddit.com/r/programming/comments/1q4qdxa/who_owns_the_memory_part_3_how_big_is_your_type/
submitted by /u/Luke_Fleed (https://www.reddit.com/user/Luke_Fleed)
[link] (https://lukefleed.xyz/posts/who-owns-the-memory-pt3/) [comments] (https://www.reddit.com/r/programming/comments/1q4qdxa/who_owns_the_memory_part_3_how_big_is_your_type/)
https://www.reddit.com/r/programming/comments/1q4qdxa/who_owns_the_memory_part_3_how_big_is_your_type/
submitted by /u/Luke_Fleed (https://www.reddit.com/user/Luke_Fleed)
[link] (https://lukefleed.xyz/posts/who-owns-the-memory-pt3/) [comments] (https://www.reddit.com/r/programming/comments/1q4qdxa/who_owns_the_memory_part_3_how_big_is_your_type/)
Rebuilding Event-Driven Read Models in a safe and resilient way
https://www.reddit.com/r/programming/comments/1q4s31j/rebuilding_eventdriven_read_models_in_a_safe_and/
submitted by /u/Adventurous-Salt8514 (https://www.reddit.com/user/Adventurous-Salt8514)
[link] (https://event-driven.io/en/rebuilding_event_driven_read_models/) [comments] (https://www.reddit.com/r/programming/comments/1q4s31j/rebuilding_eventdriven_read_models_in_a_safe_and/)
https://www.reddit.com/r/programming/comments/1q4s31j/rebuilding_eventdriven_read_models_in_a_safe_and/
submitted by /u/Adventurous-Salt8514 (https://www.reddit.com/user/Adventurous-Salt8514)
[link] (https://event-driven.io/en/rebuilding_event_driven_read_models/) [comments] (https://www.reddit.com/r/programming/comments/1q4s31j/rebuilding_eventdriven_read_models_in_a_safe_and/)
Easy (Horizontal Scrollbar) Fixes for Your Blog CSS
https://www.reddit.com/r/programming/comments/1q4t0gz/easy_horizontal_scrollbar_fixes_for_your_blog_css/
submitted by /u/aartaka (https://www.reddit.com/user/aartaka)
[link] (https://aartaka.me/easy-fixes.html) [comments] (https://www.reddit.com/r/programming/comments/1q4t0gz/easy_horizontal_scrollbar_fixes_for_your_blog_css/)
https://www.reddit.com/r/programming/comments/1q4t0gz/easy_horizontal_scrollbar_fixes_for_your_blog_css/
submitted by /u/aartaka (https://www.reddit.com/user/aartaka)
[link] (https://aartaka.me/easy-fixes.html) [comments] (https://www.reddit.com/r/programming/comments/1q4t0gz/easy_horizontal_scrollbar_fixes_for_your_blog_css/)
Clean Code vs. A Philosophy Of Software Design
https://www.reddit.com/r/programming/comments/1q4v7rf/clean_code_vs_a_philosophy_of_software_design/
submitted by /u/iamkeyur (https://www.reddit.com/user/iamkeyur)
[link] (https://github.com/johnousterhout/aposd-vs-clean-code) [comments] (https://www.reddit.com/r/programming/comments/1q4v7rf/clean_code_vs_a_philosophy_of_software_design/)
https://www.reddit.com/r/programming/comments/1q4v7rf/clean_code_vs_a_philosophy_of_software_design/
submitted by /u/iamkeyur (https://www.reddit.com/user/iamkeyur)
[link] (https://github.com/johnousterhout/aposd-vs-clean-code) [comments] (https://www.reddit.com/r/programming/comments/1q4v7rf/clean_code_vs_a_philosophy_of_software_design/)
It's a horse!
https://www.reddit.com/r/programming/comments/1q4y82s/its_a_horse/
submitted by /u/justpablo (https://www.reddit.com/user/justpablo)
[link] (https://polmuz.github.io/2026/01/04/its-a-horse.html) [comments] (https://www.reddit.com/r/programming/comments/1q4y82s/its_a_horse/)
https://www.reddit.com/r/programming/comments/1q4y82s/its_a_horse/
submitted by /u/justpablo (https://www.reddit.com/user/justpablo)
[link] (https://polmuz.github.io/2026/01/04/its-a-horse.html) [comments] (https://www.reddit.com/r/programming/comments/1q4y82s/its_a_horse/)
SPARK: Formal Verification and Proving Program Correctness in Ada
https://www.reddit.com/r/programming/comments/1q4zgsc/spark_formal_verification_and_proving_program/
submitted by /u/jordansrowles (https://www.reddit.com/user/jordansrowles)
[link] (https://jordansrowles.medium.com/spark-formal-verification-and-proving-program-correctness-in-ada-3105cc82694d) [comments] (https://www.reddit.com/r/programming/comments/1q4zgsc/spark_formal_verification_and_proving_program/)
https://www.reddit.com/r/programming/comments/1q4zgsc/spark_formal_verification_and_proving_program/
submitted by /u/jordansrowles (https://www.reddit.com/user/jordansrowles)
[link] (https://jordansrowles.medium.com/spark-formal-verification-and-proving-program-correctness-in-ada-3105cc82694d) [comments] (https://www.reddit.com/r/programming/comments/1q4zgsc/spark_formal_verification_and_proving_program/)
Winter Madness Postmortem (Go + Ebitengine + Tetra3D)
https://www.reddit.com/r/programming/comments/1q4zjus/winter_madness_postmortem_go_ebitengine_tetra3d/
submitted by /u/tslocum (https://www.reddit.com/user/tslocum)
[link] (https://rocketnine.itch.io/wintermadness/devlog/1308052/winter-madness-postmortem) [comments] (https://www.reddit.com/r/programming/comments/1q4zjus/winter_madness_postmortem_go_ebitengine_tetra3d/)
https://www.reddit.com/r/programming/comments/1q4zjus/winter_madness_postmortem_go_ebitengine_tetra3d/
submitted by /u/tslocum (https://www.reddit.com/user/tslocum)
[link] (https://rocketnine.itch.io/wintermadness/devlog/1308052/winter-madness-postmortem) [comments] (https://www.reddit.com/r/programming/comments/1q4zjus/winter_madness_postmortem_go_ebitengine_tetra3d/)
Programming on your phone
https://www.reddit.com/r/programming/comments/1q5186h/programming_on_your_phone/
submitted by /u/New-Camp2105 (https://www.reddit.com/user/New-Camp2105)
[link] (https://youtu.be/ncLD_SdmkIk?si=GjlPOAVuYf6G7wyp) [comments] (https://www.reddit.com/r/programming/comments/1q5186h/programming_on_your_phone/)
https://www.reddit.com/r/programming/comments/1q5186h/programming_on_your_phone/
submitted by /u/New-Camp2105 (https://www.reddit.com/user/New-Camp2105)
[link] (https://youtu.be/ncLD_SdmkIk?si=GjlPOAVuYf6G7wyp) [comments] (https://www.reddit.com/r/programming/comments/1q5186h/programming_on_your_phone/)
There were BGP anomalies during the Venezuela blackout
https://www.reddit.com/r/programming/comments/1q5ay8i/there_were_bgp_anomalies_during_the_venezuela/
submitted by /u/iamkeyur (https://www.reddit.com/user/iamkeyur)
[link] (https://loworbitsecurity.com/radar/radar16/) [comments] (https://www.reddit.com/r/programming/comments/1q5ay8i/there_were_bgp_anomalies_during_the_venezuela/)
https://www.reddit.com/r/programming/comments/1q5ay8i/there_were_bgp_anomalies_during_the_venezuela/
submitted by /u/iamkeyur (https://www.reddit.com/user/iamkeyur)
[link] (https://loworbitsecurity.com/radar/radar16/) [comments] (https://www.reddit.com/r/programming/comments/1q5ay8i/there_were_bgp_anomalies_during_the_venezuela/)
MySQL vs PostgreSQL Performance: throughput & latency, reads & writes
https://www.reddit.com/r/programming/comments/1q5fqbp/mysql_vs_postgresql_performance_throughput/
<!-- SC_OFF -->Hey guys! Given popularity of these two databases and debates often people who have as to which is better, I was curious to compare them on a single dimension - performance. I had my contender, but was deeply surprised to discover how big the performance difference between these two is! Basically, Postgres, the Elephant, outperforms MySQL, the Dolphin, in almost all scenarios: for the 17 executed test cases in total, Postgres won in 14 and there was 1 draw. Using QPS (queries per second) to measure throughput (the higher the better), mean & 99th percentile for latency (the lower the better), here is a high-level summary of the results where Postgres was superior: Inserts 1.05 - 4.87x higher throughput latency lower 3.51 - 11.23x by mean and 4.21 - 10.66x by 99th percentile Postgres delivers 21 338 QPS with 4.009 ms at the 99th percentile for single-row inserts, compared to 4 383 QPS & 42.729 ms for MySQL; for batch inserts of 100 rows, it achieves 3535 QPS with 34.779 ms at the 99th percentile, compared to 1883 QPS & 146.497 ms for MySQL Selects 1.04 - 1.67x higher throughput latency lower 1.67 - 2x by mean and 1.25 - 4.51x by 99th percentile Postgres delivers 55 200 QPS with 5.446 ms at the 99th percentile for single-row selects by id, compared to 33 469 QPS & 12.721 ms for MySQL; for sorted selects of multiple rows, it achieves 4745 QPS with 9.146 ms at the 99th percentile, compared to 4559 QPS & 41.294 ms for MySQL Updates 4.2 - 4.82x higher throughput latency lower 6.01 - 10.6x by mean and 7.54 - 8.46x by 99th percentile Postgres delivers 18 046 QPS with 4.704 ms at the 99th percentile for updates by id of multiple columns, compared to 3747 QPS & 39.774 ms for MySQL Deletes 3.27 - 4.65x higher throughput latency lower 10.24x - 10.98x by mean and 9.23x - 10.09x by 99th percentile Postgres delivers 18 285 QPS with 4.661 ms at the 99th percentile for deletes by id, compared to 5596 QPS & 43.039 ms for MySQL Inserts, Updates, Deletes and Selects mixed 3.72x higher throughput latency lower 9.34x by mean and 8.77x by 99th percentile Postgres delivers 23 441 QPS with 4.634 ms at the 99th percentile for this mixed in 1:1 writes:reads proportion workload, compared to 6300 QPS & 40.635 ms for MySQL And if you are curious, here is more details about the 2 test cases where MySQL won: Selects - order by id, joined with many-to-one user MySQL - 29 223 QPS; Mean: 1.739 ms, Percentile 99: 14.543 ms Postgres - 28 194 QPS; Mean: 1.897 ms, Percentile 99: 19.823 ms MySQL wins with 1.04x higher throughput, latency lower 1.09x by mean and 1.36x by 99th percentile Selects - order by id, joined with many-to-many order_item, joined with many-to-many item MySQL - 22 619 QPS; Mean: 2.824 ms, Percentile 99: 19.795 ms Postgres - 20 211 QPS; Mean: 2.799 ms, Percentile 99: 28.604 ms MySQL wins with 1.12x higher throughput, latency higher 1.01x (slightly worse) by mean and lower 1.45x by 99th percentile There is a lot more details on the tests setup, environment and more than shown test cases - they all are in the blog post, have a great read ;) <!-- SC_ON --> submitted by /u/BinaryIgor (https://www.reddit.com/user/BinaryIgor)
[link] (https://binaryigor.com/mysql-vs-postgresql-performance.html) [comments] (https://www.reddit.com/r/programming/comments/1q5fqbp/mysql_vs_postgresql_performance_throughput/)
https://www.reddit.com/r/programming/comments/1q5fqbp/mysql_vs_postgresql_performance_throughput/
<!-- SC_OFF -->Hey guys! Given popularity of these two databases and debates often people who have as to which is better, I was curious to compare them on a single dimension - performance. I had my contender, but was deeply surprised to discover how big the performance difference between these two is! Basically, Postgres, the Elephant, outperforms MySQL, the Dolphin, in almost all scenarios: for the 17 executed test cases in total, Postgres won in 14 and there was 1 draw. Using QPS (queries per second) to measure throughput (the higher the better), mean & 99th percentile for latency (the lower the better), here is a high-level summary of the results where Postgres was superior: Inserts 1.05 - 4.87x higher throughput latency lower 3.51 - 11.23x by mean and 4.21 - 10.66x by 99th percentile Postgres delivers 21 338 QPS with 4.009 ms at the 99th percentile for single-row inserts, compared to 4 383 QPS & 42.729 ms for MySQL; for batch inserts of 100 rows, it achieves 3535 QPS with 34.779 ms at the 99th percentile, compared to 1883 QPS & 146.497 ms for MySQL Selects 1.04 - 1.67x higher throughput latency lower 1.67 - 2x by mean and 1.25 - 4.51x by 99th percentile Postgres delivers 55 200 QPS with 5.446 ms at the 99th percentile for single-row selects by id, compared to 33 469 QPS & 12.721 ms for MySQL; for sorted selects of multiple rows, it achieves 4745 QPS with 9.146 ms at the 99th percentile, compared to 4559 QPS & 41.294 ms for MySQL Updates 4.2 - 4.82x higher throughput latency lower 6.01 - 10.6x by mean and 7.54 - 8.46x by 99th percentile Postgres delivers 18 046 QPS with 4.704 ms at the 99th percentile for updates by id of multiple columns, compared to 3747 QPS & 39.774 ms for MySQL Deletes 3.27 - 4.65x higher throughput latency lower 10.24x - 10.98x by mean and 9.23x - 10.09x by 99th percentile Postgres delivers 18 285 QPS with 4.661 ms at the 99th percentile for deletes by id, compared to 5596 QPS & 43.039 ms for MySQL Inserts, Updates, Deletes and Selects mixed 3.72x higher throughput latency lower 9.34x by mean and 8.77x by 99th percentile Postgres delivers 23 441 QPS with 4.634 ms at the 99th percentile for this mixed in 1:1 writes:reads proportion workload, compared to 6300 QPS & 40.635 ms for MySQL And if you are curious, here is more details about the 2 test cases where MySQL won: Selects - order by id, joined with many-to-one user MySQL - 29 223 QPS; Mean: 1.739 ms, Percentile 99: 14.543 ms Postgres - 28 194 QPS; Mean: 1.897 ms, Percentile 99: 19.823 ms MySQL wins with 1.04x higher throughput, latency lower 1.09x by mean and 1.36x by 99th percentile Selects - order by id, joined with many-to-many order_item, joined with many-to-many item MySQL - 22 619 QPS; Mean: 2.824 ms, Percentile 99: 19.795 ms Postgres - 20 211 QPS; Mean: 2.799 ms, Percentile 99: 28.604 ms MySQL wins with 1.12x higher throughput, latency higher 1.01x (slightly worse) by mean and lower 1.45x by 99th percentile There is a lot more details on the tests setup, environment and more than shown test cases - they all are in the blog post, have a great read ;) <!-- SC_ON --> submitted by /u/BinaryIgor (https://www.reddit.com/user/BinaryIgor)
[link] (https://binaryigor.com/mysql-vs-postgresql-performance.html) [comments] (https://www.reddit.com/r/programming/comments/1q5fqbp/mysql_vs_postgresql_performance_throughput/)
Databases in 2025
https://www.reddit.com/r/programming/comments/1q5is3q/databases_in_2025/
submitted by /u/thewritingwallah (https://www.reddit.com/user/thewritingwallah)
[link] (https://www.cs.cmu.edu/~pavlo/blog/2026/01/2025-databases-retrospective.html) [comments] (https://www.reddit.com/r/programming/comments/1q5is3q/databases_in_2025/)
https://www.reddit.com/r/programming/comments/1q5is3q/databases_in_2025/
submitted by /u/thewritingwallah (https://www.reddit.com/user/thewritingwallah)
[link] (https://www.cs.cmu.edu/~pavlo/blog/2026/01/2025-databases-retrospective.html) [comments] (https://www.reddit.com/r/programming/comments/1q5is3q/databases_in_2025/)
Java is one step closer to Value Classes!
https://www.reddit.com/r/programming/comments/1q5jre0/java_is_one_step_closer_to_value_classes/
submitted by /u/davidalayachew (https://www.reddit.com/user/davidalayachew)
[link] (https://mail.openjdk.org/pipermail/porters-dev/2026-January/000844.html) [comments] (https://www.reddit.com/r/programming/comments/1q5jre0/java_is_one_step_closer_to_value_classes/)
https://www.reddit.com/r/programming/comments/1q5jre0/java_is_one_step_closer_to_value_classes/
submitted by /u/davidalayachew (https://www.reddit.com/user/davidalayachew)
[link] (https://mail.openjdk.org/pipermail/porters-dev/2026-January/000844.html) [comments] (https://www.reddit.com/r/programming/comments/1q5jre0/java_is_one_step_closer_to_value_classes/)
Why Devs Need DevOps
https://www.reddit.com/r/programming/comments/1q5kll0/why_devs_need_devops/
<!-- SC_OFF -->Talking to developers, I've found many misunderstand DevOps. I wrote an article explaining why, as a dev, I see DevOps principles as foundational knowledge. <!-- SC_ON --> submitted by /u/chesus_chrust (https://www.reddit.com/user/chesus_chrust)
[link] (https://ravestar.dev/blog/why-devs-need-devops/) [comments] (https://www.reddit.com/r/programming/comments/1q5kll0/why_devs_need_devops/)
https://www.reddit.com/r/programming/comments/1q5kll0/why_devs_need_devops/
<!-- SC_OFF -->Talking to developers, I've found many misunderstand DevOps. I wrote an article explaining why, as a dev, I see DevOps principles as foundational knowledge. <!-- SC_ON --> submitted by /u/chesus_chrust (https://www.reddit.com/user/chesus_chrust)
[link] (https://ravestar.dev/blog/why-devs-need-devops/) [comments] (https://www.reddit.com/r/programming/comments/1q5kll0/why_devs_need_devops/)
The PERFECT Code Review: How to Reduce Cognitive Load While Improving Quality
https://www.reddit.com/r/programming/comments/1q5r0a0/the_perfect_code_review_how_to_reduce_cognitive/
<!-- SC_OFF -->Hi Everyone, Here I share the link to my article about a fundamental approach to the Code Review process from my personal site. The main objective I pursue is to get some attention to my thoughts on the proper code review and to get feedback from other developers based on their opinion and experience. The specific recommendations there are mostly based on my experience, but I tried to generalize the approach as much as possible so it is relevant for any software development project. I have already tried this approach in several teams and projects, and it worked very well. That's why I want to share it, get feedback from a wider audience, and understand if that is a really valuable approach or just something very specific that won't be useful for others. <!-- SC_ON --> submitted by /u/areklanga (https://www.reddit.com/user/areklanga)
[link] (https://bastrich.tech/perfect-code-review/) [comments] (https://www.reddit.com/r/programming/comments/1q5r0a0/the_perfect_code_review_how_to_reduce_cognitive/)
https://www.reddit.com/r/programming/comments/1q5r0a0/the_perfect_code_review_how_to_reduce_cognitive/
<!-- SC_OFF -->Hi Everyone, Here I share the link to my article about a fundamental approach to the Code Review process from my personal site. The main objective I pursue is to get some attention to my thoughts on the proper code review and to get feedback from other developers based on their opinion and experience. The specific recommendations there are mostly based on my experience, but I tried to generalize the approach as much as possible so it is relevant for any software development project. I have already tried this approach in several teams and projects, and it worked very well. That's why I want to share it, get feedback from a wider audience, and understand if that is a really valuable approach or just something very specific that won't be useful for others. <!-- SC_ON --> submitted by /u/areklanga (https://www.reddit.com/user/areklanga)
[link] (https://bastrich.tech/perfect-code-review/) [comments] (https://www.reddit.com/r/programming/comments/1q5r0a0/the_perfect_code_review_how_to_reduce_cognitive/)
The Monty Hall Problem, a side-by-side simulation
https://www.reddit.com/r/programming/comments/1q5rlyf/the_monty_hall_problem_a_sidebyside_simulation/
submitted by /u/R2_SWE2 (https://www.reddit.com/user/R2_SWE2)
[link] (https://www.pcloadletter.dev/blog/monty/) [comments] (https://www.reddit.com/r/programming/comments/1q5rlyf/the_monty_hall_problem_a_sidebyside_simulation/)
https://www.reddit.com/r/programming/comments/1q5rlyf/the_monty_hall_problem_a_sidebyside_simulation/
submitted by /u/R2_SWE2 (https://www.reddit.com/user/R2_SWE2)
[link] (https://www.pcloadletter.dev/blog/monty/) [comments] (https://www.reddit.com/r/programming/comments/1q5rlyf/the_monty_hall_problem_a_sidebyside_simulation/)
Statistical Methods for Reliable Benchmarks
https://www.reddit.com/r/programming/comments/1q5xfxe/statistical_methods_for_reliable_benchmarks/
submitted by /u/modulovalue (https://www.reddit.com/user/modulovalue)
[link] (https://modulovalue.com/blog/statistical-methods-for-reliable-benchmarks/) [comments] (https://www.reddit.com/r/programming/comments/1q5xfxe/statistical_methods_for_reliable_benchmarks/)
https://www.reddit.com/r/programming/comments/1q5xfxe/statistical_methods_for_reliable_benchmarks/
submitted by /u/modulovalue (https://www.reddit.com/user/modulovalue)
[link] (https://modulovalue.com/blog/statistical-methods-for-reliable-benchmarks/) [comments] (https://www.reddit.com/r/programming/comments/1q5xfxe/statistical_methods_for_reliable_benchmarks/)
io_uring for Systems Engineers
https://www.reddit.com/r/programming/comments/1q6127d/io_uring_for_systems_engineers/
submitted by /u/mttd (https://www.reddit.com/user/mttd)
[link] (https://toziegler.github.io/2025-12-08-io-uring/) [comments] (https://www.reddit.com/r/programming/comments/1q6127d/io_uring_for_systems_engineers/)
https://www.reddit.com/r/programming/comments/1q6127d/io_uring_for_systems_engineers/
submitted by /u/mttd (https://www.reddit.com/user/mttd)
[link] (https://toziegler.github.io/2025-12-08-io-uring/) [comments] (https://www.reddit.com/r/programming/comments/1q6127d/io_uring_for_systems_engineers/)
What if TUI regions were Erlang-style actors?
https://www.reddit.com/r/programming/comments/1q63eio/what_if_tui_regions_were_erlangstyle_actors/
<!-- SC_OFF -->I experimented treating each terminal UI region as an independent actor with message-passing and supervision. Yes overkill for simple TUIs, but more complex tuis have overlapping problems: Isolation: Each region owns its state. No shared mutables, no "where did this change?" debugging. Explicit data flow: When the footer repaints, I know which message triggered it. Supervision: If a region crashes, a supervisor restarts it. App continues. Matters for long-running dashboards or other apps like that. Children never write to the terminal directly - they send render requests to the parent. Single-writer semantics enforced by architecture. Wrote it up on my blog with source code to fiddle around with: https://www.rodriguez.today/articles/reactive-tui-architecture-with-actors Curious if others have applied distributed systems patterns to UI problems? <!-- SC_ON --> submitted by /u/rrrodzilla (https://www.reddit.com/user/rrrodzilla)
[link] (https://www.rodriguez.today/articles/reactive-tui-architecture-with-actors) [comments] (https://www.reddit.com/r/programming/comments/1q63eio/what_if_tui_regions_were_erlangstyle_actors/)
https://www.reddit.com/r/programming/comments/1q63eio/what_if_tui_regions_were_erlangstyle_actors/
<!-- SC_OFF -->I experimented treating each terminal UI region as an independent actor with message-passing and supervision. Yes overkill for simple TUIs, but more complex tuis have overlapping problems: Isolation: Each region owns its state. No shared mutables, no "where did this change?" debugging. Explicit data flow: When the footer repaints, I know which message triggered it. Supervision: If a region crashes, a supervisor restarts it. App continues. Matters for long-running dashboards or other apps like that. Children never write to the terminal directly - they send render requests to the parent. Single-writer semantics enforced by architecture. Wrote it up on my blog with source code to fiddle around with: https://www.rodriguez.today/articles/reactive-tui-architecture-with-actors Curious if others have applied distributed systems patterns to UI problems? <!-- SC_ON --> submitted by /u/rrrodzilla (https://www.reddit.com/user/rrrodzilla)
[link] (https://www.rodriguez.today/articles/reactive-tui-architecture-with-actors) [comments] (https://www.reddit.com/r/programming/comments/1q63eio/what_if_tui_regions_were_erlangstyle_actors/)