203 karma · joined April 17, 2018
I would not trust any corporation (sometimes it's profitable to remove something so they retain control of some market) or government (sometimes it secures their power to keep people unaware of some facts about their actions) to only censor what is "truly" good for us to have censored. Why would anybody? The free exchange of ideas is a prerequisite for a just world. You cannot build one without it, because to build a just world you must change what is unjust. To change what is unjust, you must remove power from those who unjustly hold it. You can't do that if you can't communicate the injustice. If you place limits on the free exchange of ideas "just for this one really bad thing" then you have forfeited your own future ability to resist when a good and true idea is wrongfully labelled harmful by powerful and corrupt figures. Every single authoritarian regime in history has made speaking ill of the leadership a crime, because speech control is powerful. The power to ban information is too great to be entrusted to any authority at all. Depending on how thorough the "ban" (web text filter at the ISP level? mandatory AR implants at birth filtering banned content? worse?), it's anywhere from an abhorrent violation of human rights and the principles behind scientific inquiry all the way up through literally the most powerful weapon which could even theoretically be designed.
Must we burn this book? No. The answer is always no.
I am in favor of extremely strong free speech, legally and more importantly morally, because there is simply no acceptable alternative.
Pick a power of 3 n to be the coefficient for k on the right/reduced side, and then the left side will have at least one valid reducing form with coefficient power of 2 f(n) = ⌊n·log2(3)⌋+1. If there is more than one, they will have different constants. Each multiplication immediately has a division (you already got this part), and there must be a final division which is not immediately preceded by a multiplication because (3x + 1)/2 > x for all positive integers (that is, if you multiply once and then divide once, you will always be larger than just before those two things, so an "extra" division is needed to reduce). This means that there must always be at least one less multiplication than division, so the initial condition is one division and zero multiplications - the even case with n = 0. Then for n = 1 you need 2 divisions, which works because 2^2 > 3^1. Then for n = 2 you need 4 divisions, because 2^3 < 3^2 so 3 divisions is not enough. This is where f(n) comes in, to give you the next power of 2 to use/division count for a given n. When you do skip a power of 2, where f(n) jumps, you get an "extra" division, so at 16k + 3 -> 9k + 2 you are no longer "locked in" to only the one form, because there is now an "extra" division which could occur at any point in the sequence...
Except it can't, because you can't begin a reducing sequence with the complete form of a prior reducing sequence, or else it would "already reduce" before you finish operating on it, and it so happens that there's only one non-repeating option at n=2.
At n = 0, you just get D (division). At n = 1, you have an unsplittable M (multiply) D pair MD and an extra D. The extra D has to go at the end, so your only option is MDD. At n = 2, you appear to have three options for arranging your MD MD D and D: DMDMDD, MDDMDD, and MDMDDD. But DMDMDD starts with D so isn't valid, and MDDMDD starts with MDD so also isn't valid, leaving just MDMDDD.
At n = 3 there are finally 2 valid forms, 32k + 11 -> 27k + 10 and 32k + 23 -> 27k + 20, and you can trace the MD patterns yourself if you like by following from the k = 0 case.
The constants don't even actually matter to the approach. If there are enough 2^x k - > 3^y k forms when n goes off to infinity, which it sure looks like there are though I never proved my infinite sum converged, you have density 1 (which isn't enough to prove all numbers reduce) and this angle can't do any better.
Mind you, it's almost certain Collatz is true (generating these classes out to 3^20 nets you just over 99% coverage, and by 3^255 you get 99.9999999%) but this approach doesn't work to PROVE it.
I guarantee you that if Nintendo released "A Zelda in the mold of OoT but with a new set of dungeons and items and such" people who love OoT would go nuts for it. Look at what happened with Sonic Mania. For some reason, though, publishers/developers are very wary of doing this. Nintendo refuses to make a new Zelda that just reapplies the winning formula. Sega refuses to make Sonic Mania 2 - honestly, I was very pleasantly surprised they made the first one! I blame the late 2000s mantra of "innovation" and its presence/absence that seemed to be all the rage in critic circles.
It happens to be the case that most organizations using UEFI-based firmware don't, and they keep everything beyond that core closed-source. This is not the fault of UEFI - those companies were closed source beforehand, and that trend continued. UEFI neither caused nor enabled them to be that way.
Now you may not want any of the things UEFI brings to the table, like GPT and booting to partitions larger than 2.2TB, or filepath based booting rather than sector based booting (or sector-booting into a boot manager and file booting from there). That's fine, but there's a difference between "X provides Y which I don't need" and "X causes Z which is bad" - UEFI causes almost none of the things people blame it for.
If you must blame UEFI for one thing, you can blame it for Secure Boot, as that wasn't (easily) possible with legacy BIOS. But neither is it mandated what keys it does or doesn't include, or even that it be implemented/enabled! UEFI has nothing to do with whether you should use Secure Boot - only that you can. The blame lies mostly with Microsoft for pushing so hard on vendors to ship with it enabled/locked/whatever.
1) System trying to boot would hang at seemingly random points. Could never be pinned down to a particular instruction, but could be caught doing it when stepping through with attached hardware debugger. It just wasn't consistent and never made any sense. Hang on an add. Hang on a call and never reach the first line of the thing being called. The hang would always be relatively late in the boot, but that's all that could be found.
Eventually I got it. It would hang the first time a timer interrupt triggered, which would only happen after that interrupt was enabled something like halfway into the boot.
Turns out there were disabled cores and the system was waiting trying to park those cores before servicing the interrupt, but they'd never respond/ack/say "I parked" and so we'd hang.
Disable the interrupt and there was no problem.
2) Operating in Cache-As-RAM mode early in boot, no "real" memory, just the L2 cache mapped as memory. Two valid/available address ranges could not both be written to. Writing to 0xA and then 0xB, or 0xB and then 0xA, would hang the system. Data being written didn't matter. Writes didn't need to be back to back. Just couldn't play nice.
Knowing it's a hardware problem spoils the fun of trying to debug that. Bad cache, couldn't properly convert addresses to cache lines, wrapped back on itself and panicked. Solution - move and resize "usable" cache region to exclude the overlapping ranges.
On the one hand, yay, not my fault! On the other hand, HELL to debug. On the worst hand, it dramatically increases my willingness to SAY it must be a hardware problem, which is not always the case!
But I would not trust any corporation (sometimes it's profitable to remove something so they retain control of some market) or government (sometimes it secures their power to keep people unaware of some facts about their actions) to do the same. Would you?
...but that's not always the case. If your information has been copied against your will in a way that removes that key (which is incredibly hard to prevent, see the "analog hole" problem in video DRM), you have to have some sort of central authority or master key to be able to remove it, and then you're again falling right back into trusting that central authority with the power to remove whatever they deem fit. What if the central authority decides you don't own the information and not to remove it? What if they claim ownership of something they want removed that isn't theirs?
It just doesn't work. Information removal is a superpower I do not trust any large organization to wield responsibly.
The power to ban information is too great to be entrusted to any authority at all. Depending on how thorough the "ban" (web text filter at the ISP level? mandatory AR implants at birth filtering banned content? worse?), it's anywhere from an abhorrent violation of human rights and the principles behind free exchange and scientific inquiry all the way up through literally the most powerful weapon which could even theoretically be designed.
This is not a road worth going down, for any amount of harm reduction. The cost today may be worth it. The cost long term is potentially too great to even consider risking. There is no guarantee of who holds the ban hammer tomorrow.
The Earth will one day be dust, whether by astronomical disaster or by the sun's natural lifecycle moving to later stages. We live on the Earth. If we do not go elsewhere, we will be dust at that time. So for self-preservation, we'll need to go elsewhere eventually.
Mars is elsewhere, and is much easier to reach/terraform/colonize than say... Proxima Centauri B. Mars is a good "practice" shot at being elsewhere.
So obviously, we should go to Mars. It's just a question of when.
Secondly, there is no reason we cannot have it both ways. A single communications company with content-neutral policies is helping the world more than one with content-sensitive policies. Two communications companies with content-neutral policies in competition with one another may be better yet, but that does not make Twitter choosing to censor its users the right thing for them to do. I have not said the government should tell Twitter what to do, only that they should choose not to censor because that makes the world a better place.
There is a growing contingent of people, especially younger people, who do not understand how free communication underlies the ability to make any change at all. Who do not see that creating the tools to censor conversations harms the future. They see immediate benefits in clamping down on this or that harm (temporarily ignoring that they're making themselves the arbiters of right and wrong and giving them the power to declare what is or is not a harm in the first place) but not grasping that they will not be in control of those tools in perpetuity.
Even so, I agree you have neither a constitutional nor a moral right to anything of Signal's in any case. And yet, the world would be a better place - for all people, Signal's staff and shareholders included - if they gave it freely. Nobody is obligated to spend their own time or effort to improve the world, but if we want the world to be a better place then somebody has to.
The more accessible unfettered communication is, the better the world is able to become. Full stop. Restrained communication is less capable of improving the world, because restrained communication is less capable of changing the world at all, because those invested in the status quo have incentive to restrain communication which could make change.
You are not thinking it through. An imperfect analogy to help make the point: You can't put a backdoor in encryption "just for the good guys" because there's no way to prevent that backdoor being used by other actors. Similarly, you can't put restrictions on speech "just for the really bad things" because there's no way to prevent things being labeled as "really bad things"!
No. If "real danger Democracy can be lost" is your measuring stick, then whatever "Democracy" you have in charge is free to defend itself against any speech that may fight it. It's free license for the government to shoot down dissent and not reasonable.
Think of it this way. There is a lot of harmful speech which, in a perfect world, we could prevent. But because power corrupts, we cannot afford to give out the power to prevent speech because it is too easily abused. The benefit of preventing [harmful speech x] is not worth the cost of granting the government the power to jail you for speaking counter to what it believes is right.
I'm upset at the broader topics that are always brought up when articles like this are posted. I also have an opinion about what reddit should or shouldn't do, but the post you're responding to is not it.
Why just the other day, I had friends blow up on me for daring to suggest that a particular type of bigoted speech should remain legal.
The free exchange of ideas is a prerequisite for a just world. You cannot build one without it. If you place limits on the free exchange of ideas, "just for this one really bad kind of thing", then you have forfeited your own future ability to resist WHEN - not if, but WHEN - a good and true idea is wrongfully labelled harmful and banned by the same mechanisms.
Every single authoritarian regime in history has made speaking ill of the leadership a crime. Every last one.
Here's the easiest one to grasp: if you create the tools to suppress an idea and willingly let some party make use of them, then you have fulfilled all the preconditions for suppressing good ideas and true ideas except for "who holds the button" - but guess what? You can never guarantee button-holding status in the future! It is dangerous to enable, allow, or normalize speech suppression because you are doing the future bad guys' job for them in the process and making it easier to enact horrifying human rights abuses in the future.
UEFI is not Secure Boot. Secure Boot is a feature that is implemented by UEFI-compliant systems these days, but UEFI systems originally shipped completely without the feature and it's still perfectly possible to do so.
Complaints about Secure Boot are generally valid complaints to have. Complaints about UEFI that are actually just complaints about Secure Boot are... just complaints about Secure Boot. Valid complaints about UEFI that are unrelated to Secure Boot are rare.
"Did Intel get hacked?" I can't confirm the exact mechanism by which these files got out, but I do know that these files are things which get shared externally already with Intel's customers under NDA. If security in general is lax, that's one thing and future hacks of more sensitive stuff could be expected. If security in general is fine, but for some NDA customer sharing channel is lax, don't expect to see anything juicier.
"Intel123 is an awful password." Yes it is, but... it's not for security. Intel123 is the password used to bypass executable/script filtering systems that overzealous IT put in place to "protect" employees. Employee A wants to share a zip with employee B. There are many channels they can use to do this, because the contents of the zip are not encrypted or restricted. None of these channels require encryption, but either A or B doesn't like/understand them, so they agree on email. Whoops, the filter says that executable could be harmful and out it goes. Zip-via-email doesn't work. Unless... well, if they put a password on it, the filter doesn't catch it. Good. Problem solved. This is so common that the convention Intel123 arose and solidified for exactly this purpose.
"I see the word 'backdoor' in there!" Sure. Bad name choice. That's not the kind of backdoor you're thinking. There are a lot of things in the firmware that take this exact same form and don't use the word backdoor. It's a signal the low level firmware is keeping an eye out for, and if received, it will trigger some other piece of firmware to do some task in SMM. If that other piece of code takes input parameters and fails to verify them, then you may have a vulnerability on your hands - in fact, this was a very common kind of vulnerability before. Intel has fixed a lot of these over the years. Odds are they're mostly gone by now. If input parameters are verified (or none taken), the worst you could do is maybe a DoS by spamming that signal to keep the CPU clogged/stuck in SMM.
It's not taking away some 90% of what UEFI does - it's letting UEFI do its thing, writing down what was done for your hardware configuration and the location of your boot image, and then reusing exactly that again on each boot.
That's simple optimization - not a fundamental change to UEFI. Though it is good optimization which certainly could have been baked in from the start.
One is like Intel ME. It supports use cases you as an end user do not give one single damn about and could easily do without, if given the option. Clean and remove as much as possible with no remorse.
The other is like SMM. Believe it or not, it's only accidentally the intrusive and insecure monster it has become. The point was exactly what it says on the tin. System Management Mode. The OS would ask the 'system' to do something it didn't know how to do, like change some power configuration in a laptop, and the firmware would handle it and then give control back. But these operations were delicate and needed to not be interrupted. And the hardware involved was delicate and needed to not be touched in the wrong way, lest the system hang or even fry. So it was locked away where the OS couldn't touch it. And then people started noticing they could use an untouchable special execution mode in other ways, and, well, here we are. The unfortunate thing is that because of how it started, you would feel some pain on most systems today trying to get rid of it. Your OS does not have drivers to change the CPU thermal characteristics properly and in accordance with silicon design (because the vendor did not develop one or make the information available to the outside world). So removing SMM will make many 'nice' features stop working. You may lose the ability to suspend and resume. Your power draw may be stuck too high or too low. It's possible on some systems you would be fine, but on others not so much.
Like the people demanding that graphics vendors provide open source drivers rather than binary blobs in the hope of making things better, really what's needed here is advocates pushing for the tasks performed in SMM today to be migrated to OS drivers, and from there to open source drivers.
You as a single tinker today aren't likely to get all this stuff working with the non-existent documentation.
Blame the silicon vendor for doing things in the most scary, back-door-ish way possible. UEFI didn't make them do that. The same crappy business practices that drive all bad proprietary software decisions did.
SMM is supported but not mandated, which is exactly how any hardware feature should be treated. Blame those enabling the SMM code you don't like. Or blame the hardware manufacturer for putting the feature in at all.
UEFI is not your enemy. Its only sin is being overly complicated, which is (somewhat) debatable given the complexity of systems and OSes needing to be bootable.
The pathway from the patch existing to the patch being applied is overgrown with flammable brush. Infrequently traveled. Not healthy. There are efforts to fix this, but they don't have too much momentum at the moment.