Open Source Monthly "HelloGitHub" Issue 85

Interest is the best teacher, HelloGitHub makes you interested in programming!

Introduction

HelloGitHub shares interesting, entry-level open source projects on GitHub.

https://github.com/521xueweihan/HelloGitHub

There are practical projects, introductory tutorials, black technology, open source books, open source projects of Dachang, etc., covering multiple programming languages ​​Python, Java, Go, C/C++, Swift... Let you feel the charm of open source in a short time , get interested in programming!


The following is the content of this issue|Updated on the 28th of every month

C project

1. dperf : A pressure measurement tool that can simulate huge traffic. This project is a high-performance stress testing tool developed based on DPDK, capable of establishing tens of millions of HTTP connections per second, 100 million concurrent requests, and a throughput of hundreds of Gbps.

2. ExplorerPatcher : A tool to freely switch the style of the Windows 11 start menu. This is an extension tool that can return Windows 11's Start menu bar (Explorer) to the Windows 10 style. In addition, it also supports disabling the context menu and command bar of Windows 11 to make you more comfortable on Windows. working environment.

3. ImageMagick : A powerful desktop tool for editing and processing images. The project can be used to create, resize, crop, color correct and composite images, supports more than 200 image file formats, and its power lies in the provision of CLI and API for complex image processing tasks. ImageMagick is widely used in graphic design, scientific research, medical imaging, astronomy and other fields, and is suitable for Windows, Linux and macOS systems. Shared from @孤阳

C# project

4. ScottPlot : A free, open source .NET drawing library. This project makes it easy to display large datasets interactively, with just a few lines of code for line charts, bar charts, pie charts, scatter plots, and more. Shared from @星之级纹

5. SpleeterGui : A track separation tool for Windows. It is a Spleeter desktop application produced by a third party, which supports multiple languages ​​including Chinese. It can separate the vocals and musical instruments in the music, and easily extract the accompaniment from the music. Shared from @孤阳

6. VPet : A virtual table pet simulator. This is a Windows desktop pet software that supports multiple interactive methods such as touching the head, feeding, drinking, working, sleeping, and playing.

C++ project

7. AirSim : A drone and car simulator based on Unreal Engine. This is a Microsoft open-source drone and car simulation simulator that supports software-in-the-loop (SIL) simulation using popular flight controllers and hardware-in-the-loop (HIL) simulation using PX4 to achieve physical and visual Realistic simulations for experimenting with self-driving cars, computer vision, and strong chemistry algorithms. Shared from @pine fruit

8. krita : Free and open source painting software. It is powerful and completely free, without registration, advertisement, trial period and commercial restrictions, so that every artist can create with dignity. It can be used to draw concept sketches, illustrations, comics, animations, scenery and 3D textures. It supports functions such as digital tablet, pressure sensitivity, anti-shake, layers, filters, and color management. It is suitable for Windows, Linux, and macOS operating systems.

9. notekit : A Markdown editor that supports hand-drawn notes. This is a note-taking tool based on GTK+ 3, which supports WYSIWYG Markdown content, and adding hand-drawn notes via mouse, touch screen or digitizer.

10. pcsx2 : Free and powerful PlayStation 2 game emulator. It can run popular games including Final Fantasy X and Devil May Cry 3, supports multiple languages ​​including Chinese, and is suitable for Windows, Linux and macOS systems.

Go project

11. dozzle : A lightweight Docker real-time log viewing tool. This is a web application that monitors Docker logs in real time, packaged into a very small Docker application. It works out of the box, takes up less memory, does not store any log files, and supports more friendly log display, fuzzy search for container names, regular expression search logs, and other functions.

12. go-captcha : A behavioral verification code library written in Go. This is a Go language, easy-to-use, interactive and friendly behavioral verification code library, which supports random verification text and click-through verification codes. Using the process of displaying verification codes, collecting user behavior, and verifying behavior data, users only need to click to complete the verification during the entire process.

13. kwok : A tool for simulating K8s clusters. It can build a Kubernetes cluster consisting of thousands of nodes in a few seconds. The whole process only takes up very few resources, and it is easy to learn, test and develop K8s cluster applications on this machine. Shared from @pine fruit

14. scrutiny : A dashboard that monitors the health of hard disks. This is the WebUI platform for smartd, a daemon process that monitors hard drives with the SMART (Self-Monitoring, Analysis, and Reporting Technology) specification. Based on smartd, this project realizes the visual interface of various indicators of the hard disk, and adds functions such as alarms and custom thresholds.

15. sqlflow : A tool for connecting SQL and AI frameworks. This project can compile SQL-like codes into workflows that can run on K8s clusters, so that AI engine training/prediction results can be obtained by only writing SQL. It supports databases such as MySQL, MariaDB, TiDB, and Hive, as well as frameworks such as TensorFlow and Keras. Shared from @pine fruit

SELECT * FROM iris.train
TO TRAIN DNNClassifier
WITH model.hidden_units = [10, 10], model.n_classes = 3, train.epoch= 10
COLUMN sepal_length, sepal_width, petal_length, petal_width
LABEL class
INTO sqlflow_models.my_dnn_model;

java project

16. circuitjs1 : Electronic circuit simulator on the browser. This is an electronic circuit simulator that runs in the browser. The mouse click can turn on or off the switch. When the mouse moves over any component, the current state and a short description of the component will be displayed. Support functions such as drawing circuits, adding circuit components, modifying values, dynamically displaying voltage signals, importing/exporting/storing, etc., and can be used for teaching and experiments related to electronic circuits.

17. MoonBox : A non-invasive online traffic recording/playback platform. This is a jvm-sandbox-repeater-based traffic playback platform open sourced by vivo. It provides data statistics and storage capabilities and a large number of plug-ins, and is suitable for scenarios such as automated testing, online problem tracking, and business monitoring.

18. oshi : A Java library for obtaining operating system and hardware information. This is a library based on JNA to obtain native operating system and hardware information, supporting operating system version, process, memory, CPU usage, disk and partition, device, sensor and other information.

JavaScript project

19. mathquill : an online editor for mathematical formulas. This is a formula editor written in JavaScript, which can make the input of mathematical formulas simple and beautiful. Shared from @pine fruit

20. nextui : Beautiful, fast, and new React UI library. The overall style of the UI is simple and elegant, and the rounded corner design is user-friendly. It is not only good-looking, but also very friendly to developers. It supports custom default themes, custom component styles, fully-typed, automatic recognition of dark mode and other functions. Sharing from @鸿宇Hov

21. quill : A powerful rich text editor. It is currently the WYSIWYG web editor with the most stars on GitHub. It has strong scalability and compatibility, and supports almost all browsers on desktops, tablets, and mobile phones.

22. react-hot-toast : A lightweight React toast prompt component. It is easy to use, easy to customize, less than 5kb, supports functions such as Emoji icons, hovering and holding, and provides a variety of sample codes in different styles, which can be used directly. Sharing from @鸿宇Hov

23. workadventure : an online virtual office in pixel RPG style. An online collaborative workspace in the form of a 16-bit RPG game. Users can move around in the virtual office and communicate with colleagues via text, video chat or online meetings.

Kotlin project

24. Music-Player-GO : A small but full-featured local Android music player. It has a minimalist interface and small size, supports Chinese, timer off, random play, organize music by artist, album, song or folder and other functions.

Objective-C project

25. Easydict : A simple and elegant translation dictionary. It works out of the box, can automatically identify the language of the input text, and supports functions such as input translation, word translation and OCR screenshot translation.

Python project

26. datasette : A Python tool for exploring and publishing data. The project can publish various forms of data such as CSV, JSON, database, etc. into an API interface or a web page within a few minutes, and easily realize functions such as web visualization, search, and analysis of the data set.

27. erpnext : A completely open source ERP system. It is an enterprise resource planning (ERP) system developed with Python+JavaScript, which can be used to build customer relationship, human resources, sales/purchase/warehousing, financial and other management systems for small and medium-sized enterprises.

28. Mercury : A framework that can turn Jupyter Notebook into a Web application. This project allows you to add interactive components in Python Notebook to automatically generate a beautiful web application, which is convenient for sharing and displaying your results.

29. pyotp : One-time password library for Python. It is a Python library that can generate/verify one-time passwords (SMS verification codes), which can implement two-factor (2FA) or multi-factor (MFA) authentication methods on web applications or other systems that require login.

30. sqladmin : the background management interface of FastAPI/Starlette. This is a flexible SQLAlchemy management background, which uses Tabler to build a web interface, supports integration into FastAPI and Starlette, and implements Django-like built-in management background functions.

from fastapi import FastAPI
from sqladmin import Admin, ModelView

app = FastAPI()
admin = Admin(app, engine)

class UserAdmin(ModelView, model=User):
    column_list = [User.id, User.name]

admin.add_view(UserAdmin)

Rust project

31. kibi : A text editor with less than 1024 lines. This is a command-line text editor written in less than 1024 lines of Rust code, supporting UTF-8, syntax highlighting, line numbers and other basic functions.

32. veloren : A pixel style RPG game written in Rust. It was inspired by games like The Legend of Zelda: Breath of the Wild, Dwarf Fortress, and Minecraft. Although the picture quality of this game is low, it has a vast open world. In the game, players can build props, synthesize items, fight, upgrade, domesticate pets, explore dungeon caves, glide in the air, and trade with NPCs.

Swift project

33. hidden : A small tool to help hide macOS menu bar icons. It can flexibly hide menu bar applications to make your Mac look more concise, and can be installed with one click through the App Store.

other

34. distrochooser : Help you find a Linux distribution that suits you. By asking some questions, this website recommends Linux distributions that meet your requirements, and supports Chinese. Shared from @酸酸比油酒接hydrogen

35. dockerlabs : Docker tutorials for developers at all stages. The content of this tutorial is divided into three levels: elementary, middle and high, suitable for all stages of Docker. Contains 500 hands-on labs, plus a Docker and Docker Compose cheat sheet, all open source and free.

36. flutter_twitter_clone : ​​Twitter client written by Flutter. This is a third-party Twitter client written in Flutter, which implements login/registration, information flow, reply, notification, personal homepage and other functions.

37, galagino : self-made mini arcade in the 80s. The arcade emulator based on the ESP32 development board can run three classic arcade games: Pac-Man, Galaga and Donkey Kong.

38. my-re0-k8s-security : Kubernetes attack and defense from scratch. This project contains examples of cloud-native-related vulnerability mining and vulnerability utilization encountered by the author in multiple attack and defense scenarios.

39. static-marks : A tool for converting browser bookmarks into static websites. This project can convert the local browser bookmarks into an independent HTML file that is easy to deploy, and easily realize the function of sharing browser bookmarks online. From the little gray chestnut of @控鱼. sharing

open source books

40. build-lua-in-rust : "Write a Lua Interpreter with Rust". This book describes how to implement a Lua interpreter from scratch in the Rust language.

41. learn-javascript : An e-book that teaches the JavaScript language. This is a book that teaches the fundamentals of the JavaScript programming language from scratch, with extensive online exercises.

42. vimllearn : "VimL Language Programming Guide North Road". A book about the VimL (Vim Language) scripting language, Vim's built-in scripting language.

machine learning

43. AnimatedDrawings : An AI project that animates paintings. This is an open source animation library from Meta AI Research Institute, which can make your paintings move. Whether it is a villain drawn by a child or a high-level cartoon character, this project can make them move with you.

44. bark : Text-Prompted model for generating audio. This project can generate audio based on the text prompts you enter, and even specify background sounds, such as I love HG (laugh), and the generated voice will contain hearty laughter. It can also simulate music, sound effects, and is smarter than traditional text-to-speech.

from bark import SAMPLE_RATE, generate_audio, preload_models
from IPython.display import Audio

# download and load all models
preload_models()

# generate audio from text
text_prompt = """
     Hello, my name is Suno. And, uh — and I like pizza. [laughs] 
     But I also have other interests such as playing tic tac toe.
"""
audio_array = generate_audio(text_prompt)

# play text in notebook
Audio(audio_array, rate=SAMPLE_RATE)

45. segment-anything : an image segmentation model that segments everything. It is an image segmentation model from the Meta AI Institute that can "cut out" any object in an image with just one click. It is trained on a dataset of 11 million images and 1.1 billion masks, enabling strong zero-shot performance on a variety of segmentation tasks. Shared from @孤阳

at last

If you find an interesting project on GitHub, click here to share it with everyone!

The above is all the content of this issue, click to read the content of previous issues

Thank you for reading, if you think the content of this issue is not bad, please like and share❤️

{{o.name}}
{{m.name}}

Guess you like

Origin my.oschina.net/HelloGitHub/blog/8696037