Reddit Programming
211 subscribers
1.22K photos
124K links
I will send you newest post from subreddit /r/programming
Download Telegram
Google's directed acyclic graph build system for monorepos with special sparse-checkout features versus classic depth-first recursive types
https://www.reddit.com/r/programming/comments/1kovucv/googles_directed_acyclic_graph_build_system_for/

<!-- SC_OFF -->I've uploaded a talk to YouTube: Google's directed acyclic graph build system for monorepos with special sparse-checkout features versus classic depth-first recursive types (https://youtube.com/watch?v=L67ri_xe2oQ) This talk compares both, with source in a cloneable repo that shows the structure. I also discuss how Google shrink their 9+ million source files in their trunk to something that is more manageable for a dev or QE who's wanting to achieve a specific coding task/story. You'd watch this if you don't understand how Bazel works "under the hood". Or if you don't understand how a ginormous VCS-relying company would actually use a single repo for all applications, apps, services, libraries they make themselves. Definately an education piece, rather than something you'd run it to work with for a "stop everything" declaration. Caveats: Less than 100 companies would do this Google thing, I guess. Your company is JUST FINE with a multi-repo setup. There are multiple sub types of trunk-based development: https://trunkbaseddevelopment.com/styles/ <!-- SC_ON --> submitted by /u/paul_h (https://www.reddit.com/user/paul_h)
[link] (https://www.youtube.com/watch?v=L67ri_xe2oQ) [comments] (https://www.reddit.com/r/programming/comments/1kovucv/googles_directed_acyclic_graph_build_system_for/)
iceoryx2 v0.6.0 is out: high-performance, cross-language inter-process communication that just works (C, C++, Rust - and soon Python)
https://www.reddit.com/r/programming/comments/1kp0i2g/iceoryx2_v060_is_out_highperformance/

<!-- SC_OFF -->Hey everyone, We just released iceoryx2 v0.6.0 (https://github.com/eclipse-iceoryx/iceoryx2/releases/tag/v0.6.0), and it’s by far the most feature-packed update we’ve released so far. If you're new to it: iceoryx2 is an IPC library for ultra-fast, zero-copy communication between processes — think of it like a faster, more structured alternative to domain sockets or queues. It's designed for performance-critical systems and supports Rust, C++, and C (with Python coming soon). 🔍 Some highlights: Request-Response Streams: Not just a response — get a stream of updates until completion. Zero-copy IPC across languages: Share data between Rust C++ without serialization. Just match the memory layout and go. New CLI tool: Debug and inspect running services easily with iox2. First built-in microservice: A discovery service to support more dynamic architectures. ZeroCopySend derive macro: Makes Rust IPC safer and easier. This wouldn’t be possible without the feedback, bug reports, questions, and ideas from all of you. We’re a small team, and your input honestly shapes this project in meaningful ways. Even just a thoughtful comment or example can turn into a feature or fix. We’re especially grateful to those who’ve trusted iceoryx2 in real systems, to those who patiently shared frustrations, and to the folks pushing us to support more languages and platforms. GitHub project (https://github.com/eclipse-iceoryx/iceoryx2) Benchmarks (https://github.com/eclipse-iceoryx/iceoryx2/tree/main/benchmarks) Cross-language example (https://github.com/eclipse-iceoryx/iceoryx2/tree/main/examples/rust/publish_subscribe_cross_language) If you’ve got ideas or feedback — we’re listening. And if you’re using it somewhere cool, let us know. That really motivates us. Thanks again to everyone who's helped us get to this point! The iceoryx2 team <!-- SC_ON --> submitted by /u/elfenpiff (https://www.reddit.com/user/elfenpiff)
[link] (https://ekxide.io/blog/iceoryx2-0-6-release/) [comments] (https://www.reddit.com/r/programming/comments/1kp0i2g/iceoryx2_v060_is_out_highperformance/)
How many lines of code have I really written?
https://www.reddit.com/r/programming/comments/1kp6ucp/how_many_lines_of_code_have_i_really_written/

<!-- SC_OFF -->I built Lines of Code, a simple tool that shows how many lines of code you’ve written in each language across your GitHub repos. It generates a clean, interactive graph you can embed anywhere. You can customize the output with query parameters like theme, metric, limit, and more. Data updates weekly, and the project is open source: https://github.com/yehiaabdelm/linesofcode <!-- SC_ON --> submitted by /u/yehiaabdelm (https://www.reddit.com/user/yehiaabdelm)
[link] (https://linesofcode.yehiaabdelm.com/) [comments] (https://www.reddit.com/r/programming/comments/1kp6ucp/how_many_lines_of_code_have_i_really_written/)
How I Beat the Midnight Rush: CDN + AES for Puzzle Delivery
https://www.reddit.com/r/programming/comments/1kpfsky/how_i_beat_the_midnight_rush_cdn_aes_for_puzzle/

<!-- SC_OFF -->Hey, my name is Emil, and I am the creator of Everybody Codes, an online platform with programming puzzles similar to Advent of Code. I wanted to share with you a solution that might be useful for your projects. It's about blocking certain content on a page and unlocking it only under specific conditions. The problem seems trivial, but imagine the following scenario: The programming puzzle's content becomes available, for instance, at midnight. Until that moment, the content should be unavailable. Users wanting to compete globally want to load the riddle content as quickly as possible, right after it is made available. What's the problem? If you are a small service and do not deliver content through the cloud, your server has to send a large amount of data to many users simultaneously. As the length of the puzzle description or input increases, the problem worsens, leading to a situation where, in the best-case scenario, the puzzle will not start evenly for all users. And in the worst case, the server will start rejecting some requests. I don't know if my solution is standard, but it works well.
It goes like this: I encode the content using AES with a strong 32-character (256-bit) key. This data goes to a regular CDN (I use Bunny CDN) and is then downloaded by users, even before the quest is globally released. When the specified time comes, I provide users only with the AES key, which is 32 characters, and the decoding process is handled by JavaScript on the client side. Thanks to this, I can describe the quest as precisely as I need, add SVGs, and scale the input size as desired because serving content via CDN is very cheap. I can also better test performance in practice because I know exactly how much data I will be sending to users, regardless of the quest content. The trick is also useful when we want to offload data transfer to the CDN but need to control who has access to the content and under what conditions. That's it! Best regards, Emil <!-- SC_ON --> submitted by /u/EverybodyCodes (https://www.reddit.com/user/EverybodyCodes)
[link] (https://everybody.codes/) [comments] (https://www.reddit.com/r/programming/comments/1kpfsky/how_i_beat_the_midnight_rush_cdn_aes_for_puzzle/)
babygit
https://www.reddit.com/r/programming/comments/1kq64fh/babygit/

<!-- SC_OFF -->For my Computer Science project, I chose to create a toy version of git. Please do check it out and tell me if I can improve on something. Pull requests are also welcome.
Note that the project MUST be written entirely in C. <!-- SC_ON --> submitted by /u/Fluc7u5 (https://www.reddit.com/user/Fluc7u5)
[link] (https://github.com/SavvyHex/babygit) [comments] (https://www.reddit.com/r/programming/comments/1kq64fh/babygit/)
Build Software Consultancy Website using UIkit
https://www.reddit.com/r/programming/comments/1kq8g8c/build_software_consultancy_website_using_uikit/

<!-- SC_OFF -->UIkit is a lightweight and modular front-end framework for developing fast and powerful web interfaces. <!-- SC_ON --> submitted by /u/ram-foss (https://www.reddit.com/user/ram-foss)
[link] (https://www.blackslate.io/articles/build-software-consultancy-website-using-uikit) [comments] (https://www.reddit.com/r/programming/comments/1kq8g8c/build_software_consultancy_website_using_uikit/)