Skip Navigation

InitialsDiceBearhttps://github.com/dicebear/dicebearhttps://creativecommons.org/publicdomain/zero/1.0/„Initials” (https://github.com/dicebear/dicebear) by „DiceBear”, licensed under „CC0 1.0” (https://creativecommons.org/publicdomain/zero/1.0/)C
Posts
0
Comments
522
Joined
3 yr. ago

  • Installing dependencies via the OS' package manager is one of the worst experiences there is. I understand it for C, because the language is ancient and doesn't have its own dependency manager.

    But when developing, there are many dependencies you need that aren't in the package manager. And when they are, they are often years old versions.

    And in the case of python, it installs dependencies in the global scope, which means that you sometimes import that version instead of the pip one.

    And in the case of python there's the extra:

    python main.py

    python command not found

    Ah. It must be python3 then. Now all the bash scripts are broken. Since it's python3, I'm going to install packages with pip3:

    pip3 install matplotlib

    pip3 command not found

    What?? So for python you need to put the 3, but for pip they removed it?

    Ngl, python development is much less stressful on windows.

  • The same argument for cartels. "We didn't all increase our prices to the exact same amount, we just paid a consulting company to tell us which price we should use. Of course our competitors used the exact same company, but that's just a coincidence".

  • Tbf that leads to the problem of:

    Company/Individual makes program that is in no way meant for making management decision.

    Someone else comes and deploys that program to make management decisions.

    The ones that made that program couldn't stop the ones that deployed it from deploying it.

    Even if the maker aimed to make a decision-making program, and marketed it as so. Whoever deployed it is ultimately the responsible for it. As long as the maker doesn't fake tests or certifications of course, I'm sure that would violate many laws.

  • Gen AI porn and shitposts are the only 2 decent use cases I've seen of gen AI.

    You can't make half of those without training it on porn.

  • Maybe they changed the defaults. I stopped using GitHub after they trained their AI over private repos.

    But I remember clearly that I was annoyed when looking at my own repos because my forks (for actually doing PRs) would show at the top instead of my own repos.

  • Maybe some people don't delete the fork after their PR is done.

    In my case, I found another explanation.

    Sometimes, a random person comes and forks one of my repos. I check their profile, and it's a techbro student with hundreds of forked repos without any commits. With their bio referencing AI or some shit.

    I'm pretty sure these people fork a lot of repos just to pad their CV or something. Make it look like you have a lot of repos. Because when you go to someone's profile, it is not clear that a repo is a fork instead of their own creation.

  • Deleted

    Permanently Deleted

    Jump
  • Maybe naming single-letter variables I can see being easier to review than to do.

    Any other kind of refactoring though, IDE refactoring tools are instantaneous and deterministic.

  • The problem with that is that reviewing takes time. Valuable maintainer time.

    Curl faced this issue. Hundreds of AI slop "security vulnerabilities" were submitted to curl. Since they are security vulnerabilities, they can't just ignore them, they had to read every one of them, only to find out they weren't real. Wasting a bunch of time.

    Most of the slop was basically people typing into chatgpt "find me a security vulnerability of a project that has a bounty for finding one" and just copy-pasting whatever it said in a bug report.

    With simple MRs at least you can just ignore the AI ones an priorize the human ones if you don't have enough time. But that will just lead to AI slop not being marked as such in order to skip the low-prio AI queue.

  • I hope they are prepare for the AI slop DDoS. Curl wasn't, and they didn't even state they would welcome AI contributions.

  • I don't say to abolish tax. With tax, however, you can set taxes on the transactions made for evading taxes. You can't set a maximum wage on foreign companies though.

  • But how would setting a minimum wage fix the loopholes of setting a maximum wage. That makes no sense unless you explain further.

  • I don't see what Switzerland has to do with any of this. And why it would be fixed if Switzerland set a minimum wage.

  • The problem of this is always the same. Contractors. Is your janitor holding the wage of your CEO down? Easy fix, you are the CEO. Fire the janitor and hire a cleaning company. Since the employees of the cleaning company are not your employees, their wages are no longer relevant.

    At some point, the CEO can just have its own company of 1 employee (himself) which owns 100% of the stakes of the real company, and he can also be CEO of the real company. The real company would just pay massive amounts to the CEO company for "IP" or "consulting".

    This policy can be implemented voluntarily by companies, but I don't think a government can make a law to implement this policy without obvious loopholes.

  • There are use cases. Like containers where the pointer to the object itself is the key (for example a set). But they are niche and should be implemented by the standard library anyway. One of the things I hate most about Java is .equals() on strings. 99.999% of times you compare strings, you want to compare the contents, yet there is a reserved operator to do the wrong comparison.

  • I don't like this article. The only 2 options considered are:

    • One color for each different token equally spaced by hue + colorized brackets.
    • Almost no coloring at all.

    There is a huge range of options in between.

    I use my own theme because I dislike every theme I've tried so far.

    It is basically all browny orange (because it is easy on the eyes) on a #000000 black background. However, each token type has a distinct color (within the same hue). This makes it easy to read since there is no constant color switching. But it's also very easy to see which type a token is, since the colors are distinct enough. Obviously no colored brackets.

    And I still have room for highlighting special tokens that I care about. For example self/this is dim pistachio green instead of orange. String literals are greeny yellow and numerical constants bright orange. And punctuation is dark green.

    It also not only doesn't colorize variables as the article suggests, it colorizes them with semantic highlighting. Parameters, and local variables are different colors. They also differ if they are mutable (for rust for example). Which means at least 4 different colors just for variables. And it helps a lot.

    I also dislike that the article dismisses the main purpose of colorizing keywords, which is typos. Colors allow to see typos as you write them. Having a section of code and saying "find me the typo" is not a realistic scenario. As you type "return", you expect that it is red whole writing, and blue when you type the last "n". If it doesn't turn blue when you finish writing it, you know you didn't do what you wanted to do. Which is instant feedback. This goes for all tokens, not just keywords. If I write the name of a struct, but it has the color of a variable, I probably wrote it wrong or I need to import it.

  • Encapsulation.

    Any time i even think I need inheritance, I immediately change it for encapsulation. I've never regretted this.

  • Yes that is correct. A BigInt represents the entire integer set.

    Rational numbers are defined by just 2 integers. Therefore, 2 BigInts represent the entire rational set.