Matching perspective on two photos

I've got a photo taken about 120 years ago of a street near to where I live.

However hard I try I can't seem to get the same perspective if I photograph the same scene from roughly the same place using my current camera.

My attempts at using photoshop's image transformation tools to try to match them up aren't that more succesful.

Does anyone have any hints or pointers on how to proceeed.

My aim is to fade the old image into the new one as part of a short video.

Thanks in advance

I was wondering if I can some perspective on optimizing a function that has nested for-loops for feature selection?

I looked up a tutorial and created a function based upon its script. It’s essentially used so I can select dependent variables that’s a subset of a data frame. It runs but it is very very slow.

How would I flatten a nested for-loop such as this?

I tried implementing an enumerate version but it did not work. Ideally I’d like the complexity to be linear, currently, it’s at 2^n. I’m not sure, how I can flatten the nested for loop, such that I can append the results of a function to a list.

def BestSubsetSelection(X,Y, plot = True):     k = len(X.columns)     RSS_list = []     R_squared_list = []     feature_list = []     numb_features = []      # Loop over all possible combinations of k features     for k in range(1, len(X.columns) + 1):             # Looping over all possible combinations: from 11 choose k             for combo in itertools.combinations(X.columns,k):                 # Store temporary results                 temp_results = fit_linear_reg(X[list(combo)],Y)                  # Append RSS to RSS Lists                 RSS_list.append(temp_results[0])                  # Append R-Squared TO R-Squared list                 R_squared_list.append(temp_results[1])                  # Append Feature/s to Feature list                 feature_list.append(combo)                  # Append the number of features to the number of features list                 numb_features.append(len(combo)) 

A copy of the full implementation can be found here:

Sentential, first order and higher logics from a categorical perspective

Is there a standard reference for understanding sentential, first and higher order logics from a categorical perspective?

I’m close to knowing enough $ 1$ /$ 2$ /internal category theory to tackle the Joyal-Tierney Galois theorem for toposes and the Borceux-Janelidze generalization for internal precategories to give some idea of my knowledge base. I’ve heard that category theory can model all of these logics as the internal logic of an appropriate (possibly higher) category, and I was looking for a reference that builds up logic from this perspective for someone who has never explicitly read a logic textbook.

For the record I have “A Course in Mathematical Logic” by Bell and Machover ordered and in the mail; I fully intend to take the classical route up through logic as well, but I was curious about any categorical cheat codes along the way.

It seems (naively) like type theory might be the answer here, and I would be open to suggestions in that direction, but I am currently unfamiliar with the inner workings (or general moral) of type theory.

Neural Networks object creation from OOP perspective

Let’s say that I have a class representing the Neural Network. The neural network is composed of three bigger units: a subpart_1, subpart_2 and subpart_3, being called in such a way, that the output of one part is an input to the next one. The parts are itself Neural Networks with the same basic interface. In my current approach, each of this part is created inside the constructor, the __init__method of my class, and I am passing in the configuration parameters. It inherits from some framework NeuralNetwork class which gives me access to some common interface like forward/backward methods. It looks like this:

class NeuralNetwork(framework.NeuralNetworkBase): def __init__(self, subp_1_params, subp_2_params, subp_3_params)         super(...)     self.subpart_1 = Subpart1Class(subp_1_params)     self.subpart_2 = Subpart2Class(subp_2_params)     self.subpart_3 = Subpart3Class(subp_3_params) . . . def forward(self, input):    <use the subparts on the data in some way>  

You can imagine the SubpartXClasses being implemented in a similar manner. Now, I have been recently reading more on Unit Testing and Unit Testing-friendly design and in particular I have stumbled upon the blog post:

in which the author claims, that unless the fields of the class are not plain data structures, they should not be created inside the constructor and instead passed as the constructor arguments to allow for the maximally decoupled and unit testing-friendly design. The tone of that posts is really strict but it is also quite old. So now my question: In a scenario like this, would it be a straight up better idea to create the objects externally, through some factory, and pass a ready and configured objects into the constructor to register them to my NeuralNetwork class? From my point of view, the current approach seems more natural (actually the framework I am using also promotes this approach), but after reading that blog posts I started having some doubts.

How good/bad the exit intent pop-ups? What is Google’s perspective?

Hi all,

We have launched the exit intent pop-ups on our website where a pop-up will appear when the visitor is about to leave the website. This will trigger when the mouse is moved to the top window section; as an attempt by the visitor to close the window. We see a slight ranking drop post this pop-up launch. As the pop-up is appearing just before someone leaves the website; does this making Google to see as if the user left because of the pop-up and penalizing us? What is your thoughts and suggestions on this?


How to architect a globally distributed website, from an IP address perspective

I would like to have a website that is loaded fast from any point in the world. From my understanding, you need to take advantage of the data center “regions” at places like Google Cloud or AWS. That’s as far as my understanding goes.

What is missing is how exactly to implement it (at a high/diagram level here, not at the code level).

For example, on Google Cloud for a specific “project” you have the choice of IPv4 or IPv6, of “Premium” vs. “Standard” (“Traffic traverses Google’s high quality global backbone, entering and exiting at Google edge peering points closest to the user.” vs. “Traffic enters and exits the Google network at a peering point closest to the Cloud region it’s destined for or originated in.”), and of Global vs. Regional. If you select IPv6 you are limited to Premium. If you select Global on IPv4 you are limited to Premium. I am not sure how this works, not at the level of detail of Google’s specific system, but what generally is going on here. I don’t see how a “global” IP address can be better than a regional one, since the regional one is closer to the request source.

On AWS, they don’t have a “Global” option, all IP addresses are IPv4 and they are regional.

That was just some background for the main question.

My question is how to architect a system to take advantage of regional data centers. Just generally, at the IP level. I am wondering how it goes from my domain to the regional IP address. Or if it is like Google Cloud’s “Global” IP address, how you could then integrate regions into it. Or if that’s backwards, how to conceptualize of this. I saw the diagram below, but it only explains how a domain is mapped to a single region-independent IP address. I don’t see how regions are actually implemented / come into play.

enter image description here

Basically I would like to know at a high level how I should organize my IP addresses and servers to take advantage of regional data centers. So far my thinking is of having servers in different regions with their own copies of data. But then I get lost when thinking about IP addresses and domains. If I use the AWS model, it seems I reserve an IP per entrypoint server per region. But then I don’t see how the domain name figures out which IP/region to select. If I use the global Google Cloud model, I don’t see how I can add regional servers.