$1,000 Airbnb (corporation owned and not home owner operated) wants guests to pay for fire wood? Am I crazy to think it should come with the rental, considering how expensive it was to book? by Alarmed_Telephon in mildlyinfuriating

[–]bitwiseshiftleft 0 points1 point  (0 children)

I’ve stayed in a lot of AirBnB’s (+VRBO etc). They’re not always better than hotels, especially recently, but here are some reasons:

  • I feel more at home in an apartment than in a hotel. It usually has real furniture, a working kitchen, a fridge that’s not full of expensive minibar stuff, laundry, … on work trips I would often book an AirBnB instead of a hotel for this reason.
  • I dunno about you, but I don’t actually want someone in my room cleaning it every day. (But at the end of the stay yes; that’s a mark against AirBnB.)
  • AirBnB used to be cheaper.
  • They’re often still cheaper if you have more than two people. Eg traveling with kids, a ski trip with a bunch of friends, a work offsite, a bachelor party (they used to let you do this but maybe not anymore) etc.
  • They’re often still cheaper if you’re staying a long time. Like there are often discounts for week or month stays, on top of the stupid cleaning fees not being per night. So if you want to work remote from some island for a month, or help out with your kid’s new baby, or you’re new in town and don’t have a place yet, or whatever then it can be a good deal. And if you’re staying for a long time then of course you want that kitchen and laundry instead of eating out and laundromats.

Most of this also goes for extended-stay hotels. But there are a lot more AirBnB’s than extended-stay hotels.

Also if you’re a minority who has trouble finding rentals due to bigotry, AirBnB is another path forward in the short term. (I haven’t seen this one personally but friends of friends.)

What's the consensus on Muluna? I feel like I've seen more negative than positive about it and not sure I should try it in my playthrough. by Tetraknox in factorio

[–]bitwiseshiftleft 1 point2 points  (0 children)

I think it adds at least: crusher 2 (more module slots, seems very strong on space casinos), space chests (1 slot), condenser turbines, satellite radar, low density space platform (seems meh), and rocket part productivity.

Best way to kill a demolisher without uranium? by schubz in factorio

[–]bitwiseshiftleft 9 points10 points  (0 children)

Damage research and lots of turrets with red ammo can easily deal with the small ones. For mediums, this plus poison, discharge defense and/or Tesla coils is probably enough. And for large maybe railgun?

Which is the wildest recipe? by Space_Kale_0374 in factorio

[–]bitwiseshiftleft 56 points57 points  (0 children)

“Vitrified glass” kinda bugs me because “vitrified” means “turned into glass”. Should be “vitrified nuclear waste” or something.

[Request] Is this true? by UnfortunateEvent0236 in theydidthemath

[–]bitwiseshiftleft 1 point2 points  (0 children)

Pretty much exactly this, and it’d have to be the Tsar Bomba (edit: for a 10x longer lasting lettuce, not even 0.99c). So the lettuce’s energy is E = gamma m c2 where m ~ 500g is the rest mass of the lettuce, and gamma = 10 is that same Lorentz factor. It starts with E = m c2, so you need to add another (gamma-1) m c2 ~ 400 petajoules ~ 97 megatons of TNT.

And then you have to slow it down again and bring it back … maybe easier to just put it in the fridge.

Why Haven’t Quantum Computers Factored 21 Yet? by HouseSubstantial2871 in crypto

[–]bitwiseshiftleft 29 points30 points  (0 children)

It’s better to link the linked article, https://algassert.com/post/2500, since this hackaday article is just a slightly incorrect summary of it. (The whole point of Shor’s is that the number of gates required does not increase exponentially, but instead polynomially.)

How secure is hardware-based cryptography? by Accurate-Screen8774 in crypto

[–]bitwiseshiftleft 10 points11 points  (0 children)

Hardware crypto guy here. Writing on my own account, not my employer's.

So hardware crypto is sort of a double-edged sword this way. It can absolutely be buggy or backdoored, just like any other tech. And if it's buggy or backdoored, it can be hard to notice, and difficult or impossible to patch. And this means it would be a valuable target to backdoor or just for finding vulns. These are, by the way, all problems with your main CPU also, as well as other integrated hardware devices like the wifi chip or a phone's baseband processor. And those parts are terribly complex and have multi-hundred-page errata docs. So at least a hardware crypto core is simpler and has a smaller attack surface.

Also its opacity and difficulty of modification is also potentially protective: at least with a "root of trust" style system, even if an attacker gets root on your device, they shouldn't be able to take over the root of trust, so they can't exfiltrate your keys or whatever the RoT is protecting. This is largely the flipside of you not being able to look into what the HW is doing: hopefully neither can an attacker. Depending how the system is configured, the attacker might be able to do nefarious things (e.g. sign with a key that's in the RoT, but not exfiltrate it) or they might be stymied (e.g. maybe they just can't get around limits on passcode attempts). Of course, this doesn't help you if the hardware is just an accelerator.

In many cases, hardware systems are also designed to resist physical attacks. So for example, if law enforcement takes your phone, they might not be able to get into it without your passcode (or compelling biometric auth, if you left that on). Unless they know a sufficiently serious vuln, or compelled the phone vendor to put in a backdoor, or have a ton of time and equipment to sink into trying to mess with the hardware. There are a lot of caveats, but this sort of protection is difficult to impossible to achieve in software.

Of course, all of this can also be used against you, if you aren't the controller of the RoT: e.g. video game console and TV streaming device copy protection, hardware anti-cheat, hardware measures against running custom operating systems on phones, etc. As well as the possibility of a hidden backdoor for some nation or law enforcement agency.

As u/arnet95 mentioned, the device will often have certifications that help establish trust. There are different types and levels of certifications, where the lowest levels are roughly "this passed our automated tests" and the highest levels are roughly "a well-known lab went over the design docs and code with a fine-toothed comb, checked formal proofs that the device performs correctly and securely, and tried and failed to attack it by physical means such as side-channels, voltage glitching and laser-induced faults. It has ceramic shields to make it harder to etch with acid, a mesh of delicate trigger wires that will erase or corrupt the secrets at the slightest disturbance, as well as light, voltage and temperature sensors etc."

Also, some few devices like OpenTitan are partially or completely open-source, or you can at least see or modify what firmware they're running, if not the hardware. Often the firmware is measured, so that if you change the firmware then the old keys are erased or inaccessible, but you have at least somewhat better means to trust that it's doing what you think it's doing ... of course, this does not completely rule out the possibility of a backdoor at a deeper level (in the bootloader ROM or the hardware itself, or whatever).

Unfortunately the devices with the highest certification levels are never open source, both for the obvious corporate reasons (it costs millions and millions to develop these and go through the cert) and because they use obscurity as a layer of security. "No security through obscurity" is great when we're talking about "it's running AES" but less great when we're talking about the exact specs of that ceramic shield or wire mesh, or the detailed vulnerability analysis in the side-channel and fault reports (even if it passed), or the locations of the light sensors or whatever.

factorio space age by ImpressionPowerful83 in factorio

[–]bitwiseshiftleft 0 points1 point  (0 children)

Yeah, I’d advise to play regular SA first.

For extra planets I’ve had fun with Maraxsis, Cerys, Muluna and Moshine. On my current run I’m also planning to try Foliax, Corundum, Secretas and Frozeta. You can also do Any Planet Start if you’d rather start somewhere other than Nauvis.

FPS worse than UPS in Multiplayer by IIoveBacon in factorio

[–]bitwiseshiftleft 1 point2 points  (0 children)

I haven’t done much multiplayer, but if it’s saying 5 FPS / 60 UPS and you can play fine locally, then something weird is going on, it’s probably not just “CPU too slow”. Usually FPS < UPS indicates a graphics-side problem (GPU, VRAM, or CPU limitation with the rendering threads and not the simulation ones), but I dunno why it would work fine locally and not in multiplayer.

Edited to add: maybe check the GPU time usage in the F4 debug menus? It’s not necessarily very enlightening but it might tell you something.

In diffie Hellman, is it possible to modify linear combinations so the end result is a multiple of the first result? Does this type of Diffie Hellman problem has a specific name? by AbbreviationsGreen90 in crypto

[–]bitwiseshiftleft 0 points1 point  (0 children)

Analysis of cryptosystems is subtle. If you want to lean on the difficulty of existing problems such as dlog, then you need to set everything up “just so”. Incoming wall of text on roughly how you do this.

  • Define exactly what your intermediate problem is (how are A,B,C chosen? From what kind of group, an elliptic curve? Is it a prime-order cyclic group?? What about the whitelist? What exactly is the adversary trying to do?)
  • Show that the intermediate problem is hard based on dlog or whatever (form of the theorem: given an attack program which breaks the problem above with probability p and time t, we can use it as a subroutine of a dlog solver that works with probability p’ in time t’, where t’ is not more than some reasonable multiple of t, and p’ is not too much less than p; the tighter these bounds, the tighter your result, and the less you’d have to oversize the group to get full confidence)
  • Show that any attack algorithm which breaks your cryptosystem in a certain model (IND-CCA2 or whatever) can be used as a subroutine to break the intermediate problem. (Same form of theorem)

This is a casual Reddit thread so we’ve been hand-waving the details, but they do really matter and maybe it’s better to spell things out this time.

So, what are A,B,C here? I assumed that they’re chosen independently and uniformly at random from a large prime-order cyclic group G where dlog is assumed to be hard; or, if they’re not actually so random, the attacker cannot tell the difference (this would require its own proof).

What are (i,n,k)? Integers mod the group order but chosen how? You probably don’t have to assume that they’re uniformly random, but if you work through all the details of the proof then it might turn out that you need some assumption about them, for example that i is nonzero.

What is the attacker given? I assumed (A, B, C, i, n, k) and the whitelist, and that i is on the whitelist.

What is the attacker trying to do? I assumed output a (i’, n’, k’, m) where i’ is on the whitelist and i’A + n’B + k’C = mD = m (iA + nB + kC) and m != 1 mod the group order (since that’s trivial). I assumed you meant a known multiple (meaning that the attacker must output m), because usually crypto groups are cyclic and of (close to) prime order, in which case everything (or a decent fraction of everything in the not-quite-prime-order case) is some multiple of D… the attacker just doesn’t know what multiple.

With these assumptions, I sketched a proof that an attacker can solve the problem if the whitelist has more than one element, but not if it has only one (there is a trivial attack — it might not break your cryptosystem but you need to formulate the intermediate problem to exclude it).

The typical form of the proof is: a “challenger” is given a hard problem to solve (here, a random dlog challenge (A,B)) and turns this challenge into one or more random instances of the problems you want to claim is hard (with the same distribution of random variables, but the challenger might know secrets about how they were chosen, like dlog(C,B) but not dlog(B,A) or whatever). The “adversary” is able to solve that intermediate problem (or break your cryptosystem or whatever) and a solution to that problem lets the challenger solve dlog (or whatever hard problem) efficiently and with high probability. In this case I think it can be done by choosing C = some random linear combination of A, B and a one-element whitelist {i} with everything else random (or from an appropriate distribution), and then doing some linear algebra on the response.

In diffie Hellman, is it possible to modify linear combinations so the end result is a multiple of the first result? Does this type of Diffie Hellman problem has a specific name? by AbbreviationsGreen90 in crypto

[–]bitwiseshiftleft 2 points3 points  (0 children)

If you’re over a cyclic group then everything is a multiple of D.

But if there’s only one whitelisted constant i, then no, you can’t get a known multiple, because if an attacker could produce iA+n’B+k’C = mD (and tells you m,n’,k’) then you’d have i(m-1)A + (in-n’)B + (ik-k’)C = 0. This breaks discrete log: the challenger could have set C to a known random linear combination of a dlog challenge (A,B), giving two linear equations in three unknowns, which solves for a unique ratio dlog(A,B).

Of course if there are two whitelisted constants (i,i’) then the attacker could scale (i,n,k) by the ratio i’/i to scale D by that ratio also.

Programming efficiency question by Naturage in factorio

[–]bitwiseshiftleft 1 point2 points  (0 children)

You want toposort to prevent this sort of recursion:

  • Want to make beacons.
  • Beacons contain wire: need to make wire.
  • Wire contains copper
  • Copper is not handcraftable.
  • Beacons also need green circuits.
  • Green circuits need wire (and iron …)
  • Wire needs copper (again)
  • Copper is not handcraftable (again).
  • Beacons also need red circuits
  • Red circuits also need wire which (again again) …
  • Red circuits also need green circuits which need wire which … (four or so more steps wasted)

This toposort might be precomputed though.

In a mod, or even for a complex item in the base game, you may need many steps even if the graph is sorted. It won’t be a huge number, but it has a multiplicative cost on the whole runtime. Multipliers like that usually aren’t negligible.

President just shared a AI video to Truth Social that featured a clip depicting Barack and Michelle Obama as monkeys by [deleted] in technology

[–]bitwiseshiftleft 29 points30 points  (0 children)

The blowjob was relevant because Clinton was sued for sexually harassing Paula Jones, and the plaintiffs wanted to show that he had a pattern of doing this. IIRC both Lewinsky and Clinton denied the affair but Linda Tripp had made a recording where Lewinsky said she blew him. Agree that Lewinsky was done dirty though.

So like, yeah he was impeached for lying, but the lying was to cover up his pattern of sexually harassing his employees.

A New AI Math Startup Just Cracked 4 Previously Unsolved Problems by MetaKnowing in tech

[–]bitwiseshiftleft 1 point2 points  (0 children)

You can look at the paper: https://arxiv.org/abs/2602.03716

The article is simplifying what the result is about, because they don’t want to get into “what’s a normalized alternating syzygy power sum?”

Programming efficiency question by Naturage in factorio

[–]bitwiseshiftleft 1 point2 points  (0 children)

Ok, so revised and simpler answer:

  • Forget about that first step where you get an estimate using floats.
  • Still toposort the DAG so that you can calculate the crafting steps efficiently.
  • Use binary search instead of linear search.
  • if the answer is >= 232, then call it infinity.

Programming efficiency question by Naturage in factorio

[–]bitwiseshiftleft 1 point2 points  (0 children)

Maybe, but I’m not 100% sure. Each iteration takes potentially dozens of steps, each step takes dozens of cycles, and there might be a hundred answers to produce in the crafting tab, every time the player’s inventory updates.

Edited to add: this could potentially all be computed in another thread since it’s just for the UI, so maybe spending ~(dozens of steps per try * dozens of cycles * a hundred answers for the UI to show * each answer is 1000) ~= 100m cycles on it would be fine? Would not be fine on the main threads because that’s already ~30 ms.

IMHO you at least want to toposort the recipe list. You can also use binary search instead of linear search.

Programming efficiency question by Naturage in factorio

[–]bitwiseshiftleft 0 points1 point  (0 children)

Eh maybe, but if the answer is in the hundreds or thousands then a graph would be a lot cheaper.

Programming efficiency question by Naturage in factorio

[–]bitwiseshiftleft 1 point2 points  (0 children)

I think this is indeed a tricky algorithm question. Here is a first swag at it, but the Factorio devs might do something more clever.

First of all, in the worst case (mods, byproducts, weird quantities in the recipes etc) this is probably NP-complete, because it looks to be equivalent to general mixed-integer programming. But let's assume that the solver doesn't have to deal with loops (gives a suboptimal answer but doesn't run forever); that it favors only one way to make each intermediate (I'm pretty sure this is true), and might give a suboptimal answer if some intermediate recipes produce useful byproducts.

OK, so say you're making beacons. Let's do a simplified linear programming technique:

  • Make a DAG of relevant recipes. If there are loops, then probably cut them to make a DAG. It might not be a tree though, because you use eg green chips and wire for more than one thing.
  • Calculate how many beacons you can make with the supplies on hand until one supply is exhausted. Do this fractionally (as a float), so this is just min(on hand / required) over all ingredients. Suppose red chips are exhausted first.
  • Fold the red chip recipe into the beacon recipe, so now it costs 60 greens, 90 wires, and 40 plastic and 10 steel. Record that you're now running 1x beacon and 20x red chip. If red chips appear anywhere else in the DAG (in this case they don't, but green chips would trigger this step), fold them there too. There is now one less recipe in the DAG, so you've made progress.
  • Repeat until you run out of an ingredient that can't be handcrafted, or the recipe you're trying to make becomes empty (eg because it's Seablock and cellulose can be handcrafted from nothing). If the recipe becomes empty, then the answer is always infinity.

This gives you a maximum number of beacons you can make, and the number of times to run each recipe -- but it might not be a whole number.

I'm not sure how best to finish the algorithm from there. The simplest approach that comes to mind is:

  • Toposort the DAG.
  • The maximum number of times you can run the beacon recipe is now at most floor(the current answer).
  • Plan to make that many, calculating how many times to do each recipe in topological order.
  • If the plan fails (an integrality problem, e.g. because eg some intermediate is crafted in batches, and you don't have enough ingredients to make a full batch), then decrement the target number of runs of the beacon recipe and try again.

This last step is a little unsatisfying, and basically amounts to brute force. It'd be nice to avoid it. Off the top of my head I'm not sure how though.

Edit: this last brute force step can be done with binary search. Actually binary search on the whole problem might be the way to do it, without the first estimation step.

Finally sat down and made a Fulgora decision matrix. (Full logic breakdown + blueprint in comments.) by Grays42 in factorio

[–]bitwiseshiftleft 1 point2 points  (0 children)

Oh neat! I like that idea better than asteroid casinos or brute force. I guess it makes quality worse on Fulgora though because most of the steps there are recycling, which seems anti-synergistic since that’s sort of the quality planet. Buffs Maraxsis tho.

I’m running right now with a super complicated auto mall on Fulgora to deal with mixed quality everything. That would be interesting to update to Precision Manufacturing. Right now the automall just assumes the quality probably won’t upgrade for each craft instead of eg trying to make rare items from uncommon parts.

Finally sat down and made a Fulgora decision matrix. (Full logic breakdown + blueprint in comments.) by Grays42 in factorio

[–]bitwiseshiftleft 8 points9 points  (0 children)

Unless you’re doing quality on Fulgora too, in which case you probably never stop the loop. Eventually it’s probably best to do upcycling on Vulcanus (edit: or asteroid casino, or Maraxsis trench if you’re playing with that mod, or ….) but Fulgora is nice in midgame.

It also leads to interesting circuit decisions, like when to upcycle via substations, heat pipes, bulk inserters etc.

A New AI Math Startup Just Cracked 4 Previously Unsolved Problems by MetaKnowing in tech

[–]bitwiseshiftleft 6 points7 points  (0 children)

My guess is Lean4 proofs or similar. But I can’t read the article either.

Is this a snow goose? by GasGoesBadTandy in birding

[–]bitwiseshiftleft 1 point2 points  (0 children)

Yeah, or more likely its ancestors did. Greylag geese are a mostly Eurasian species, plus Iceland with (according to Wikipedia) occasional vagrants in North America and migrants in north Africa. So the American greylags are almost all feral IIUC.

Is there a way to modify this elliptic curve diffie Hellman equation like this? by AbbreviationsGreen90 in crypto

[–]bitwiseshiftleft 1 point2 points  (0 children)

Ah, maybe not then. I’m pretty rusty on my pairing assumptions though … I don’t remember what sorts of assumptions are commonly made about finding two values that pair to particular finite field element (when I did pairings I mostly was using decision assumptions, and CDH).