• 6 Posts
  • 38 Comments
Joined 1 year ago
cake
Cake day: June 11th, 2023

help-circle

  • I don’t see how that is relevant? You’re already familiar with C, so writing about C does not influence whether you will be outdated in a few years. Learning and writing about Rust could be something that becomes useful, but not necessarily practically - it depends on what you will do in the future.

    If you feel you lost your passion, I would suggest learning and experimenting with Rust. It’s different, so may be interesting and thought provoking to learn.

    Writing down what you know about C may also be worthwhile, good, or produce a good resource, but I don’t see it as much or like as sparking lost interest and passion. If that is actually your goal (you only asked about future relevancy in the end).




  • Who has age authority? A state agency or service. Like the state issues an ID with age.

    Preferable, we want the user to interact with a website, that website request age authentication, but not the website to talk to the government, but through the user.

    Thus, something/somewhat like

    1. State agency issues a certificate to the user
    2. User assigns a password to encrypt the user certificate
    3. User connects to random website A
    4. Random website A creates an age verification request signed to only be resolveable by state agency but sends it to the user
    5. User sends the request to a state service with their user certificate for authentication
    6. State agency confirms-signs the response
    7. User passes the responds along to the random website A

    There may be alternative, simpler, or less verbose/complicated alternatives. But I’m sure it would be possible, and I think it lays out how “double-blind”(?) could work.

    The random website A does not know the identity or age of the user - only to the degree they requested to verify - and the state agency knows only of a request, not its origin or application - to the degree the request and user pass-along includes.










  • Presentation/Lecture; bad software quality due to software stack complexity with increased separation of layers and participants

    SoC (System on a Chip) hardware for embedded/smaller use cases is very common and successful.

    Suggests “Direct Coding” with direct hardware access as a possible alternative approach to PC hardware interfacing. Implementing that is more about commitment than difficulty. Depends more on hardware producers than software developers. A lack of drivers could give a fairer playing field between manufacturers.



  • Kissaki@programming.devtoProgramming@programming.devBaby unit tests
    link
    fedilink
    English
    arrow-up
    6
    ·
    edit-2
    14 days ago

    Seems like a Ruby issue and suggested improvement? Using keyword arguments does feel like introducing a type of typing.

    In C# I use records for simple, naturally behaving types, I can define explicit and implicit cast operators, so I have to choice between requiring explicit casts or not (because they make sense to require or are not necessary). I can use var to define a variable without specifying a type, and it is deducted from what it gets assigned - but is still that specific type and gives me type safety.

    In Rust, as far as I understand anyway, traits define shared behavior. In Go interface implementations are implicit rather than explicit. With these, there’s even less of a need of elaborate explicit typing like the post argues/gives an example of.


    In general, I’ve never had considerable effort or annoyance implementing or using typing. And I know what it’s good for; explicitness, and in consequence, predictability, certainty, increased maintainability, and reduced issues and confusions. If following references or refactoring becomes unpredictable or high effort, it’d be quite annoying.

    When I’m coding JavaScript adding JSDoc so the typing information gets passed along is quite cumbersome. Without it, the IDE does not give intellisense/auto-completion or argument type matching. JavaScript is better with it, I consider it worth it with IDE support, but it is quite cumbersome. (I try to evade TypeScript compiler/tooling overhead.)

    A programming language can offer extensive auto-deduction while using strong typing. With appropriate conversions in place, it will only report conflicts and where it was intended to.


    I’m thinking of where I enjoyed dynamic natures, which I certainly have. But I don’t think that’s a matter of typing. It’s a matter of programming language interfacing to typing. If in PHP or JS I make a change, hit F5, and get an error, that’s not any better than the IDE already showing it beforehand. And for the most part, I can program the same way with or without typing.

    Man, this became a long text.