lighting – Which settings are needed in this situation in order to have equivalent exposure?

The second photographer is using an 18-55mm kit lens. At 50mm all of Canon’s 18-55mm kit lenses have a maximum aperture of f/5.6.

If one is constrained by using ISO 400 and 50mm in order to match the other camera, then the only variable left is exposure duration, otherwise known colloquially as “shutter speed”.

Since f/5.6 is two stops slower than f/2.8 used by the other photographer, the exposure time must be two stops longer.

Two stops longer than 1/250 is 1/60.

So the second photographer must use 1/60 with ISO 400 and f/5.6 to get the same exposure values as the first photographer using 1/250 with ISO 400 and f/2.8.

This presents another issue, however. Assuming both cameras are shooting video at the same frame rate, the footage at 1/250 will look “choppy” compared to the footage shot at 1/60.

unity – What is the equivalent for “(Input.GetAxisRaw(Horizontal))” in the new Input System?

I’m making a 2D platformer game with Unity and I have some problems with the new Input System. Also, I’m using PlayerInput component with invoke unity events behavior. In fact, I downloaded a player controller code from GitHub to use it as a guide so I used it in my actual player controller. But there is a problem and that is the code is using the old Input and I don’t know how to change “Input.GetAxis” and what is the equivalent in the new system. I’ve read many documents about it and I know that there is no official equivalent but there should be a way to get the same output. And other than this you may find some mistakes in the code and I would appreciate If you guide me. Thanks in advance.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.InputSystem;

public class PlayerController : MonoBehaviour
    private PlayerInputActions controls;

    private Rigidbody2D rb;
    private Animator anim;
    private bool facingRight = true;
    private float moveInput;
    public Transform feetPos;
    public float jumpInput;
    public float speed;

    (SerializeField) float JumpVelocity = 5;
    float JumpPressedRemember = 0;
    (SerializeField) float JumpPressedRememberTime = 0.2f;

    float GroundedRemember = 0;

    (SerializeField) float GroundedRememberTime = 0.25f;
    (SerializeField) float HorizontalAcceleration = 1;
    (SerializeField) (Range(0, 1)) float HorizontalDampingBasic = 0.5f;
    (SerializeField) (Range(0, 1)) float HorizontalDampingWhenStopping = 0.5f;
    (SerializeField) (Range(0, 1)) float HorizontalDampingWhenTurning = 0.5f;
    (SerializeField) (Range(0, 1)) float JumpHeight = 0.5f;

    private void Awake()
        controls = new PlayerInputActions();

    void Start()
        rb = GetComponent<Rigidbody2D>();
        anim = GetComponent<Animator>();

    public void OnMove(InputAction.CallbackContext context)
        moveInput = context.ReadValue<float>();

    public void OnJump(InputAction.CallbackContext context)
        JumpVelocity = context.ReadValue<float>();

    void FixedUpdate()
        rb.velocity = new Vector2(moveInput * speed, rb.velocity.y);
        if (facingRight == false && moveInput > 0)
        else if (facingRight == true && moveInput < 0)


    void Flip()
        facingRight = !facingRight;
        Vector3 Scaler = transform.localScale;
        Scaler.x *= -1;
        transform.localScale = Scaler;

    void Update()
        Vector2 GroundedBoxCheckPosition = (Vector2)transform.position + new Vector2(0, -0.01f);
        Vector2 GroundedBoxCheckScale = (Vector2)transform.localScale + new Vector2(-0.02f, 0);
        bool Grounded = Physics2D.OverlapBox(GroundedBoxCheckPosition, transform.localScale, 0);

        GroundedRemember -= Time.deltaTime;

        if (Grounded)
            GroundedRemember = GroundedRememberTime;

        JumpPressedRemember -= Time.deltaTime;

        if (controls.Player.Jump.triggered)
            JumpPressedRemember = JumpPressedRememberTime;

        if (controls.Player.Jump.triggered)
            if (rb.velocity.y > 0)
                rb.velocity = new Vector2(rb.velocity.x, rb.velocity.y * JumpHeight);

        if ((JumpPressedRemember > 0) && (GroundedRemember > 0))
            JumpPressedRemember = 0;
            GroundedRemember = 0;
            rb.velocity = new Vector2(rb.velocity.x, JumpVelocity);

        float HorizontalVelocity = rb.velocity.x;
        HorizontalVelocity += Input.GetAxisRaw("Horizontal");

        if (Mathf.Abs(Input.GetAxisRaw("Horizontal")) < 0.01f)
            HorizontalVelocity *= Mathf.Pow(1f - HorizontalDampingWhenStopping, Time.deltaTime * 10f);
        else if (Mathf.Sign(Input.GetAxisRaw("Horizontal")) != Mathf.Sign(HorizontalVelocity))
            HorizontalVelocity *= Mathf.Pow(1f - HorizontalDampingWhenTurning, Time.deltaTime * 10f);
            HorizontalVelocity *= Mathf.Pow(1f - HorizontalDampingBasic, Time.deltaTime * 10f);

        rb.velocity = new Vector2(HorizontalVelocity, rb.velocity.y);

germany – Is German Aufenhaltsurlaubnis Equivalent to the Fremch VLS/TS

I am a retired US citizen, living in Germany the last two years on a Aufenthalstitel/Aufenthaltserlaubnis, working as a Freiberuflicher English teacher. For personal reasons, I wish to move to France permanently and continue working as a freelance teacher, so I will be applying for micro-entrepreneur status (basically the same as the German Freiberuflicher status).

The question is, do I need to go through the entire application process to obtain a French visa and get a French residence permit, or will my German Aufenthaltserlaubnis work asa visa? I know I need to specifically get a residence permit before I can apply for micro-entrepreneur status.

europe – What is the equivalent of a subject access request for the Schengen Information System (ie, SIS)?

The EU has some confusingly-written information about your rights to access data about you which is stored in the SIS:

If data about a person are stored, that person has the right to request access to those data and make sure that they are accurate and lawfully entered. If this is not the case, the person has the right to request correction or deletion.

And how to make such a request:

If you believe your personal information has been misused, needs to be corrected or deleted, you can request access to and rectification of your data. If you are a third-country national you can address your request to the consulate of any Member State. If you are a citizen of a Member State you can either address your request directly to the competent national authority responsible for the issuance of the alert or indirectly to the national Data Protection Authority.

Guidelines on the national procedures for access requests have been compiled by the national Data Protection Authorities.

If you are an EU citizen or resident, you are probably best off referring to the relevant authorities in your country. If you are lucky, they will provide clear instructions for doing so. For example, the Norwegian police have a page (in English) called “Do you want to access the Schengen Information System (SIS)?” which contains a form to fill out, an address to mail the form to, and instructions for proving your identity. They also describe the types of information you might be able to find in the SIS:

The SIS database may contain information about:

  • Individuals who are the subject of an arrest warrant or extradition request.
  • Individuals who are wanted by the authorities for some other reason.
  • Individuals who are not entitled to enter or stay in the Schengen area.
  • Individuals who have been reported missing.
  • Lost or stolen items, such as motor vehicles, vehicle registration plates or identity documents.

According to the EU page above, if you are not in Europe, you are supposed to direct your request to the embassy or consulate of any member state. I imagine that most consulates receive relatively few such requests, though, so you might want to email in advance to see what kinds of information they will require in order to process your request, or possibly you may be advised just to contact the relevant national authorities directly.

astrophotography – Equivalent of the 500 rule for working out how many frames you can take with a given focal length before resetting/moving a manual mount?

I’m new to astrophotography and I don’t have a tracker. I just have a light pollution filter, an intervalometer and a camera on a tripod with a few different prime lenses. I’m using deep sky stacker to make photos of deep sky objects.

I’ve read about the 500 rule which has been useful for estimating the maximum length of my exposures with my different lenses to avoid star trails. However, I’d like to use my intervalometer to get a consistent number of exposures before resetting my camera on the subject so that I get a consistent crop factor of wasted image, for stars which have slid on/off the view during my shoot.

Is there a similar rule for doing this? It seems like it should be possible but I can’t figure out the math.

Across different web technologies, do “Components” and “Modules” represent equivalent concepts, despite using different labels?

I’m trying to get my head around the underlying / implied significance of two terms used in Web Development:

I am aware that:

  • Node.js uses CommonJS Modules
  • ES2015 uses ES Modules
  • Deno uses ES Modules

I am also aware that:

  • React.js uses Components
  • Angular 7 uses Components
  • Vue.js uses Components
  • WebComponents uses Components

But at a conceptual level, in each technology-environment, do Components and Modules represent essentially the same sort of category (ie. self-contained, fundamental blocks of code, around which the technology-environment revolves)?

In summary: are Components and Modules two distinct names for the same sort of thing? Can we say that even if they aren’t identical concepts, they are, at least, equivalent?


is it the case that Components and Modules represent blocks of code at fundamentally different levels of hierarchy?

And that these labels are more than just arbitrary – they actually represent two different concepts.

Can we say that Components and Modules are not only not-identical, they are also not-equivalent?

logic – Is $P(a)$ logically equivalent to $forall y [(y=a) rightarrow P(y)]$?

I am not quite sure if my proof is entirely correct. Help is much appreciated.

Assume $P(a)$. Let an arbitrary $y$. Let $y=a$. Since $P(a)$ and $y=a$, then $P(y)$. Since $y$ is arbitrary, then $forall y ((y=a) rightarrow P(y))$.

$(leftarrow)$ Assume $forall y ((y=a) rightarrow P(y))$. Then, by universal instantiation, $(a=a) rightarrow P(a)$. Then, $P(a)$.

Since $P(a)$ is logically equivalent to $forall y ((y=a) rightarrow P(y))$, then, assuming $Gamma$ is a set of formulas, $Gamma rightarrow P(a)$ is equivalent to $Gamma rightarrow forall y ((y=a) rightarrow P(y))$. If $y$ does not occur in $Gamma$, then the statement is equivalent to $forall y (Gamma rightarrow ((y=a) rightarrow P(y)))$, which is the same as $forall y ((Gamma land (y=a)) rightarrow P(y))$. Have I missed something?