Находки в опенсорсе
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
There are a lot of monad tutorials. All of them fail due to the "Monad Curse": when someone understands what it is then this person is not able to explain this concept to others.

This article goes another way: it finds the simple code examples where you already use monads without noticing.

Awesome read!
Have you heard about algebraic effects?

The name might be a bit intimidating but the idea is simple. If you’re familiar with try / catch blocks, you’ll figure out algebraic effects very fast.

Dan Abramov (React / Redux core) shares a nice tutorial about this topic.
​​Daan Leijen - Asynchrony with Algebraic Effects

Daan invented Koka, a strongly typed function-oriented language with (side) effect inference.

This talk will introduce algebraic effect handlers and use their power to write beautiful asynchronous programs, by compiling Koka to #js
​​#vue plugin for the new function-based RFC: https://github.com/vuejs/vue-function-api

This is very controversial and had multiple heated discussions around.
​​Smart auto-complete for all languages with deep learning inside.

https://tabnine.com
​​#scala 3.0 might have indentation-based syntax like in #python.

Discussion: https://github.com/lampepfl/dotty/pull/7083
We can now have typed views, forms, models, querysets, and APIs in django and djangorestframework!

Let me introduce django-stubs and djangorestframework-stubs to you.

This article provides a quickstart guide and an example project with everything configured and typed.

#python
​​Announcing pastel: a command-line tool to generate, analyze, convert and manipulate colors: https://github.com/sharkdp/pastel

#rust #css #js
​​Simple #nuxt module for processing your images with responsive-loader: https://github.com/geeogi/nuxt-responsive-loader

#js #vue
​​portray is a #python command line tool and library that helps you create great documentation websites for your Python projects with as little effort as possible: https://timothycrosley.github.io/portray/
Monads should and can be tranformed into different other monads. This article guides you through this process.

#haskell
- Stricter Generators
- More Accurate Array Spread
- Improved UX Around Promises
- Better Unicode Support for Identifiers
- import.meta Support in SystemJS
- get and set Accessors Are Allowed in Ambient Contexts
- Ambient Classes and Functions Can Merge
- APIs to Support --build and --incremental

#js
​​WTF is a personal information dashboard for your terminal, developed for those who spend most of their day in the command line: https://wtfutil.com/

#cli
Bloat is an endemic problem in software, but there are a few things that make it a particular challenge for #rust:

Cargo makes it so easy to just reach for a crate.
Generics, particularly monomorphization.
Poor support for dynamic libraries.
standard.js maintainer decided to include ads in the terminal output.

All internet is now going on him. But, his point was missed. He spent more than 3000 unpaid hours to create and maintain popular projects that thousands of people use everyday.

So, maybe that's not so wrong?
Legendary github issue from 2013. When one user suggested that it is better to use Category Theory for bulding #js Promises. His request was declined due to "API simplicity", because monads:

> Totally ignore reality in favor of typed-language fantasy land

We all know that in 2019 Promises in #js are monadic and API was changed. Simple is really hard.