• 1 Post
  • 41 Comments
Joined 2 years ago
cake
Cake day: June 19th, 2023

help-circle



  • They also usually assume a lot about the users’ knowledge of the domain of the program itself.

    In my experience, many programs’ man/help is very brief, often a sentence or less per command/flag, with 2 or more terms that don’t mean anything to the uninitiated. Also, even when I think I know all the words, the descriptions are not nearly precise enough to confidently infer what exactly the program is going to do.
    Disclaimers for potentially dangerous/irreversible actions are also often lacking.

    Which is why I almost always look for an article that explains a command using examples, instead of trying to divine what the manual authors had in mind.





  • According to a different source shared by @giriinthejungle, the attorney who has taken the case is suing the entire operating unit and expects whoever instructed the girl to drill the hole to be liable for assault. That is also the estimation of the chief regional patient attorney, provided the incident happened as reported by the media.

    The neurosurgeon as well as one other doctor have already been let go by the hospital.
    Police have not yet charged anyone, their investigation is still ongoing as of the time of the article (2024-08-26).




  • wols@lemm.eetoProgrammer Humor@lemmy.mlGot no time to code
    link
    fedilink
    arrow-up
    1
    arrow-down
    1
    ·
    1 year ago

    Bonus: good tests can also serve as technical documentation.

    Though I have to disagree with the notion that documentation is as important or more so than code.
    Documentation is certainly near the top of the list and often undervalued. I’ve worked on a project where documentation was lacking and it was painful to say the least.
    Without documentation, changing or adding features can be a nightmare. Investigating bugs and offering support is also very difficult. But without code, you have nothing. No product, no users, no value.

    There are (inferior) substitutes for documentation: specialized team knowledge, general technical expertise. These alternative pools of knowledge can be leveraged to create and improve documentation incrementally.
    There’s no replacement for the actual functionality of your applications.


  • I don’t share the hate for flat design.
    It’s cleaner than the others, simpler and less distracting. Easier on the eyes, too. It takes itself seriously and does so successfully imo (nice try, aero). It feels professional in a way all the previous eras don’t - they seem almost child-like by comparison.

    Modern design cultivates recognizable interactions by following conventions and common design language instead of goofy icons and high contrast colors. To me, modern software interfaces look like tools; the further you go back in time, the more they look like toys.

    Old designs can be charming if executed well and in the right context. But I’m glad most things don’t look like they did 30 years ago.

    I’m guessing many people associate older designs with the era they belonged to and the internet culture at the time. Perhaps rosy memories of younger days. Contrasting that with the overbearing corporate atmosphere of today and a general sense of a lack of authenticity in digital spaces everywhere, it’s not unreasonable to see flat design as sterile and soulless. But to me it just looks sleek and efficient.
    I used to spend hours trying to customize UIs to my liking, nowadays pretty much everything just looks good out of the box.

    The one major gripe I have is with the tendency of modern designs to hide interactions behind deeply nested menu hopping. That one feels like an over-correction from the excessively cluttered menus of the past.
    That and the fact that there’s way too many “settings” sections and you can never figure out which one has the thing you’re looking for.

    P S. The picture did flat design dirty by putting it on white background - we’re living in the era of dark mode!





  • This works as a general guideline, but sometimes you aren’t able to write the code in a way that truly self-documents.
    If you come back to a function after a month and need half an hour to understand it, you should probably add some comments explaining what was done and why it was done that way (in addition to considering if you should perhaps rewrite it entirely).
    If your code is going to be used by third parties, you almost always need more documentation than the raw code.

    Yes documentation can become obsolete. So constrain its use to cases where it actually adds clarity and commit to keeping it up to date with the evolving code.



  • If their password was actually good (18+ random characters) it’s not feasible with current day technology to brute force, no matter how few PBKDF2 iterations were used.

    Obviously it’s still a big issue because in many cases people don’t use strong enough passwords (and apparently LastPass stored some of the information in plaintext) but a strong password is still good protection provided the encryption algorithm doesn’t have any known exploitable weaknesses.



  • There’s no need for something that complex.
    Someone with access to a chess engine watches the game and inputs the moves into the engine as they’re played. If there’s a critical move (only 1 or very few of the options are winning/don’t throw the game) they send a simple signal to let him know. That can be enough to give you an advantage at that level. If you really want, you could send a number between 1 and 6 to represent which piece the engine prefers to move, but it’s likely not necessary.

    That said, all the evidence he actually did anything like that is at best circumstantial (mostly statistical evidence supposedly showing how unlikely his performance was given his past performance and rating at the time, as well as known instances of past cheating by him - though the only confirmed ones were several years ago when he was still a kid and online rather than in person).


  • wols@lemm.eetoProgrammer Humor@lemmy.mlIn case you forgot.
    link
    fedilink
    arrow-up
    13
    arrow-down
    1
    ·
    2 years ago

    Extra steps that guarantee you don’t accidentally treat an integer as if it were a string or an array and get a runtime exception.
    With generics, the compiler can prove that the thing you’re passing to that function is actually something the function can use.

    Really what you’re doing if you’re honest, is doing the compiler’s work: hmm inside this function I access this field on this parameter. Can I pass an argument of such and such type here? Lemme check if it has that field. Forgot to check? Or were mistaken? Runtime error! If you’re lucky, you caught it before production.

    Not to mention that types communicate intent. It’s no fun trying to figure out how to use a library that has bad/missing documentation. But it’s a hell of a lot easier if you don’t need to guess what type of arguments its functions can handle.