Находки в опенсорсе
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
ContextMapper is an open source project providing a Domain-specific Language (DSL) based on Domain-driven Design (DDD) patterns for context mapping and service decomposition. The framework components around the language support to reverse engineer Context Maps, analyze the models with respect to coupling criteria, improve the architecture iteratively, and generate other representations out of the DDD Context Maps.

https://contextmapper.org/

#java
​​Short film about Legacy code.

Vladimir Filonov will be speaking about fighting legacy on our MoscowPythonConf++ coference (I had an honour to help with the program).

It will be held on 27 March 2020 in Moscow, Russia. You can buy tickets using this link:

- 🇷🇺 http://conf.python.ru/moscow/2020

You can also apply promo code OpensourceFindings to have 7% off your price. It is only active for 3 days.

#promo
​​fkill is an awesome CLI tool that lets you kill hanging processes.

Just like regular kill or killall but for times when you don't remeber the process name or pid.

https://github.com/sindresorhus/fkill-cli
> For the past few years, I’ve been publishing a list of my favorite tech talks from the previous year. As always, the usual caveats apply here, viz., this list isn’t comprehensive and excludes talks from many fields (blockchain, AI/ML, web and mobile development) that I do not have much experience in. However, if you do like systems engineering, cloud computing, performance, Linux and low level programming, this list might be right up your street.

https://medium.com/@copyconstruct/best-of-2019-in-tech-talks-bac697c3ee13

Great list!
​​A fast, lightweight and flexible Swift syntax highlighter for blogs, tools and fun!

It can be used to generate code sample HTML for a blog post, to turn a string of Swift code into a fully syntax highlighted image, or to build custom developer tools.

https://github.com/JohnSundell/Splash

#swift
> If you are a programmer, you’re probably familiar with this Knuth quote:
> Premature optimization is the root of all evil.

> I think this logic is flawed. If your program is still a prototype and does, for example, 1% (20%, 50%, 90%) of what it’s supposed to do, and it is already slow, then it’ll only be slower after you finish it, no? You will make it do more, why would it become faster?

#rant
​​Convert JSON into gorgeous, typesafe code in any language. Generate models and serializers from JSON, schema, and GraphQL for working with data quickly & safely in any programming language.

https://quicktype.io/
​​This is not a regular post. This is a serious stuff!

> Open source hardware and software platform to build a small scale self driving car.

You can literally create your own small self-driving car with little effort. My cat will be furious!

https://github.com/autorope/donkeycar
Two news from me:

1. New version of dry-python/returns is released. We have focused on improving user APIs and providing new monads, like: Reader, IOResult, ReaderIOResult, etc

https://github.com/dry-python/returns
Go give this library a star if you think that it is awesome.

2. I wrote an article about "Functional dependency injection in Python". It features how to use simple tools (like Reader monad) to solve complex problem: injecting dependencies into deeply nested code.

https://sobolevn.me/2020/02/typed-functional-dependency-injection

It is a good start for people who is not familiar with this concept yet. If you are not familiar with Python, that's ok. Many other languages share the same pattern.

#python
Introducing the new Thinc, a refreshing functional take on deep learning!

🔮 Static type checking
🔥 Mix PyTorch, TensorFlow, ApacheMXNet
⛓️ Integrated config system
🧮 Extensible backends incl. JAX (experimental)
🧬 Variable-length sequences & more

https://github.com/explosion/thinc

I love how functional paradigm and static types conquer the #python land!
​​React Nice Dates, a responsive, touch-friendly, and modular date picker library for #react

React Nice Dates is composed of a set of components and utilities with different levels of abstraction that you can use to build your own date pickers.

https://reactnicedates.hernansartorio.com/

#js
co-log is a composable and configurable logging framework. It combines all the benefits of #haskell idioms to provide a reasonable and convenient interface. Though it uses some advanced concepts in its core, we are striving to provide beginner-friendly API. The library also contains complete documentation with a lot of beginner-friendly examples, explanations and tutorials to guide users. The combination of pragmatic approach to logging and fundamental Haskell abstractions allows us to create highly composable and configurable logging framework.

If you're interested in how different Haskel typeclasses are used to implement core functions of co-log, you can read the following blog post which goes in detail about internal implementation specifics:

co-log: Composable Contravariant Combinatorial Comonadic Configurable Convenient Logging

https://github.com/kowainik/co-log
​​JSON casting and validation library based on #elixir type specifications.

https://github.com/savonarola/edantic
> With the EoL of Python 2 being in line with development of #python 3.9 there were changes made to Python 3.9 that broke a lot of packages since many deprecation warnings became errors.

Well, Python is going to be broken again!
​​Introducing Mu for #haskell! This release comes w/ full support for building gRPC microservices, shifts a lot of checks to compile-time schemas & readily integrates with well-known Haskell libraries for many tasks. More here: https://www.47deg.com/blog/introducing-mu-haskell-0-1/

Docs: https://higherkindness.io/mu-haskell/
> Hi everyone! After exactly 365 days of very intensive development, I'm extremely happy to unveil the first stable release of Yarn 2. In this post I will explain what this release will mean for our community. Buckle up!

#js
​​ScalaPy: use #python libraries from the comfort of #scala

Notable features:

- Complete Ecosystem: Use any Python library you can dream of. Want to train neural networks on GPUs with TensorFlow? ScalaPy supports it.
- Strong Typing: Add type definitions for Python libraries as you go to catch bugs before they happen in production.
- Performant Interop: Compile to native binaries with Scala Native to unlock maximum performance with direct bindings to CPython.

https://scalapy.dev/
​​Learn languages with fun 🎉

Browser extension for learning languages with watching movies and TV shows. Has integrations with multiple video services.

https://easysubs.co/

#ts
> One of the strengths of Clojure is the ability to interoperate with and harness the power of the JVM. But this interoperability comes with its baggage. For one, we can never really ignore the JVM — things like class loading, garbage collection, byte code interpreter, JIT compiler— for another, we simply have to respect the semantics of the JVM. In this post, we talk about one such semantic — the shutdown sequence of the JVM, how it translates to Clojure programs and how best to productionise it, while keeping business requirements unhampered during the shutdown process.

#closure
Internet debates about typing disciplines continue to be plagued by a pervasive myth that dynamic type systems are inherently better at modeling “open world” domains. The argument usually goes like this: the goal of static typing is to pin everything down as much as possible, but in the real world, that just isn’t practical. Real systems should be loosely coupled and worry about data representation as little as possible, so dynamic types lead to a more robust system in the large.

This story sounds compelling, but it isn’t true.