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/)S
Posts
1
Comments
66
Joined
3 yr. ago

  • We are missing a lot of context but strong type systems give you the superpower to make unwanted state unrepresentable:

    Here we can see the class member invalid being used as a flag to express that this method didn't work out as expected. It is very easy for someone else down the line to ignore/forget (/never even knew about it) to check that invalid flag and just use the result regardless, which will likely lead to more failures later on.

    Instead the author should directly return something that indicates invalidness. This could be as simple as returning a boolean or especially if this is a constructor it would be better to throw an error.

    That way the invalid class never even gets instantiated and is therefore impossible to misuse. All validated by the type system.

  • crates.io: Malicious crates faster_log and async_println | Rust Blog

    Jump
  • As long as people are using Rust, it will necessarily attract this kind of action. This won't be the last attack we will see.

    I think the team has handled it quite well.

  • Like you already hinted at batteries are DC systems and can only be charged using DC. Many EVs have at least a small AC to DC converter on board. When you plug it into an AC source the charging speed is limited by the size of that converter.

    DC charging stations bring their own converters which are oftentimes much more powerful and therefore heavier than what your car carries along.

    Whether you use an external 19kW converter or your cars internal converter doesn't make a difference. In both cases the cars charging circuitry will monitor for dangerous situations such as overheating and throttle the charger down if need be.

    The important question is how large your cars converter actually is. Sure the L2 charger provides 19kW AC but can your car's converter actually use all of that?

    If it can only do 10-15-ish kW then it'll charge slower and therefore won't tax the battery as much as a DC charger with 19kW would.

    I don't know what car this is and how PHEVs play into this but existing BEVs have been charging with much higher speeds for more than 100,000 miles and generally don't end up with broken batteries.

    Depends a lot on the make and model of course, as I'm sure there are some horrible examples out there. But the public fast chargers wouldn't be under such demand if it was that damaging to the cars.

  • The post text doesn't seem to get displayed on some clients (Voyager) so I'll attach it here as well:

    asciinema (aka asciinema CLI or asciinema recorder) is a command-line tool for recording and live streaming terminal sessions.

    This is a complete rewrite of asciinema in Rust, upgrading the recording file format, introducing terminal live streaming, and bringing numerous improvements across the board.

  • Not just on the web. I've previously used it to embed a short clip in a presentation.

    The nice thing is that it doesn't do a massive screencap but only captures the text. This way the replay will be freshly rendered at native resolution.

  • Stuffing batteries into the cardan tunnel was a stupid idea. If you want your EV to have any range you need to design the chassis from the ground up for that purpose. You know just like they did for the Golf with an ICE engine.

    I'm not against a refreshed EV Golf but that earlier concept wasn't the best implementation.

  • There are even little interactive tools for it like: cargo-wizard

  • Good move. Especially for incremental builds linking tends to take up quite a large percentage of the compile time.

    I've mostly switched to mold for that reason but having a fast default linker is nice.

  • My motivation for using NixOS is maintenance. I've been running 2-3 personal Linux computers for the last decade, with one of them being a server.

    To get stuff like services working with each other you sometimes need to make small changes to the config files of some services. The issue for me especially with the many services running on the server is coming back to a broken/misbehaving machine after 4+ months and now having to research what changes I made long ago and where those config files are buried.

    Making the change and testing it would likely take less than 5 minutes if you had every detail you need fresh on your mind.

    I simply don't have the mental capacity to remember all that stuff after months of working on other things. Especially if you're coming back to something broken this is a really annoying position to be in.

    You want the fix now but have to start by looking up docs and trying to figure out what past-self did to get you into this mess, or to find out what has changed since then.

    At some point I had enough and was either going to teach myself some sort of personal changelog / documentation system, or learn a new declarative configuration system.

    Huge respect for anyone who can keep all this info in their mind and to those that meticulously update their own documentation, but I lack the discipline to do so in the heat of battle and will easily miss things.

    Since then any system that I will have to maintain myself has been using some form of declarative management. It keeps all configuration accessible and organized in one place, so I don't have to go digging for the correct file paths. It self updates so that even when I go back and forth during testing I won't miss updating my standalone docs.

    And NixOS brings this to my whole system. No old programs lying around because you forgot to uninstall them and have now forgotten about it. Same thing with pinned package versions that then wreak havoc once they're incompatible with the updated rest of the system. It even configures my goto tools (shell, editors, etc) to my personal liking when I set up a new machine.

    Its not the first declarative system and probably won't be the last one I will use, but for now it really makes my life noticeably easier.

  • I get that this seems very intimating, but if you've ever used more than three programming languages in your life, I believe you won't have much to learn.

    I can mimic the syntax and I very roughly understand how the import system works. But I don't know Nix! Yet I haven't had any trouble language wise over the last few years.

    In my experience most of the "code" you write is package names and those can be copied from search.nixos.org.

    In that sense I'm effectively using it as a markup language and I don't think anyone has ever gotten discouraged by having to "learn" YAML, just so they can write a config file for some piece of software they want to use.

    Something that I would take as discouragement is the state of the documentation. It has been improving to a usable level in some areas but other areas are heavily outdated or just plain missing.

  • Hoping to get a piece of that fish

  • Bezüglich des Pfostentexts: Eine "Break" ist das nur wenn du sie nicht benutzt.

  • gitui and the plain old git cli

  • Thanks for the heads up. I have an ESPHome device with a display where I've replicated the HA look and feel. Guess I'll have to update that now

  • While I fully agree with the opt-in sentiment, 95% of all core integrations are likely "inactive bloatware" on your instance, yet I don't see anyone complaining about that.

    Last time I checked we were at around 1500 core integrations on the search page.

  • How well NixOS fits your purpose really depends on what you want to do with the OS. If you're just going run a bunch of docker containers, you could manage them via Nix but its a little cumbersome.

    Where NixOS really shines for small servers are the so called NixOS Options. They allow you to install tons of services on bare metal but manage all the configuration for you. E.g. open the correct firewalls ports, run a dedicated DB or cache, etc. and all those simply require you to enable them with an ... = true;.

    Smaller projects might not have a NixOS Option available and some options are more and/or easier configurable than others, but if you're running just a few common services you could feasibly manage your whole server with just one native config file and no docker shenanigans.

    I'd recommend checking what's available under the link above. If you wanna go the container route instead, you have the option of just using docker non-declaratively as on every other distro (but then you lose some of the benefits NixOS gives you), or you can declaratively have NixOS manage all the docker containers. There are a few ways to do and manage this so some further research will be required.

  • Indeed

  • Not an expert. This has been done quite successfully for space applications. Granted they are only required to roll out once but they have to do so with near perfect reliability. There are quite a few makes and models but I'll reference the ones currently mounted on the ISS (ROSA made by Redwire) because you've probably seen pictures of them.

    Their patent states that they use polymeric sheets or fiberglass meshes as a backing material.

    Here they are in their packed up state:

    And unpacked (the brownish "smaller" panels on the right, note that they are still longer than entire human modules):

  • Then helmfile might be worth checking out