bitcoin core – How can I know that a full node has finished the initial syncronization process?

You can check three factors in the getblockchaininfo RPC call:

The result contains a count of the blocks in your chain, and the headers your node has received from peers. For a fully synchronized node, the number of blocks equals the number of headers.

Additionally, there is an initialblockdownload boolean in the response, which will be set to false once the node has caught up with the main chain.

reference request – (random fields / gaussian process): On rewritting a certain expectation as a kernel function

Let $v = (v_1,ldots,v_n)$ and $(w_{1,1},ldots,w_{1,n},ldots, w_{n,m})$ be random vectors with iid coordinates, and also $v$ is independent of $w$, with $w_{i,j} sim N(0,1/m)$ and $v_j sim N(0,1/n)$, for $i=1,ldots,n$, $j=1,ldots,m$. Define a random function $f_{w,v}:mathbb R^m to mathbb R$ by $f_{w,v}(x) := sum_{i=1}^nv_iphi(sum_{j=1}^m w_{i,j}x_j)$, where $phi(t):=max(t,0)$. Fix a point $a, b in mathbb R^m$.

Question. How to got about computing
$$
p_{m,n}(a,b) := mathbb P(f_{w,v}(x)f_{w,v}(a, b) > 0),
$$

Or even just $lim_{n to infty}lim_{m to infty}p_{m,n}(a,b)$.

Note that $p_{n,m}(a,b)$ is simply the probability that the random field $x mapsto f_{w,v}(x)$ flips its sign between $x=a$ and $x=b$.

Observations

  • Conditioned on $w$, we compute (see this math.SE post)
    $$mathbb P(f_{w,v}(x)f_{w,v}(a, b) > 0) = kappa_0(phi_w(a),phi_w(b))
    $$

    where $mathbb R^n ni phi_w(x) := (phi(sum_{j=1}^mw_{ij}x_j))_{1 le i le n}$, and $kappa_0(z,z’) := 1-frac{1}{pi}arccos(z^Tz’/|z||z’|) in (0, 1)$ is the arc-cosine kernel of order $0$.
  • Thus, we have the identity

$$
p_{m,n}(a,b) = mathbb E_w(kappa_0(phi_w(a),phi_w(b))).tag{2}
$$

Question. Can the formula (2) be further simplified ? Is it linked to some other kernels ?

visas – What does the appeals process look like if you are denied entry to the United States?

I’m a British Citizen holding an L1 Visa, currently employed in the US.

I may need to travel internationally soon. I am concerned about re-entry to the US at the end of this travel (I may be away for up to 6 months).

I believe the rules currently state that I am permitted to enter (provided I have not been in certain countries in the preceding 14 days). However I am also aware that L1 (and other Visa types) are currently not being issued and I could run into difficulty if the officer on the day is in a bad mood.

Should the officer decide to deny entry, what would be the options presented to me for appeal and how quickly would the process take place?

EDIT – to clarify – There’s no reason for me to believe that I’m any more or less likely to be denied entry than an average Brit. Prior to COVID and the presidential proclamations, I was a regular international traveler with Global Entry. I may well be worried about nothing, but forewarned is forearmed and that is the purpose of this question.

encryption – What is the NIST/FIPS publication process? How long does it usually take for drafts to become final?

I’m specifically concerned with EdDSA being made FIPS compliant, which I realize might take longer with the concerns raised with ECDSA, but I’m curious what the process actually is.

Is it all internal to NIST with just the Public Comment Period being the only transparency we get in the process?

git – How do pull requests fit into a development process?

In my software engineering career I have never worked with pull requests. Probably because I only ever worked in relatively small teams (5-16 people) and only on projects that were structured well enough and had a small enough code base, which made it quite easy to keep track of all the changes other developers are making to it. While in those teams we’ve never used pull requests as a version control feature, we still had a process in place that required developers to first submit their feature branch to other developers for code review before it could be published. These feature branches when submitted for code review were “merge ready”. That means that as soon as the person reviewing the code gave the green light, the branch could (and should) be published to master without any further changes to it. As you can already probably imagine, there was quite a lot of code to review for each branch. Depending on whether it was a branch for a bug fix or a full feature, amount of code that needed to be reviewed varied between as little as couple of lines and as many as 3-5k lines or even more.

While I do understand the concept of pull requests and what problems they are meant to solve, I am having hard time figuring out how pull requests can be incorporated into a software development process without it being too disruptive or a waste of time.

I always read on the internet how developers are complaining about their colleagues asking them to review enormous pull requests and how you as pull request submitter should always make sure that your pull request is easy to review.

I was thinking that one could create multiple pull requests during the development of a big feature. That would mean tho that you are pushing code into production that does not currently serve any real purpose and is very likely subject to change before the feature is completely implemented. Or you could submit a pull request without actually merging the current state of the branch into production. Kind of like a request to your colleagues “Hey, I’m developing this thing here. Can you check if I’m on the right track?” and only after the final pull requests the branch gets merged. But in that case it would mean that you are possibly wasting your colleague’s time by letting them review code that has a very high chance to be changed before the feature is completely implemented and “publish ready”. Another option would be to break down the feature into many smaller features. This would require quite a lot of planning to work and also has the negative side effect that you are publishing code that you will only need in the future, if at all.

How do those of you who have pull requests as part of their development process use them and how can one incorporate them into their development process without it disrupting people’s work or wasting time?

installation – The emulator process for AVD Pixel_2_API_30_2 was killed

I have just installed Android Studio on Windows 10. I am having all sorts of issues. The first, of many, is that I cannot get the emulator to work. I have tried the following:

  1. Clicked software instead of hardware.
  2. Restarted computer.
  3. Uninstalled and reinstalled the emulator.
  4. Clicked on all updates.
  5. Googled troubleshooting answers, nothing.

It always comes up with the same error: “The emulator process for AVD Pixel_2_API_30_2 was killed.”

Any ideas?

machine learning – Are Gaussian Process Upper Confidence Bound results valid with only exploration based acquisition?

I have gone through the GP-UCB N. Srinivas et.al where the acquisition function attempts to strike balance between exploration and exploitation. The regression model is $y=f(x)+varepsilon$ following all the conditions mentioned in the original manuscript. The Gaussian process is given as $y(x) sim mathcal{N}(mu(x),sigma^2(x))$. The GP-UCB acquisition function is:

$$x_{t+1}=arg max_x=mu_t(x)+sqrt{beta_{t+1}}sigma_t(x)$$

This leads to the result where the probability of the difference between mean estimate $mu(x)$ and true (but unknown) function $f(x)$ is bounded as, with $delta in (0,1)$
$$mathbb{P}bigg {|f(x)-mu_T(x)|leq sqrt{beta_{t+1}}sigma_t(x) bigg } geq 1-delta $$

My question is that if i modify the acquisition function to perform pure exploration as
$x_{t+1}=arg max_x=sqrt{beta_{t+1}}sigma_t(x)$, does the result on probabilisitc bound hold? Or I need to modify the bound as well.

My understanding is that if the function is sampled from a Gaussian process, then the bound should hold irrespective of the acquation function. Something similar to the Hoeffding’s Inequality based UCB in Given in this blog. How can I construct argument to show that, if true.