Fetching the latest programs, projects, and workspace data.
Find open source projects actively accepting contributors. Search repositories, filter by program milestones, difficulty tags, or tech stack.
Use our Orbit AI Matcher to find out! Get instant matching scores based on your developer skills, preferred frameworks, and contribution experience.
Convert your selected open-source project into a winning GSoC, LFX, or Outreachy application using Proposal Studio.
<p>I am going to work on improvement of NSE brute-force performance and add additional support of such protocols like ssh and rdp. Currently there are more than 60 brute-forcing scripts but there is still room for improvement of NSE's parallelism, performance and protocol support.</p> <p>Main tasks:</p> <ul> <li>Improve NSE brute force performance to match Ncrack as close as possible</li> <li>Develop ssh-brute script for brute forcing SHH credentials</li> <li>Develop rdp-brute script for Remote Desktop Protocol</li> <li>Improve internals of NSE for better parallelism</li> </ul> <p>Possible mini projects:</p> <ul> <li>SSH key acceptance checker</li> <li>Remote ssh commands from within NSE scripts</li> </ul>
The aim of this project is to add support for an LLM (large language model) based on tools such as GPT-4 to support AI-based programming support for our users. This support could range from proposing code from text prompts, help in correcting bugs or other issues, finding a good architecture or meaningful names, writing Catrobat language tests for one's code, proposing extensions, proposing project ideas, explaining downloaded code, providing translations of variable or message names etc from downloaded projects of other users, proposing image and sound resources based on the context and text prompts, explaining basic or more advanced concepts needed to realize projects, e.g., simple concepts such as variables and loops, or more complex ones such as software design patterns or testing strategies. Overall, the proposed project aims to provide a more comprehensive and tailored solution for Catrobat users, with a broader range of features and a more user-friendly interface compared to existing products.
Java Path Finder (JPF), a specialized Java Virtual Machine for software verification, excels with Java 8 but faces challenges with modern features in Java 11 and 17, such as bootstrap methods (e.g., lambdas and string concatenation) and internal functions like toString() and hashCode() for records. My project seeks to address this by enhancing JPF to fully support Java 11 and 17. I will upgrade BootstrapMethodInfo to manage string concatenation effectively, refine INVOKEDYNAMIC execution to mirror the host JVM’s dynamic call site generation, and ensure internal functions operate correctly for new Java features. Drawing on OpenJDK research, I’ll implement these changes and validate them with thorough testing. Deliverables include full Java 17 support in JPF’s default branch, a comprehensive test suite for string concatenation and records and updated documentation. This work will modernize JPF, enabling it to verify advanced Java programs and strengthening its value to the verification community.
The Debian LSP Language Server currently provides only basic features — field completion, parse-error diagnostics, and simple quick fixes — leaving Debian maintainers without the rich IDE experience available in other ecosystems. This project significantly expands its capabilities across five areas identified from direct codebase exploration: clickable links and URL navigation in packaging files, richer hover documentation sourced from Debian Policy, improved completion quality with context-aware and deduplicated suggestions, consistent editor integration (with a focus on Helix), and formatting and structural editing support including folding ranges and auto-formatting. Each area will be delivered as an independent, tested pull request. The work integrates with debian-analyzer and the deb822-lossless crate to support multiple Debian control-file formats (debian/control, debian/copyright, debian/changelog, debian/watch ...) and lays the groundwork for real-time validation and go-to-definition across multi-file packaging trees.
Submitty's frontend relies on server-rendered Twig templates and jQuery for interactivity, leading to fragmented, hard-to-maintain interfaces. This project migrates Submitty's most critical pages - the TA grading interface, discussion forum, office hours queue, and rainbow grades customization to modular, reusable Vue.js components backed by clean PHP JSON APIs and centralized Pinia state management. The migration follows a progressive enhancement strategy using the Mount Container Pattern, allowing Vue components to coexist with legacy code at every stage, ensuring zero disruption to active users mid-semester. Deliverables include a reusable Vue component library, full reactive migration of the discussion forum and TA grading interface, a Pinia and Axios powered state and API layer, comprehensive unit and E2E tests, and a developer migration guide for future contributors. A proof of concept PR migrating the TA grading score box to Vue.js has already been submitted, validating the end-to-end approach before the program begins.
<p>The OpenCV's DNN Module allows us to run inference on a pre-trained Deep Neural Network in order to accomplish high end vision tasks with just a few lines of code. However OpenCV's model zoo needs some new additions. Models that have acquired State-of-the-art (SOTA) in different computer vision tasks are somewhat lacking in the model family that is currently listed in the OpenCV repository. This gives rise to the necessity of adding new, powerful models to the list. The goal of this project is to curate more models for ease of use by the OpenCV DNN module and put them in a place where they can be easily accessed such as LFS on Git. The proposed project will add six (potentially nine) new models to the OpenCV Model Zoo. All of the selected models have, either state-of-the-art results in the task they perform or belong to a task category not currently present in the model zoo (e.g. Image Generation). The proposed workflow and the established timeline take into account worst-case scenarios, guaranteeing the project's completion and minimizing risks.</p>
Scrum Helper currently supports only GitHub and a partially-integrated GitLab, with all platform logic tightly coupled in a 2,190-line monolithic file. This makes adding new SCM platforms nearly impossible without duplicating the entire data-fetching flow. This project refactors Scrum Helper's core into an extensible Provider Pattern architecture by defining a standardized SCMProvider interface that decouples platform-specific API calls from the report generation engine. I will then implement native providers for GitLab (including self-hosted instances), Gitea, and Bitbucket, each returning normalized data through a unified schema. Deliverables: (1) SCMProvider interface with normalized data models, (2) Refactored GitHubProvider with full regression coverage, (3) GitLabProvider with self-hosted baseUrl support, (4) GiteaProvider tested against Codeberg, (5) BitbucketProvider with OAuth 2.0 auth, (6) unified caching and cross-provider error handling, and (7) architecture guide and contributor docs for adding future providers. All 4 platforms will generate identical scrum reports by project end.
Currently, there is uncompression support for .svgz format, which is a Z compressed .svg file. The goal of this project is to extend support for Z compressed graphic formats, namely .wmz and .emz, which currently can't be opened by LibreOffice. The second goal of this project is to implement saving functionality for .svgz, .wmz and .emz. While .svgz is an option in the save dialog, it is incorrectly implemented (no compression actually happens, it's just an svg with a different extension). The plan is to create a new and extensible way that uncompresses the file buffer after determining if its compressed from its header,and try to open the uncompressed file buffer. The plan for the second goal would be to find a way to determine whether the file we're saving needs to be compressed (either by checking the extension or by creating a new option in the file saving dialog) and compress the file buffer before saving. This is not as easy as it sounds, as we need to factor in various pitfalls such as what happens when there's not enough RAM to hold the temporary compressed buffer for example. Deliverables would be an extensible way to load and save Z compressed files, an exhaustive unit test suite, which will test file detection, graphic loading, pitfall handling behavior and ready made test files.
<p>Sequential Monte Carlo (SMC) methods are a general class of Monte Carlo procedures for sampling from sequences of probability distributions. Basic examples of these algorithms, termed particle filters, are frequently used in a variety of fields including signal processing, economics, and systems biology.</p> <p>Recent methodological developments, one example being Particle MCMC and Particle Gibbs methods, have gained considerable popularity. However, they require algorithmic extensions and are particularly computationally expensive. Hence, software support for these procedures is currently in high demand.</p> <p>This project aims at providing straightforward implementation of modern SMC/Particle MCMC methods by extending the C++ template class library of RcppSMC which is currently not supporting these methods.</p> <p>Benefits for the R community are expected, firstly, as SMC practitioners who already use R can reduce execution time as well as time necessary for implementation in their everyday work. SMC developers, currently not using R as their first programming language of choice, hopefully see the benefits of this package and thus might consider using R more often in this domain in the future.</p>
NAT64 is a transition mechanism from IPv6 to IPv4. it enables IPv6-only clients to communicate with IPv4-only servers. Despite the growing adoption of IPv6, many legacy systems still rely on IPv4. Implementing NAT64 support in NPF will enhance its networking capabilities, ensuring seamless communication between IPv6 and IPv4 networks. Project Goals: The following are the project goals but not limited to this alone: - Extend NPF to support IPv6-to-IPv4 translation - Optimize NAT64 processing within NPF to ensure minimal latency and efficient packet handling, especially in high-traffic environments. - Passing the information to the kernel, and modifying the kernel packet filter code to process the user/group filtering options and allow/drop packets, in addition to Implementing a robust and efficient NAT64 mechanism within NPF packet filters. Deliverables: With a commitment and devotion of 40 hours per week, the project is expected to be completed within 2 months and some days. Guidance from Mentors, personal research, reference implementations from sample codes or other open-source projects (such as Tayga and Jool) can serve as guides to ensure a standards-compliant solution and project completion. Most importantly, Code reviews from mentors and others will definitely help me to solve problems.
Eye-tracking devices are widely used in neuroscience research. Studies of visual perception and attention in particular are increasingly integrating eye-tracking and EEG/MEG devices, in order to gain a better understanding of these processes and their neural correlates. However, the Python community has yet to coalesce around a well-supported package for analyzing eye-tracking signals. This project proposes to integrate support for reading, visualizing, and analyzing eye-tracking signals in MNE-Python. By incorporating the ability to analyze eye-tracking data into MNE-Python, researchers would be able to analyze both neural and eye movement data within the same software environment, making MNE-Python more versatile and useful for a wider range of research questions. Finally, MNE-Python has a large community of developers and users, making it likely that eye-tracking integration will prove useful for many in the scientific Python community. This project will focus on building a robust I/O routine for eye-tracking data and developing functions for preprocessing, visualization, and analytical routines that are commonly required in eye-tracking research. This includes the ability to interpolate eye-position data during blinks, produce heatmap plots of eye-position across trials, and estimate the deconvolved pupil response.
The project involves adding support for the I2C, PWM, DMA and Mailbox functionalities. The ARM based Raspberry Pi 3 BSP has support for I2C although it is not the same for the AARCH64 based Raspberry Pi 4b BSP. PWM Support is something that would make the BSP more useful, and in the proposal I have mentioned how I will go about adding the support. DMA and Mailbox are two of the functionalities that are required to add SD Card support to the BSP. In the proposal I have given an overview of how I plan to add support for DMA and Mailbox.
<h4>GitMate for all!</h4> <p>This time with user configurable plugins!</p> <h3>About the product</h3> <p><strong>GitHub</strong>, <strong>GitLab</strong> and <strong>BitBucket</strong> support webhooks for common events like opening/closing/commenting on Merge Requests, creating Issues, etc. These webhooks could be configured for automated response using their own API's for comments, tests/integrations, etc. <strong>GitMate</strong> merely acts as a tunnel for these events and responds accordingly. The interface for these API's is held by its wrapper library, IGitt.</p> <h3>Aim of the project</h3> <p>This project is aimed at extending the support for <strong>GitMate</strong> to <strong>GitLab</strong> and <strong>BitBucket</strong> repositories. This adds up to unified and automated code analysis and maintenance on the big three code hosting platforms.</p> <h3>Implementation</h3> <p>This project consists of implementing <strong>GitLab</strong> and <strong>BitBucket</strong> interfaces in <strong>IGitt</strong>, following the already implemented <strong>GitHub</strong>'s convention, while simultaneously creating webhook responders and tasks for the same on <strong>gitmate-2</strong>.</p> <p>Extending plugins is quite easy on <strong>gitmate-2</strong> following <code>gitmate_testplugin</code> as an example, thanks to its plugin-based architecture.</p>
The Vala compiler and the Vala API generator currently have no support for the latest GObject Introspection attributes. This proposal plans to add this support to both the Vala compiler and the Vala API generator. It also seeks to add GI-Docgen format support to Valadoc. I plan to make the Vala compiler support these attributes by making Vala.GIRWriter insert these attributes in the generation of GIR files. Similarly, Vala API generator can support these attributes if we make Vala.GirParser parse them from GIR files and add them to the Vala AST. Finally, the plan is to make libvaladoc parse comments in the GI-Docgen format. Upon the completion of this project, the Vala compiler and Vala API generator will be able to use these latest attributes in the generation and parsing of GIR files. It will also result in Valadoc being able to support the GI-Docgen documentation format so that it can be used with Vala GIR files. In addition, Valadoc documentation pages will have a modernized appearance and they will be able to render working GI-Docgen links.
The Shmdata library provides a layer to share streams of framed data between processes via shared memory. It supports any kind of data stream: it has been used with multichannel audio, video frames, 3D models, OSC messages, and various others types of data. Shmdata is server-less, but requires applications to link data streams using socket path (e.g. "/tmp/my-shmdata-stream"). Shmdata is very fast and allows processes to access data streams without the need for extra copies. However, permissions are not supported, and any stream shared on the system with Shmdata is accessible system-wide. The project will enable the possibility for a Shmdata user to configure streams permission using shared memory right setting at the API level. When sharing data between processes via shared memory, not all components of the data need to be visible to everyone. Different groups might need to access different data, furthermore, some data might only be needed to be visible to the owner of the files. In such cases, the permissions that would have to be implemented are combinations of 'read', 'write' and 'execute' permissions that would be given to the owner, group or common user(i.e. everyone else). Permissions would be 'none', 'execute only', 'write only', 'write and execute', 'read only', 'read and execute', 'read and write', 'read, write and execute' with corresponding values of 0-7 respectively. DELIVERABLES * Providing an option for users to restrict or openly share data streams via these file/ directory access modes: read, write and execute/traverse. * Changing data access permissions. * Documentation for the improvements made. * Incorporation of ACL to assist with Unix file permissions. (optional/if time allows).
The ticket-32159 (https://code.djangoproject.com/ticket/32519) originally requested a new feature to make Django provide generic database functions for manipulating JSON data on the database. Currently, in order to make partial updates to a JSONField, developers need tol oad model instance to the memory, modify JSONField data as objects, then call save() on the model instance, or write custom mapping for JSON functions as Func subclasses, and use them in update(). It would be better if Django has built-in support for doing partial JSONField updates more efficiently and more idiomatic to how developers can currently query JSONFields (i.e. with key transforms). In order to achieve that, this proposal intends to create an implementation for all databases supported that developers can use in order to update partial values of JSONField. This project aims to accomplish the problem by dividing it into two big parts: first, implement JSONSet and JSONRemove functions to allow partial updates to JSONField. Second, add support for key transforms in update() for JSONField to make it easier to use for developers. The project will be executed on creating JSONSet for SQLite, MySQL, PostgreSQL, Oracle first, then, create JSONRemove on same databases. After that, support for key transform on update() will be implemented.
<p>The idea aims to complete the implementation for the SD Card file system support that was previously initiated. In addition to that, I also plan on implementing DMA support for I2C and SPI, support for second SPI device and model identification, detection and reporting.</p>
Traditionally, brain activity has been analyzed independently from peripheral physiological measurements like the electrocardiogram (ECG), but our understanding of brain-heart interactions (BHI) has significantly evolved since then: we now know that not only does the brain modulate the heart but surprisingly the heart exerts a powerful influence on the brain. For example, the timing of a learning task relative to the cycle of the heartbeat modulates its event-related potential (ERP), and heart-beats interact with activity in the insula, an area critically involved in internal monitoring. However, despite this increased interest in BHI in the neuroscientific community, there is a lack of well-documented tool, that incorporates much of the modern BHI identification techniques, treats sensitively ECG artifacts, and furthermore complements modern brain connectivity analysis. BHI studies point to a much greater complexity in neural signals that current connectivity packages fail to account for, such as recent work pointing to the modulating of brain oscillations by respiration. As such, this project has two main purposes: extract BHI and direct respiratory modulation of the brain and build a brain connectivity tool that accounts for these confounding measures, built in the Python MNE environment to complement traditional data analysis pipelines. Our analysis functions will furthermore be validated through tutorial-like experiments, written as Jupyter notebooks on open datasets, and we hope that the results I show will convince the scientific audience of the importance of confounding peripheral measures in neural data. The minimal set of deliverables include: individual analysis functions for peripheral physiological signals, connectivity measures between peripheral and neural signals, and brain connectivity measures, both regular, and conditioned on peripheral physiological signals to remove their effect, and experiments demonstrating these tools on open datasets.
<p>A proposal for the inclusion of OAuth 2.0 and OpenID Connect support in factotum. The main issue is that the structure of the OAuth landing page is not standardized. Therefore, one has to write a scraper or install a browser for the factotum module to work properly. Implementation plans for OAuth 2.0 and OIDC are then described, including a simple implementation of OIDC using the OAuth 2.0 Form Post Response Mode.</p>
Move2Kube is a command-line tool for automating creation of Infrastructure as code (IaC) artifacts. It has inbuilt support for creating IaC artifacts for replatforming to Kubernetes/OpenShift. Currently we have rudimentary support for resources such as ArgoCD, Tekton, etc. We need to enhance this to make it useful. Example: https://github.com/konveyor/move2kube/issues/930 - Expected Outcome: - More comprehensive support for advanced K8s resources so as to support real world use cases.
<p><strong>Add support for tracking specific namespaces to Programs & Events Dashboard</strong></p><p>The deadline to create an initial application has passed for the May 2022 Outreachy internship cohort. We are no longer accepting initial applications for internships. We encourage you to sign up for the announcements mailing list to get an email when the next round opens. Why apply to Outreachy? > Start your initial application > May 2022 Outreachy internship cohort > Wikimedia Foundation Community details are hidden until you are approved to participate as a mentor or coordinator.</p><p><br></p><p><strong>Mentorship Cohort:</strong> 2022</p>
As PSLab transitions from a native Android app to a Flutter-based cross-platform application, this project focuses on developing and enhancing core sensor modules, building a reusable experimentation framework, and introducing advanced features for data handling and visualization. The aim is to deliver a cohesive, extensible system that not only replicates existing functionality but significantly improves usability, scientific learning, and mobile data workflows. Alongside sensor integration, the project will introduce a reusable experimentation framework. To support effective data workflows, the project will include functionality for logging, exporting, and importing sensor data using CSV files. Additional focus will be placed on theming, localization, and in-app documentation to improve overall user experience and accessibility.
With the rapid growth of the RISC-V ecosystem, an increasing number of eage computing devices and IoT boards are adopting RISC-V. In very early versions of KubeEgde, we briefly verified compatibility with RISC-V. However, this has not been continuously validated in recent releases. As the codebase has evolved significantly, we need to re-establish and solidify support for this architecture to ensure KubeEdge can run seamlessly on the next generation of open hardware. Expected Outcome: - Deploy and run KubeEdge on actual RISC-V devices. Fix identified issues and submit PRs. - Generate official release assets (binaries) and multi-arch images for RISC-V. - Output a guide as a blog or docs about how to run KubeEdge on RISC-V to the kubeedge/website. - (optional) Explore how to add a basic verification step for RISC-V in KubeEdge GitHub Actions CI.
Hyperledger Labs Blockchain Automation Framework(BAF) is a tool to deploy different DLT platforms automatically on a given Kubernetes cluster. BAF supports multi-cloud and multi-DLT deployments, and already supports HL Fabric, HL Besu, Quorum, R3 Corda. For HL Besu, currently only IBFT2 Consensus is supported by BAF. With this internship program we want to support the Clique consensus for Besu, so that BAF can be used to deploy and operate a HL Besu network with Clique consensus. This will also include upgrading BAF to support the latest stable Besu version. The mentee will be able to learn: 1) Production grade architecture. 2) evOps in Blockchain Development. 3) Architecture of Besu and BAF. 4) work in true spirit of open-source, communicating with both Besu and BAF community, joining calls and using other community tools. 5) writing documentation, so anyone in the community could use the results of their work. 6) following rules and standards of open-source projects created by Hyperledger. Expected Outcome 1) Documented, ready-to-use Besu Clique consensus on BAF. 2) Documented upgrade of Besu to latest stable on BAF.