Blog

  • ServerView

    ServerView (PM2 version)

    📝 PM2 Log Viewer

    PM2 Log Viewer is a web application built with Node.js and Express for managing and viewing logs of processes managed by PM2.

    ✨ Features

    • View a list of online PM2 processes.
    • Stream logs (stdout and stderr) of selected processes in real-time.
    • Real-time display of CPU and RAM usage for each selected process.
    • Choose between different themes (Light Mode, Dark Mode, Retro Mode).
    • 🔒 Basic authentication for securing access to the application.

    Now, viewing your self-hosted apps and managing logs is easier than ever!

    🚀 Installation

    1. Clone the repository:

      git clone https://github.com/your/repository.git
      cd repository
    2. Install dependencies:

      npm install
    3. Set up environment variables:

      Create a .env file in the root directory with the following content:

      PM2_HOME=C:\Users\Intel\.pm2
      PORT=3002
      ADMIN_USERNAME=admin
      ADMIN_PASSWORD=password
      

      Adjust the values according to your environment setup.

    💻 Usage

    1. Start the server with timestamp logging:

      pm2 start <server-file> --time

      This command starts the server with timestamp logging enabled, showing when each log entry was generated.

    2. Access the PM2 Log Viewer:

      Open your web browser and navigate to http://localhost:3002.

    3. Authenticate:

      Use the following credentials to log in:

      • Username: admin
      • Password: password
    4. Select a process:

      Choose a process from the dropdown list to view its logs in real-time. You can also select a date range to filter logs.

    5. Select a theme:

      Change the theme from the dropdown list to switch between Light Mode, Dark Mode, and Retro Mode.

    📅 Roadmap

    • Enhanced Log Filtering:

      • Implement date range selection to filter logs by specific time periods.
      • Allow filtering by log levels (info, warning, error).
    • User Management:

      • Add functionality for managing multiple users with different access levels.
      • Integrate OAuth for easier authentication with third-party services.
    • Performance Improvements:

      • Optimize log streaming for faster real-time updates.
      • Improve UI responsiveness for better user experience.

    🔧 Configuration

    • Modify CSS files in the public directory to customize themes or add new ones.
    • Adjust environment variables in the .env file for different PM2 configurations or port settings.

    📜 Additional Recommendations

    • Enable timestamps in logs:

      • Start the server with pm2 start <server-file> --time to include timestamps in log entries.
    • Update server without downtime using PM2:
      If your server is already running and you want to update it without downtime, use PM2 to reload all running processes with timestamps enabled:

      pm2 reload all --time

    📄 License

    This project is licensed under the MIT License – see the LICENSE file for details.

    Visit original content creator repository
    https://github.com/AGSAVALIYA/ServerView

  • Minase

    Minase

    (Here is Japanese version)
    Minase is terminal file manager.

    image

    image

    Features

    • Preview of the selected file/directory
    • Preview text syntax highlight (use Nano editor syntax highlight files)
    • Preview text auto encodeing
    • Preview audio tags
    • Preview archive files (needs lsar or bsdtar)
    • Preview image using Sixel Graphics (needs img2sixel)
    • FreeDesktop compliant trash (needs trash-cli)
    • Batch rename (needs vidir)
    • UTF-8 support
    • Fix “East Asian Ambiguous Width Characters” problem (use wcwidth-cjk)
    • Icon support using a patched nerd font

    System Requirements

    • Linux

    Dependencies

    • uchardet
    • iconv
    • TagLib

    optional:

    • libsixel
    • trash-cli
    • vidir
    • unar or bsdtar
    • cmigemo
    • atool
    • archivemount
    • fusermount3 or fusermount

    Usage

    Keys Description
    h, Right Parent directory
    j, Down Down
    k, Up Up
    l, Right Open file/directory
    PgUp, ^U Scroll up
    PgDn, ^D Scroll down
    H Move to top of screen
    M Move to middle of screen
    L Move to bottom of screen
    g Go to first entry
    G Go to last entry
    ^L Redraw
    q Quit
    ^G Quit and cd
    0 View log
    1 Switch tab 1
    2 Switch tab 2
    3 Switch tab 3
    4 Switch tab 4
    , FileView simple/detail
    . Show/Hide dot files
    i Enable/Disable image preview
    z Arcive
    Z Current line to the middle of the screen
    s Sort files
    e Edit File
    Space Mark file
    u Clear marks
    a Invert marks (current directory only)
    c Mark files for copy
    m Mark files for move
    d Delete mark files
    p Paste
    r Rename current file
    ^R Batch rename (vidir)
    ! Spawn SHELL
    n Create file/directory
    b Open Bookmarks
    / Filter
    ^/ Change Filter type
    x Unarchive
    ^x Run Plugin
    Alt + key Run Plugin
    * Toggle execute permission
    ^j scrolldown in preview
    ^k scrollup in preview
    U Unmouont Directory
    ^a Go to archive mount directory
    ? Help

    Quit and cd:

     $ minase; if [ -f ~/.config/Minase/lastdir ]; then cd "`cat ~/.config/Minase/lastdir`"; rm ~/.config/Minase/lastdir; fi;
    

    Installation

    $ cmake .
    $ make
    $ sudo make install
    

    Customization

    ~/.config/Minase/config.ini

    [Options]
    ; File Opener
    Opener = xdg-open
    
    ; Log view Max lines
    LogMaxLines = 100
    
    ; Preview Max lines (-1: unlimited)
    PreViewMaxLines = 50
    
    ; Use trash-cli
    UseTrash = true
    
    ; Nano Editor Syntax Highlighting Files
    NanorcPath = /usr/share/nano/
    
    ; East Asian Ambiguous Width
    wcwidth-cjk = false
    
    ; 0: simple / 1: detail
    FileViewType = 0
    
    ; 0: name / 1: size / 2: date
    SortType = 2
    
    ; 0: Ascending / 1: Descending
    SortOrder = 1
    
    ; Migemo Dictionary File
    ;MigemoDict = /usr/share/migemo/utf-8/migemo-dict
    
    ; 0: Normal / 1: Regexp / 2: Migemo
    FilterType = 0
    
    ; ArchiveMntDir
    ;ArchiveMntDir = ~/.config/Minase/mnt
    
    ; CustomCopy
    ;CustomCopy = advcp -vgrp
    
    ; CustomMove
    ;CustomMove = advmv -vg
    
    ; CustomRenamer
    ;CustomRenamer = massren
    ;CustomRenamer = mmv *
    
    ; Icon
    ;UseIcon = true
    

    ~/.config/Minase/bookmarks

    ~/Download
    ~/Documents
    /usr/local
    

    ~/.config/Minase/plugin.ini

    [sxiv]
    ; Plugin Path
    filepath = ~/.config/Minase/plugins/0sxiv
    ; GUI: true / false
    gui = true
    ; Shortcut Key
    key = s
    
    [autojump]
    filepath = ~/.config/Minase/plugins/_1autojump%
    key = j
    

    License

    • MIT
    Visit original content creator repository https://github.com/SAT1226/Minase
  • negotiatewithai

    AI Negotiation Game

    📌 Overview

    The AI Negotiation Game is an interactive, text-based negotiation game where players must persuade an AI-controlled villain to agree to a deal. The game is built using Google Gemini AI for dynamic conversations and Reddit’s Devvit API for integration with Reddit’s interactive posts.

    🎯 Features

    • AI-Generated Scenarios: Unique negotiation storylines with dynamic villains.
    • Limited Responses: Players can only send 5 messages with a character limit per message.
    • Adaptive AI: The villain responds based on personality, motivations, and player arguments.
    • Final Verdict & Feedback: AI determines if the player won or lost and provides constructive feedback.
    • Reddit Integration: Players can post their negotiation logs on Reddit for community voting.

    🛠️ Tech Stack

    • Google Gemini AI – AI-driven responses and decision-making.
    • Reddit Devvit API – Interactive post integration.
    • TypeScript/JavaScript – Backend logic for game processing.

    🚀 Installation & Setup

    1️⃣ Clone the Repository

    git clone https://github.com/MurikiSaiSrinivas/negotiatewithai.git
    cd negotiatewithai

    2️⃣ Install Dependencies

    npm install

    3️⃣ Set Up Environment Variables

    Add the gemini-api-key to the secret storage:

    devvit settings set gemini-api-key

    4️⃣ Run the Devvit App

    devvit playtest negotiatewithai

    4️⃣ Open the Devvit App

    URL: https://www.reddit.com/r/negotiatewithai/?playtest=negotiatewithai

    📜 Game Flow

    1. Start Game → AI generates a scenario, villain profile, and first message.
    2. Player Negotiates → Sends up to 5 messages, villain responds dynamically.
    3. Final Verdict → AI determines if the negotiation was successful and provides feedback.
    4. Share on Reddit → Players can post the conversation to Reddit for community votes.
    5. Restart → Users can start a new negotiation scenario anytime.

    🎮 Example Gameplay

    Example Scenario (Generated by AI):

    The year is 2099. A notorious hacker named Razor has stolen classified government files. You, an intelligence officer, must convince Razor to return the files without leaking them.
    
    Villain: "Well, well, looks like the government finally sent someone who wants to talk. What do you have for me?"
    

    Player Response:

    "I can offer you partial immunity if you return the files."
    

    Villain Response:

    "Hah! Immunity from what? You think I’m scared of your justice system? Give me something real, or this conversation is over."
    

    Final Verdict:

    "Fine. You drive a hard bargain, but I’ll take it. Just make sure I get out of here safely."
    Verdict: WIN ✅
    Feedback: "You used logic well, but next time, start with a lower offer to have room to negotiate up."
    

    🔥 Future Enhancements

    • Multiplayer Mode – Team-based negotiations.
    • Leaderboards – Ranking system for best negotiators.
    • More Negotiation Styles – Aggressive, passive, logical approaches.

    🚀 Ready to negotiate? Start playing now in r/negotiatewithai!

    Visit original content creator repository
    https://github.com/MurikiSaiSrinivas/negotiatewithai

  • react-coverflow

    Visit original content creator repository
    https://github.com/asalem1/react-coverflow

  • app-generator-vue

    App Generator Vue Truffle Box

    This box can help to scaffold a new contract development. It generates a ledger(register) contract with customizable fields, unit tests and ready-to-use front end Vue app with CRUD functionality.

    Here is 🚀 Live Demo

    Demo

    Demo

    UI files are also gerenated, take a look:

    Demo

    Installation

    1. Install Truffle globally.

      npm install -g truffle
      
    2. Download the box. This also takes care of installing the necessary dependencies.

      truffle unbox melnikaite/app-generator-vue
      
    3. Generate entity

      node agv.js --model Team --fields '[{"team":"string"},{"lead":"string"},{"size":"string"},{"description":"string"},{"github":"string"}]'
      on Windows please use \"
      node agv.js --model Team --fields '[{\"team\":\"string\"},{\"lead\":\"string\"},{\"size\":\"string\"},{\"description\":\"string\"},{\"github\":\"string\"}]'
      
    4. start Ganache on port 7545.

    5. Run truffle migrate to compile and deploy contract to the development environment.

      migrate
      
    6. Run tests

      truffle test ./test/team.js
      
    7. Run the development server (outside the development console) for front-end hot reloading. Smart contract changes must be manually recompiled and migrated.

      npm run dev
      
    8. Open entity page

      http://localhost:8080/#/teams
      

    🚀 Live Demo

    https://app-generator-vue.s3.eu-central-1.amazonaws.com/index.html#/teams

    Deploy

    npm run build

    Amazon Web Services S3

    aws s3 sync dist s3://app-generator-vue --acl public-read

    💸 ETH Addresses for Donation

    0x63CE9f57E2e4B41d3451DEc20dDB89143fD755bB

    0x424988F9443eaE0AD0a23DffBD096E9F21598384

    0xA68D58B5a556eDf1eBE09eDA55DdE034b8b4Df61

    Visit original content creator repository https://github.com/melnikaite/app-generator-vue
  • Event_based_VO-VIO-SLAM

    Event-based Vision for VO/VIO/SLAM in Robotics

    This is the repositorie that collects the dataset we used in our papers. We also conclude our works in the field of event-based vision. We hope that we can make some contributions for the development of event-based vision in robotics.

    If you have any suggestions or questions, do not hesitate to propose an issue.

    If you find this repositorie is helpful in your research, a simple star or citation of our works should be the best affirmation for us. 😊

    Dataset for Stereo EVIO

    This dataset contains stereo event data at 60HZ and stereo image frames at 30Hz with resolution in 346 × 260, as well as IMU data at 1000Hz. Timestamps between all sensors are synchronized in hardware. We also provide ground truth poses from a motion capture system VICON at 50Hz during the beginning and end of each sequence, which can be used for trajectory evaluation. To alleviate disturbance from the motion capture system’s infrared light on the event camera, we add an infrared filter on the lens surface of the DAVIS346 camera. Note that this might cause the degradation of perception for both the event and image camera during the evaluation, but it can also further increase the challenge of our dataset for the only image-based method.

    This is a very challenge dataset for event-based VO/VIO, features aggressive motion and HDR scenarios. EVO, ESVO, Ultimate SLAM are failed in most of the sequences. We think that parameter tuning is infeasible, therefore, we suggest the users use same set of parameters during the evaluation. We hope that our dataset can help to push the boundary of future research on event-based VO/VIO algorithms, especially the ones that are really useful and can be applied in practice.

    Acquisition Platform

    image

    The Platform for Data Collection

    Driver Installation

    We thanks the rpg_dvs_ros for intructions of event camera driver.

    We add the function of the hardware synchronized for stereo setup, the source code is available in link. After installing the driver, the user can directly run the following command to run your stereo event camera:

    roslaunch stereo_davis_open.launch
    

    Tips: Users need to adjust the lens of the camera, such as the focal length, aperture. Filters are needed for avoiding the interfere from infrared light under the motion capture system. For the dvxplorer, the sensitive of event generation should be set, e.g. bias_sensitivity. Users can visualize the event streams to see whether it is similiar to the edge map of the testing environments, and then fine-tune it. Otherwise, the event sensor would output many noise and ultimately leading the event data as useless as the M2DGR datasets.

    Data Sequence

    In our VICON room:

    Sequence Name Collection Date Total Size Duration Features One Drive Baidu Disk
    hku_agg_translation 2022-10 3.63g aggressive Rosbag Rosbag
    hku_agg_rotation 2022-10 3.70g aggressive Rosbag Rosbag
    hku_agg_flip 2022-10 3.71g aggressive Rosbag Rosbag
    hku_agg_walk 2022-10 4.52g aggressive Rosbag Rosbag
    hku_hdr_circle 2022-10 2.91g hdr Rosbag Rosbag
    hku_hdr_slow 2022-10 4.61g hdr Rosbag Rosbag
    hku_hdr_tran_rota 2022-10 3.37g aggressive & hdr Rosbag Rosbag
    hku_hdr_agg 2022-10 4.43g aggressive & hdr Rosbag Rosbag
    hku_dark_normal 2022-10 4.24g dark & hdr Rosbag Rosbag

    Outdoor large-scale (outdoor without ground truth):

    The path length of this data sequence is about 1866m, which covers the place around 310m in length, 170m in width, and 55m in height changes, from Loke Yew Hall to the Eliot Hall and back to the Loke Yew Hall in HKU campus. That would be a nice travel for your visiting the HKU 😍 Try it!

    Sequence Name Collection Date Total Size Duration Features Rosbag
    hku_outdoor_large-scale 2022-11 67.4g 34.9minutes Indoor+outdoor; large-scale Rosbag

    Dataset for Monocular EVIO

    You can use these data sequence to test your monocular EVIO in different resolution event cameras. TheDAVIS346 (346x260) and DVXplorer (640x480)are attached together (shown in Figure) for facilitating comparison. All the sequences are recorded in HDR scenarios with very low illumination or strong illumination changes through switching the strobe flash on and off. We also provide indoor and outdoor large-scale data sequence.

    Acquisition Platform

    image

    The Platform for Data Collection

    • The configuration file is in link

    Data Sequence

    With VICON as ground truth:

    Sequence Name Collection Date Total Size Duration Features One Drive Baidu Disk
    vicon_aggressive_hdr 2021-12 23.0g HDR, Aggressive Motion Rosbag Rosbag
    vicon_dark1 2021-12 10.5g HDR Rosbag Rosbag
    vicon_dark2 2021-12 16.6g HDR Rosbag Rosbag
    vicon_darktolight1 2021-12 17.2g HDR Rosbag Rosbag
    vicon_darktolight2 2021-12 14.4g HDR Rosbag Rosbag
    vicon_hdr1 2021-12 13.7g HDR Rosbag Rosbag
    vicon_hdr2 2021-12 16.9g HDR Rosbag Rosbag
    vicon_hdr3 2021-12 11.0g HDR Rosbag Rosbag
    vicon_hdr4 2021-12 19.6g HDR Rosbag Rosbag
    vicon_lighttodark1 2021-12 17.0g HDR Rosbag Rosbag
    vicon_lighttodark2 2021-12 12.0g HDR Rosbag Rosbag

    indoor (no ground truth):

    Sequence Name Collection Date Total Size Duration Features Rosbag (Baidu Disk)
    indoor_aggressive_hdr_1 2021-12 16.62g HDR, Aggressive Motion Rosbag
    indoor_aggressive_hdr_2 2021-12 15.66g HDR, Aggressive Motion Rosbag
    indoor_aggressive_test_1 2021-12 17.94g Aggressive Motion Rosbag
    indoor_aggressive_test_2 2021-12 8.385g Aggressive Motion Rosbag
    indoor_1 2021-12 3.45g Rosbag
    indoor_2 2021-12 5.31g Rosbag
    indoor_3 2021-12 5.28g Rosbag
    indoor_4 2021-12 6.72g Rosbag
    indoor_5 2021-12 13.79g Rosbag
    indoor_6 2021-12 20.39g Rosbag

    Outdoor (no ground truth):

    Sequence Name Collection Date Total Size Duration Features Rosbag (Baidu Disk)
    indoor_outdoor_1 2021-12 20.87g ****** Rosbag
    indoor_outdoor_2 2021-12 39.5g ****** Rosbag
    outdoor_1 2021-12 5.52g ****** Rosbag
    outdoor_2 2021-12 5.27g ****** Rosbag
    outdoor_3 2021-12 6.83g ****** Rosbag
    outdoor_4 2021-12 7.28g ****** Rosbag
    outdoor_5 2021-12 7.26g ****** Rosbag
    outdoor_6 2021-12 5.38g ****** Rosbag
    outdoor_round1 2021-12 11.27g ****** Rosbag
    outdoor_round2 2021-12 13.34g ****** Rosbag
    outdoor_round3 2021-12 37.26g ****** Rosbag

    On quadrotor platform (sample sequence in our PL-EVIO work):

    We also provide the data squences that are collected in the flighting quadrotor platform using DAVIS346.

    image

    The Platform for Data Collection

    • The configuration file is in link
    Sequence Name Collection Date Total Size Duration Features Rosbag
    Vicon_dvs_fix_eight 2022-08 1.08g quadrotor flighting Rosbag
    Vicon_dvs_varing_eight 2022-08 1.48g quadrotor flighting Rosbag
    outdoor_large_scale1 2022-08 9.38g 16 minutes ****** Rosbag
    outdoor_large_scale2 2022-08 9.34g 16 minutes ****** Rosbag

    Modified Public Dataset

    Modified VECtor Dataset

    VECtor dataset covering the full spectrum of motion dynamics, environment complexities, and illumination conditions for both small and large-scale scenarios. We modified the frequency of the event_left and event_right (60Hz) and the message format from “prophesee_event_msgs/EventArray” to “dvs_msgs/EventArray” in the VECtor dataset, so that there is more event information in each frame and we can extract effective point and line features from the event stream. We release this modified VECtor Dataset to facilitate research on event camera. For the convenience of the user, we also fuse the individual rosbag from different sensors together (left_camera, right_camera, left_event, right_event, imu, groundtruth).

    image

    Overview of Vector dataset

    Sequence Name Total Size One Drive Baidu Disk
    board-slow 3.18g Rosbag Rosbag
    corner-slow 3.51g Rosbag Rosbag
    robot-normal 3.39g Rosbag Rosbag
    robot-fast 4.23g Rosbag Rosbag
    desk-normal 8.82g Rosbag Rosbag
    desk-fast 10.9g Rosbag Rosbag
    sofa-normal 10.8g Rosbag Rosbag
    sofa-fast 6.7g Rosbag Rosbag
    mountain-normal 10.9g Rosbag Rosbag
    mountain-fast 16.6g Rosbag Rosbag
    hdr-normal 7.73g Rosbag Rosbag
    hdr-fast 13.1g Rosbag Rosbag
    corridors-dolly 7.78g Rosbag Rosbag
    corridors-walk 8.56g Rosbag Rosbag
    school-dolly 12.0g Rosbag Rosbag
    school-scooter 5.91g Rosbag Rosbag
    units-dolly 18.5g Rosbag Rosbag
    units-scooter 11.6g Rosbag Rosbag

    Modified DSEC Dataset

    DSEC is a stereo camera dataset in driving scenarios that contains data from two monochrome event cameras and two global shutter color cameras in favorable and challenging illumination conditions. In addition, it also collects Lidar data, IMU and RTK GPS measurements. However, the data sequence of different sensors in DSEC are divided and in different data formats, which is very unfriendly to users. Therefore, we convert them into same rosbag which might be easier for event-based VIO evaluation. The code of processing the data can be also available in here.

    image

    Overview of DSEC dataset

    Sequence Name Total Size One Drive
    zurich city 04 (a) 13.8g Rosbag
    zurich city 04 (b) 5.33g Rosbag
    zurich city 04 (c) 18.7g Rosbag
    zurich city 04 (d) 15.5g Rosbag
    zurich city 04 (e) 4.94g Rosbag
    zurich city 04 (f) 15.1g Rosbag

    Our Works in Event-based Vision

    1. Mono-EIO

    This work proposed event inertial odometry (EIO). We do not rely on the use of image-based corner detection but design a asynchronously detected and uniformly distributed event-cornerdetector from events-only data. The event-corner features tracker are then integrated into a sliding windows graph-based optimization framework that tightly fuses the event-corner features with IMU measurement to estimate the 6-DoF ego-motion.

    video

    Demo Video (click the image to open video demo)

    @inproceedings{GWPHKU:Mono-EIO,
      title={Monocular Event Visual Inertial Odometry based on Event-corner using Sliding Windows Graph-based Optimization},
      author={Guan, Weipeng and Lu, Peng},
      booktitle={2022 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)},
      pages={2438-2445},
      year={2022},
      organization={IEEE}
    }
    

    2. PL-EVIO

    This work proposed the event-based visual-inertial odometry (EVIO) framework with point and line features, including: pruely event (PL-EIO) and event+image (PL-EVIO). It is reliable and accurate enough to provide onboard pose feedback control for the quadrotor to achieve aggressive motion, e.g. flipping.

    • This work is accepted by T-ASE and simultaneously transferred to ICRA2024. PDF can be downloaded here
    • Results (raw trajectories)
    • An extended version of our PL-EVIO: realizing high-accurate 6-DoF pose tracking and 3D semi-dense mapping (monocular event only) can be seen in Link
    video

    Demo Video (click the image to open video demo)

    video

    Onboard Quadrotor Flip using Our PL-EVIO (click the gif to open video demo)

    @article{GWPHKU:PL-EVIO,
      title={PL-EVIO: Robust Monocular Event-based Visual Inertial Odometry with Point and Line Features},
      author={Guan, Weipeng and Chen, Peiyu and Xie, Yuhan and Lu, Peng},
      journal={IEEE Transactions on Automation Science and Engineering},
      volume={21},
      number={4},
      pages={6277--6293},
      year={2023},
      publisher={IEEE}
    }
    

    3. ESVIO

    This work proposed the first stereo event-based visual inertial odometry framework, including ESIO (purely event-based) and ESVIO (event with image-aided). The stereo event-corner features are temporally and spatially associated through an event-based representation with spatio-temporal and exponential decay kernel. The stereo event tracker are then tightly coupled into a sliding windows graph-based optimization framework for the estimation of ego-motion.

    video

    Onboard Quadrotor Flight using Our ESVIO as State Estimator (click the gif to open video demo)

    @article{GWPHKU:ESVIO,
      title={ESVIO: Event-based Stereo Visual Inertial Odometry},
      author={Chen, Peiyu and Guan, Weipeng and Lu, Peng},
      journal={IEEE Robotics and Automation Letters},
      year={2023},
      volume={8},
      number={6},
      pages={3661-3668},
      publisher={IEEE}
    }
    

    4. ECMD

    ECMD is an event-based dataset for autonomous driving. It provides data from two sets of stereo event cameras with different resolutions (640×480, 346×260), stereo industrial cameras, an infrared camera, a top-installed mechanical LiDAR with two slanted LiDARs, two consumer-level GNSS receivers, and an onboard IMU. Meanwhile, the ground-truth of the vehicle was obtained using a centimeter-level high-accuracy GNSS-RTK/INS navigation system.

    • The dataset is available at here. PDF can be downloaded here.
    video

    Overview of ECMD (click the gif to open video demo)

    @article{GWPHKU:ECMD,
      title={ECMD: An Event-Centric Multisensory Driving Dataset for SLAM},
      author={Chen, Peiyu and Guan, Weipeng and Huang, Feng and Zhong, Yihan and Wen, Weisong and Hsu, Li-Ta and Lu, Peng},
      journal={IEEE Transactions on Intelligent Vehicles},
      volume={9},
      number={1},
      pages={407--416},
      year={2023},
      publisher={IEEE}
    }
    

    5. EVI-SAM

    EVI-SAM is a full event-based SLAM system that tackle the problem of 6-DoF pose tracking and 3D dense mapping using the monocular event camera. To the best of our knowledge, this is the first framework that employs a non-learning approach to achieve event-based dense and textured 3D reconstruction without GPU acceleration. Additionally, it is also the first hybrid approach that integrates both direct-based and feature-based methods within an event-based framework.

    • PDF can be downloaded here.
    • The data sequence and the hardware platform of our EVI-SAM is available at here.
    • The supplementary material, which compares the dense mapping performance of our EVI-SAM with monocular RGB, stereo RGB, and RGB-D cameras, is available in link.
    video

    Demo Video (click the image to open video demo)

    @article{GWPHKU:EVI-SAM,
      title={EVI-SAM: Robust, Real-Time, Tightly-Coupled Event--Visual--Inertial State Estimation and 3D Dense Mapping},
      author={Guan, Weipeng and Chen, Peiyu and Zhao, Huibin and Wang, Yu and Lu, Peng},
      journal={Advanced Intelligent Systems},
      pages={2400243},
      year={2024},
      publisher={Wiley Online Library}
    }
    

    6. DEIO

    Learning-based SLAM has long been highly regarded, yet its generalization capabilities remain in question, this work takes learning-based VIO to a new level. We design the learning-optimization-combined framework that tightly-coupled integrate trainable event-based differentiable bundle adjustment (e-DBA) with IMU pre-integration in a patch-based co-visibility factor graph that employs keyframe-based sliding window optimization. The framework is also designed to be easily plug-and-play, with DEIO for event-IMU modalities and DVIO† for image-IMU modalities.

    video

    Framework Overview (click the image to open the project website)

    @inproceedings{GWPHKU:DEIO,
      title={DEIO: Deep Event Inertial Odometry},
      author={Guan, Weipeng and Lin, Fuling and Chen, Peiyu and Lu, Peng},
      booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision Workshops},
      year={2025}
    }
    

    Using Our Methods as Comparison

    We strongly recommend the peers to evaluate their proposed method using our dataset, and do the comparison with the raw results from our methods using their own accuracy criterion.

    The raw results/trajectories of our methods can be obtained in 👉 here.

    Recommendation

    LICENSE

    This repositorie is licensed under MIT license. International License and is provided for academic purpose. If you are interested in our project for commercial purposes, please contact Dr. Peng LU for further communication.

    Visit original content creator repository https://github.com/arclab-hku/Event_based_VO-VIO-SLAM
  • posse

    posse – Packets Over Shared StoragE

    This is an experimenal tool that allows IP communication between two hosts through a shared storage device, which could be a FC or iSCSI LUN mapped to both hosts, or a virtual disk that is attached to two VMs, such as a multi-writer shared disk in VMware vSphere or an EBS Multi-Attach disk in AWS.

    It is uncertain what are the the optimal use cases for this tool at present. However, it is possible that it could serve as an additional out-of-band link in high availability (HA) environments to better manage network isolation incidents, or circumvent restrictive firewalls.

    It is anticipated that there may be instances of packet drops and other minor interruptions, although low-traffic applications such as SSH are currently functioning properly.

    Working Principle

    This tool creates a TUN interface and writes incoming packets to a designated disk at a specified block number (wblk). Simultaneously, it polls the other designated block (rblk) for changes and writes them to the TUN interface.

    Diagram

    Example

    host1# posse --disk /dev/sdb --wblk 0 --rblk 1 --addr 10.0.0.1/32 --peer 10.0.0.2/32
    host2# posse --disk /dev/sdb --wblk 1 --rblk 0 --addr 10.0.0.2/32 --peer 10.0.0.1/32
    host1# ping 10.0.0.2
    PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
    64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=136 ms
    64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=140 ms
    64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=145 ms
    ^C
    

    Options

    • disk – Path to disk used for sending and receiving packets. It is important to exercise caution when using this disk, as any data on it may be overwritten. Env var DISK. Required.
    • tun – Tunnel device name. Env var TUN. Optional.
    • addr – Local IP address for tunnel. Must be equal to peer value on the remote host. Env var ADDR. Required.
    • peer – Remote IP address for tunnel. Must be equal to addr value on the remote host. Env var PEER. Required.
    • rblk – Disk block number to read packets from. Must be equal to wblk value on the remote host. Env var RBLK. Required.
    • wblk – Disk block number to write packets to. Must be equal to rblk value on the remote host. Env var WBLK. Required.
    • txqlen – Transmit queue length. Env var TXQLEN. Optional. Defaults to 16.
    • rxqlen – Transmit queue length. Env var RXQLEN. Optional. Defaults to 16.
    • hz – Frequency in Hz at which the disk writing and reading operations are performed. Must be equal to hz value on the remote host. Env var HZ. Optional. Defaults to 10.
    • promaddr – Addr:port to listen on for prometheus queries. Env var PROMADDR. Optional. Defaults to ” (feature disabled).
    • maxstale – Number of stale reads before declaring peer dead. Env var MAXSTALE. Optional. Defaults to 5.

    Performance

    The bandwidth is effectively limited by the frequency of transfers, which is set to 10 per second by default (see the hz flag). This value can be safely increased to 100 on most systems. The maximum feasible value for your configuration can be calculated by dividing 1000 by your shared disk response time in milliseconds. For example, if your disk has a response time of 5 ms, the hz flag can be set to 200.

    It is also recommended to change the TCP congestion control algorithm to BBR on both hosts:

    # sysctl -w net.ipv4.tcp_congestion_control=bbr
    # sysctl -w net.core.default_qdisc=fq
    

    Posse can transfer data at a rate of approximately 45 kilobytes per second at a frequency of 100 Hertz.

    Monitoring

    Posse can export metrics to Prometheus. The examples directory contains a sample configuration files for Prometheus and Grafterm.

    Grafterm

    Docker support

    Posse can be run in a containerized environment. For more information, please refer to the included Dockerfile and docker-compose.yml files.

    Visit original content creator repository https://github.com/ivoronin/posse
  • snap-asunder

    		    GNU GENERAL PUBLIC LICENSE
    		       Version 2, June 1991
    
     Copyright (C) 1989, 1991 Free Software Foundation, Inc.
         59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     Everyone is permitted to copy and distribute verbatim copies
     of this license document, but changing it is not allowed.
    
    		    GNU GENERAL PUBLIC LICENSE
       TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    
      0. This License applies to any program or other work which contains
    a notice placed by the copyright holder saying it may be distributed
    under the terms of this General Public License.  The "Program", below,
    refers to any such program or work, and a "work based on the Program"
    means either the Program or any derivative work under copyright law:
    that is to say, a work containing the Program or a portion of it,
    either verbatim or with modifications and/or translated into another
    language.  (Hereinafter, translation is included without limitation in
    the term "modification".)  Each licensee is addressed as "you".
    
    Activities other than copying, distribution and modification are not
    covered by this License; they are outside its scope.  The act of
    running the Program is not restricted, and the output from the Program
    is covered only if its contents constitute a work based on the
    Program (independent of having been made by running the Program).
    Whether that is true depends on what the Program does.
    
      1. You may copy and distribute verbatim copies of the Program's
    source code as you receive it, in any medium, provided that you
    conspicuously and appropriately publish on each copy an appropriate
    copyright notice and disclaimer of warranty; keep intact all the
    notices that refer to this License and to the absence of any warranty;
    and give any other recipients of the Program a copy of this License
    along with the Program.
    
    You may charge a fee for the physical act of transferring a copy, and
    you may at your option offer warranty protection in exchange for a fee.
    
      2. You may modify your copy or copies of the Program or any portion
    of it, thus forming a work based on the Program, and copy and
    distribute such modifications or work under the terms of Section 1
    above, provided that you also meet all of these conditions:
    
        a) You must cause the modified files to carry prominent notices
        stating that you changed the files and the date of any change.
    
        b) You must cause any work that you distribute or publish, that in
        whole or in part contains or is derived from the Program or any
        part thereof, to be licensed as a whole at no charge to all third
        parties under the terms of this License.
    
        c) If the modified program normally reads commands interactively
        when run, you must cause it, when started running for such
        interactive use in the most ordinary way, to print or display an
        announcement including an appropriate copyright notice and a
        notice that there is no warranty (or else, saying that you provide
        a warranty) and that users may redistribute the program under
        these conditions, and telling the user how to view a copy of this
        License.  (Exception: if the Program itself is interactive but
        does not normally print such an announcement, your work based on
        the Program is not required to print an announcement.)
    
    These requirements apply to the modified work as a whole.  If
    identifiable sections of that work are not derived from the Program,
    and can be reasonably considered independent and separate works in
    themselves, then this License, and its terms, do not apply to those
    sections when you distribute them as separate works.  But when you
    distribute the same sections as part of a whole which is a work based
    on the Program, the distribution of the whole must be on the terms of
    this License, whose permissions for other licensees extend to the
    entire whole, and thus to each and every part regardless of who wrote it.
    
    Thus, it is not the intent of this section to claim rights or contest
    your rights to work written entirely by you; rather, the intent is to
    exercise the right to control the distribution of derivative or
    collective works based on the Program.
    
    In addition, mere aggregation of another work not based on the Program
    with the Program (or with a work based on the Program) on a volume of
    a storage or distribution medium does not bring the other work under
    the scope of this License.
    
      3. You may copy and distribute the Program (or a work based on it,
    under Section 2) in object code or executable form under the terms of
    Sections 1 and 2 above provided that you also do one of the following:
    
        a) Accompany it with the complete corresponding machine-readable
        source code, which must be distributed under the terms of Sections
        1 and 2 above on a medium customarily used for software interchange; or,
    
        b) Accompany it with a written offer, valid for at least three
        years, to give any third party, for a charge no more than your
        cost of physically performing source distribution, a complete
        machine-readable copy of the corresponding source code, to be
        distributed under the terms of Sections 1 and 2 above on a medium
        customarily used for software interchange; or,
    
        c) Accompany it with the information you received as to the offer
        to distribute corresponding source code.  (This alternative is
        allowed only for noncommercial distribution and only if you
        received the program in object code or executable form with such
        an offer, in accord with Subsection b above.)
    
    The source code for a work means the preferred form of the work for
    making modifications to it.  For an executable work, complete source
    code means all the source code for all modules it contains, plus any
    associated interface definition files, plus the scripts used to
    control compilation and installation of the executable.  However, as a
    special exception, the source code distributed need not include
    anything that is normally distributed (in either source or binary
    form) with the major components (compiler, kernel, and so on) of the
    operating system on which the executable runs, unless that component
    itself accompanies the executable.
    
    If distribution of executable or object code is made by offering
    access to copy from a designated place, then offering equivalent
    access to copy the source code from the same place counts as
    distribution of the source code, even though third parties are not
    compelled to copy the source along with the object code.
    
      4. You may not copy, modify, sublicense, or distribute the Program
    except as expressly provided under this License.  Any attempt
    otherwise to copy, modify, sublicense or distribute the Program is
    void, and will automatically terminate your rights under this License.
    However, parties who have received copies, or rights, from you under
    this License will not have their licenses terminated so long as such
    parties remain in full compliance.
    
      5. You are not required to accept this License, since you have not
    signed it.  However, nothing else grants you permission to modify or
    distribute the Program or its derivative works.  These actions are
    prohibited by law if you do not accept this License.  Therefore, by
    modifying or distributing the Program (or any work based on the
    Program), you indicate your acceptance of this License to do so, and
    all its terms and conditions for copying, distributing or modifying
    the Program or works based on it.
    
      6. Each time you redistribute the Program (or any work based on the
    Program), the recipient automatically receives a license from the
    original licensor to copy, distribute or modify the Program subject to
    these terms and conditions.  You may not impose any further
    restrictions on the recipients' exercise of the rights granted herein.
    You are not responsible for enforcing compliance by third parties to
    this License.
    
      7. If, as a consequence of a court judgment or allegation of patent
    infringement or for any other reason (not limited to patent issues),
    conditions are imposed on you (whether by court order, agreement or
    otherwise) that contradict the conditions of this License, they do not
    excuse you from the conditions of this License.  If you cannot
    distribute so as to satisfy simultaneously your obligations under this
    License and any other pertinent obligations, then as a consequence you
    may not distribute the Program at all.  For example, if a patent
    license would not permit royalty-free redistribution of the Program by
    all those who receive copies directly or indirectly through you, then
    the only way you could satisfy both it and this License would be to
    refrain entirely from distribution of the Program.
    
    If any portion of this section is held invalid or unenforceable under
    any particular circumstance, the balance of the section is intended to
    apply and the section as a whole is intended to apply in other
    circumstances.
    
    It is not the purpose of this section to induce you to infringe any
    patents or other property right claims or to contest validity of any
    such claims; this section has the sole purpose of protecting the
    integrity of the free software distribution system, which is
    implemented by public license practices.  Many people have made
    generous contributions to the wide range of software distributed
    through that system in reliance on consistent application of that
    system; it is up to the author/donor to decide if he or she is willing
    to distribute software through any other system and a licensee cannot
    impose that choice.
    
    This section is intended to make thoroughly clear what is believed to
    be a consequence of the rest of this License.
    
      8. If the distribution and/or use of the Program is restricted in
    certain countries either by patents or by copyrighted interfaces, the
    original copyright holder who places the Program under this License
    may add an explicit geographical distribution limitation excluding
    those countries, so that distribution is permitted only in or among
    countries not thus excluded.  In such case, this License incorporates
    the limitation as if written in the body of this License.
    
      9. The Free Software Foundation may publish revised and/or new versions
    of the General Public License from time to time.  Such new versions will
    be similar in spirit to the present version, but may differ in detail to
    address new problems or concerns.
    
    Each version is given a distinguishing version number.  If the Program
    specifies a version number of this License which applies to it and "any
    later version", you have the option of following the terms and conditions
    either of that version or of any later version published by the Free
    Software Foundation.  If the Program does not specify a version number of
    this License, you may choose any version ever published by the Free Software
    Foundation.
    
      10. If you wish to incorporate parts of the Program into other free
    programs whose distribution conditions are different, write to the author
    to ask for permission.  For software which is copyrighted by the Free
    Software Foundation, write to the Free Software Foundation; we sometimes
    make exceptions for this.  Our decision will be guided by the two goals
    of preserving the free status of all derivatives of our free software and
    of promoting the sharing and reuse of software generally.
    
    			    NO WARRANTY
    
      11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
    OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
    OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
    TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
    PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
    REPAIR OR CORRECTION.
    
      12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
    INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
    OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
    TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
    YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
    PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
    POSSIBILITY OF SUCH DAMAGES.
    

    Visit original content creator repository
    https://github.com/casept/snap-asunder

  • snap-asunder

    		    GNU GENERAL PUBLIC LICENSE
    		       Version 2, June 1991
    
     Copyright (C) 1989, 1991 Free Software Foundation, Inc.
         59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     Everyone is permitted to copy and distribute verbatim copies
     of this license document, but changing it is not allowed.
    
    		    GNU GENERAL PUBLIC LICENSE
       TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    
      0. This License applies to any program or other work which contains
    a notice placed by the copyright holder saying it may be distributed
    under the terms of this General Public License.  The "Program", below,
    refers to any such program or work, and a "work based on the Program"
    means either the Program or any derivative work under copyright law:
    that is to say, a work containing the Program or a portion of it,
    either verbatim or with modifications and/or translated into another
    language.  (Hereinafter, translation is included without limitation in
    the term "modification".)  Each licensee is addressed as "you".
    
    Activities other than copying, distribution and modification are not
    covered by this License; they are outside its scope.  The act of
    running the Program is not restricted, and the output from the Program
    is covered only if its contents constitute a work based on the
    Program (independent of having been made by running the Program).
    Whether that is true depends on what the Program does.
    
      1. You may copy and distribute verbatim copies of the Program's
    source code as you receive it, in any medium, provided that you
    conspicuously and appropriately publish on each copy an appropriate
    copyright notice and disclaimer of warranty; keep intact all the
    notices that refer to this License and to the absence of any warranty;
    and give any other recipients of the Program a copy of this License
    along with the Program.
    
    You may charge a fee for the physical act of transferring a copy, and
    you may at your option offer warranty protection in exchange for a fee.
    
      2. You may modify your copy or copies of the Program or any portion
    of it, thus forming a work based on the Program, and copy and
    distribute such modifications or work under the terms of Section 1
    above, provided that you also meet all of these conditions:
    
        a) You must cause the modified files to carry prominent notices
        stating that you changed the files and the date of any change.
    
        b) You must cause any work that you distribute or publish, that in
        whole or in part contains or is derived from the Program or any
        part thereof, to be licensed as a whole at no charge to all third
        parties under the terms of this License.
    
        c) If the modified program normally reads commands interactively
        when run, you must cause it, when started running for such
        interactive use in the most ordinary way, to print or display an
        announcement including an appropriate copyright notice and a
        notice that there is no warranty (or else, saying that you provide
        a warranty) and that users may redistribute the program under
        these conditions, and telling the user how to view a copy of this
        License.  (Exception: if the Program itself is interactive but
        does not normally print such an announcement, your work based on
        the Program is not required to print an announcement.)
    
    These requirements apply to the modified work as a whole.  If
    identifiable sections of that work are not derived from the Program,
    and can be reasonably considered independent and separate works in
    themselves, then this License, and its terms, do not apply to those
    sections when you distribute them as separate works.  But when you
    distribute the same sections as part of a whole which is a work based
    on the Program, the distribution of the whole must be on the terms of
    this License, whose permissions for other licensees extend to the
    entire whole, and thus to each and every part regardless of who wrote it.
    
    Thus, it is not the intent of this section to claim rights or contest
    your rights to work written entirely by you; rather, the intent is to
    exercise the right to control the distribution of derivative or
    collective works based on the Program.
    
    In addition, mere aggregation of another work not based on the Program
    with the Program (or with a work based on the Program) on a volume of
    a storage or distribution medium does not bring the other work under
    the scope of this License.
    
      3. You may copy and distribute the Program (or a work based on it,
    under Section 2) in object code or executable form under the terms of
    Sections 1 and 2 above provided that you also do one of the following:
    
        a) Accompany it with the complete corresponding machine-readable
        source code, which must be distributed under the terms of Sections
        1 and 2 above on a medium customarily used for software interchange; or,
    
        b) Accompany it with a written offer, valid for at least three
        years, to give any third party, for a charge no more than your
        cost of physically performing source distribution, a complete
        machine-readable copy of the corresponding source code, to be
        distributed under the terms of Sections 1 and 2 above on a medium
        customarily used for software interchange; or,
    
        c) Accompany it with the information you received as to the offer
        to distribute corresponding source code.  (This alternative is
        allowed only for noncommercial distribution and only if you
        received the program in object code or executable form with such
        an offer, in accord with Subsection b above.)
    
    The source code for a work means the preferred form of the work for
    making modifications to it.  For an executable work, complete source
    code means all the source code for all modules it contains, plus any
    associated interface definition files, plus the scripts used to
    control compilation and installation of the executable.  However, as a
    special exception, the source code distributed need not include
    anything that is normally distributed (in either source or binary
    form) with the major components (compiler, kernel, and so on) of the
    operating system on which the executable runs, unless that component
    itself accompanies the executable.
    
    If distribution of executable or object code is made by offering
    access to copy from a designated place, then offering equivalent
    access to copy the source code from the same place counts as
    distribution of the source code, even though third parties are not
    compelled to copy the source along with the object code.
    
      4. You may not copy, modify, sublicense, or distribute the Program
    except as expressly provided under this License.  Any attempt
    otherwise to copy, modify, sublicense or distribute the Program is
    void, and will automatically terminate your rights under this License.
    However, parties who have received copies, or rights, from you under
    this License will not have their licenses terminated so long as such
    parties remain in full compliance.
    
      5. You are not required to accept this License, since you have not
    signed it.  However, nothing else grants you permission to modify or
    distribute the Program or its derivative works.  These actions are
    prohibited by law if you do not accept this License.  Therefore, by
    modifying or distributing the Program (or any work based on the
    Program), you indicate your acceptance of this License to do so, and
    all its terms and conditions for copying, distributing or modifying
    the Program or works based on it.
    
      6. Each time you redistribute the Program (or any work based on the
    Program), the recipient automatically receives a license from the
    original licensor to copy, distribute or modify the Program subject to
    these terms and conditions.  You may not impose any further
    restrictions on the recipients' exercise of the rights granted herein.
    You are not responsible for enforcing compliance by third parties to
    this License.
    
      7. If, as a consequence of a court judgment or allegation of patent
    infringement or for any other reason (not limited to patent issues),
    conditions are imposed on you (whether by court order, agreement or
    otherwise) that contradict the conditions of this License, they do not
    excuse you from the conditions of this License.  If you cannot
    distribute so as to satisfy simultaneously your obligations under this
    License and any other pertinent obligations, then as a consequence you
    may not distribute the Program at all.  For example, if a patent
    license would not permit royalty-free redistribution of the Program by
    all those who receive copies directly or indirectly through you, then
    the only way you could satisfy both it and this License would be to
    refrain entirely from distribution of the Program.
    
    If any portion of this section is held invalid or unenforceable under
    any particular circumstance, the balance of the section is intended to
    apply and the section as a whole is intended to apply in other
    circumstances.
    
    It is not the purpose of this section to induce you to infringe any
    patents or other property right claims or to contest validity of any
    such claims; this section has the sole purpose of protecting the
    integrity of the free software distribution system, which is
    implemented by public license practices.  Many people have made
    generous contributions to the wide range of software distributed
    through that system in reliance on consistent application of that
    system; it is up to the author/donor to decide if he or she is willing
    to distribute software through any other system and a licensee cannot
    impose that choice.
    
    This section is intended to make thoroughly clear what is believed to
    be a consequence of the rest of this License.
    
      8. If the distribution and/or use of the Program is restricted in
    certain countries either by patents or by copyrighted interfaces, the
    original copyright holder who places the Program under this License
    may add an explicit geographical distribution limitation excluding
    those countries, so that distribution is permitted only in or among
    countries not thus excluded.  In such case, this License incorporates
    the limitation as if written in the body of this License.
    
      9. The Free Software Foundation may publish revised and/or new versions
    of the General Public License from time to time.  Such new versions will
    be similar in spirit to the present version, but may differ in detail to
    address new problems or concerns.
    
    Each version is given a distinguishing version number.  If the Program
    specifies a version number of this License which applies to it and "any
    later version", you have the option of following the terms and conditions
    either of that version or of any later version published by the Free
    Software Foundation.  If the Program does not specify a version number of
    this License, you may choose any version ever published by the Free Software
    Foundation.
    
      10. If you wish to incorporate parts of the Program into other free
    programs whose distribution conditions are different, write to the author
    to ask for permission.  For software which is copyrighted by the Free
    Software Foundation, write to the Free Software Foundation; we sometimes
    make exceptions for this.  Our decision will be guided by the two goals
    of preserving the free status of all derivatives of our free software and
    of promoting the sharing and reuse of software generally.
    
    			    NO WARRANTY
    
      11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
    OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
    OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
    TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
    PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
    REPAIR OR CORRECTION.
    
      12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
    INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
    OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
    TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
    YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
    PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
    POSSIBILITY OF SUCH DAMAGES.
    

    Visit original content creator repository
    https://github.com/casept/snap-asunder

  • conan-khronos-opencl-headers

    Package Status

    Bintray Windows Linux & macOS
    Download Build status Build Status

    Conan Information

    Bincrafters packages can be found in the following public Conan repository:

    Bincrafters Public Conan Repository on Bintray

    Note: You can click the “Set Me Up” button on the Bintray page above for instructions on using packages from this repository.

    Issues

    If you wish to report an issue or make a request for a Bincrafters package, please do so here:

    Bincrafters Community Issues

    General Information

    This GIT repository is managed by the Bincrafters team and holds files related to Conan.io. For detailed information about Bincrafters and Conan.io, please visit the following resources:

    Bincrafters Wiki – Common README

    Bincrafters Technical Documentation

    Bincrafters Blog

    License Information

    Bincrafters packages are hosted on Bintray and contain Open-Source software which is licensed by the software’s maintainers and NOT Bincrafters. For each Open-Source package published by Bincrafters, the packaging process obtains the required license files along with the original source files from the maintainer, and includes these license files in the generated Conan packages.

    The contents of this GIT repository are completely separate from the software being packaged and therefore licensed separately. The license for all files contained in this GIT repository are defined in the LICENSE.md file in this repository. The licenses included with all Conan packages published by Bincrafters can be found in the Conan package directories in the following locations, relative to the Conan Cache root (~/.conan by default):

    License(s) for packaged software:

    ~/.conan/data/<pkg_name>/<pkg_version>/bincrafters/package/<random_package_id>/license/<LICENSE_FILES_HERE>
    

    Note : The most common filenames for OSS licenses are LICENSE AND COPYING without file extensions.

    License for Bincrafters recipe:

    ~/.conan/data/<pkg_name>/<pkg_version>/bincrafters/export/LICENSE.md
    
    Visit original content creator repository https://github.com/bincrafters/conan-khronos-opencl-headers