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
3
Comments
1828
Joined
3 yr. ago

  • I would teach Typescript. Being able to write the types down and hover things to see what types they are will definitely help them.

    I think C would put them off. I also wouldn't go with Python, in case they want to do things like write games or make websites, which are common tasks you can do with Typescript but not very well with Python.

  • ORMs are a pain and so is hand rolling SQL queries and doing the mapping manually.

    I definitely think there's scope for NoSQL databases where the database "shape" matches the normal struct style of programming languages. Kind of like how JSON does and XML doesn't.

    But it seems like all we got was MongoDB and Firebase which are both shit.

    Are there any good NoSQL databases? MongoDB and Firebase don't even have schemas.

  • You don't need ORMs to prevent SQL injection. Prepared statements have existed for decades.

  • I always like "by example"s for learning languages - here's Rust's.

    I'd probably make a project with it. Maybe a CLI tool using clap_derive and some crate that does something neat that you want to do. Depends what you're interested in I guess.

    I wouldn't recommend trying to do leetcode problems with Rust because they are obsessed with linked lists and linked lists are awkward in Rust.

    Also I wouldn't recommend making a game or GUI app with Rust yet since the ecosystems there are immature.

    A microcontroller project using Embassy is probably a fun way to learn too but I haven't actually tried it yet.

  • How does it integrate Slack and WhatsApp, given they don't have official APIs? All reverse engineered?

  • Well they're open source so we're not losing them yet. Especially with uv, it's pretty clear that it is such a vast improvement over the clusterfuck of pip that a community fork is virtually guaranteed if it is ever necessary.

  • Yeah I think the reputation was probably deserved early in Rust's life, but as time has gone on it has gotten a lot easier to write, especially with the non-lexical lifetimes update 3 years ago.

  • It's better than nothing but it really only drags Bash from "your code is definitely horribly broken" to "your code is probably broken". Nothing like Rust!

  • Yeah I know, but if you really mean that analogy then the conclusion is that the normal thing for 99% of programmers to do should be to use AI. In the same way that 99% of people do not get around by running.

    I don't agree with that yet - so far I've found AI to be a very fast but mediocre programmer. Kind of like giving a beginner access to all the documentation and a time machine. Sometimes that's exactly what you want. But definitely not most of the time.

  • Not everyone that runs is an avid runner.

    But I do feel like the analogies aren't that great. Coding in notepad instead of an IDE is dumb because IDEs work and don't really have any downsides. AI mostly seems to produce slop that barely works without a ton of cajoling.

  • modern C++ facilities do make a difference to prevalence of bugs.

    This is true, but just saying "write modern C++!" doesn't actually work in practice. First, there are a ton of footguns that even best-practice C++ doesn't avoid. Using std::shared_ptr? Great, you're probably going to avoid memory leaks. Null pointer dereference? Not so much. What's the modern C++ way to avoid integer overflow?

    Second, it's pretty much impossible to completely avoid raw pointers etc. even if you're trying, and good luck getting your colleagues to actually try. I can't even get mine to write proper commit messages. You need a machine forcing them to do it properly. Something they can't opt out of (or at least where opting out isn't the easy lazy option).

    So yeah it's better to use modern C++ and it is an improvement, but not enough the change the conclusion that you should just use Rust instead.

  • Impressive transition. It's definitely better just to start with type annotations. It's around 3-10x more work to add them later, and you don't get the productivity benefits of having had them along the way. Same goes for Python.

  • Damn that's pretty good! (Outside the US I mean.)

    Presumably this would be a bit higher actually since it's contract work, not full time.

  • For benchmarking commands you can't beat hyperfine. But if you are really talking microbenchmarks you have to do that in-program so it'll depend on what language you're using.

    E.g. for Rust Criterion is the go-to option.

  • 8 GB is a really small amount. Even phones have had that much RAM for several years. The average desktop I built in 2012 had 16 GB of RAM.

    Plenty of modern computers only come with a small amount of RAM, because most people only need a small amount, but 8 GB is still a small amount.

  • That is about their AI service. If you don't use that then who cares?

  • Deleted

    Permanently Deleted

    Jump
  • To be honest I suspect they wanted to do this before, but the power mods wouldn't allow it. I definitely remember the staff posting a proposal to allow second chances for closed questions, and it was downvoted to hell by the mods. They presumably got scared because they were getting a lot of free labour from the mods (even if it probably wasn't exactly the kind they wanted).

    Now StackOverflow is dead the mods have no power, so they are free to make changes.

  • Deleted

    Permanently Deleted

    Jump
  • The company is going forward with it because the "active community" killed their site and now they have no choice.

    If they had done it before AI became a viable alternative they might still have some users.