Projects in the topic c


An experimental tiny WM of Wayland

an idea by NalaGinrut

Wayland would replace X11 in the future (maybe soon?), we're researching/learning Wayland. And I planed to try a tiny Window Manager of Wayland for a practice. It's meaningful I think, since there's little independent WM for Wayland, except for Mutter which is a part of Gnome desktop environment.

Updated about 5 years ago. 3 hacker ♥️. Has no hacker: grab it!

Make spiv full featured image viewer and release GFXprim RC1

an invention by metan

Description

The RC0 release is out since the last hackweek see GFXprim pages. From that point 187 patches with various fixes, new features and new tests went in. New features includes support for various file formats, fixes and enhancements in python bindings, speedups, CMYK support, better documentation and more. Now it's about the time for RC1.

Updated about 7 years ago. No love.

Improve linuxrc/rescue system

a project by aginies

<p>Rescue system has a lot of options , but most of them can only be set at boot time, first idea is too provide a way to configure them while the system is running.<p>

some ideas

Updated about 5 years ago. 5 hacker ♥️.

Continue on osc3 porting

an invention by mvyskocil

Preface

In a previous hackweek project (https://github.com/SUSE/hackweek/wiki/osc3%3A-port-osc-to-Python3) I have converted osc code to Python3. This has triggered quite some weirdness regarding plugins, but osc is usable from python3. Or it was, not sure if more recent changes did not break the compatibility.

Updated about 7 years ago. No love.

Implement BREAK for pseudo-terminals

a project by ptesarik

This will greatly enhance the usefulness of QEMU virtual serial ports, because the Linux kernel interprets a break on the serial console as a SysRq, but there is currently no way to pass this signal over a pseudo-terminal.

Updated about 2 years ago. 5 hacker ♥️.

Twopence

an invention by e_bischoff

Twopence is (will be) a remote execution engine for tests, able to run tests in virtual machines and real hardware through various means of communication : virtio for KVM / QEmu, ssh on top of libssh, serial lines. This library can be called from shell and ruby wrappers. While it is already functional (and used), it still needs polishing, stabilizing, and extending. It is also planned to integrate it with Pennyworth (project Machinery) and let it go fully Open Source.

Updated almost 5 years ago. 7 hacker ♥️.

Voxel exploration game

an invention by KGronlund

The idea is to play around with a minecraft-like block exploration game, written from scratch in C using SDL2 and OpenGL 3.0. Minimal dependencies, probably won't be a game as such before the end of the week, but the goal is to have a world generated and to be able to walk around in it. Why? Mainly to refresh my 3D knowledge, catch up with what's happened since I last played with that stuff, and to have fun. :) * Source code

Updated about 5 years ago. 1 hackers ♥️.

Make ruby-ui usable for YaST

an idea by dmacvicar

ruby-ui was a hackweek project with jreidinger to make libyui (YaST text/graphical engine) usable from pure-ruby without going through YCP. We experimented a bit extreme trying to make the usage of SLIM templates possible. It kind of worked.

Updated about 4 years ago. 1 hackers ♥️. Has no hacker: grab it!

Support for WiFi-enabled Canon cameras in gphoto

a project by michal-m

I have a Canon PowerShot S120, which allows for browsing / copying photos over WiFi. There are apps for Android, iOS, and Windows to do that. The protocol uses upnp to discover the camera and the smartphone/computer and them some HTTP-based protocol. I have some code using libupnp for the discovery and a perl script that is capable of transfering one file, but it's far from complete. Plus, I need to refresh my memory, because the last commit is from January :-(. Now, there seems to be some support for such cameras in gphoto already. So the plan is to dive into gphoto and use what I learned about the protocol to fix the gphoto support. If you own some other WiFi-enabled Canon camera supported by the CameraWindow software, let me know.

Updated about 2 years ago. 4 hacker ♥️.

Enhance kdumpid

an invention by ptesarik

The kdumpid tool can be used to determine the kernel version from a crash dump. Some useful features are missing: - support for new compression methods (lzo, snappy)

Updated almost 5 years ago. 1 hackers ♥️.

SMBIOS 3.0 support in dmidecode

an invention by jdelvare

On February 12th, 2015, the DMTF released version 3.0.0 of the System Management BIOS Reference Specification. This update isn't just adding enumerated values to existing structures, as previous updates did. It is also introducing a new entry point format which allows for larger tables and structures. Support for this needs to be added to dmidecode. Additionally, reading the entry point and the table from /dev/mem is no longer possible on all systems, so some work is in progress to offer an alternative interface through sysfs. It would be great to finalize this and release a new version of dmidecode that would support both SMBIOS version 3.0 and this new kernel interface.

Updated almost 5 years ago. 2 hacker ♥️.

Protect disk devices from concurrent use in the libvirt libxl hypervisor driver

a project by jfehlig

The libvirt qemu hypervisor driver has long supported protecting disk devices from concurrent use via libvirt's lock manager interface. Xen used to support the same functionality in the old xend toolstack, but dropped support in the new libxl toolstack. The Xen community decided, rightly so, that this functionality is best provided by a higher-level management tool, e.g. libvirt. This project aims to provide integration between libvirt's lock manager and the libxl hypervisor driver, essentially reintroducing support for disk device protection in the Xen management stack.

Updated about 5 years ago. 1 hackers ♥️.

Bring Linux memory scanner scanmem/GameConqueror to openSUSE

an invention by sparschauer

All other distributions have scanmem/gameconqueror packages. scanmem is a command line memory scanner to locate variables in memory and GameConqueror is the Python/GTK3 front-end for it which also provides game trainer features. But it is not only a game cheating tool. It can also help testing applications, debugging memory issues, watching variables in memory or it can be used for reverse-engineering. Hackers also use it for things like ping spoofing. As the upstream maintainer of this tool I'd like to bring it to openSUSE and maintain it there.

Updated about 2 years ago. 5 hacker ♥️.

Improve openvswitch+libvirt+Xen

a project by jfehlig

openvswitch is used by cloud infrastructure (e.g. OpenStack) and software defined networking stacks, often in conjunction with KVM and Xen compute resources. When creating workloads on KVM compute resources, orchestration services can specify the openvswitch interfaceid and port-profile of the workload's virtual interface(s). E.g. orchestration can create workload configuration containing

Updated about 5 years ago. 3 hacker ♥️.

Add a ncurse UI to wireshark

an idea by aaptel

Wireshark has a CLI program called tshark that can dump the dissectors raw (or xml) output. It would be nice to have complete curses wireshark UI, either by reusing tshark xml output or by making another ui program.

Updated about 5 years ago. 3 hacker ♥️. Has no hacker: grab it!

Secure keyboard

an idea by mwilck

This idea was inspired by the recent discussion on the "talk" mailing list about the (in)security of the German ID card. The Chaos Computer Club and other researchers claim that the ID card is insecure. Actual attacks that have been demonstrated are based on keyloggers. Keyloggers might be the biggest security threat for Linux users at this time. Keyloggers are trivial to write for Linux and readily installable, and a keylogger with normal user rights may read root's password. One might ask "Why are we caring about local root exploits at all as long as users run stuff like sudo in X terminals"? Keyloggers can even read the input from devices like the Yubikey.

Updated about 4 years ago. 3 hacker ♥️. Has no hacker: grab it!

OTR (Off The Record) plugin development with libotr5 for encrypted chat

a project by whdu

To implement OTR function on IRC client, to make chatting private. pure-python-otr (potr) has lack of maintenance for a long time and been considered as "potentially insecure". So I will call libotr5 directly with C.

Updated about 2 years ago. 6 hacker ♥️.

Improve C/C++ skills

an idea by pvorel

I'd like to improve my C/C++ skills with contributing small easyhacks to some open source projects (kernel's kconfig, git, util-linux, fluxbox, libreoffice, ...).

Updated about 5 years ago. 1 hackers ♥️. Has no hacker: grab it!

Learn more about C standard libraries

an idea by pvorel

Study code of glibc, musl, uclibc or Klibc and make some tests with buildroot.

Updated about 3 years ago. 3 hacker ♥️. Has no hacker: grab it!

Shell completion

an idea by federico3

Implement shellcomp Command line (aka tab) completion is popular in the Unix world as it helps typing speed, prevents typos and makes the shell more user-friendly.

Updated about 4 years ago. No love. Has no hacker: grab it!

netlink interface for ethtool

a project by mkubecek

There seems to be an overall consensus that the ioctl interface used by ethtool is a poor design as it's inflexible, error prone and notoriously hard to extend. It should clearly be replaced by netlink and obsoleted. Unfortunately not much actual work has been done in that direction until this project started. The project started in Hackweek 16 (fall 2017) and has been worked on since, both in Hackweek 17-19 and outside. First two parts of kernel implementation are in mainline since 5.6-rc1, first part of userspace implementation (ethtool utility) has been submitted to upstream at the end of Hackweek 19 (2020-02-16).

Updated almost 4 years ago. 4 hacker ♥️.

Boot system from Ceph RADOS Block Device

an idea by dmdiss

Write a new Dracut module which adds support for booting a system where the root filesystem resides on a remote RBD image. * Pack keyring and ceph.conf (monitor address) in the initramfs image

Updated about 5 years ago. 3 hacker ♥️. Has no hacker: grab it!

Add Ceph support for Azure RESTful protocols

an idea by dmdiss

Microsoft Azure offers a bunch of interesting RESTful protocols, providing access to objects (Block Blobs, similar to S3 Objects), disk images (Page Blobs) and file systems (Azure Files). The underlying services seem to map pretty closely to RADOS, RBD and CephFS respectively, so adding support for these protocols to Ceph, despite being a lot of work, should be relatively straightforward. I've already worked on implementing a C client for these protocols via Elasto, so it might be worth reusing the same code in implementing the server functionality atop the public librados / librbd / libcephfs libraries. The other option would be to use civetweb/rgw, which is already embedded within Ceph for S3/SWIFT gateway support.

Updated over 6 years ago. No love. Has no hacker: grab it!

Make parted great again!

a project by sparschauer

During regular L3 work I often don't find enough time to work on the command line disk partitioner parted which I maintain. Changes often directly affect yast-storage(-ng) and libstorage(-ng). @aschnell opens bugs faster than I can solve them. Upstream is often slow and often wants patches differently.

Updated about 2 years ago. 1 hackers ♥️.

L3: Improve crash-setup, develop a core-setup

a project by sparschauer

The current crash-setup source is located here. Pretty much is working nicely but it doesn't care for the debug source making it impossible to use the crash&gt; gdb list *&lt;symbol&gt; command right away. This is bug 997558 which should be worked on.

Updated about 2 years ago. 4 hacker ♥️.

ethtool ops for netdevsim

a project by mkubecek

This can be seen as a subproject of ethtool netlink interface but from the technical view it's independent. Every new piece of software is going to be buggy and with frequent changes and rewrites, new regressions are introduced. Automated selftests can help a lot but as ethtool deals with hardware devices, we do not want these tests to depend on a specific hardware. The netdevsim driver was created as a virtual device which (unlike e.g. dummy) cannot be used for actual network traffic but implements various configuration interfaces so that it can be used for their (automated) testing.

Updated about 4 years ago. No love. 1 follower.

Improving picotm

a project by tdz

Picotm is a system-level transaction manager. It provides transactional semantics to low-level C operations, such as modifying data structures, (some) file I/O, memory access. Picotm also handles error detection and recovery. It's fully modular, so new functionality can be added. For the Hackweek, I want to dedicate some time to picotm. I want to finish some of the refactoring work that I have been working on. If there's time left, I'd like to investigate two-phase commits and how to support them in picotm.

Updated about 2 years ago. No love. 1 follower.

dmidecode: no more open-coded printfs

a project by jdelvare

There's a long standing request to extend the output of dmidecode to something that would be machine-readable. Something like an XML or JSON-based format. Unfortunately this can't be implemented right now because the output of dmidecode is generated by open-coded printfs as the DMI table is being parsed, with no intermediate structures nor temporary buffers. While implementing a machine-parseable output is out of scope for a single hack week, let's remember that even the longest journey starts with a single footstep. I would like to try and rewrite the 5200 lines of code of dmidecode in such a way that printing the output would be somewhat separated from parsing the DMI table and done by a limited set of dedicated functions. Alternative output formats could later hook into such functions.

Updated about 4 years ago. 3 hacker ♥️. 1 follower.

make "predictable network interface names" more predictable

an idea by mkubecek

Since the so-called "predictable names" for network interfaces were introduced, the concept and mainly its implementation has been a target of a lot of critique and sometimes even hate. On the other hand, similar idea works reasonably well for block devices. In my opinion, the main reason why "predictable names" reception was not nearly as good as for block devices is the difference in how the implementation works. For block devices, the device name provided by kernel is preserved and other names based on multiple naming schemes (by path, by UUID, by various device identifiers) are created as symlinks so that all of them (including the original kernel one) can be used simultaneously. On the other hand, network interface has only one name and as it is not represented by a file, symlinks cannot be used for aliases. Therefore even if there are multiple naming schemes (e.g. based on BIOS enumeration, bus address etc.), only one of them can be used for each network device and it's rather unpredictable which one is it going to be. Moreover, some of the generated names are rather long, ugly and inconveninent and unlike with block devices, one cannot just ignore them and use a different name (e.g. one provided by kernel).

Updated about 4 years ago. 1 hackers ♥️. 2 followers. Has no hacker: grab it!

Phoebe - where AI meets Linux

a project by mvarlese

Project Description

Phoeβe (/ˈfiːbi/) wants to add basic artificial intelligence capabilities to the Linux OS.

Updated about 2 years ago. 8 hacker ♥️. 7 followers.

multipath-tools: cleaner model for path device information

an idea by mwilck

Project Description

Obtaining correct information about devices in the system is crucial for multipath-tools. Properties of devices depend on each other. Certain properties matter in some parts of the code and some in others.

Updated about 3 years ago. No love. 1 follower. Has no hacker: grab it!

multipathd: improve asynchronous behavior

an idea by mwilck

Project Description

multipathd is multi-threaded, but it uses a single lock that essentially kills most benefits of

Updated about 3 years ago. 1 hackers ♥️. 1 follower. Has no hacker: grab it!

multipath-tools: improve CI

a project by mwilck

Project Description

multipath-tools is in urgent need of better CI, both unit tests and "real world" tests. We a very basic set of unit tests, but the coverage is miserable. Also, there's some minimal github workflow code, which could be improved a lot while I'm learning about github workflows.

Updated about 3 years ago. 1 hackers ♥️. 1 follower.

multithreaded network benchmark

an invention by mkubecek

Project Description

There are multiple network benchmark tools already, most popular probably being netperf and iperf. Each of them has its pros and cons but the biggest drawback probably is that netperf runs only one connection (flow) and while iperf can use multiple connections, it still runs in a single thread. For benchmarking of contemporary fast networks like 40Gb/s or 100Gb/s ethernet, this can be a severe limitation as the performance is often CPU bound. Even on 10Gb/s ethernet, we are often unable to saturate the medium if tunneling or complex packet processing is involved.

Updated about 3 years ago. No love. 2 followers.

NeoMutt: Show index and body of emails in a horizontal split

an invention by iivanov

Project Description

I'd like to have NeoMutt show an index of emails at the same time as the body of the selected email, horizontally next to each other.

Updated about 3 years ago. 2 hacker ♥️. 1 follower.

Use ESP-01S as WiFi to UART bridge

a project by iivanov

Project Description

Currently with just with 8 RPi devices cables occupy most of the space in the 'rack. Reduce the clutter with replacing USB to UART converter with WiFi to UART ones.

Updated about 1 year ago. 4 hacker ♥️. 1 follower.

Extend GObject based introspectable API to libzypp

an invention by zbenjamin

Project Description

Currently we are in a situation with libzypp where we have a C++ based and hard to use API. Due

Updated 6 months ago. 5 hacker ♥️. 2 followers.

Dictu Language

a project by bdowns328

Project Description

Dictu is a new scripting language with features and capabilities of other major languages without giving up speed but also providing a familiar syntax and user experience. The hackweek effort would be a hard push towards features pushing Dictu closer to mainstream adoption.

Updated over 1 year ago. 2 hacker ♥️. 2 followers.

Package libfyaml

a project by tinita

Project Description

libfyaml is a modern alternative to libyaml that passes

Updated over 1 year ago. No love. 1 follower.

Complete the port of flatpak to appstream from appstream-glib

a project by ldragon

Project Description

Currently flatpak uses appstream-glib to parse and generate appstream files however, appstream-glib is no longer maintained and this has resulted in many features not being propagated to flatpak. There is currently 2 prs porting flatpak & flatpak-builder to appstream.

Updated about 1 year ago. 1 hackers ♥️. 1 follower.

Port OTPClient to GTK >= 4.12

a record by pstivanin

Project Description

OTPClient is currently using GTK3 and cannot easily be ported to GTK4.

Updated 7 months ago. No love. 1 follower. Has no hacker: grab it!

Deep Packet Inspection: compare the performance between libnetfilter_queue, NF_HOOK and eBPF XDP

an invention by nguyens

Deep Packet Inspection: compare the performance between libnetfilterqueue, NFHOOK and eBPF XDP

Project Description

Updated 5 months ago. 2 hacker ♥️. 2 followers.

Vulkan Widget for GTK

an invention by yudaike

Project Description

Sometimes when developing a GTK program, we want some nice 3D rendered content in it. And to do that, usually we want to use some Graphics API.

Updated 5 months ago. 2 hacker ♥️. 1 follower.

80-bit floats support on x86_64 for Valgrind

a project by mfranc

Project Description

Valgrind currently lacks support for 80-bit extended precision floating point arithmetic on x86_64 (long double). The current implementation uses 64-bit arithmetic instead, which means that programs running on x86_64 with "long double" give different results when running under Valgrind and natively. People were asking for support for this since like forever, but to date nobody went on implementing it. It's a project for a year, unless somebody has time to work on it full time, but one has to start somewhere. :-)

Updated 6 months ago. 5 hacker ♥️. 2 followers.

The Missing Middle: Add an intermediate brightness setting for auxiliary LEDs in Andúril 2

a project by gkenion

Project Description

Andúril is an open-source firmware for LED flashlights, which runs on several versions of ATtiny chip. It provides advanced functionality like configurable modes, brightness ramping, safety lockout, etc. via a UI controlled by a single button.

Updated 5 months ago. 1 hackers ♥️. 1 follower.

Avahi Integration and Network Connection

a project by vojha

Avahi Integration and Network Connection

Project Description

Updated 5 months ago. 2 hacker ♥️. 1 follower.

Extract generic testing framework from Linux Test Project code base

an invention by acervesato

Project Description

The Linux Test Project has a solid and strong code base which could be used to create a generic testing framework.

Updated 5 months ago. No love. 2 followers.