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

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

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

Связь: @sobolev_nikita
Download Telegram
​​Interesting case. This library is 10x faster than requests and has the same API. 93 lines of code, 1 developer, and 0 dependencies.

How is that possible? The secret is that uses #nim under the hood to do all the heavy lifting. And #python API for end users.

https://github.com/juancarlospaco/faster-than-requests
​​Get productive on unfamiliar source code.

Software developers spend most of their time figuring out existing source code, but common code editing tools offer little help for this task. Debuggers only allow detailed inspection of one narrow code path. 'Find all references' helps you in navigating between files, but doesn't provide the context to see the big picture of all relevant dependencies. Sourcetrail provides both overview and details by combining an interactive dependency graph, a concise code view and efficient code search, all built into an easy-to-use cross-platform developer tool. It supports you in exploring legacy code, understanding the implementation and refactoring the software architecture, making it a fun experience for the whole family!

Supported Languages: #c,#cpp, #java, #python, and possibly custom!

https://www.sourcetrail.com/
​​Get things from one computer to another, safely.

This package provides a library and a command-line tool named wormhole, which makes it possible to get arbitrary-sized files and directories (or short pieces of text) from one computer to another. The two endpoints are identified by using identical “wormhole codes”: in general, the sending machine generates and displays the code, which must then be typed into the receiving machine.

https://github.com/warner/magic-wormhole

#python
​​GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in nix systems or through your browser.

https://github.com/allinurl/goaccess

#c
​​Popeye is a utility that scans live Kubernetes cluster and reports potential issues with deployed resources and configurations. It sanitizes your cluster based on what's deployed and not what's sitting on disk. By scanning your cluster, it detects misconfigurations and ensure best practices are in place thus preventing potential future headaches. It aims at reducing the cognitive overload one faces when operating a Kubernetes cluster in the wild. Furthermore, if your cluster employs a metric-server, it reports potential resources over/under allocations and attempts to warn you should your cluster run out of capacity.

Popeye is a readonly tool, it does not alter any of your Kubernetes resources in any way!

https://github.com/derailed/popeye

#go #devops #yaml
A #vim plugin that simplifies the transition between multiline and single-line #rust code.

Update: turns out other languages are also supported.

https://github.com/AndrewRadev/splitjoin.vim
I’ve spent a good deal of my professional life arguing against using protobuffers. They’re clearly written by amateurs, unbelievably ad-hoc, mired in gotchas, tricky to compile, and solve a problem that nobody but Google really has. If these problems of protobuffers remained quarantined in serialization abstractions, my complaints would end there. But unfortunately, the bad design of protobuffers is so persuasive that these problems manage to leak their way into your code as well.

#protobuf
​​A modern Python test framework designed to help you find and fix flaws faster.

Features:
- Descriptive test names: describe what your tests do using strings, not function names.
- Modular test dependencies: manage test setup/teardown code using fixtures that rely on Python's import system, not name matching.
- Powerful test selection: limit your test run not only by matching test names/descriptions, but also on the code contained in the body of the test.
- Colourful, human readable output: quickly pinpoint and fix issues with detailed output for failing tests.
- Parameterised testing: easily parameterise your tests using each.
- Expect API: A simple but powerful assertion API inspired by Jest.
- Cross platform: Tested on Mac OS, Linux, and Windows.
- Zero config: Sensible defaults mean running ward with no arguments is enough to get started.

https://github.com/darrenburns/ward

#python
#riir

Rustysd is a service manager that tries to replicate systemd behaviour for a subset of the configuration possibilities. It focuses on the core functionality of a service manager.

For now this project is just out of interest how far I could come with this and what would be needed to get a somewhat working system. It is very much a proof of concept / work in progress. For the love of god do not use this in anything that is important. It does look somewhat promising, the core parts are "working" (not thoroughly tested) but there is a lot of cleanup to be done. There is a whole lot of unwrap() calling where error handling should be done properly. It would be a bit unhelpful if your service-manager starts panicing.

https://github.com/KillingSpark/rustysd

#rust
​​Scout is a URL fuzzer for discovering undisclosed files and directories on a web server.

https://github.com/liamg/scout

#go #secops
This was the final post this year. We are taking a holiday break. See you in two weeks!

(yes, we do love long holidays in Russia)
​​bandwhich sniffs a given network interface and records IP packet size, cross referencing it with the /proc filesystem on linux or lsof on macOS. It is responsive to the terminal window size, displaying less info if there is no room for it. It will also attempt to resolve ips to their host name in the background using reverse DNS on a best effort basis.

https://github.com/imsnif/bandwhich

#rust
Great article about best practices of writing #e2e tests, it focuses on #cypress, but is applicable to any other tool as well.
​​Capture screenshots of websites in various resolutions. A good way to make sure your websites are responsive. It's speedy and generates 100 screenshots from 10 different websites in just over a minute. It can also be used to render SVG images.

https://github.com/sindresorhus/pageres-cli

#js
> Malicious code can be inserted into any #github action, even those which are tagged.

I have raised this question multiple times with different projects, but it seems that best practices are not yet stabilized enough for this new platform.

There are other security considerations as well, we will cover them pretty soon in other materials.