Vulwsztyn

joined 2 years ago
[–] Vulwsztyn@programming.dev 1 points 1 week ago* (last edited 1 week ago)

there is node for js without dom

[–] Vulwsztyn@programming.dev 0 points 1 week ago

make links absolute links to the images on codeberg

[–] Vulwsztyn@programming.dev 1 points 2 weeks ago (1 children)

parsing will make it orders of magnitude slower

[–] Vulwsztyn@programming.dev 0 points 3 weeks ago (3 children)

the current versions will still be open source, you will always be able to fork them

[–] Vulwsztyn@programming.dev 0 points 1 month ago* (last edited 1 month ago)

yes, bad practice; yes, against PEP

[–] Vulwsztyn@programming.dev 0 points 1 month ago (1 children)

Thank you.

Remeda.js was organised like this. How would you organise it?

 

cross-posted from: https://programming.dev/post/46518217

Links:

I created it mainly as a proof of concept that python's typing system is mature enough to support such a thing. The process was fun and I was able to help make remeda.js docs a bit better

The library is as typed as possible with my knowledge of python typing system, which means dict typing is kinda meh, but for iterables it is as good as in TS.

I decided to publish 1.X, since I've been adding a lot of stuff that "absolutely must be in 1.X" and got tired of the scope creep, so there is a bunch of TODOs, but they are "nice to have"s.

I'm planning to work on the TODOs and making the docs better now that I've managed to release it.

About the library:

It supports what remeda.js calls "data-first" and "data-last" approaches to calling functions. That means:

x = R.map([1, 2, 3], lambda i: i +1)
# is the same as
x = R.map(lambda i: i +1)([1, 2, 3])

which allows for a "fun" function composition:

import remedapy as R

R.pipe(
    [1, 2, 2, 3, 3, 4, 5, 6],
    R.for_each(print),
    R.unique(),
    R.take(3),
    list
)
# Returns [1, 2, 3]
# Prints:
# 1
# 2
# 2
# 3

Features:

  • as typed as possible, checked with basedpyright
  • 100% code coverage, but the tests could be a bit more exhaustive
  • docstrings for everything (they might require some work)
  • no AI, 100% Human Stupidity
 

Links:

I created it mainly as a proof of concept that python's typing system is mature enough to support such a thing. The process was fun and I was able to help make remeda.js docs a bit better

The library is as typed as possible with my knowledge of python typing system, which means dict typing is kinda meh, but for iterables it is as good as in TS.

I decided to publish 1.X, since I've been adding a lot of stuff that "absolutely must be in 1.X" and got tired of the scope creep, so there is a bunch of TODOs, but they are "nice to have"s.

I'm planning to work on the TODOs and making the docs better now that I've managed to release it.

About the library:

It supports what remeda.js calls "data-first" and "data-last" approaches to calling functions. That means:

x = R.map([1, 2, 3], lambda i: i + 1)
# is the same as
x = R.map(lambda i: i + 1)([1, 2, 3])

which allows for a "fun" function composition:

import remedapy as R

R.pipe(
    [1, 2, 2, 3, 3, 4, 5, 6],
    R.for_each(print),
    R.unique(),
    R.take(3),
    list
)
# Returns [1, 2, 3]
# Prints:
# 1
# 2
# 2
# 3

Features:

  • as typed as possible, checked with basedpyright
  • 100% code coverage, but the tests could be a bit more exhaustive
  • docstrings for everything (they might require some work)
  • no AI, 100% Human Stupidity
[–] Vulwsztyn@programming.dev 2 points 1 month ago

you could say it matters less

[–] Vulwsztyn@programming.dev 0 points 1 month ago (1 children)

any benchmarks to support this claim?

[–] Vulwsztyn@programming.dev 0 points 3 months ago* (last edited 3 months ago) (4 children)

you don't have to rebase.

create a new branch from main

push it

go to main

git reset --hard origin/main

 

I need to boast a bit and ask for "code review". I'm sorry if this doesn't constitute a good post.

I browse local communities more often than I should for my mental health.

I was checking out https://nim-lang.org/ and when I googled it one of the links was to rosettacode.org and I decided to check out the implementation of 2048.

I noticed that zig's implementation was a non-working auto translation of rust's, so I decided to rewrite it.

My repo: https://codeberg.org/Vulwsztyn/2048_zig

With the reader, writer, and arraylist api changes in 0.15 most of the sources were usless and if I hadn't found https://github.com/xyaman/mibu I guess I would have surrendered.

Feel free to roast the hell out of my code.

[–] Vulwsztyn@programming.dev 6 points 4 months ago

coming from a language with consistent pronunciation I pronounce it "aur" like other comments said, like "aurum" or like in Portuguese - how it is written)

[–] Vulwsztyn@programming.dev 0 points 4 months ago

That's not a good idea

 

Hi, I recently realised one can use immutable default arguments to avoid a chain of:

def append_to(element, to=None):
    if to is None:
        to = []

at the beginning of each function with default argument for set, list, or dict.

view more: next ›