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! ❤ ️