I’m a technical kinda guy, doing technical kinda stuff.

  • 0 Posts
  • 60 Comments
Joined 1 year ago
cake
Cake day: September 27th, 2023

help-circle

  • Blu-Ray USB drive and M-Discs is about the best you can get at present. Keep the drive unplugged when not in use, it’ll probably last 10-20 years in storage.

    Seeing as there hasn’t been much advance past Blu-ray, keep an eye out for something useful to replace it in the future, or at least get another drive when you notice them becoming scarce.





  • If you’re interested in the systems behind Apollo, go find and read “Digital Apollo”.

    It goes all the way through the project and describes in good detail everything, how they developed the control systems, the computer hardware, how the software was designed, how they implemented one of the first real computer systems project management, all the interactions between astronauts/test pilots who still wanted to “manually fly the lander”, the political back and forth between competing teams, the whole thing.

    It’s a great read if you have a technical mindset.



  • Usually iterations of:

    “Closed and locked due to duplicate of: (question asked 9 years ago about Visual Studio 2011 and Visual Basic, when you’re using VS code '22 and C#)”

    “This seems like an XY problem, what are you really trying to accomplish?”, after a one thousand word post describing in detail the many different reasons why you can’t just use #GENERIC_EVERYDAY_METHOD.

    Either that or the quick and dirty method that I want for a one off data conversion that uses standard libraries is heavily down voted and lost while the elaborate, all-cases-considered, 7-third-party-library-using answer becomes the top result.


  • Dave.@aussie.zonetoLinux@lemmy.mlCompanies that use desktop Linux
    link
    fedilink
    arrow-up
    39
    arrow-down
    1
    ·
    1 month ago

    how the IT team tries to justify being locked into Microsoft, and then telling me I could potentially become a point of vulnerability

    Because they can manage and control all the windows PCs , pushing updates automatically, restricting what users can do locally and on the network, they have monitoring tools and whatever antivirus and antimalware tools they have, and are able to easily manage and deploy/remove software and associated group licensing and so on and so forth.

    Meanwhile you’re a single user of unknown (to them) capabilities that they now have to trust with the rest of their system, basically.

    The first rule of corporate IT is, “control what’s on your network”. Your PC is their concern still, but they have no effective control over it. That’s why they’re being a bit of a pain in the ass about it.


  • Dave.@aussie.zonetoProgrammer Humor@lemmy.mlStop
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    2 months ago

    There was a series of books in the '80s where a systems programmer gets pulled through a portal into your typical magical world, good vs evil, etc.

    They subsequently look at the magical spells in use and realise they can apply Good Systems Programming Practices™ to them. And thus, with their knowledge of subroutines and parallel processing, they amplify their tiny innate magical abilities up to become a Pretty Good Magician™. So while all the rest of the magicians basically have to construct their spells to execute in a linear fashion, they’re making magical subroutines and utility functions and spawning recursive spells without halting checks and generally causing havoc.

    It’s quite a good allegory for modern times, where a select few build all the magic and the rest just have useful artefacts they use on a day to day basis with no idea how they work


  • in which case I will go one level down, to the calculateExtraCommissions() method.

    In which case you will discover that the calculateExtraCommissions() function also has the same nested functions and you eventually find six subfunctions that each calculate some fraction of the extra commission, all of which could have been condensed into three lines of code in the parent function.

    Following the author’s idea of clean code to the letter results in a thick and incomprehensible function soup.





  • Have a look here at the ICMP source code in the Linux kernel at line 400. That is the ICMP reply code.

    At lines 433/434 you can see the collection of the source and destination MAC addresses from the incoming packet. The source is just lifted directly from the packet, the destination is done with a helper function that presumably looks at which interface it arrived on and returns the MAC address of that interface.

    Lines 441 onwards construct the reply packet and push it to the generic ICMP transmit function (which is a bit higher up in the source code), which then pushes it on to the network stack.

    Hope that gives you an idea of how it works internally! It’s really only a slightly more detailed version of the actual standard, there are a few checks to make sure that we are not exceeding network rate limits in the stack and etc, but it’s a quite simple bit of code.

    Added edit: it’s “simple” at this point because a lot of the work has already been done. The packet has arrived via the network stack, it has been determined to be an ICMP packet, and it was sent here to this function. There are already functions that send packets out via the network stack, so this chunk of code just builds an appropriate packet and hands it on to be sent.