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

Introduction to the

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

Github.com/521xueweiha…

There are actual combat projects, introductory tutorials, black technology, open source books, Dachang open source projects, etc., covering a variety of programming languages Python, Java, Go, C/C++, Swift… Let you in a short time to feel the charm of open source programming interest!


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

C program

1. Toybox: This project combines more than 200 commonly used Linux command-line tools into an executable file. This allows Android, which does not normally support Linux commands, to use ls, find, ps and other commands. It can also be used to quickly build minimal Linux environments

The_silver_searcher: command line search tool faster than ACK. Fast, powerful and easy to use, it supports Linux, Windows, macOS and can be integrated into editors such as Vim and Emacs

Ack test_blah ~/code(8G)/ 104.66s user 4.82nd system 99% CPU 1:50.03 total AG test_blah ~/code(8G)/ 4.67s user 4.58s System 286% CPU 3.227 TotalCopy the code

3, WindTerm: support SSH/Telnet/Serial/Shell/Sftp terminal tool. Although the software is completely free, some of the code is not fully open source, so security-sensitive students can take a look

C # project

Wavefunctioncollapse: An example of an infinite city based on the WFC algorithm There are houses, stairs, trees, passageways that connect houses, and you can move and jump and fly through the city, but no matter how you move, there’s no end to it, because the city goes on forever

NETworkManager: a tool for managing and solving network problems. It integrates IP and port scanning, WiFi analyzer, tracking routes, DNS queries and more

C + + project

PPSSPP: An open source PSP emulator that runs on Android and PC. Download address

Leocad: CAD tool for creating virtual Lego models. Applicable to Windows, Linux, and macOS

The CSS project

8, CSshake: use CSS to achieve the jitter effect

Go project

MangoDB: A true open source alternative to MongoDB. It uses PostgreSQL as the storage engine at the bottom and uses Go language to implement MongoDB protocol, so it is almost compatible with all MongoDB libraries and has no burden to migrate. If you can’t use MongoDB’s advanced features and are limited by its open source license, this project is an open source alternative to MongoDB. It is still in its infancy and is recommended to wait and see for a while or do enough testing before using it in a production environment

Caddy: Lightweight Web server written in Go. Compared with Apache, Nginx and other well-known Web servers, it is unique in providing compiled executable files and realizing true out-of-the-box. Free HTTPS, automatic conversion of Markdown files to HTML and other user-friendly features are available without any configuration. If you’re building a small to medium-sized Web service, it’s perfectly adequate and time – saving

Croc: a tool that allows any two computers to transfer files and folders safely and easily. Cross-platform file transfer with end-to-end encryption is easily implemented, and multiple file transfer, transmission interruption and recovery are supported

Java project

Jnativehook: Java library to get keyboard and mouse events. Easily monitor keystrokes, mouse movements, clicks and other events

import GlobalScreen;
import NativeHookException;
import NativeMouseWheelEvent;
import NativeMouseWheelListener;
// Mouse movement
public class GlobalMouseWheelListenerExample implements NativeMouseWheelListener {
	public void nativeMouseWheelMoved(NativeMouseWheelEvent e) {
		System.out.println("Mosue Wheel Moved: " + e.getWheelRotation());
	}

	public static void main(String[] args) {
		try {
			GlobalScreen.registerNativeHook();
		}
		catch (NativeHookException ex) {
			System.err.println("There was a problem registering the native hook.");
			System.err.println(ex.getMessage());
			ex.printStackTrace();

			System.exit(1);
		}

		GlobalScreen.addNativeMouseWheelListener(newGlobalMouseWheelListenerExample()); }}Copy the code

Spider-flow: a platform for writing crawlers in the way of flow charts. A simple crawler can be done quickly without writing code

GreenDAO: A high-performance Android ORM library. With a small size, easy to use, support database encryption features, through it Android developers can use the object-oriented way to operate the database, no longer need to handwriting and splicing SQL

JavaScript project

Vue-color-avatar: pure front-end implementation of vector style avatar generation website. Can be matched with different materials, the generation of personalized avatar. The project uses Vite + Vue3 development, can help front-end beginners familiar with Vue3 syntax and master the relevant knowledge of project construction

16, colorFU: automatically generate wallpaper composed of text/color/picture/texture elements. Try online

Pm2: Node.js process management tool. It is easy to use and easy to operate. It effectively improves the stability of Node.js programs and supports automatic restart, load balancing, non-stop service restart, and performance monitoring. It is mainly used to manage and monitor Node.js processes in production environments

Automa: An extension tool that enables browser automation by dragging and dropping modules in a graphical interface. Easy to automatically fill in forms, screenshots, scheduled execution and other operations. Plug-ins that allow the browser to automate preset workflows to reduce repetitive operations and improve efficiency

Python project

PyWebIO: A Python tool for rapidly building Web applications. This project allows you to quickly create a small Web application page containing data displays and forms in Python without writing HTML, CSS, or JS code

Pottery: Using Redis libraries in Python. Forget the Redis commands. If you know how to use a Python dictionary, then you will use this library to manipulate Redis

>>> from pottery import RedisList
>>> tel = RedisDict({'jack': 4098.'sape': 4139}, redis=redis, key='tel')
>>> tel['guido'] = 4127
>>> tel
RedisDict{'jack': 4098.'sape': 4139.'guido': 4127}
>>> tel['jack']
4098
>>> squares = RedisList([1.4.9.16.25], redis=redis, key='squares')
>>> squares
RedisList[1.4.9.16.25]
>>> squares[0]
1
Copy the code

Zulip: A fully open source enterprise im project. The Python backend is powerful and fully functional, similar to Slack, which is open source and free. It has drag-and-upload files, code highlighting, Markdown syntax, application integration, easy access apis, and other features. It also supports Web, PC, iOS, and Android platforms. Many well-known enterprises are in use, can effectively improve team communication and office efficiency. The project is also user-friendly for beginners, and if you want to join a good Python open source project, it’s recommended that you take the time to research it

22. Webssh: A simple Python Web application that SSH to a server. Tornado Web framework and Python SSH library Paramiko are used in the back-end of the project, and the command line front-end component Xterm.js written in TypeScript is implemented in the front end. The whole project is simple and practical, and can be used as a hands-on project for the Python Web

Django-debug-toolbar: Django’s debug toolbar. The debugging information about the current request and response is displayed, including time, SQL, configuration, and performance information

2. TEMPLATES = [{"BACKEND": "django.template.backends.django.DjangoTemplates", "APP_DIRS": True, # ... } ] 3. INSTALLED_APPS = [ # ... "debug_toolbar", "django.contrib.staticfiles", # ... ] 4. Add __debug__ URL import debug_toolbar from Django. urls import include path urlpatterns = [ # ... path('__debug__/', include(debug_toolbar.urls)), ] 5. MIDDLEWARE = [ # ... "debug_toolbar.middleware.DebugToolbarMiddleware", # ... ] INTERNAL_IPS = [#... "127.0.0.1", #...Copy the code

Rust project

Hyperfine: Command-line benchmarking tool. You can view and compare the command time, analyze the statistics of multiple runs, and export the results

Swift project

25, Xcode-dev-cleaner: used to clean all kinds of Xcode cache data, release storage space. Note that Xcode cache data is cleared, not uninstalled Xcode ha

other

Toml: configuration file format that is easier to read and maintain. If you’re tired of INI’s limitations, layered JSON, and YAML’s alarming indentation syntax, give TOML a chance. It supports multiple data types, does away with indentation and nesting, and has libraries for many popular programming languages. TOML is mature enough to definitely be worth a try. To view the document

Aka – Readme-Stats: A tool that automatically displays the programming time on the GitHub homepage. This project uses WakaTime to record the user’s IDE usage time, count the programming time and data, and then use GitHub Action to automatically obtain and dynamically update to the GitHub homepage. Show your programming time easily

28. PathPlanning: a collection of common PathPlanning algorithms. The project includes Python code implementations, runtime animations, and related papers

Howdy: For Linux system to provide face recognition unlock computer tools. Windows Hello™ -style authentication is implemented through the computer’s built-in camera and infrared device, and can be used for login, lock screen, sudo, and any other place that requires a password

30. The-open-book: Open source electronic ink screen reading device. Students with hands-on skills can follow this project, starting from welding circuit boards to build a Kindle like 4.2-inch reading device

31, FL_chart: Flutter chart library It supports line charts, bar charts, pie charts, scatter charts and radar charts

Open source books

Ugo-compiler-book teaches you to implement mini-GO from scratch, including lexical parsing, syntax tree construction, function closures, interfaces, CGO implementation and so on. Read online

Archbase: Textbook Fundamentals of Computer Architecture, 3rd edition. Read online

34, Spring-in-action-v6-translate: Translate the following sentences into English. Read online

Machine learning

Best_AI_papers_2021: List of must-see artificial intelligence papers for 2021. This project is not just a list of papers, it contains not only the code of the relevant papers, but also the in-depth articles and explanation videos. By learning these cutting-edge artificial intelligence papers, we can know more possibilities of AI in the future in advance

AnimeGANv2: a tool that converts pictures and videos into comic book style. The combination of neural style transfer and generative adversarial network (GAN) is adopted to achieve fast conversion speed. Try online

The last

If you find an interesting open source project on GitHub, share it with the big guys.

That’s all for this episode. Did you enjoy it?

Follow the “HelloGitHub official account” to receive the first updates. Click on the menu bar -> Past -> Monthly

To the period of all the contents of a fundus look fun! There are more open source projects and treasure projects waiting to be discovered.