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

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

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

Связь: @sobolev_nikita
Download Telegram
#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.
​​Chaos Mesh is a cloud-native Chaos Engineering platform that orchestrates chaos on #k8s environments. At the current stage, it has the following components:

- Chaos Operator: the core component for chaos orchestration. Fully open sourced.
- Chaos Dashboard: a visualized panel that shows the impacts of chaos experiments on the online services of the system; under development; curently only supports chaos experiments on TiDB(https://github.com/pingcap/tidb).

https://github.com/pingcap/chaos-mesh

#go
​​> Async is all the rage. Async #python, async Rust, go, node, .NET, pick your favorite ecosystem and it will have some async going. How good this async business works depends quite a lot on the ecosystem and the runtime of the language but overall it has some nice benefits. It makes one thing really simple: to await an operation that can take some time to finish. It makes it so simple, that it creates innumerable new ways to blow ones foot off. The one that I want to discuss is the one where you don't realize you're blowing your foot off until the system starts overloading and that's the topic of back pressure management. A related term in protocol design is flow control.
​​A kotlinx.html library provides DSL to build HTML to Writer/Appendable or DOM at JVM and browser (or other JavaScript engine) for better Kotlin programming for Web.

https://github.com/Kotlin/kotlinx.html

#kotlin
> I have a very long diatribe on the state of document editors that I am working on, and almost anyone that knows me has heard parts of it, as I frequently rail against all of them: MS Word, Google Docs, Dropbox Paper, etc. In the process of writing up my screed I started thinking what a proper document format would look like and realized the awfulness of all the current document formats is a much more pressing problem than the lack of good editors. In fact, it may be that failing to have a standard, robust, and extensible file format for documents might be the single biggest impediment to having good document editing tools. Seriously, even if you designed the world’s best document editor but all it can output is PNGs then how useful if your world’s best document editor?

#rant
​​SQLx is a modern SQL client built from the ground up for #rust, in Rust.

- Truly Asynchronous. Built from the ground-up using async-std using async streams for maximum concurrency.
- Type-safe SQL (if you want it) without DSLs. Use the query!() macro to check your SQL and bind parameters at compile time. (You can still use dynamic SQL queries if you like.)
- Pure Rust. The Postgres and MySQL/MariaDB drivers are written in pure Rust using zero unsafe code.

https://github.com/launchbadge/sqlx
​​npx snowpack is the easiest way to build your #js project!

It promises to be just a single config-less command to do everything you need. And even faster than webpack.

Interesting thing to try!

https://www.snowpack.dev/
> Legacy code is bad and if you keep using it, it's really your own fault. There are many variations of the same thing floating around in Open Source communities and it always comes down to the same thing: at one point something is being declared old and it has to be replaced by something newer which is better.

> Many open source communities behave exactly the same way: they are replacing something with something else without a clear migration path. However some communities manage to survive some transitions like this.
Open-source illustrations for every project you can imagine and create.

A constantly updated collection of beautiful #svg images that you can use completely free and without attribution.

https://undraw.co/
​​Scalene is a high-performance CPU and memory profiler for #python that does a few things that other Python profilers do not and cannot do. It runs orders of magnitude faster than other profilers while delivering far more detailed information.

1. Scalene is fast. It uses sampling instead of instrumentation or relying on Python's tracing facilities. Its overhead is typically no more than 10-20% (and often less).
2. Scalene is precise. Unlike most other Python profilers, Scalene performs CPU profiling at the line level, pointing to the specific lines of code that are responsible for the execution time in your program. This level of detail can be much more useful information than the function-level profiles returned by most profilers.
3. Scalene profiles memory usage. In addition to tracking CPU usage, Scalene also points to the specific lines of code responsible for memory growth. It accomplishes this via an included specialized memory allocator.
4. NEW: it now also separates out time spent running in Python from time spent in C code (including libraries).

https://github.com/emeryberger/scalene
​​The pipeline #shell command!

A utility to make building up a pipeline of shell commands easier, especially when doing data exploration.

If you've ever found yourself writing shell code, in an endless loop of piping output to less, scanning it over and making changes, then pipeline can make your life just a little bit more beautiful.

This is just a thin wrapper around your shell, not some totally new data mining tool. Launch pipeline, and start typing shell commands as usual. Every time you hit enter you'll see a one-screen preview of your output, similar to piping output to less, but your cursor will stay right where it was for further editing.

https://github.com/codekitchen/pipeline

#c
Breaking news!

actix-web (#rust actor-based web framework) is removed from Github, core-developer resignes from open-source work.

Repo: https://github.com/actix/actix-web/blob/606bc3f9162268726d174a8a4a295d3a65cb5228/README.md
Twitter: https://twitter.com/fafhrd91/status/1218135374339301378
Reddit: https://www.reddit.com/r/rust/comments/epszt7/actixnet_unsoundness_patch_is_boring/

Very sad, open-source should be fun and enjoyable. Big kudos to the author of this amazing tool! I hope that actix will continue its journey: one way or another.
​​A static analysis tool for #python that blurs the line between testing and type systems.

https://github.com/pschanely/CrossHair
CLI tool to generate wireframes from a localized human-readable format.

Looks amazing for people who love to write code instead of drawing stuff (like me).

https://github.com/imagineui/imagineui

#ts