Posts

  • scalelite

    Scalable load balancer for BigBlueButton.

    BigBlueButton is an open source web conferencing system for online learning.

    Scalelite is an open source load balancer that manages a pool of BigBlueButton servers. It makes the pool of servers appear as a single (very scalable) BigBlueButton server. A front-end, such as Moodle or Greenlight, sends standard BigBlueButton API requests to the Scalelite server which, in turn, distributes those request to the least loaded BigBlueButton server in the pool.

    A single BigBlueButton server that meets the minimum configuration supports around 200 concurrent users.

    For many schools and organizations, the ability to 4 simultaneous classes of 50 users, or 8 simultaneous meetings of 25 users, is enough capacity. However, what if a school wants to support 1,500 users across 50 simultaneous classes? A single BigBlueButton server cannot handle such a load.

    With Scalelite, a school can create a pool of 4 BigBlueButton servers and handle 16 simultaneous classes of 50 users. Want to scale higher, add more BigBlueButton servers to the pool.

    BigBlueButton has been in development for over 10 years now. The latest release is a pure HTML5 client, with extensive documentation. There is even a BigBlueButton install script called bbb-install.sh that lets you setup a BigBlueButton server (with a Let’s Encrypt certificate) in about 15 minutes. Using bbb-install.sh you can quickly setup a pool of servers for management by Scalelite.

    To load balance the pool, Scalelite periodically polls each BigBlueButton to check if it is reachable online, ready to receive API requests, and to determine its current load (number of currently running meetings). With this information, when Scalelite receives an incoming API call to create a new meeting, it places the new meeting on the least loaded server in the pool. In this way, Scalelite can balance the load of meeting requests evenly across the pool.

    Many BigBlueButton servers will create many recordings. Scalelite can serve a large set of recordings by consolidating them together, indexing them in a database, and, when receiving an incoming getRecordings, use the database index to return quickly the list of available recordings.

    Tags: #ruby

  • sentinel2-cloud-detector

    Sentinel Hub Cloud Detector for Sentinel-2 images in Python

    NOTE: s2cloudless masks are now available as a precomputed layer within Sentinel Hub. Check the announcement blog post and technical documentation.

    The s2cloudless Python package provides automated cloud detection in Sentinel-2 imagery. The classification is based on a single-scene pixel-based cloud detector developed by Sentinel Hub’s research team and is described in more detail in this blog.

    The s2cloudless algorithm was part of an international collaborative effort aimed at intercomparing cloud detection algorithms. The s2cloudless algorithm was validated together with 9 other algorithms on 4 different test datasets and in all cases found to be on the Pareto front. See the paper

    Tags: #python • python-library • cloud-detector

  • mec

    for mass exploiting

    Intended for mass exploiting

    Follow the wiki to get started

    Tags: #python • hacking-tool • rce

  • CompoundLayout

    It’s an Android library that allows you to use Layout as RadioButton or CheckBox.

    CompoundLayout checked state can be changed programmatically using method myCompoundLayout.setChecked(). Checked state can be retrieved using myCompoundLayout.isChecked(), and can be listened using myCompoundLayout.setOnCheckedChangeListener().

    Tags: #java

  • django-loginas

    “Log in as user” for the Django admin.

    If you already have a logout view, you can modify to login the original user again after having had a “login as” session. Here’s an example:

    class LogoutView(LogoutView):
        template_name = 'myapp/logged_out.html'
    
        @method_decorator(never_cache)
        def dispatch(self, request, *args, **kwargs):
            from loginas.utils import restore_original_login
            restore_original_login(request)
            return redirect('myapp:login')
    

    Tags: #python

  • Cookies

    Cookies.js is a small client-side javascript library that makes managing cookies easy.

    Features
    Browser Compatibility
    Getting the Library
    Use in CommonJS/Node Environments Without window
    A Note About Encoding
    API Reference

    Tags: #javascript

  • PHPCI

    PHPCI is a free and open source continuous integration tool specifically designed for PHP.

    • Clones your project from Github, Bitbucket or a local path
    • Allows you to set up and tear down test databases.
    • Installs your project’s Composer dependencies.
    • Runs through any combination of the supported plugins.
    • You can mark directories for the plugins to ignore.
    • You can mark certain plugins as being allowed to fail (but still run.)

    Tags: #php • phpci • continuous-integration

  • flower

    TCP flow analyzer with sugar for A/D CTF

    Tags: #javascript • ctf • sniffer

  • sat-js

    A simple JavaScript library for performing 2D collision detection

    Tags: #javascript • collision-test

  • music-metadata-browser

    Browser version of music-metadata parser Supporting a wide range of audio and tag formats.

    music-metadata-browser is a metadata parser, supporting virtual any audio format and tag header around.

    music-metadata-browser is a node module, designed for modern browser applications. Because modules don’t run directly in the browser you need a module bundler, like Webpack or Parcel. The module bundler turns the modules (dependencies), together with you application code, into a static asset (typically a minified JavaScript file). The output of module bundler is compatible and optimized for execution by a web browser.

    Integration with React or Angular should not be a problem:

    If you prefer to parse files or streams server (node.js) side, you should use music-metadata instead.

    Tags: #typescript • metadata • tag

subscribe via RSS