• 0 posts
  • 9 comments
Joined 3 years ago
Cake day: July 5th, 2023
  • Sharing trade secrets under the terms of a contract that dictates how one can use the information still retains trade secret protections.

    Without a contract: intentional disclosure to the person who receives it generally destroys the trade secret status of the information, because the “owner” of the information didn’t do a good job trying to protect it.

    With a contract: intentional disclosure to a person under the terms of the contract makes the contract’s own protections of the information relevant, and misuse of the information by the recipient can get them sued under the contract. Plus, the information itself probably retains trade secret protection so that even if that person gives the information to a third party who can’t be sued under a contract they never agreed to, there are still rights to protect that trade secret as property.

    I’d be shocked if any paid API use isn’t under a robust, enforceable contract. The only question is whether the contract language itself effectively prohibits distillation.

  • The actual process of creating semiconductors is basically:

    1. Etch a stencil that has the pattern you want.
    2. Place the stencil over a piece of silicon.
    3. Bombard the silicon and stencil with radiation so that the chemical properties of the silicon change exactly under that stencil.
    4. Repeat the process with multiple other stencils, so that the resulting silicon has basically shapes of wires and logic gates that can perform different functions with the electricity running through those shapes.

    In recent years, step 3 has gotten so complicated, based on needing to create radiation of exactly a particular wavelength of extreme ultraviolet light focused exactly on the silicon (and the mask/stencil above it), because that wavelength allows for the smallest possible features on the silicon. So they take purified tin, melt the tin into molten liquid, and ejecting the molten tin in a liquid jet downward into a vacuum at exactly the right speed to where it forms into droplets of the exact size for the machine (about 50 μm), then blasts each droplet, mid-fall, with a 1.6kW laser that heats it up so hot that it vaporizes and ionizes into plasma at the exact position where a system of highly polished and precisely positioned mirrors focuses the UV radiation evenly onto the silicon surface.

    Oh, and the machine makes one tin droplet every 1/50,000 of a second, so in any given second it ionizes 50,000 droplets in the stream.

    The machine costs something like $300 million, and requires full time experts to make sure that it’s working correctly.

    Everything else in the fabrication facility is similarly complicated, which is why a fab represents something like $30 billion in total costs over its lifetime.

  • I like to use these shortcuts as the perfect example to show that it is perfectly fine for sites to offer different, alternative, functionality based on what the platform and input method can offer:

    • Got touch? Great, you can now swipe and pinch-zoom on things.
    • Got a keyboard? Great, you can focus elements by tabbing into them.
    • Got a pointer device? Great, things can now happen on hover.
    • Using a keyboard? Great, you can use handy shortcuts.

    A practical example here is a modal dialog that is getting shown: depending on which platform and input mechanism combo you are using, you can close it by flinging it away, hitting the ESC key, doing a back swipe, tapping the backdrop, or by activating the close button.

    This is an interesting point about input methods and devices, but I’m still not entirely convinced that this shows much more than the idea that users should have multiple ways to accomplish the same thing. I’m less comfortable with the idea that some users with some devices simply cannot reach the same functions as some users with some other devices, even if using what they’d consider to be a full featured, up to date browser.

  • ARM and x86 are instruction sets, not architectures. Intel chips and AMD chips can be different from each other, too, just as different ARM processors can be different from each other.

    But all modern processors improve performance by engaging in speculative execution, where they run code or calculations before they’re necessary, to have the results on hand in case it’s needed, or rolled back if it turns out it’s not needed after all. The specific methods differ from vendor to vendor and chip to chip (and even core to core on the same chip, as the article discusses).

    Exploring these things is important because sometimes speculative execution leaks data beyond the process that’s entitled to view it, and there have been computer vulnerabilities exploiting this (see Spectre, Meltdown, etc.).