2,126 karma · joined June 21, 2009
https://github.com/CyberShadow
[ my public key: https://keybase.io/cybershadow; my proof: https://keybase.io/cybershadow/sigs/iQOqJAZGCVN0DykK2PLwcTGU247dIo3aZnm6s6VOgjk ]
For example, here is a program which, given a file's SHA1 and path, finds the last commit to have that file version at that path: https://github.com/cybershadow/misc/blob/master/git-find-fil...
Upside: works anywhere, much lighter mental load, relatively easy to learn and adjust to.
Downside: some programs (ironically, mainly Emacs) can't keep up, and scrolling becomes choppy.
On Linux this is quite easy. When I was using Windows, there was no good solution for USB keyboards, so I hacked up a driver to do it: https://github.com/CyberShadow/KeyboardEmperor (signing keys not included).
Happy to compromise on that both titles are not ideal :)
> uses copy acceleration when the file system supports it
I thought that refers to clone_file_range, but that doesn't seem to be the case. As such, I would recommend looking into that, I believe it's supported on btrfs and XFS currently in Linux.
There is also sendfile, but it's probably the same as copy_file_range.
For Europe there is the EU Directive 2009/24/EC, and I think I remember reading something almost like that predating it by many years in some country's (possibly mine) legislation.
IANAL, but - there's no way that can be true. Reverse engineering of machine code is generally forbidden except for very specific exemptions, like compatibility with other systems. Furthermore, even under such exemptions, you are still generally not allowed to share the results.
Even putting reverse engineering aside, they are still distributing code that was written by Nintendo (although meticulously transformed in a way that makes reading and modification much easier), and which still belongs to them.
What would have been legal is if either this was a black box reverse engineering effort, in which all code was written without ever looking at the original machine code, or releasing a tool which fully automatically decompiles the ROM (which is not included with the tool, and must be acquired separately, probably from dumping a cartridge).
(Had to research this subject a bit as part of my collaboration on https://github.com/Davidebyzero/Snipes)
If you implement this as a view (rather than imperatively), you can get the compiler to optimize out four successive rotations to nothing :)
https://blog.cy.md/2014/03/21/functional-image-processing-in...
https://www.ocf.berkeley.edu/~fricke/projects/israel/paeth/r...
No, it's still there even in the most recent version. (Maybe I just have too much mail?)
I switched to Thunderbird at the same time I switched to Linux; after some tweaking, I was mostly happy with it.
Then, in some major version, it started frequently freezing up for thirty seconds at a time. Authoring emails in it became impossible. I could not downgrade it because it was version-locked with some system libraries (libnss OSLT). I could not debug it because that was blocked by a bug filed on Bugzilla ten years ago with no fixes or workarounds.
Then, in another major version, they killed XUL extensions.
I still hope to stop depending on Google services some day, but at that point I would probably switch to or write some webmail with a similar-enough UI to Gmail.
I believe I was the first to implement a major feature in it which was rejected upstream! So now I maintain a fork :)
https://github.com/magit/magit/issues/4285
Thankfully, package managers such as straight.el make it very easy to configure using a fork of some repository, without breaking dependencies.
I tried to solve many of the same problems in Arch Linux with aconfmgr. It attempts to achieve reproducibility by using a model where the state of the entire system must be represented in the configuration file, and it helps transcribe any changes back to the configuration (unlike classic configuration managers, which only manage what is declared).