Get Mystery Box with random crypto!

Opensource Findings

Logo of telegram channel opensource_findings — Opensource Findings O
Logo of telegram channel opensource_findings — Opensource Findings
Channel address: @opensource_findings
Categories: Technologies
Language: English
Country: Russia
Subscribers: 4.68K
Description from channel

Links and concise reviews on open-source tools, news, and talks about language-design, trends and fundamentals. Write-only.
If you like this project, you can sponsor it directly: https://github.com/sponsors/wemake-services

Ratings & Reviews

3.67

3 reviews

Reviews can be left only by registered users. All reviews are moderated by admins.

5 stars

0

4 stars

2

3 stars

1

2 stars

0

1 stars

0


The latest Messages 6

2021-07-09 19:14:30 I've spent lots of hours fixing npm audit to make our #js CI happy. Most of the times - it was garbage.

I've even disabled it in our projects. It was not adding any value, just wasting our time.
But, we still need to check some dependencies to be secure!

Dan Abramov shares his vision about npm audit problems and potential solutions.
1.4K views16:14
Open / Comment
2021-07-09 19:11:06 We are back in business!

Long time without proper updates from us.
A lot of things happened in the meanwhile.

Now, let's talk about the future of this project.

The concept of this channel will be the same: "awesome open-source-relalated links". But, I am going to change some details about it:

1. I am going to value "quality" over "regularity", previously I posted 2 links a day. This is problematic. Sometimes there are a lot of things to share, sometimes I have to search for some extra items. No more! Only things that I really want to share, no schedule
2. I am going to add more personal side to this project. I want to add short summaries to each piece of content I share: why this thing is awesome? what's special about it? what ideas are worth noticing? etc
3. No ads, as always. Except of things that I am personally involved in: like conferences and webinars that we organize

Cheers!
1.4K views16:11
Open / Comment
2021-07-08 19:29:34 Friendly reminder: you can join our dry-python telegram chat: https://t.me/drypython

We discuss functional programming, different new languages and ideas, typing, and #python! Stop by and chat!
1.7K views16:29
Open / Comment
2021-06-30 14:34:51 My new article is out! It is all about typeclasses in Python and dry-python/classes.

Today I am explaining what typeclasses are and how to use them. I give examples in 4 very different languages: #rust, #elixir, #haskell, and #python to show that this concept is universal.

I am also showing that this idea is very pythonic by comparing our classes implementation with functools.singledispatch. There are lots of different details!

Check how easy it is to define a typeclass with classes:

from classes import AssociatedType, Supports, typeclass

class Greet(AssociatedType):
"""Special type to represent that some instance can `greet`."""

@typeclass(Greet)
def greet(instance) -> str:
"""No implementation needed."""

@greet.instance(str)
def _greet_str(instance: str) -> str:
return 'Hello, {0}!'.format(instance)

def greet_and_print(instance: Supports[Greet]) -> None:
print(greet(instance))

greet_and_print('world')

Check it out!
1.5K views11:34
Open / Comment
2021-03-01 15:50:12 My new article is out!

This time I want to discuss a pretty useful idea for library authors and their users: there are better ways to test your code!

I give three examples (in #python, but the idea itself applies to almost any language) of how user projects can be self-tested without actually writing any real test cases by the end-user. One is hypothetical about django and two examples are real and working: featuring deal and dry-python/returns.

Short example with deal:

import deal

@deal.pre(lambda a, b: a >= 0 and b >= 0)
@deal.raises(ZeroDivisionError) # this function can raise if `b=0`, it is ok
def div(a: int, b: int) -> float:
if a > 50: # Custom, in real life this would be a bug in our logic:
raise Exception('Oh no! Bug happened!')
return a / b

This bug can be automatically found by writing a single line of test code: test_div = deal.cases(div). As easy as it gets!

From this article you will learn:
-How to use property-based testing on the next level
- How a simple decorator @deal.pre(lambda a, b: a >= 0 and b >= 0) can help you to generate hundreds of test cases with almost no effort
- What "Monad laws as values" is all about and how dry-python/returns helps its users to build their own monads

I really like this idea! And I would appreciate your feedback on it.
Link: https://sobolevn.me/2021/02/make-tests-a-part-of-your-app
1.1K viewsedited  12:50
Open / Comment
2021-02-23 11:15:49 ​​Watch coding videos while you code!

Get a YouTube popout with npx pipcorn [youtube-link]

#js
774 views08:15
Open / Comment
2021-02-17 17:29:26 Breaking news!

Numerical #elixir and Elixir XLA bindings for CPU/GPU/TPU.

https://github.com/elixir-nx/nx
1.9K views14:29
Open / Comment
2021-02-17 11:49:03 So, after recent cryptography incident (https://github.com/pyca/cryptography/issues/5771) our build-times inside the Alpine-based docker-in-docker CI went from several seconds to ~6 minutes just to install #python dependencies.

This forced me to create our own dind image (https://github.com/wemake-services/wemake-dind/) with everything properly set up: python, rust (required to build `cryptography`), docker-compose, and several #docker quality tools like:
- https://github.com/wemake-services/dump-env which enforces strict .env configuration policies
- https://github.com/wemake-services/docker-image-size-limit which enforces strict image size control

Feel free to use it in your own CI pipelines! Not just for python, but for any docker-in-docker setups that use docker-compose.
1.9K viewsedited  08:49
Open / Comment
2021-02-09 11:17:11 wemake-python-styleguide@0.15 is just released!

It is the strictest and most opinionated #python linter ever.
Now with even more rules!

https://github.com/wemake-services/wemake-python-styleguide/releases/tag/0.15.0

Features that I really like in this new release:
- python3.9 official support
- Python gets adding new stuff - we continue to forbid using it, now with relaxed decorator syntax. Only old style is allowed, yeay!
- Unpythonic getters and setters detection: no more get_x and set_x methods!
- Consistent comprehension structure: now all your comprehensions will look the same!
- Configuration option to forbid ignoring some violations inline with noqa, might be really useful for complexity rules!

Check it out!

Even more goodness will land in the future vesions. We have a lot of ideas! Do you want to help with the project development? Drop me a line!
3.4K viewsedited  08:17
Open / Comment
2020-12-25 11:30:57 ​​ Breaking news!

#ruby 3.0.0 Released!

Ruby 3.0.0 covers those goals by:
- Performance: MJIT
- Concurrency: Ractor and Fiber Scheduler
- Typing (Static Analysis): RBS, TypeProf

https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/
5.9K views08:30
Open / Comment