Interests: News, Finance, Computer, Science, Tech, and Living

  • 1 post
  • 64 comments
Joined 3 years ago
Cake day: June 13th, 2023
  • That is interesting. You can do that by the command line. Basically run cryptsetup to map the encrypted partition, then run mount. Those commands could also be place in a bash script too. You may need sudo access to run cryptsetup. You will need sudo access for mount unless you configure it as user mountable and not auto mounted in fstab.

    You also want script to umount it and unmap it with cryptsetup when done.

    Graphically, maybe the Disks gnome tool can do.

  • Common:

    • Procedural, preferably Functional. If you need a procedure or function use a procedure or function.
    • Object Oriented. If you need an object use an object.
    • Modular
    • Package/Collection of Modules
    • Do not optimize unless you need to.
    • Readable is more important then compact.
    • Somone said minimal code coupling, Yes! Try to have code complexity increase closer to N then N factorial where N is code size.

    Frankly everything else is specialized though not unuseful.

  • To test, write known random data to fill the drive at the block device level, reboot or otherwise clear the buffers, and then read the whole drive again validating the data is exactly correct. These fake drives should not be able to fake random data filling.

  • You can get about 10x by compiling Python using PyPy. So compiling is not nothing. Using Numpy alone is about 5x which surprised me. There is a lot of missleading stuff out there about how to make Python fast. Lot of people say CPython is pretty fast or that using a binary library like numpy is fast. No CPython is very slow and libraries are not always that fast.

    Edit: Another compiler is Numba which is more specialized. It can get 30x on some code without numpy. Again compiling can help.

  • We will have to disagree on that. This is all problem spectific, but I have found C code integrated via ctypes, cffi, or by a C extension is over 100x Python alone. Interestingly Python, Numba, and Numpy together which is a more pythonic solution can get to those speeds too.

    All of the other approaches I have tried are much slower: Nuitka, Cython, Numpy alone, PyPy, etc.

    To get best speeds one has to compile for your specific architecture and enable things like vectorization, auto parallel, and fast math. Most default builds including libraries do not do that.

  • White space nonsense. Yes and no. I do not enjoy tracking down white space issues until I remember the alternative. Matching brackets, writing begin/end statements, and worst of all looking at code that appears well indented until later you find it is not. and it runs totally differently then it looks. Similar issues with semicolons.

    Pretty much everyone uses LSEs these days so frankly matters less either way most of the time.