Находки в опенсорсе – Telegram
Находки в опенсорсе
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
​​A demo to see what is the most input typing delay you can tolerate.

What's yours? Mine is somewhere at 50ms.

https://input-delay.glitch.me/

#js #css
A 18-min podcast about a walk through inventing monads from scratch in #js.

Easy!

#haskell
Real #python applications have real data, and real data nests. Objects inside of objects inside of lists of objects.

glom is a new and powerful way to handle real-world data, featuring:

- Path-based access for nested data structures
- Readable, meaningful error messages
- Declarative data transformation, using lightweight, Pythonic specifications
- Built-in data exploration and debugging features

https://github.com/mahmoud/glom
Some languages (like #erlang) have a real philosophy in their core. And philosophy is applied not only to programming, but to life as well.

Read about how #erlang changed person's attitude to life:
​​This is a plugin to facilitate image comparison for #matplotlib figures in #pytest: https://github.com/matplotlib/pytest-mpl

Looks awesome! #python
​​A neat #haskell little one liner to avoid duplicating logic across a -> b and b -> Maybe a

It is also implemented in relude library: https://github.com/kowainik/relude/blob/daf6868ac43f634d5f7c0003a3841ab70dbffbb3/src/Relude/Extra/Enum.hs#L38-L62
​​Keeping your system up to date mostly involves invoking more than a single package manager. Topgrade tries to solve this problem by detecting which tools you use and run their appropriate package managers: https://github.com/r-darwish/topgrade

#rust
Enforcing boundaries in #elixir projects without requiring the extra ceremony of umbrella apps: https://github.com/sasa1977/boundaries

Awesome tool to enforce better architecture and a very neat use-case of a custom mix compiler!
​​This ESLint plugin lets users write simple #eslint rules right in their config by leveraging the power of ESQuery, which is a #CSS-selector-like library for ASTs: https://www.npmjs.com/package/eslint-plugin-esquery

#js
​​Sorbet is 100% compatible with #ruby. It type checks normal method definitions, and introduces backwards-compatible syntax for method signatures: https://sorbet.org/
Surf is a friendly HTTP client built for #rust. It's completely modular, and built directly for async/await. Whether it's a quick noscript, or a cross-platform SDK, Surf will make it work.

Announcement: https://blog.yoshuawuyts.com/surf/
​​Manage #react state server-side with #elixir GenServer's. Hooks are generated for you: https://github.com/joshnuss/phx_hooks
The optics family of #haskell packages make it possible to define and use Lenses, Traversals, Prisms and other optics, using an abstract interface. They are roughly comparable in functionality with the lens package, but explore a different part of the design space: https://github.com/well-typed/optics
If you are a system administrator, or just a regular #linux user, there is a very high chance that you worked with #syslog, at least one time.

On your Linux system, pretty much everything related to system logging is linked to the Syslog protocol.

Designed in the early 80’s by Eric Allman (from Berkeley University), the syslog protocol is a specification that defines a standard for message logging on any system.

Syslog is not tied to Linux operating systems, it can also be used on Windows instances, or ony operating system that implements the syslog protocol.

If you want to know more about syslog and about Linux logging in general, this is probably the tutorial that you should read.
#ruby on rails 6.0 release: https://weblog.rubyonrails.org/2019/8/15/Rails-6-0-final-release/

Interesting. I thought that ruby is dead...