Please help: possible case of SMS spoof?

So the other night my boyfriend and I got some texts from a local number saying some hateful things. We both texted back and tried calling multiple times, but the number rang and went to a strange automated voicemail. My bf texted a few things and said to call back and finally he gets a text from a completely different phone number saying to call, they are ready. Bf calls and a man answers the phone. Bf says ‘hey you told me to call’ and the guy says he got a text message from him (bf) to call. We realized something wasn’t right. The guy was obviously asleep and so bf apologized and hung up. The next day we called the original number that texted and it went to the guy again who answered the previous night. We asked the guy his number and it was completely different than what we dialed. We hung up and dialed again and it went to the guy’s number again. I looked up call spoofing and it sounds like this may be what has happened. But I couldn’t understand why when we texted or called this first number (where we got the original crazy texts from) would then forward to a totally different number. Thoughts?

I want to buy a used docking station for my laptop. Has there ever been a case of a docking station being a security concern?

I found a used docking station for my Dell laptop. The price is very interesting and the docking station seems to be in perfect shape. But I’m somehow worried about potential security risks. After all, you could install some kind of keylogger in the station’s firmware. Am I being paranoid here or is it possible in any way?

Is it needed to increase the precision of ContourPlot in this case?

I have this function and I want to see where it is zero. $ $ \frac{1}{16} \left(\sinh (\pi x) \left(64 \left(x^2-4\right) \cosh \left(\frac{2 \pi x}{3}\right) \cos (y)+\left(x^2+4\right)^2+256 x \sinh \left(\frac{2 \pi x}{3}\right) \sin (y)\right)+\left(x^2-12\right)^2 \sinh \left(\frac{7 \pi x}{3}\right)-2 \left(x^2+4\right)^2 \sinh \left(\frac{5 \pi x}{3}\right)\right)+2 \left(x^2-4\right) \sinh \left(\frac{\pi x}{3}\right)$ $ I use ContourPlot

f[x_, y_] :=    2 (-4 + x^2) Sinh[(π x)/3] +     1/16 (((4 + x^2)^2 + 64 (-4 + x^2) Cos[y] Cosh[(2 π x)/3] +           256 x Sin[y] Sinh[(2 π x)/3]) Sinh[π x] -        2 (4 + x^2)^2 Sinh[(5 π x)/3] + (-12 + x^2)^2 Sinh[(         7 π x)/3]);  ContourPlot[  f[x, y] == 0, {x, 3.465728, 3.465729}, {y, 1.046786, 1.046795},   PlotPoints -> 500]  

and I obtain this plot

enter image description here

Now, my question is that can I trust this plot and conclude that the curves do not cross?

Or, I should increase the precision of the plot? And if so, how can I ask Mathematica to give higher precision for the axis in ContourPlot?

Runtime error : How do I avoid it for a large test case?

I have been solving the CSES problem set and I am stuck on the following problem : CSES-Labyrinth

Here is my solution :

#include <bits/stdc++.h> using namespace std;  int main() {     int n,m,distance=0,x=0,y=0;     string str1="NO",str2="";     cin>>n>>m;     char grid[n+1][m+1];     int vis[n+1][m+1];     int dis[n+1][m+1];     string path[n+1][m+1];     int dx[]={0,0,1,-1};     int dy[]={1,-1,0,0};     char dz[]={'R','L','D','U'};     queue<pair<int,int>>s;      for(int i=0;i<n;i++)         for(int j=0;j<m;j++){             cin>>grid[i][j];             if(grid[i][j]=='A'){                 x=i; y=j;             }             vis[i][j]=0;             dis[i][j]=0;             path[i][j]="";         }          s.push({x,y});     while(!s.empty()){         pair<int,int>a=s.front();         s.pop();         if(grid[a.first][a.second]=='B'){             distance=dis[a.first][a.second];             str1="YES";             x=a.first; y=a.second;             break;         }         if(vis[a.first][a.second]==1)         continue;         else{             vis[a.first][a.second]=1;             for(int i=0;i<4;i++){                 if(a.first+dx[i]<n && a.first+dx[i]>=0 && a.second+dy[i]<m && a.second+dy[i]>=0 && (grid[a.first+dx[i]][a.second+dy[i]]=='.' || grid[a.first+dx[i]][a.second+dy[i]]=='B')){                     s.push({a.first+dx[i], a.second+dy[i]});                     dis[a.first+dx[i]][ a.second+dy[i]]=dis[a.first][a.second]+1;                     path[a.first+dx[i]][ a.second+dy[i]]=path[a.first][a.second]+dz[i];                 }             }         }     }     if(str1=="YES"){         cout<<str1<<endl<<distance<<endl<<path[x][y];     }     else     cout<<str1; } 

I am getting a Runtime error on 3/15 test cases and this was the best result I could reach (other 12 cases are accepted). How do I avoid runtime errors? What is wrong with my solution?

How safe is dm-crypt/LUKS? Would TPM make me more secure in this case?

I’ve been looking to purchase a new laptop and I need to have security in mind. I’ve specifically been looking for laptops with discrete or integrated TPM because it’s been my understanding that TPM would improve disk encryption security, but after doing some more research I’ve heard a lot of sources saying that it doesn’t really make a difference and some go so far as to suggest TPM has unpatched vulnerabilities and may even be backdoored by intelligence agencies such as the NSA.

For someone such as myself who is becoming more active in activism and investigative journalism, should I bother with TPM? And how safe is dm-crypt/LUKS? I currently use Linux Mint which I believe uses LUKS by default for disk encryption and I’m wondering how vulnerable it is to attackers with physical access to my laptop.

(P.S I’ve heard of Qubes but at the moment I’m unable to use it. In my case I’ll be using Linux Mint + AppArmor and sometimes Whonix when appropriate.)

Best guidance for allowing users to connect via HTTP in case of a certificate error

I’ve coded my app to use https, but if a https transaction fails for any reason, I assume it’s because the server isn’t configured for https, and thereafter start all transactions with http. Seems like that’s a vulnerability. Likewise, a script kiddie using a proxy to intercept the traffic on his client hardware would be able to make all https transactions fail.

I’m told that if someone tries to MITM your app’s HTTPS request then the request should fail (invalid certificate) and your app should fail with an error, not fallback to HTTP. In a world where SSL is reliably available, sure, but maintaining valid SSL certs is a task in itself. For example, letsencrypt recently revoked some of their certificates and forced renewal of same because of some security problem. Aside from revocations, certs are short term and have to be renewed, and the renewal process involves a lot of stitchware, and can fail. If SSL goes down, I don’t want my site to go dark.

What is the best guidance for either:

  1. More reliably maintaining certificates (such that if they do fail, the resulting downtime falls within the "five nines" SLA unavailability window) without it being such a manual headache, or

  2. Allowing the site to continue to work if SSL has failed? Is it easy to allow most activity to proceed using http, but allow known-critical transactions to require https.

Note that no browsers are involved in the scenarios that concern me.

Best case “skew height” of an arbitrary tree

Given an arbitrary binary tree on $ n$ nodes, choose an assignment $ A$ from each parent to one of its children (the "favored child" as it were). We define the skew height of the tree as $ H_A(\mathsf{nil})=0$ and $ H_A(\mathsf{node}\;a\;b)=\max(H_A(a), H_A(b)+1)$ if $ A(\mathsf{node}\;a\;b)=a$ is the favored child and symmetrically $ \max(H_A(a)+1, H_A(b))$ if $ b$ is favored.

The question is: For a fixed tree $ T$ , what is the minimum skew height over all assignments? I would like to get an asymptotic bound on $ f(n)=\max_{|T|=n}\min_AH_A(T)$ .

Other variations on this problem I am interested in are when the trees are not binary (but there is still one favored child and all others add one to the height), and when there is sharing (i.e. it is a dag), which doesn’t affect the height computation but allows for much wider "trees" while staying under the $ n$ node bound.

The obvious bounds are $ f(n)=\Omega(\log n)$ and $ f(n)=O(n)$ . My guess is that $ f(n)=\Theta(\log n)$ for binary trees, and $ f(n)=\Theta(\sqrt n)$ for dags (with some kind of grid graph as counterexample).