Rate Limiting Algorithms, OpenProject, Parallel Programming Language Bend


Summary of my bookmarked links and Github repositories from May 18th, 2024

Links

  • Visualizing algorithms for rate limiting

    Visualizing Algorithms for Rate LimitingThis post explores the importance and implementation of rate limiting to manage traffic and prevent abuse, such as spam or brute force attacks. It details three common algorithms: fixed windows, sliding windows, and token buckets. Fixed windows are simple and predictable but can allow bursts. Sliding windows smooth traffic but are resource-intensive. Token buckets support high-traffic bursts while maintaining a long-term average rate. The post also covers practical considerations for implementation, such as persistent storage and handling errors, and includes visualizations and real-world examples like GitHub and OpenAI.Read more

Github repositories

  • opf/openproject

    OpenProject is a robust web-based project management tool offering features like project planning, task management, agile methodologies, and bug tracking. With additional functionalities such as wikis, forums, and meeting management, it supports comprehensive team collaboration. OpenProject encourages community involvement, offering resources for installation, bug reporting, and contribution. Security is a priority, with guidelines for responsible disclosure. Licensed under GNU GPL v3, it's supported by the OpenProject Foundation, welcoming both individual and corporate contributions. Additionally, OpenProject GmbH offers employment opportunities for those interested in its development.

  • HigherOrderCO/Bend

    Bend is a high-level, massively parallel programming language offering Python and Haskell-like features, yet optimized for GPUs. It boasts near-linear speedup based on core count without explicit parallel annotations. Setup requires Rust, with options for C and CUDA runtimes. Bend simplifies parallel programming; complex algorithms exhibit significant speedups without manual parallelization efforts. Long-distance communication is facilitated efficiently. While Bend's single-core performance lags, ongoing development promises substantial improvements. Despite its infancy, Bend offers a glimpse into high-level, massively parallel programming.