Находки в опенсорсе
10.7K subscribers
11 photos
1 video
3 files
819 links
Привет!

Меня зовут Никита Соболев. Я занимаюсь опенсорс разработкой полный рабочий день.

Тут я рассказываю про #python, #c, опенсорс и тд.
Поддержать: https://boosty.to/sobolevn
РКН: https://vk.cc/cOzn36

Связь: @sobolev_nikita
Download Telegram
​​View and control remote terminals from your browser with end-to-end encryption.

TermPair lets developers securely share and control terminals in real time. Before termpair sends terminal output to the server, it encrypts it using a secret key so the server cannot read it. The server forwards that data to connected browsers. When the browsers receive the data, they use the secret key to decrypt and display the terminal output.

Likewise, when a browser sends input to the terminal, it is encrypted in the browser, forwarded from the server to the terminal, then decrypted in the terminal by termpair and written to the terminal's input. The secret key is generated by termpair and embedded in a part of the url that is not sent to the server.

https://github.com/cs01/termpair

#python
pattern.css: #css only library to fill your empty background with beautiful patterns.

This library works with most of the frameworks including bootstrap. Supported by most browsers.

https://bansal.io/pattern-css
Functional Abstraction Layer for C++

Cefal is a C++20 header-only library with abstractions over basic functional programming concepts (and using C++20 concepts). It is more a research pet project than a production-ready library (especially keeping in mind it compiles only on GCC/master for now).

https://github.com/dkormalev/cefal

#cpp
​​Deal - #python library for design by contract (DbC) programming.

That's nice assert statements in decorators style to validate function input, output, available operations and object state. Goal is make testing much easier and detect errors in your code that occasionally was missed in tests.

Features:
- Automatic property-based tests.
- Static analysis.
- Generators and async coroutines support.
- External validators support.
- Type-annotated and mypy-friendly.
- Specify allowed exceptions for function.
- Invariant for all actions with class instances.
- Decorators to control available resources: forbid output, network operations, raising exceptions.
- You can disable contracts on production.

https://github.com/life4/deal/

Showcase of many existing decorators:
​​A syntax-highlighter for git and diff output written in #rust

Delta provides language syntax-highlighting, within-line insertion/deletion detection, and restructured diff output for git on the command line. All the syntax-highlighting color themes that are available with bat are available with delta.

https://github.com/dandavison/delta

Here's what git show looks like when git is configured to use delta as its pager:
​​Do you remember that endless summer back in '84? Cruising down the ocean-highway with the top down, the wind in our hair and heads buzzing with neon dreams?

https://github.com/robb0wen/synthwave-vscode
​​Experimental no-bundle dev server for #vue SFCs.

The primary difference is that for vite there is no bundling during development. The ES Import syntax in your source code is served directly to the browser, and the browser parses them via native <script module> support, making HTTP requests for each import. The dev server intercepts the requests and performs code transforms if necessary. For example, an import to a vue file is compiled on the fly right before it's sent back to the browser.

There are a few advantages of this approach:
- Since there is no bundling work to be done, the server cold start is extremely fast.
- Code is compiled on demand, so only code actually imported on the current screen is compiled. You don't have to wait until your entire app to be bundled to start developing. This can be a huge difference in apps with dozens of screens.
- Hot module replacement (HMR) performance is decoupled from the total number of modules. This makes HMR consistently fast no matter how big your app is.

vite is highly experimental at this stage and is not suitable for production use, but we hope to one day make it so.

https://github.com/vuejs/vite
​​Demystify and debug your sed scripts, from comfort of your terminal.

Some of the notable features include:
- Preview variable values, both of them!
- See how will a substitute command affect pattern space before it runs
- Step through sed script - both forward and backwards!
- Place breakpoints and examine program state
- Hot reload and see what changes as you edit source code
- Its name is a palindrome

https://github.com/SoptikHa2/desed/

#shell #rust
​​animate.css is a bunch of cool, fun, and cross-browser #css animations for you to use in your projects. Great for emphasis, home pages, sliders, and general just-add-water-awesomeness.

https://github.com/daneden/animate.css
​​Artichoke is a #ruby made with #rust

If Artichoke does not run Ruby source code in the same way that MRI does, it is a bug. MRI compatibility means supporting a C API, if possible.

Pack a Ruby VM, application source code, configuration, and native extensions into a single-file bundle. Easy distribution without requiring installation of a Ruby VM.

Artichoke also compiles to WebAssembly with Emscripten. We plan to support compiling for wasm32-unknown-unknown targets.

https://www.artichokeruby.org/
​​An email client that functions like a kanban board, for Mac/Windows/Linux/Docker.

Features:
- Works on MacOS (beta), Linux (alpha) & Windows (alpha)
- Developed using Gmail, Outlook & Fastmail
- Should be compatible with other email providers (uses IMAP/SMTP)
- Considered in "beta" - used as primary email client for >1yr

https://github.com/Oxygem/Kanmail

#js #python
​​Editly is a tool and framework for declarative NLE (non-linear video editing) using Node.js and ffmpeg. Editly allows you to easily and programmatically create a video from set of clips, images and titles, with smooth transitions between and music overlaid.

Editly has a simple CLI for quickly assembling a video from a set of clips or images, or you can use its more flexible Javascript API.

https://github.com/mifi/editly

Example:

editly \
title:'My video' \
clip1.mov \
clip2.mov \
title:'My slideshow' \
img1.jpg \
img2.jpg \
title:'THE END' \
--fast \
--audio-file-path /path/to/music.mp3


#js
​​Polacode — Polaroid for your code. Use Polacode to capture good look images of your code, just as it appears in #vscode.

You have spent countless hours finding the perfect JavaScript grammar, matching it with a sleek-looking VS Code theme, trying out all the best programming fonts.

You take three days porting over your theme before starting to use VS Code.
You shell out $200 for italic cursive html attributes.

The code has to look right.

https://github.com/octref/polacode

#js
​​Taichi (太极) is a programming language designed for high-performance computer graphics. It is deeply embedded in #python, and its just-in-time compiler offloads compute-intensive tasks to multi-core CPUs and massively parallel GPUs.

https://github.com/taichi-dev/taichi

Example code: https://github.com/taichi-dev/taichi/blob/master/examples/fractal.py#L1-L31

Output:
​​An experiment to create a community driven language-learning platform.

> My goal is to start a community-driven language-learning platform that gives it's users and contributors a way to influence its future and adapt it to special requirements. To achieve that, I release all source code under the GPLv3 free software license, which guarantees end users the freedom to run, study, share, and modify the software.

https://github.com/kantord/LibreLingo

#python #svelte
​​interrogate checks your code base for missing docstrings.

Documentation should be as important as code itself. And it should live within code. #python standardized docstrings, allowing for developers to navigate libraries as simply as calling help() on objects, and with powerful tools like Sphinx, pydoc, and Docutils to automatically generate HTML, LaTeX, PDFs, etc.

interrogate will tell you which methods, functions, classes, and modules have docstrings, and which do not. Use interrogate to:

- Get an understanding of how well your code is documented;
- Add it to CI/CD checks to enforce documentation on newly-added code;
- Assess a new code base for (one aspect of) code quality and maintainability.

Let’s get started!

https://interrogate.readthedocs.io/en/latest/

Personal opinion: I really like the incremental addoption feature.

#docops
​​Breaking news!

Your instant dev environment.
Get the full #vscode experience without leaving GitHub.

Code, build, test, debug, and deploy with a complete development environment in your browser.

Personal opinion: I got lucky enough to be invited to test this feature. And it works amazingly well! I really love #github, it is my favourite social network. Now with embeded IDE!

https://github.com/features/codespaces
Let's talk about the future and the current state of this project.

It all started as a hobby: I love open-source and I used to spam with awesome project links to all my friends and colleagues. At some point, I have asked myself: why couldn't a larger community benefit from these projects? And I thought: "I should probably start a public channel to share my opensource findings".

In a year our small project has grown to more than 3500 people. And that's pretty impressive! And of course, I have plans to grow our community even more.

As a result of this growth, I have started to receive lots of unwanted attention. Mostly in a form of ad proposals like "coding courses", blockchain and crypto markets, shady "new age" HR platforms, and outsource companies.

I, personally, cannot allow any bullshit into this feed. So, I have decided to make a policy.

1. No ads are posted, ever (except for things that I am personally involved in, like conferences and workshops I organize)
2. Opensource projects, articles, and talks can still be sent to me directly. I have removed my contacts from the group description not to receive any more spam, but they are listed in my GitHub account. I will post awesome ones!
3. Instead of unethical ads, if you find the content helpful, learn something new, or improve your daily life, then to support this channel you can:

- Directly donate to us on Github Sponsors: https://github.com/sponsors/wemake-services You will also receive "GitHub Sponsor" badge
- Just follow me on GitHub to show your interest and gratitude: https://github.com/sobolevn

That's it! Happy holidays.

P.S. This will go to the pinned post: