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
Hashcat: A powerful password recovery tool. Ultra-fast cracking Speed Supports multiple algorithms and applies to Linux, macOS, and Windows operating systems
Brew install hashcat common parameters: -a Specify cracking mode: "-A 0" dictionary attack, "-A 1" combination attack; -a 3 Mask attack -m Specifies the hash type to be cracked. The default hash type is MD5. --force Ignores warnings during cracking. 2Nd-force: Hybrid Wordlist + Mask: Hybrid Wordlist + Mask: Hybrid Wordlist + dictionary Abcdefghijklmnopqrstuvwxyz pure lowercase abcdefghijklmnopqrstuvwxyz u: pure capital letter d: pure number 0123456789, for example: 8 digit code hashcat - a 3 - m 0 -- force 0 d7002a70ccde8bf4ba2a4a5572a85e9 md5 string (password)? l? l? l? l? l? l? l? l? l? l? L (mask of 11-bit password)Copy the code
Reptyr: A utility that migrates programs running on an old terminal to a new terminal window
C # project
3. Monitorian: A Windows desktop tool that easily adjusts the brightness of multiple monitors. The operation interface supports Chinese, and DDC/CI needs to be enabled on the display
PluginCore: A lightweight plug-in framework for ASP.NET Core. Out of the box, you can use the built-in plug-in to manage the Web interface
public void ConfigureServices(IServiceCollection services)
{
// ...
// 1. Add PluginCore
services.AddPluginCore();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
// 2. Use PluginCore
app.UsePluginCore();
}
Copy the code
C + + project
Cocoyaxi: implement a library like Go goroutine in C++. It realizes coroutine synchronized events, coroutine lock, coroutine pool, channel and Waitgroup. The actual measurement of 10 million coroutines occupies 2.8G memory
#include "co/co.h"
DEF_main(argc, argv) {
co::Chan<int> ch;
go([ch]() { /* capture by value, rather than reference */
ch << 7;
});
int v = 0;
ch >> v;
LOG << "v: " << v;
return 0;
}
Copy the code
The CSS project
6. Log: CSS library in browser console.log style. See the effect
Go project
Hh-loh-prophet: The league of Legends vs. Prophet tool. It is free, legal and unsealed. The principle is to obtain user data based on LOL client interface to analyze and score player information before the start
Gota: Data processing library of Go language. The library provides functionality similar to the Python language Pandas, as well as Series and DataFrames data structures that allow efficient processing of data in columns
type User struct {
Name string
Age int
Accuracy float64
}
users := []User{
{"Aram".17.0.2},
{"Juan".18.0.8},
{"Ana".22.0.5},
}
df := dataframe.LoadStructs(users)
fmt.Println(df)
// Output:
// [3x3] DataFrame
//
// Name Age Accuracy
// 0: Aram 17 0.200000
// 1: Juan 18 0.800000
// 2: Ana 22 0.500000
//
Copy the code
9, Illustrated – TLS: Illustration of TLS connection. Explain the whole process of TLS in an online interactive way, from setting up TLS 1.2 client to send ping and receive Pong, down to every byte. Try online
10. Gse: Go’s high-performance multilingual thesaurus. It is the Go language implementation of stuttering word segmentation, support Chinese and access ES and other functions
text = "Avengers: Infinity War is a science fiction film shot entirely with IMAX cameras."
// use DAG and HMM
hmm := seg.Cut(text, true)
fmt.Println("cut use hmm: ", hmm)
Avengers: Infinity War is a science fiction film shot entirely with IMAX cameras.
Copy the code
Java project
LSPosed: a hook framework that runs on the Android operating system. Support Android 8-11 system, can intercept almost all Java function calls, which can be used to modify the Android system and software functions
Supertokens – Core: Open source authentication solution Easily add login, session management and other functions to your application, and support self-built services. Available as an open source alternative to Auth0
JavaScript project
13, Charts: Simple, zero-dependency, responsive SVG chart library
const data = {
labels: ["12am-3am"."3am-6pm"."6am-9am"."9am-12am"."12pm-3pm"."3pm-6pm"."6pm-9pm"."9am-12am"].datasets: [{name: "Some Data".chartType: "bar".values: [25.40.30.35.8.52.17, -4]},... ] }const chart = new frappe.Chart("#chart",
{ // or a DOM element,
// new Chart() in case of ES6 module with above usage
title: "My Awesome Chart".data: data,
type: 'axis-mixed'.// or 'bar', 'line', 'scatter', 'pie', 'percentage'
height: 250.colors: ['#7cd6fd'.'#743ee2']})Copy the code
14, lax. Js: library for creating smooth and good-looking animations while scrolling. Simple and lightweight, only 4KB in size, yet fully functional and flexible
<! -- JS -->
<script>
window.onload = function () {
lax.init()
// Add a driver that we use to control our animations
lax.addDriver('scrollY'.function () {
return window.scrollY
})
// Add animation bindings to elements
lax.addElements('.selector', {
scrollY: {
translateX: [["elInY"."elCenterY"."elOutY"],
[0.'screenWidth/2'.'screenWidth'],]}})}</script>
<! -- HTML -->
<div class="selector">Hello</div>
Copy the code
Chameleon: What you see at one end is what you see at many. Cross-end overall solution for different environments, supporting Web, small program, fast application and other platforms
Reveal.js is an HTML presentation framework. Let you get rid of the traditional rigid PPT production method, you can easily use HTML, Markdown language PPT
Tinykeys: tiny keyboard event listening library
import tinykeys from "tinykeys"
tinykeys(window, {
"Shift+D": () = > {
alert("The 'Shift' and 'd' keys were pressed at the same time")},"y e e t": () = > {
alert("The keys 'y', 'e', 'e', and 't' were pressed in order")},"$mod+KeyD": () = > {
alert("Either 'Control+d' or 'Meta+d' were pressed")}})Copy the code
Kotlin project
Compose – Tetris: A Tetris game based on Jetpack Compose
Objective – C project
HBDNavigationBar: custom UINavigationBar component for smooth switching between various states
Python project
Saleor: An e-commerce platform developed in Python. Built with Django+GraphQL API+React, it has rich functions to support mobile terminal, order, goods, user management, etc. Online experience
21. Pokete: A Pokemon game running in a terminal. While the game’s graphics are built using simple ASCII code, it has shops, elves, battles, and more
PIP install scrap_engine $git clone https://github.com/lxgr-linux/pokete.git $./pokete/pokete.pyCopy the code
Tiptop: cool command line system monitoring tool
Tiptop run: tiptopCopy the code
Rembg: simple and practical delete image background/matting tool
from rembg import remove
from PIL import Image
input_path = 'input.png'
output_path = 'output.png'
input = Image.open(input_path)
output = remove(input)
output.save(output_path)
Copy the code
24. Textdistance: a library of common algorithms used to calculate textdistance. Including computing text similarity, diversity, editing distance, compression and other algorithms, all algorithms are implemented in Python, easy to understand and call
import textdistance
textdistance.hamming.normalized_similarity('test'.'text')
# Similarity is 0.75
Copy the code
Swift project
25, OnlySwitch: free open source macOS status bar one-click Settings tool. System functions can be easily set, such as hiding desktop ICONS, cleaning Xcode cache, one-click hide bangs, into the night view mode and dozens of functions
other
26, English-words: text of large English words. It is based on WordNet English vocabulary database organized text file, can be used for English automatic prompt, automatic search and other functions
27. Design-pattern-for-humans: A tutorial on design patterns that everyone can understand. Chinese
28, Learning-Vim: A guide to Learning Vim. This tutorial is not a “big encyclopaedia”, it highlights the most commonly used features in Vim so that you can quickly become familiar with and use Vim. Chinese
29. Electerm: a terminal tool that supports SSH/SFTP. Supports Chinese and Windows, Linux, and macOS operating systems
30. ElectronBot: Self-made desktop robot. It has USB communication display screen function and 6 degrees of freedom, support gesture recognition and human key point detection. Here are all the development materials and SDKS you need to build one of these fun robots
Blog_os: How to develop an operating system from scratch with Rust. Nanny level tutorial! Starting from an empty folder, build a development environment step by step, and explain the principles behind the operating system through principle descriptions and code examples. The downside is that the tutorial is in English, but it’s not too strenuous to read with code examples. Chinese
Open source books
32, Deep Learning-with-Tensorflow-book: TensorFlow Deep Learning
Microfrontends: The Things that Microfrontend transform Web applications from single monolithic applications into aggregations of small front-end applications
Machine learning
34, Deep-learning-for-image-processing: Deep learning in image processing tutorial. This project is accompanied by a video to introduce knowledge points and construction methods, and the corresponding PTT is in the course_PPT directory
Awesome-automl-papers: A project that brings together papers, articles, tutorials, and other resources related to automL
Jina: An easy-to-use neural search framework. Neural search is using unstructured data to search for unstructured data. Jina simplifies the construction process of neural search system, enabling developers to quickly build applications such as image search, text search, question answering robot, photo removal, mass label classification and so on
from docarray import Document, DocumentArray
from jina import Executor, Flow, requests
class PreprocImg(Executor) :
@requests
async def foo(self, docs: DocumentArray, **kwargs) :
for d in docs:
(
d.load_uri_to_image_tensor(200.200) # load
.set_image_tensor_normalization() # normalize color
.set_image_tensor_channel_axis(
-1.0
) # switch color axis for the PyTorch model later
)
Copy the code
The last
If you find something interesting on GitHub, just click and share it with the big guys.
That’s all for this issue. Click here to read it
Thank you for reading, if you think this content is good, please like, please share, your encouragement is the power of HelloGitHub forward! ❤ ️