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/)F
Posts
2
Comments
1234
Joined
3 yr. ago

  • IMO it's not as good a language as Rust, so I wouldn't learn it for the purposes of making something. However it's very easy to learn (at least to a productive level), so you may as well if you want to.

    Just work through go by example and see what you think.

    By far the best thing about Go is the tooling. Language itself is eh.

  • Worktrees are great, and a good reason (if you needed any more) to avoid submodules like the plague. Worktrees don't work with submodules.

  • They used to have Typescript. Looks like they removed it at some point.

  • It's barely transpiled. There are a couple of features that involve actual code generation - enums and namespaces (which are almost never used), but the vast majority of it is just stripping the type annotations so the performance will be 100% identical.

    It's like having "Python" and "Python with type hints" as separate languages and claiming there is a big speed difference between them.

  • That actually hasn't been my experience of programmers' behaviour. There are many developers who can't be bothered to set up tools like IDEs, intellisense, debuggers, etc. which would definitely make them faster after the initial setup. I can easily believe it's the same for AI.

    That said, it does seem silly to require you to use it.

  • Sure, but I don't think that's an excuse for things like global hotkeys not working.

  • It's a very heavily gamed benchmark. The most frequent issues I've seen are:

    • Different uses of multi-threading - some submissions use it, some don't.
    • Different algorithms for the same problem.
    • Calling into C libraries to do the actual work. Lots of the Python submissions do this.

    They've finally started labelling stupid submissions with "contentious" labels at least, but not when this study was done.

  • They chose an “optimized” set of algorithms from “The Computer Language Benchmarks Game” to produce results for well-optimized code in each language.

    Honestly that's all you need to know to throw this paper away.

  • Stop linking this, please! Any benchmark where Typescript and JavaScript are different is trash.

  • Wow that's kinda crazy. My work is the opposite - we're banned from using AI. Why is nobody in the sensible middle?

  • Basically it uses bind mounts instead. See this page for details.

    I haven't actually used (since Plan 9 is dead) and I doubt it covers every use case for symlinks (e.g. this wouldn't let you commit them to a git repo), but I really think the benefits of symlinks not existing at all would far outweigh the effort of having to think of alternative solutions.

    Sadly we don't get to live in that alternative history now... :-/

  • The Plan 9 solution looks better to me. At the very least if you keep them then paths should be resolved lexically. I think most people are under the false impression that they are resolved lexically (i.e. foo/bar/../baz and foo/baz are the same).

    But IMO it's better just to not have them and use another solution where you might have used them.

  • The objections to symlinks are not academic. They have real world flaws.

  • You used to need admin or something like that. It's only since about 2017 that they are available to normal users by default.

  • Or giving in. Symlinks are a lazy hacky mistake. The original Unix authors knew it and tried to fix it in Plan9, but I guess now we're stuck with that mistake forever. Even WASI supports symlinks.

    https://dl.acm.org/doi/10.5555/1267724.1267731

  • Windows is doing Linux a solid here by requiring ACPI on ARM. Kind of surprising that Linux doesn't support it.

  • Good! Maybe they'll start taking security seriously...

  • So why can't Linux just do whatever the Windows update does?

  • TL;DR: yes.