• 17 Posts
  • 1.75K Comments
Joined 4 years ago
cake
Cake day: May 31st, 2020

help-circle

  • Personally, I’ve found Poetry somewhat painful for developing medium-sized or larger applications (which I guess Python really isn’t made for to begin with, but yeah).

    Big problem is that its dependency resolution is probably a magnitude slower than it should be. Anytime we changed something about the dependencies, you’d wait for more than a minute on its verdict. Which is particularly painful, when you have to resolve version conflicts.

    Other big pain point is that it doesn’t support workspaces or multi-project builds or whatever you want to call them, so where you can have multiple related applications or libraries in the same repo and directly depending on each other, without needing to publish a version of the libraries each time you make a change.

    When we started our last big Python project, none of the Python tooling supported workspaces out of the box. Now, there’s Rye, which does so. But yeah, I don’t have experience yet, with how well it works.



  • We’ve got a WebAssembly web-UI at $DAYJOB. Implementation language is Rust, we use the Leptos framework (although other mature frameworks are available for Rust).

    Pros:

    • Same language and similar tooling as in the backend. Most libraries work the same way (obviously excluding libraries that read from the filesystem, for example). This is especially good, if you’ve got lots of “full stack” devs.
    • Same model classes as in the backend. If you change a field, the compiler will force you to fix it on both sides. It is compile-time guaranteed that backend and frontend are compatible.
    • Rust is a nicer language than JS/TS. I find especially Rust’s error handling via Result and Option types + pattern-matching works really well for UI stuff. You just hand the Result value over to your rendering stack and that displays either the value or the error. No unset/null variables, no separate error variable, no ternaries.
    • Having a strict compiler makes it less bad when you’re lax on testing, and frontend code is a pain to test.

    Cons:

    • If you’ve got pure frontend folks, or people who are deep into React or Angular or whatever, those are not going to be as productive.
    • The JS ecosystem is massive, you just won’t find as many component libraries for Rust, which can definitely also reduce productivity.

    With me being in a team with few frontend folks, I would definitely opt for it again.



  • Damn, I definitely won’t stop donating, if they’re this short on money, but that was basically my understanding of what they do, primarily advocacy.

    Is MDN and the webstandards work also part of the Foundation? It certainly feels like it’d be more non-profit-y work. I guess, they do hold ownership of the Corporation, so they could also just tell the Corporation to deliver that.

    But yeah, I’d like some increased messaging of what other work they do, or how much advocacy they can continue to do. Obviously, that’s not an insane number of employees left either way…









  • Well, for reasons, I happen to know that this person is a student, who has effectively no experience dealing with real-world codebases.

    It’s possible that the LLM produced good results for the small codebases and well-known exercises that they had to deal with so far.

    I’m also guessing, they’re learning what a PR is for the first time just now. And then being taught by Microsoft that you can just fire off PRs without a care in the world, like, yeah, how should they know any better?



  • Tangentially related rant: We had a new contributor open up a pull request today and I gave their changes an initial look to make sure no malicious code is included.
    I couldn’t see anything wrong with it. The PR was certainly a bit short, but the task they tackled was pretty much a matter of either it works or it doesn’t. And I figured, if they open a PR, they’ll have a working solution.

    …well, I tell the CI/CD runner to get going and it immediately runs into a compile error. Not an exotic compile error, the person who submitted the PR had never even tried to compile it.

    Then it dawned on me. They had included a link to a GitHub Copilot workspace, supposedly just for context.
    In reality, they had asked the dumbass LLM to do the change described in the ticket and figured, it would produce a working PR right off the bat. No need to even check it, just let the maintainer do the validation.

    In an attempt to give them constructive feedback, I tried to figure out, if this GitHub Copilot workspace thingamabob had a Compile-button that they just forgot to click, so I actually watched Microsoft’s ad video for it.
    And sure enough, I saw right then and there, who really was at fault for this abomination of a PR.

    The ad showed exactly that. Just chat a bit with the LLM and then directly create a PR. Which, yes, there is a theoretical chance of this possibly making sense, like when rewording the documentation. But for any actual code changes? Fuck no.

    So, most sincerely: Fuck you, Microsoft.