Most high-level languages do a lot of things implicitly, like casting types, cloning values, deciding what the default is. Rust tends to avoid that, which though less convenient makes behavior more predictable, reducing footguns and surprises.
Average Debian system update experience:
All packages are up to date.
Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0
I guess, but:
- my JS skills are horrific
- I have a habit of avoiding all outer and/or global state like the plague
Some websites are really cursed in how hard they make overriding their styles.
Some things I usually do to handle these are using Stylus with Instant inject mode and some !important rules for a global dark theme.
If that also fails, I have an anti-Flash-of-Unstyled-Content userscript ready to toggle per-website as needed:
;(function() {
const css = `
html, body {
background: #222 !important;
min-height: 100vh !important;
}
body > * {
visibility: hidden !important;
}
`
const style = document.createElement('style')
style.id = 'antiFOUC-block'
style.textContent = css
const container = document.head || document.documentElement
container.prepend(style)
window.addEventListener('DOMContentLoaded', () => {
const block = document.getElementById('antiFOUC-block')
if (block) block.remove()
document.body.childNodes.forEach(n => {
if (n.nodeType === 1) {
n.style.visibility = ''
}
})
})
})()
It works by preventing display of content before it's fully loaded. This won't make websites dark on its own, just prevent the flash.
(I have tested this with Violentmonkey on boardgamegeek.com plus a Stylus dark theme and it did solve it. With Dark Reader though it will still flash)
If even that fails I have a second one that will strip all inline and !important styles, but it rarely ever comes to that.
I hope this is helpful because being flashed with a fully white page makes me want to cry and punch my computer.
this is beautiful, and sobering
Mint is a glorious debloat of Ubuntu with several extras and are strategically wise in having LMDE ready and in production. They fill a very important role as an user-friendly not-DIY distro suitable for someone completely unfamiliar with Linux. I wouldn't describe Fedora that way. It changes too fast for that use case and compared to Mint comes with not much preinstalled.
I wrote a small script that takes a query as its single argument and if it finds a matching filename in a given directory it shows that in a pager. If it doesn't, it uses ripgrep to search inside that directory and returns the filenames in a picker. If I prepend the filename with e, it opens that file (either existing or new) in an editor. Then I track that directory with Git.
This way I have a quick way to store, find and retrieve notes from the terminal itself.
Yeah more like safety in numbers than reading every line of code you run, which is impractical and only warranted for the most extreme threat models.
I don't think plugin devs add such features too often. More likely will focus only on their functionality. Plugins are better avoided if you are concerned. They are often abandoned and possibly bound to weak auth systems as compared to the main program source channel. The advantage is their code is usually much much shorter and easier to check out yourself.
Can vary a lot from project to project. Usually there is a bottleneck where new code is certainly getting looked at before being merged, not that things can't go unnoticed. Depending on the size of the project, full audits can be performed by third parties. If it's popular enough or there are bug bounties up, random people might be looking for issues as well. In general, the less popular, the less likely it is someone has recently taken a look at the code.
That's already configurable in Settings > General > Share Links.
I'm focusing on the lock screen as having one single job to do well: protect the session from any access not granted exclusively through the password.
You posit this as if the attacker and the killing of the lock screen were connected: the attacker can only kill if they already have malware, so "it doesn't matter". But the point is, if the lock screen won't relinquish access upon receiving the kill signal, even if the attacker had compromised this vector, or if there were some other cause behind the lock screen dying, crashing, whatever, access would not be granted in the first place. It stops at that layer.
Thinking in terms of "if they already can access the system, whatever" is different from thinking about security in depth/layers. So its not so much about the cause of the problem, but where you can contain it. This threat (a physical access attacker) is pretty extreme, but if we are going there, then yes, it's not unfeasible to think that they could leverage this weakness to go from a possibly limited shell access to a fully unlocked physical session where you could have unrestricted access to e.g. a browser or unlocked password manager or other in-memory information.
But the two things don't really need to be connected. The lock screen having a secondary way to allow access that does not require the password is a weakness in itself, that the attacker could exploit, but that should not have been there in the first place.
Not all processes that can send a kill signal to another process have the same degree of access as physical access. The fact they are already running inside the session doesn't automatically imply they have unrestricted access. In fact, you could argue no access at all a process has can compare to physical access. So that's quite an escalation.