Keeping Documentation Up-To-Date via Automated Screenshot Generation
https://www.reddit.com/r/programming/comments/1pca3w6/keeping_documentation_uptodate_via_automated/
submitted by /u/furkansahin (https://www.reddit.com/user/furkansahin)
[link] (https://www.ubicloud.com/blog/keeping-documentation-up-to-date-via-automated-screenshot-generation?mtm_campaign=ubicloud-reddit-programming&mtm_source=reddit&mtm_medium=social) [comments] (https://www.reddit.com/r/programming/comments/1pca3w6/keeping_documentation_uptodate_via_automated/)
https://www.reddit.com/r/programming/comments/1pca3w6/keeping_documentation_uptodate_via_automated/
submitted by /u/furkansahin (https://www.reddit.com/user/furkansahin)
[link] (https://www.ubicloud.com/blog/keeping-documentation-up-to-date-via-automated-screenshot-generation?mtm_campaign=ubicloud-reddit-programming&mtm_source=reddit&mtm_medium=social) [comments] (https://www.reddit.com/r/programming/comments/1pca3w6/keeping_documentation_uptodate_via_automated/)
Desugarging the Relationship Between Concrete and Abstract Syntax
https://www.reddit.com/r/programming/comments/1pcc426/desugarging_the_relationship_between_concrete_and/
submitted by /u/thunderseethe (https://www.reddit.com/user/thunderseethe)
[link] (https://thunderseethe.dev/posts/desugar-base/) [comments] (https://www.reddit.com/r/programming/comments/1pcc426/desugarging_the_relationship_between_concrete_and/)
https://www.reddit.com/r/programming/comments/1pcc426/desugarging_the_relationship_between_concrete_and/
submitted by /u/thunderseethe (https://www.reddit.com/user/thunderseethe)
[link] (https://thunderseethe.dev/posts/desugar-base/) [comments] (https://www.reddit.com/r/programming/comments/1pcc426/desugarging_the_relationship_between_concrete_and/)
Choosing your starting line in enterprise architecture
https://www.reddit.com/r/programming/comments/1pcdc6b/choosing_your_starting_line_in_enterprise/
<!-- SC_OFF -->If you start up an enterprise architecture office, you have two types of strategies people use. Some people start by mapping everything that exists, in whatever state it happens to be. They then assess what they have and start building a gap analysis towards a better, more uniform state. The other group of people start at the end point and work their way back. They sketch out the ideal state and map out the bare essentials towards getting there. The big upside of the AS-IS approach is that you are working with terms and information that is familiar to the organization. People will recognize the works you are linking applications and business units to, as they probably use them themselves. The idea of skipping the AS-IS altogether comes down to: why base our architecture on structures that are not only, very low quality, they are also probably not carried in the organization. The architecture maturity of the organization is probably very low, so why take on the burden. My experiences has taught me mainly: If something already exists and people use it, adopt it. If everything is a mess and nobody agrees on anything, skip the archaeology and design something that makes sense to you. <!-- SC_ON --> submitted by /u/GeneralZiltoid (https://www.reddit.com/user/GeneralZiltoid)
[link] (https://frederickvanbrabant.com/blog/2025-11-28-choosing-your-starting-line-in-enterprise-architecture/) [comments] (https://www.reddit.com/r/programming/comments/1pcdc6b/choosing_your_starting_line_in_enterprise/)
https://www.reddit.com/r/programming/comments/1pcdc6b/choosing_your_starting_line_in_enterprise/
<!-- SC_OFF -->If you start up an enterprise architecture office, you have two types of strategies people use. Some people start by mapping everything that exists, in whatever state it happens to be. They then assess what they have and start building a gap analysis towards a better, more uniform state. The other group of people start at the end point and work their way back. They sketch out the ideal state and map out the bare essentials towards getting there. The big upside of the AS-IS approach is that you are working with terms and information that is familiar to the organization. People will recognize the works you are linking applications and business units to, as they probably use them themselves. The idea of skipping the AS-IS altogether comes down to: why base our architecture on structures that are not only, very low quality, they are also probably not carried in the organization. The architecture maturity of the organization is probably very low, so why take on the burden. My experiences has taught me mainly: If something already exists and people use it, adopt it. If everything is a mess and nobody agrees on anything, skip the archaeology and design something that makes sense to you. <!-- SC_ON --> submitted by /u/GeneralZiltoid (https://www.reddit.com/user/GeneralZiltoid)
[link] (https://frederickvanbrabant.com/blog/2025-11-28-choosing-your-starting-line-in-enterprise-architecture/) [comments] (https://www.reddit.com/r/programming/comments/1pcdc6b/choosing_your_starting_line_in_enterprise/)
The Ultimate Git Tutorial (Git 2.52)
https://www.reddit.com/r/programming/comments/1pce50w/the_ultimate_git_tutorial_git_252/
<!-- SC_OFF -->The ultimate Git tutorial (https://jhcarl0814.github.io/ClosedAI/git/git.html) has been updated (from Git 2.51 to Git 2.52). Previous post from Git 2.47 era introducing What & Why and Features for this tutorial. What & Why: The ultimate tutorial for beginners to thoroughly understand Git, introducing concepts/terminologies in a pedagogically sound order, illustrating command options and their combinations/interactions with examples. This way, learning Git no longer feels like a lost cause. You'll be able to spot, solve or prevent problems others can't, so you won't feel out of control whenever a problem arises. The ultimate knowledge base site for experienced users, grouping command options into intuitive categories for easy discovery. FAQ Q1: There is too much content, while I somehow expect to read only a portion when facing a lot of content, selectively. How do I use the page to learn Git?
A1: Unselectively read all the concept links and blue command links in DOM order. Blue command links introduce most commonly used Git commands and contain examples for command options. For example, click to read the definition of "object database", then "file system", and so on. Q2: This doesn't look like a tutorial, as tutorials should look easy, very very easy, want easy things you know. / Where is the tutorial? I only see many links. / I think learning to use a revision control system should only be a small part of my programming job, so it should not take tremendous amount of time. / I just want to get job done quickly and then run away, sure no one wants to figure out what is working or how it is working behind the scenes. / I think revision control systems should be easy because it's not programming proper. Look at XXX revision control system, it's easy (but apparently nobody uses it)! / Want easy things, very very easy, tremendously easy.
A2: Here you go. (https://www.reddit.com/r/git/comments/1ftj350/mastering_git_a_comprehensive_git_cheatsheet_for/) Oh wait. (https://medium.com/@amitmishraam941/mastering-git-a-comprehensive-command-cheatsheet-95ed1db88847) Q3: I used the tutorials in A2 but don't know what to do whenever I want to do something with Git. / I used the tutorials in A2 but screwed up at work so now I'm staring at the screen in a daze. / I should be able to do what I want after reading some tremendously easy tutorials, but I can't. Now I need to continue looking for easy tutorials that is easy for beginners. / How to use a revision control system if I cannot?
A3: Here are more easy tutorials. (https://www.google.com/search?q=mastering+git+a+comprehensive+git+cheatsheet+for) Q4: This tutorial is unintuitive, arcane and overwhelming.
A4: So people who can't think abstractly and deeply can be shut out. Q5: Why not just RTFM (https://git-scm.com/docs)? / Git is easy, so those who feel it difficult should not go programming. / People should be able to look for information themselves to learn programming so there is no need to make a page like this. / (And other attempts to keep knowledge scattered all around the Internet so you would spend all your life collecting it, this way you don't have time to think about things like Illu*******, so good!🙄)
A5: Knowledge gathering and organization is to save people's time. If you don't take other people's time seriously, they won't take your time seriously either. Q6: http://git-scm.com/book / http://gitimmersion.com/ / I can't see the links in the side bar of r/git (https://www.reddit.com/r/git) 😭😭😭, so can you repeat them here? / (And links to other tutorials, no idea why they don't make a standalone post.)
https://www.reddit.com/r/programming/comments/1pce50w/the_ultimate_git_tutorial_git_252/
<!-- SC_OFF -->The ultimate Git tutorial (https://jhcarl0814.github.io/ClosedAI/git/git.html) has been updated (from Git 2.51 to Git 2.52). Previous post from Git 2.47 era introducing What & Why and Features for this tutorial. What & Why: The ultimate tutorial for beginners to thoroughly understand Git, introducing concepts/terminologies in a pedagogically sound order, illustrating command options and their combinations/interactions with examples. This way, learning Git no longer feels like a lost cause. You'll be able to spot, solve or prevent problems others can't, so you won't feel out of control whenever a problem arises. The ultimate knowledge base site for experienced users, grouping command options into intuitive categories for easy discovery. FAQ Q1: There is too much content, while I somehow expect to read only a portion when facing a lot of content, selectively. How do I use the page to learn Git?
A1: Unselectively read all the concept links and blue command links in DOM order. Blue command links introduce most commonly used Git commands and contain examples for command options. For example, click to read the definition of "object database", then "file system", and so on. Q2: This doesn't look like a tutorial, as tutorials should look easy, very very easy, want easy things you know. / Where is the tutorial? I only see many links. / I think learning to use a revision control system should only be a small part of my programming job, so it should not take tremendous amount of time. / I just want to get job done quickly and then run away, sure no one wants to figure out what is working or how it is working behind the scenes. / I think revision control systems should be easy because it's not programming proper. Look at XXX revision control system, it's easy (but apparently nobody uses it)! / Want easy things, very very easy, tremendously easy.
A2: Here you go. (https://www.reddit.com/r/git/comments/1ftj350/mastering_git_a_comprehensive_git_cheatsheet_for/) Oh wait. (https://medium.com/@amitmishraam941/mastering-git-a-comprehensive-command-cheatsheet-95ed1db88847) Q3: I used the tutorials in A2 but don't know what to do whenever I want to do something with Git. / I used the tutorials in A2 but screwed up at work so now I'm staring at the screen in a daze. / I should be able to do what I want after reading some tremendously easy tutorials, but I can't. Now I need to continue looking for easy tutorials that is easy for beginners. / How to use a revision control system if I cannot?
A3: Here are more easy tutorials. (https://www.google.com/search?q=mastering+git+a+comprehensive+git+cheatsheet+for) Q4: This tutorial is unintuitive, arcane and overwhelming.
A4: So people who can't think abstractly and deeply can be shut out. Q5: Why not just RTFM (https://git-scm.com/docs)? / Git is easy, so those who feel it difficult should not go programming. / People should be able to look for information themselves to learn programming so there is no need to make a page like this. / (And other attempts to keep knowledge scattered all around the Internet so you would spend all your life collecting it, this way you don't have time to think about things like Illu*******, so good!🙄)
A5: Knowledge gathering and organization is to save people's time. If you don't take other people's time seriously, they won't take your time seriously either. Q6: http://git-scm.com/book / http://gitimmersion.com/ / I can't see the links in the side bar of r/git (https://www.reddit.com/r/git) 😭😭😭, so can you repeat them here? / (And links to other tutorials, no idea why they don't make a standalone post.)
A6: Pro Git, Git Ready, Git Reference, Git Magic, Git for Computer Scientists, A Visual Git Reference, Git Primer, Git Immersion, Think Like a Git, Git Workflows, Git on Stack Overflow, Getting Git Right, The Git Parable. Updates: Changed explanation of interactions between git pull (unspecified)/--rebase[=]/--no-rebase, branch..rebase, pull.rebase, git pull (unspecified)/--ff-only/--no-ff/--ff, pull.ff, merge.ff and their default values from being "as vague as official documentation" to being clear. Added links to git repo and git last-modified. Added ui and examples for git diff --max-depth= and ui for git log --max-depth=. Didn't add examples for :(optional) because of its bug. Added links to git push page's denoscription section as it now lists how some default values are calculated. Added links to "upstream branch" from git fetch page and "push rules" from git push page. Added links to "how to force tracking not-tracked and ignored files" and "how to force adding a submodule whose path-derived name is occupied". Not my Updates: The ANSI to HTML functionality will be a built-in feature of mintty (https://github.com/mintty/mintty/issues/1336 ). Currently the page uses a third-party solution and will keep lagging. The official documentation is being improved. The updates to git push (https://github.com/gitgitgadget/git/commits/master/Documentation/git-push.adoc?since=2025-09-21&until=2025-12-02 ) and git pull (https://github.com/gitgitgadget/git/commits/master/Documentation/git-pull.adoc?since=2025-09-21&until=2025-12-02 ) clarify how the default values for and ... are calculated. The website also displays definitions of some terms on pointer hover (https://github.com/git/git-scm.com/commit/863935e61e383005eb3cbeb097b9ae17af078e1d ). If (in the future) the official website can further provide examples to demonstrate every option for each command, I would be happy to decommission my page. <!-- SC_ON --> submitted by /u/jhcarl0814 (https://www.reddit.com/user/jhcarl0814)
[link] (https://jhcarl0814.github.io/ClosedAI/git/git.html) [comments] (https://www.reddit.com/r/programming/comments/1pce50w/the_ultimate_git_tutorial_git_252/)
[link] (https://jhcarl0814.github.io/ClosedAI/git/git.html) [comments] (https://www.reddit.com/r/programming/comments/1pce50w/the_ultimate_git_tutorial_git_252/)
Progress on TypeScript 7 - December 2025
https://www.reddit.com/r/programming/comments/1pceq95/progress_on_typenoscript_7_december_2025/
submitted by /u/DanielRosenwasser (https://www.reddit.com/user/DanielRosenwasser)
[link] (https://devblogs.microsoft.com/typenoscript/progress-on-typenoscript-7-december-2025/) [comments] (https://www.reddit.com/r/programming/comments/1pceq95/progress_on_typenoscript_7_december_2025/)
https://www.reddit.com/r/programming/comments/1pceq95/progress_on_typenoscript_7_december_2025/
submitted by /u/DanielRosenwasser (https://www.reddit.com/user/DanielRosenwasser)
[link] (https://devblogs.microsoft.com/typenoscript/progress-on-typenoscript-7-december-2025/) [comments] (https://www.reddit.com/r/programming/comments/1pceq95/progress_on_typenoscript_7_december_2025/)
Bun is joining Anthropic
https://www.reddit.com/r/programming/comments/1pcg3do/bun_is_joining_anthropic/
submitted by /u/TheCactusBlue (https://www.reddit.com/user/TheCactusBlue)
[link] (https://bun.com/blog/bun-joins-anthropic) [comments] (https://www.reddit.com/r/programming/comments/1pcg3do/bun_is_joining_anthropic/)
https://www.reddit.com/r/programming/comments/1pcg3do/bun_is_joining_anthropic/
submitted by /u/TheCactusBlue (https://www.reddit.com/user/TheCactusBlue)
[link] (https://bun.com/blog/bun-joins-anthropic) [comments] (https://www.reddit.com/r/programming/comments/1pcg3do/bun_is_joining_anthropic/)
Constructing The Word's First JPEG XL MD5 Hash Quine
https://www.reddit.com/r/programming/comments/1pcj1k1/constructing_the_words_first_jpeg_xl_md5_hash/
<!-- SC_OFF -->Here is the JPEG XL image file so you can verify the hash: https://stackchk.fail/blog/shark_hashquine.jxl <!-- SC_ON --> submitted by /u/NXGZ (https://www.reddit.com/user/NXGZ)
[link] (https://stackchk.fail/blog/jxl_hashquine_writeup) [comments] (https://www.reddit.com/r/programming/comments/1pcj1k1/constructing_the_words_first_jpeg_xl_md5_hash/)
https://www.reddit.com/r/programming/comments/1pcj1k1/constructing_the_words_first_jpeg_xl_md5_hash/
<!-- SC_OFF -->Here is the JPEG XL image file so you can verify the hash: https://stackchk.fail/blog/shark_hashquine.jxl <!-- SC_ON --> submitted by /u/NXGZ (https://www.reddit.com/user/NXGZ)
[link] (https://stackchk.fail/blog/jxl_hashquine_writeup) [comments] (https://www.reddit.com/r/programming/comments/1pcj1k1/constructing_the_words_first_jpeg_xl_md5_hash/)
Proof-of-concept for CVE-2025-48593: No, this Android Bluetooth issue does NOT affect your phone or tablet
https://www.reddit.com/r/programming/comments/1pcjqo5/proofofconcept_for_cve202548593_no_this_android/
<!-- SC_OFF -->An issue patched in Android's November Security Bulletin that only affected devices which act as Bluetooth headphones, such as smartwatches, smart glasses, and cars. <!-- SC_ON --> submitted by /u/NXGZ (https://www.reddit.com/user/NXGZ)
[link] (https://worthdoingbadly.com/bluetooth/) [comments] (https://www.reddit.com/r/programming/comments/1pcjqo5/proofofconcept_for_cve202548593_no_this_android/)
https://www.reddit.com/r/programming/comments/1pcjqo5/proofofconcept_for_cve202548593_no_this_android/
<!-- SC_OFF -->An issue patched in Android's November Security Bulletin that only affected devices which act as Bluetooth headphones, such as smartwatches, smart glasses, and cars. <!-- SC_ON --> submitted by /u/NXGZ (https://www.reddit.com/user/NXGZ)
[link] (https://worthdoingbadly.com/bluetooth/) [comments] (https://www.reddit.com/r/programming/comments/1pcjqo5/proofofconcept_for_cve202548593_no_this_android/)
100000 TPS over a billion rows: the unreasonable effectiveness of SQLite
https://www.reddit.com/r/programming/comments/1pckdwu/100000_tps_over_a_billion_rows_the_unreasonable/
submitted by /u/andersmurphy (https://www.reddit.com/user/andersmurphy)
[link] (https://andersmurphy.com/2025/12/02/100000-tps-over-a-billion-rows-the-unreasonable-effectiveness-of-sqlite.html) [comments] (https://www.reddit.com/r/programming/comments/1pckdwu/100000_tps_over_a_billion_rows_the_unreasonable/)
https://www.reddit.com/r/programming/comments/1pckdwu/100000_tps_over_a_billion_rows_the_unreasonable/
submitted by /u/andersmurphy (https://www.reddit.com/user/andersmurphy)
[link] (https://andersmurphy.com/2025/12/02/100000-tps-over-a-billion-rows-the-unreasonable-effectiveness-of-sqlite.html) [comments] (https://www.reddit.com/r/programming/comments/1pckdwu/100000_tps_over_a_billion_rows_the_unreasonable/)
The development process of my new Python book Computer Science from Scratch
https://www.reddit.com/r/programming/comments/1pcwb9a/the_development_process_of_my_new_python_book/
submitted by /u/davidkopec (https://www.reddit.com/user/davidkopec)
[link] (https://www.observationalhazard.com/2025/12/writing-computer-science-from-scratch.html) [comments] (https://www.reddit.com/r/programming/comments/1pcwb9a/the_development_process_of_my_new_python_book/)
https://www.reddit.com/r/programming/comments/1pcwb9a/the_development_process_of_my_new_python_book/
submitted by /u/davidkopec (https://www.reddit.com/user/davidkopec)
[link] (https://www.observationalhazard.com/2025/12/writing-computer-science-from-scratch.html) [comments] (https://www.reddit.com/r/programming/comments/1pcwb9a/the_development_process_of_my_new_python_book/)
Amber the programming language compiled to Bash, 0.5.1 release
https://www.reddit.com/r/programming/comments/1pd128h/amber_the_programming_language_compiled_to_bash/
<!-- SC_OFF -->The new 0.5.1 release includes a lot of new stuff to the compiler, from new syntax, stdlib functions, features and so on. PS: I am one of the co-maintainer, so for any question I am here :-) <!-- SC_ON --> submitted by /u/Mte90 (https://www.reddit.com/user/Mte90)
[link] (https://docs.amber-lang.com/getting_started/whats_new) [comments] (https://www.reddit.com/r/programming/comments/1pd128h/amber_the_programming_language_compiled_to_bash/)
https://www.reddit.com/r/programming/comments/1pd128h/amber_the_programming_language_compiled_to_bash/
<!-- SC_OFF -->The new 0.5.1 release includes a lot of new stuff to the compiler, from new syntax, stdlib functions, features and so on. PS: I am one of the co-maintainer, so for any question I am here :-) <!-- SC_ON --> submitted by /u/Mte90 (https://www.reddit.com/user/Mte90)
[link] (https://docs.amber-lang.com/getting_started/whats_new) [comments] (https://www.reddit.com/r/programming/comments/1pd128h/amber_the_programming_language_compiled_to_bash/)
The 50MB Markdown Files That Broke Our Server
https://www.reddit.com/r/programming/comments/1pd1heu/the_50mb_markdown_files_that_broke_our_server/
submitted by /u/Weary-Database-8713 (https://www.reddit.com/user/Weary-Database-8713)
[link] (https://glama.ai/blog/2025-12-03-the-50mb-markdown-files-that-broke-our-server) [comments] (https://www.reddit.com/r/programming/comments/1pd1heu/the_50mb_markdown_files_that_broke_our_server/)
https://www.reddit.com/r/programming/comments/1pd1heu/the_50mb_markdown_files_that_broke_our_server/
submitted by /u/Weary-Database-8713 (https://www.reddit.com/user/Weary-Database-8713)
[link] (https://glama.ai/blog/2025-12-03-the-50mb-markdown-files-that-broke-our-server) [comments] (https://www.reddit.com/r/programming/comments/1pd1heu/the_50mb_markdown_files_that_broke_our_server/)
Modular Monolith and Microservices: Modularity is what truly matters
https://www.reddit.com/r/programming/comments/1pd4daj/modular_monolith_and_microservices_modularity_is/
<!-- SC_OFF -->Modularity is a quality that should be treated mostly independent of how many deployable units of software we choose to have. We should aim at splitting our systems into logical, functional modules as independent of each other as possible - in the ideal world, every module should not know anything about any other module and have everything that is needed to serve its functionality. In the real world that is usually not fully possible, but we should have these ideals as our guiding principles and strive for high cohesion and low/loose coupling. Let's work on the example and say that we have a system - "Curious Notes to the Interesting Quotes" - where users can add notes to famous quotes and sayings. One possible design is to split it into the following modules:
- users: responsible for the creation of new users, managing accounts and authorizing/authenticating them
- quotes: responsible for the management of quotes by the special, privileged users
- notes: responsible for adding notes to quotes by the users, also allowing them to edit, delete and like them Modules dependencies:
- users - no dependencies
- quotes - depends on users for asking whether a certain user is allowed to add/edit/delete quotes
- notes - depends on users for asking whether a certain user is allowed to add/edit/delete a note, depends on quotes to know whether a particular quote exists These are our modules and their dependencies. We should treat this logical division mostly independently of our physical architecture choice. We might have a Modular Monolith with these three modules as just separate folders or fully isolated and independently versioned packages. We can also go for three (Micro)services that communicate over the wire, synchronously or asynchronously. This physical division of a system into one or multiple units of deployment should be a secondary, not primary, factor when it comes to system design. The driving factor should be the understanding of our domain and functional requirements, concepts that we have there and the dependencies that occur between them. Only having sorted this out, we should think about non-functional, performance and resource utilization related factors that might, or might not, change the implementation details of our initial design. <!-- SC_ON --> submitted by /u/BinaryIgor (https://www.reddit.com/user/BinaryIgor)
[link] (https://binaryigor.com/modular-monolith-and-microservices-modularity-is-what-truly-matters.html) [comments] (https://www.reddit.com/r/programming/comments/1pd4daj/modular_monolith_and_microservices_modularity_is/)
https://www.reddit.com/r/programming/comments/1pd4daj/modular_monolith_and_microservices_modularity_is/
<!-- SC_OFF -->Modularity is a quality that should be treated mostly independent of how many deployable units of software we choose to have. We should aim at splitting our systems into logical, functional modules as independent of each other as possible - in the ideal world, every module should not know anything about any other module and have everything that is needed to serve its functionality. In the real world that is usually not fully possible, but we should have these ideals as our guiding principles and strive for high cohesion and low/loose coupling. Let's work on the example and say that we have a system - "Curious Notes to the Interesting Quotes" - where users can add notes to famous quotes and sayings. One possible design is to split it into the following modules:
- users: responsible for the creation of new users, managing accounts and authorizing/authenticating them
- quotes: responsible for the management of quotes by the special, privileged users
- notes: responsible for adding notes to quotes by the users, also allowing them to edit, delete and like them Modules dependencies:
- users - no dependencies
- quotes - depends on users for asking whether a certain user is allowed to add/edit/delete quotes
- notes - depends on users for asking whether a certain user is allowed to add/edit/delete a note, depends on quotes to know whether a particular quote exists These are our modules and their dependencies. We should treat this logical division mostly independently of our physical architecture choice. We might have a Modular Monolith with these three modules as just separate folders or fully isolated and independently versioned packages. We can also go for three (Micro)services that communicate over the wire, synchronously or asynchronously. This physical division of a system into one or multiple units of deployment should be a secondary, not primary, factor when it comes to system design. The driving factor should be the understanding of our domain and functional requirements, concepts that we have there and the dependencies that occur between them. Only having sorted this out, we should think about non-functional, performance and resource utilization related factors that might, or might not, change the implementation details of our initial design. <!-- SC_ON --> submitted by /u/BinaryIgor (https://www.reddit.com/user/BinaryIgor)
[link] (https://binaryigor.com/modular-monolith-and-microservices-modularity-is-what-truly-matters.html) [comments] (https://www.reddit.com/r/programming/comments/1pd4daj/modular_monolith_and_microservices_modularity_is/)
Generalizing the Shunting Yard Algorithm Part 4
https://www.reddit.com/r/programming/comments/1pd5tdp/generalizing_the_shunting_yard_algorithm_part_4/
submitted by /u/error-errorfruituser (https://www.reddit.com/user/error-errorfruituser)
[link] (https://syntax-slander.hashnode.dev/generalizing-the-shunting-yard-algorithm-part-4) [comments] (https://www.reddit.com/r/programming/comments/1pd5tdp/generalizing_the_shunting_yard_algorithm_part_4/)
https://www.reddit.com/r/programming/comments/1pd5tdp/generalizing_the_shunting_yard_algorithm_part_4/
submitted by /u/error-errorfruituser (https://www.reddit.com/user/error-errorfruituser)
[link] (https://syntax-slander.hashnode.dev/generalizing-the-shunting-yard-algorithm-part-4) [comments] (https://www.reddit.com/r/programming/comments/1pd5tdp/generalizing_the_shunting_yard_algorithm_part_4/)
Event Sourcing: What, Why, and How — Explained on a Real Project
https://www.reddit.com/r/programming/comments/1pd6ect/event_sourcing_what_why_and_how_explained_on_a/
<!-- SC_OFF -->The idea of event sourcing is completely different from what we usually build.
Today I’ll show you the fundamentals of an event-sourced system using a poker platform as an example, but first, why would you choose this over plain CRUD? <!-- SC_ON --> submitted by /u/NoBarber9673 (https://www.reddit.com/user/NoBarber9673)
[link] (https://volodymyrpotiichuk.com/blog/articles/event-sourcing) [comments] (https://www.reddit.com/r/programming/comments/1pd6ect/event_sourcing_what_why_and_how_explained_on_a/)
https://www.reddit.com/r/programming/comments/1pd6ect/event_sourcing_what_why_and_how_explained_on_a/
<!-- SC_OFF -->The idea of event sourcing is completely different from what we usually build.
Today I’ll show you the fundamentals of an event-sourced system using a poker platform as an example, but first, why would you choose this over plain CRUD? <!-- SC_ON --> submitted by /u/NoBarber9673 (https://www.reddit.com/user/NoBarber9673)
[link] (https://volodymyrpotiichuk.com/blog/articles/event-sourcing) [comments] (https://www.reddit.com/r/programming/comments/1pd6ect/event_sourcing_what_why_and_how_explained_on_a/)
Durable Executions, defined
https://www.reddit.com/r/programming/comments/1pd79w1/durable_executions_defined/
<!-- SC_OFF -->Every durable execution framework tells a similar story: write normal code, get fault tolerance. Yet none of them define what “normal code” or “fault tolerance” means. <!-- SC_ON --> submitted by /u/dtornow (https://www.reddit.com/user/dtornow)
[link] (https://journal.resonatehq.io/p/durable-executions-defined) [comments] (https://www.reddit.com/r/programming/comments/1pd79w1/durable_executions_defined/)
https://www.reddit.com/r/programming/comments/1pd79w1/durable_executions_defined/
<!-- SC_OFF -->Every durable execution framework tells a similar story: write normal code, get fault tolerance. Yet none of them define what “normal code” or “fault tolerance” means. <!-- SC_ON --> submitted by /u/dtornow (https://www.reddit.com/user/dtornow)
[link] (https://journal.resonatehq.io/p/durable-executions-defined) [comments] (https://www.reddit.com/r/programming/comments/1pd79w1/durable_executions_defined/)
Booting a Linux kernel in qemu and writing PID 1 in Go (to show the kernel is "just a program")
https://www.reddit.com/r/programming/comments/1pd8dh1/booting_a_linux_kernel_in_qemu_and_writing_pid_1/
<!-- SC_OFF -->I’ve been working on a "Linux Inside Out" series and wrote a post that might interest folks here who like low-level / OS internals. The idea is to dissect the components of a Linux OS, layer by layer, and build a mental model of how everything fits together through experiments. The first part is about the kernel, in the post I: take the same kernel image my distro boots from /boot boot it directly with QEMU (no distro, no init system) watch it panic write a tiny Go program and use it as PID 1 build a minimal initramfs around it so the kernel can actually start our process The goal isn’t to build a real distro, just to give a concrete mental model of: that the Linux kernel is just a compressed file, you can boot it without anything else what the kernel actually does at boot how it hands control to userspace what PID 1 / init is in practice what is kernel space vs user space Link: https://serversfor.dev/linux-inside-out/the-linux-kernel-is-just-a-program/ I’m the author, would be happy to hear from other devs whether this way of explaining things makes sense, and what you’d add or change for future posts in the series. <!-- SC_ON --> submitted by /u/indieHungary (https://www.reddit.com/user/indieHungary)
[link] (https://serversfor.dev/linux-inside-out/the-linux-kernel-is-just-a-program/) [comments] (https://www.reddit.com/r/programming/comments/1pd8dh1/booting_a_linux_kernel_in_qemu_and_writing_pid_1/)
https://www.reddit.com/r/programming/comments/1pd8dh1/booting_a_linux_kernel_in_qemu_and_writing_pid_1/
<!-- SC_OFF -->I’ve been working on a "Linux Inside Out" series and wrote a post that might interest folks here who like low-level / OS internals. The idea is to dissect the components of a Linux OS, layer by layer, and build a mental model of how everything fits together through experiments. The first part is about the kernel, in the post I: take the same kernel image my distro boots from /boot boot it directly with QEMU (no distro, no init system) watch it panic write a tiny Go program and use it as PID 1 build a minimal initramfs around it so the kernel can actually start our process The goal isn’t to build a real distro, just to give a concrete mental model of: that the Linux kernel is just a compressed file, you can boot it without anything else what the kernel actually does at boot how it hands control to userspace what PID 1 / init is in practice what is kernel space vs user space Link: https://serversfor.dev/linux-inside-out/the-linux-kernel-is-just-a-program/ I’m the author, would be happy to hear from other devs whether this way of explaining things makes sense, and what you’d add or change for future posts in the series. <!-- SC_ON --> submitted by /u/indieHungary (https://www.reddit.com/user/indieHungary)
[link] (https://serversfor.dev/linux-inside-out/the-linux-kernel-is-just-a-program/) [comments] (https://www.reddit.com/r/programming/comments/1pd8dh1/booting_a_linux_kernel_in_qemu_and_writing_pid_1/)
Addressing the 'gray area' between High-Level and Low-Level Design - a Software Design tutorial
https://www.reddit.com/r/programming/comments/1pdbob0/addressing_the_gray_area_between_highlevel_and/
<!-- SC_OFF -->Hi everyone. I’ve written a deep dive into Software Design focusing on the "gray area" between High-Level Design (system architecture) and Low-Level Design (classes/functions). What's inside: A step-by-step tutorial refactoring a legacy big-ball-of-mud into self-contained modules. A bit of a challenge to Clean/Hexagonal Architectures with a pattern I've seen in the wild (which I named MIM in the text). A solid appendix on the fundamentals of Modular Design. (Warning: It’s a long read. I’ve seen shorter ebooks on Leanpub). BTW, AI wasn't used in the writing of this text until proofreading. <!-- SC_ON --> submitted by /u/codingfox7 (https://www.reddit.com/user/codingfox7)
[link] (https://codingfox.net.pl/posts/mim/) [comments] (https://www.reddit.com/r/programming/comments/1pdbob0/addressing_the_gray_area_between_highlevel_and/)
https://www.reddit.com/r/programming/comments/1pdbob0/addressing_the_gray_area_between_highlevel_and/
<!-- SC_OFF -->Hi everyone. I’ve written a deep dive into Software Design focusing on the "gray area" between High-Level Design (system architecture) and Low-Level Design (classes/functions). What's inside: A step-by-step tutorial refactoring a legacy big-ball-of-mud into self-contained modules. A bit of a challenge to Clean/Hexagonal Architectures with a pattern I've seen in the wild (which I named MIM in the text). A solid appendix on the fundamentals of Modular Design. (Warning: It’s a long read. I’ve seen shorter ebooks on Leanpub). BTW, AI wasn't used in the writing of this text until proofreading. <!-- SC_ON --> submitted by /u/codingfox7 (https://www.reddit.com/user/codingfox7)
[link] (https://codingfox.net.pl/posts/mim/) [comments] (https://www.reddit.com/r/programming/comments/1pdbob0/addressing_the_gray_area_between_highlevel_and/)
Implementing a Framework for Closed-Loop Control Algorithms in Modern C++
https://www.reddit.com/r/programming/comments/1pdbw9c/implementing_a_framework_for_closedloop_control/
<!-- SC_OFF -->This article explores how modern C++ features can be used to create abstractions appropriate for embedded and high-performance applications. The framework utilizes features such as: template concepts NTTP lambdas monadic types such as std::expected In the article, I start with a basic "vanilla" C-style bang-bang control algorithm, and work up to a safer, more performant framework. The flexibility and safety of the interface is demonstrated via examples and even a few fully simulated control laws. The final code is also distributed as a freely available single-header library. There's a few recommended exercises in the article to test your knowledge and get more comfortable with the presented material! <!-- SC_ON --> submitted by /u/volatile-int (https://www.reddit.com/user/volatile-int)
[link] (https://www.volatileint.dev/posts/feedback-controller) [comments] (https://www.reddit.com/r/programming/comments/1pdbw9c/implementing_a_framework_for_closedloop_control/)
https://www.reddit.com/r/programming/comments/1pdbw9c/implementing_a_framework_for_closedloop_control/
<!-- SC_OFF -->This article explores how modern C++ features can be used to create abstractions appropriate for embedded and high-performance applications. The framework utilizes features such as: template concepts NTTP lambdas monadic types such as std::expected In the article, I start with a basic "vanilla" C-style bang-bang control algorithm, and work up to a safer, more performant framework. The flexibility and safety of the interface is demonstrated via examples and even a few fully simulated control laws. The final code is also distributed as a freely available single-header library. There's a few recommended exercises in the article to test your knowledge and get more comfortable with the presented material! <!-- SC_ON --> submitted by /u/volatile-int (https://www.reddit.com/user/volatile-int)
[link] (https://www.volatileint.dev/posts/feedback-controller) [comments] (https://www.reddit.com/r/programming/comments/1pdbw9c/implementing_a_framework_for_closedloop_control/)
Postgres CDC in ClickHouse, A year in review
https://www.reddit.com/r/programming/comments/1pdd3hu/postgres_cdc_in_clickhouse_a_year_in_review/
<!-- SC_OFF -->From the outside, Change Data Capture (CDC) appears straightforward - 'just read the WAL' - but real-world workloads reveal a very different reality. I spent sometime to write a honest technical retrospective on a year of Postgres CDC in production. 100x customer growth, 400+ companies, 200TB of monthly data. However, the real story lies in solving replication slot backpressure, long-running transactions, and the edge cases that only become apparent at midnight. https://clickhouse.com/blog/postgres-cdc-year-in-review-2025 Full breakdown of what shipped, what broke, and what's next. Would love to get your feedback! :) <!-- SC_ON --> submitted by /u/saipeerdb (https://www.reddit.com/user/saipeerdb)
[link] (https://clickhouse.com/blog/postgres-cdc-year-in-review-2025) [comments] (https://www.reddit.com/r/programming/comments/1pdd3hu/postgres_cdc_in_clickhouse_a_year_in_review/)
https://www.reddit.com/r/programming/comments/1pdd3hu/postgres_cdc_in_clickhouse_a_year_in_review/
<!-- SC_OFF -->From the outside, Change Data Capture (CDC) appears straightforward - 'just read the WAL' - but real-world workloads reveal a very different reality. I spent sometime to write a honest technical retrospective on a year of Postgres CDC in production. 100x customer growth, 400+ companies, 200TB of monthly data. However, the real story lies in solving replication slot backpressure, long-running transactions, and the edge cases that only become apparent at midnight. https://clickhouse.com/blog/postgres-cdc-year-in-review-2025 Full breakdown of what shipped, what broke, and what's next. Would love to get your feedback! :) <!-- SC_ON --> submitted by /u/saipeerdb (https://www.reddit.com/user/saipeerdb)
[link] (https://clickhouse.com/blog/postgres-cdc-year-in-review-2025) [comments] (https://www.reddit.com/r/programming/comments/1pdd3hu/postgres_cdc_in_clickhouse_a_year_in_review/)