Readit News logoReadit News
DannyBee commented on FBI couldn't get into WaPo reporter's iPhone because Lockdown Mode enabled   404media.co/fbi-couldnt-g... · Posted by u/robin_reala
antonvs · 4 days ago
> excluding being forced to disclose the contents of your mind for a second

This seems like a key point though. What's the legal distinction between compelling someone to unlock a phone using information in their mind, and compelling them to speak what's in their mind?

If I had incriminating info on my phone at one point, and I memorized it and then deleted it from the phone, now that information is legally protected from being accessed. So it just matters whether the information itself is in your mind, vs. the ability to access it?

DannyBee · 3 days ago
There are practical differences - phones store a lot more information that you will keep in your mind at once.

You can actually eliminate phones entirely from your second example.

If you had incriminating info on paper at one point, and memorized it and deleted it, it would now be legally protected from being accessed.

One reason society is okay with this is because most people can't memorize vast troves of information.

Otherwise, the view here would probably change.

These rules exist to serve various goals as best they can. If they no longer serve those goals well, because of technology or whatever else, the rules will change. Being completely logical and self-consistent is not one of these goals, nor would it make sense as a primary goal for rules meant to try to balance societal vs personal rights.

This is, for various reasons, often frustrating to the average HN'er :)

DannyBee commented on FBI couldn't get into WaPo reporter's iPhone because Lockdown Mode enabled   404media.co/fbi-couldnt-g... · Posted by u/robin_reala
halJordan · 4 days ago
It means that if all the other evidence shows that the desired evidence is on the computer, then it is not a question of whether it exists, so youre not really searching for something. Youre retrieving it. That doesn't implicate the 4th amendment.
DannyBee · 4 days ago
Unlocking/forced unlocking is not a 4th amendment issue, but a 5th amendment one.

The 4th amendment would protect you from them seizing your phone in the first place for no good reason, but would not protect you from them seizing your phone if they believe it has evidence of a crime.

Regardless, it is not the thing that protects you (or doesn't, depending) from having to give or otherwise type in your passcode/pin/fingerprint/etc.

DannyBee commented on FBI couldn't get into WaPo reporter's iPhone because Lockdown Mode enabled   404media.co/fbi-couldnt-g... · Posted by u/robin_reala
OGWhales · 4 days ago
> Authorities, citing a “foregone conclusion exception” to the Fifth Amendment, argued that Rawls could not invoke his right to self-incrimination because police already had evidence of a crime. The 3rd Circuit panel agreed, upholding a lower court decision.

I do not follow the logic here, what does that even mean? It seems very dubious. And what happens if one legitimately forgets? They just get to keep you there forever?

DannyBee · 4 days ago
Lawyer here - let me try to help.

This is an area that seems to confuse a lot of people because of what the 5th amendment says and doesn't say.

The reason they can't force you to unlock your phone is not because your phone contains evidence of stuff. They have a warrant to get that evidence. You do not have a right to prevent them from getting it just because it's yours. Most evidence is self-incriminating in this way - if you have a murder weapon in your pocket with blood on it, and the police lawfully stop you and take it, you really are incriminating yourself in one sense by giving it to them, but not in the 5th amendment sense.

The right against self-incrimination is mostly about being forced to give testimonial evidence against yourself. That is, it's mostly about you being forced to testify against yourself under oath, or otherwise give evidence that is testimonial in nature against yourself. In the case of passwords, courts often view it now as you being forced to disclose the contents of your mind (IE live testify against yourself) and equally important, even if not live testimony against yourself, it testimonially proves that you have access to the phone (more on this in a second). Biometrics are a weird state, with some courts finding it like passwords/pins, and some finding it just a physical fact with no testimonial component at all other than proving your ability to access.

The foregone conclusion part comes into play because, excluding being forced to disclose the contents of your mind for a second, the testimonial evidence you are being forced to give when you unlock a phone is that you have access to the phone. If they can already prove it's your phone or that you have access to it, then unlocking it does not matter from a testimonial standpoint, and courts will often require you to do so in the jurisdictions that don't consider any other part of unlocking to be testimonial. (Similarly, if they can't prove you have access to the phone, and whether you have access to the phone or not matters to the case in a material way, they generally will not be able to force you to unlock it or try to unlock it because it woudl be a 5th amendment violation).

Hope this helps.

DannyBee commented on Zig Libc   ziglang.org/devlog/2026/#... · Posted by u/ingve
ibejoeb · 6 days ago
Right, but I think that's what the question of "Why is the linker too late?" is getting at. With zig libc, the compiler can do it, so you don't need fat objects and all that.

---

expanding: so, this means that you can do cross-boundary optimizations without LTO and with pre-built artifacts. I think.

DannyBee · 6 days ago
Calling this "properly" is a stretch at best.

I will say first that C libc does this - the functions are inline defined in header files, but this is mainly a pre-LTO artifact.

Otherwise it has no particular advantage other than disk space, it's the equivalent of just catting all your source files together and compiling that. If you thikn it's better to do in the frontend, cool, you could make it so all the code gets seen by the frontend by fake compiling all the stuff, writing the original source to an object file special section, and then make the linker really call the frontend with all those special sections.

You can even do it without the linker if you want.

Now you have all the code in the frontend if that's what you want (I have no idea why you'd want this).

It has the disadvantage that it's the equivalent of this, without choice.

If you look far enough back, lots of C/C++ projects used to do this kind of thing when they needed performance in the days before LTO, or they just shoved the function definitions in header files, but stopped because it has a huge forced memory and compilation speed footprint.

Then we moved to precompiled headers to fix the latter, then LTO to fix the former and the latter.

Everything old is new again.

In the end, you are also much better off improving the ability to take lots of random object files with IR and make it optimize well than trying to ensure that all possible source code will be present to the frontend for a single compile. Lots of languages and compilers went down this path and it just doesn't work in practice for real users.

So doing stuff in the linker (and it's not really the linker, the linker is just calling the compiler with the code, whether that compiler is a library or a separate executable) is not a hack, it's the best compilation strategy you can realistically use, because the latter is essentially a dream land where nobody has third party libraries they link or subprojects that are libraries or multiple compilation processes and ....

Zig always seems to do this thing in blog posts and elsewhere where they add these remarks that often imply there is only one true way of doing it right and they are doing it. It often comes off as immature and honestly a turnoff from wanting to use it for real.

DannyBee commented on Apple's MacBook Pro DFU port documentation is wrong   lapcatsoftware.com/articl... · Posted by u/zdw
youarentrightjr · 7 days ago
> ChatGPT is wrong. The DFU port does go through a USB controller with firmware. [1]

> [1] https://asahilinux.org/docs/hw/soc/usb-pd/

What in your linked page made you conclude this? Your link references https://web.archive.org/web/20211023034503/https://blog.t801..., which clearly states that ACE is a port controller - this is not the same as a "USB controller".

DannyBee · 6 days ago
I may be able to resolve this, having hacked a bunch on M1N1 and such - the DFU port is going through a microcontroller with firmware.

That is why, for example, it can properly process USB-PD messages that contain vendor defined message codes, even prior to any form of boot, as long as it has any source of power.

The firmware on the USB controller is processing that.

This is how VDMTool works to be able to mux debug (and do other things) even with the machine otherwise off.

DannyBee commented on Parametric CAD in Rust   campedersen.com/vcad... · Posted by u/ecto
WillAdams · 11 days ago
For folks who are curious about this, see:

https://cad.onshape.com/FsDoc/

My surmise is that this is tightly coupled with Parasolid, so it wouldn't be feasible to create an implementation of this language using some other CAD kernel?

DannyBee · 10 days ago
You could port it, but i don't think the geometry kernel is the hard part.

The code for the standard library is here: https://cad.onshape.com/documents/12312312345abcabcabcdeff/w...

(Click tab manager in the bottom left and you'll get a nicer list of the files involved)

The actual representation is essentially dictionaries. IE transform is a functon that looks like this:

  /**
   * Construct a [Transform] using the matrix argument for rotation
   * and scaling and the vector argument for translation.
   */
  export function transform(linear is Matrix, translation is Vector) returns   Transform
  precondition
  {
      matrixSize(linear) == [3, 3];
      is3dLengthVector(translation);
  }
  {
      return { "linear" : linear, "translation" : translation } as Transform;
  }


Fillets, for example, are a whole bunch of featurescript UI around fillet operations:

https://cad.onshape.com/documents/12312312345abcabcabcdeff/w...

(The underlying fillet ops are opFullRoundFillet, etc. All of this is UI to generate the parameters and highlight the results and such)

The actual geometry ops are in geomOperations. Those are the geometry primitives you'd have to duplicate, and they are fairly standard. Fillets, holes, CSG, etc.

It would not be a ton of work (IMHO) to have a geometry kernel that supports what they support.

The UI related primitives, the query engine, etc, those are i think where you'd have real work to do.

DannyBee commented on Show HN: Moltbook – A social network for moltbots (clawdbots) to hang out   moltbook.com/... · Posted by u/schlichtm
DannyBee · 10 days ago
After further evaluation, it turns out the internet was a mistake
DannyBee commented on Parametric CAD in Rust   campedersen.com/vcad... · Posted by u/ecto
throwup238 · 12 days ago
Onshape is just a GUI over the Parasolid geometric modeling kernel, the same kernel used by Solidworks [1]. Whatever their scripting primitives are, they're at best a thin wrapper over Parasolid (which is true for the entire industry - it's all Siemens Parasolid and Dassault ACIS).

[1] https://en.wikipedia.org/wiki/Parasolid#Applications

DannyBee · 12 days ago
Yes, this is all true, but the comment I responded to wanted to be able to basically code rather than GUI sometimes , but still have the GUI up to date. Because of how onshape was built it makes this very very easy. Solidworks very much does not. Fusion360 also has good enough python bindings but it's still nowhere near as easy or integrated to do this (or debug it) as onshape.

So I'm kinda not sure what you are going for here. The fact that they are all the same kernels under the cover is sort of irrelevant. It's not that thin a layer and the layer matters a lot since it is what you get to use. It's like saying all of userspace is just syscalls. That's not what users see or interact with, the layer they interact with matters a lot to them.

DannyBee commented on Spotify won court order against Anna's Archive, taking down .org domain   arstechnica.com/tech-poli... · Posted by u/voxadam
solaris2007 · 17 days ago
Rights can be extended through contracts. A lawyer at Spotify might think to put in: "we distribute the music for you, your right to enforce copyright or otherwise litigate on behalf of that music is also extended to us as if we also own it".

The legal language would be different, that's a dumbed down version.

DannyBee · 12 days ago
I do understand what can happen (I'm an IP lawyer), but this basically requires enabling spotify to act as your attorney, since they still do not in fact own the rights, even with this. You can't manufacture standing here - only folks who are exclusive rightsholders can sue. Period. So it would require giving them power of attorney enabling them to sue on your behalf, since you (or whoever) still own the exclusive rights .

I strongly doubt their contract terms have this in there, it would be fairly shocking.

I say this having seens tons of these kinds of contracts, even with spotify, and never seeing something like this.

DannyBee commented on Parametric CAD in Rust   campedersen.com/vcad... · Posted by u/ecto
IshKebab · 12 days ago
The pull request is to delete the project and open SOLIDWORKS or FreeCAD.

But don't actually delete it. It looks like a nice alternative to OpenSCAD. But like OpenSCAD it's really a niche thing for designs that are highly parametric like fasteners, gears, 3D printed boxes, etc.

Like OpenSCAD using it for normal "irregular" CAD is going to be extremely frustrating. Like editing an SVG in notepad instead of Inkscape.

I still feel like there's a unexplored space where you combine the benefits of both somehow though. Like a code-based CAD but it also has a GUI editor that stays in sync and avoids the need to type in coordinates by hand. That would be extremely difficult though.

DannyBee · 12 days ago
This is actually what onshape is, under the covers.

The GUI is really just using their scripting primitives, etc. You can access it the same as they can, actually.

u/DannyBee

KarmaCake day30803June 21, 2011
About
Xoogler just enjoying life for a while after a long time in tech. I'm also an open source lawyer.

If there is anything i can help you with, feel free to poke me.

View Original