The Offramp

Biden stating Putin is going to invade Ukraine oddly offered Putin an offramp from invading Ukraine.

For several months, Putin has been saying he wasn’t going to invade Ukraine. Meanwhile, his forces prepped to be in position to invade Ukraine. This has done good things for Putin.

+ He dominated international politics, made himself a big player, and received meetings with Scholz, Biden, and Macron. He raised his profile at home quite significantly.
+ He flexed military muscles by showing capability on the world stage.
+ He upstaged his frenemies in China during the Olympics.
+ His current military adventurism is roughly unchanged from before, save increased artillery attacks.
+ Ukraine was destabilized slightly more. The Ukrainian people are a little more scared. Putin the judoka has put his adversaries off balance.
+ NATO and the EU were partially destabilized. Fissures and weaknesses were exposed.
+ Military unit training has been accomplished with forces at or nearly 200k strong.

And he hasn’t actually invaded Ukraine any more.

On the negative side:

– It has driven the Baltics, Poland, and Finland closer to NATO. Joining NATO is now an open discussion in Finland, a subjection previously rarely brought up.
– It exposed fissures within the EU regarding military action, however those fissures are being addressed. Conversations long delayed are now being held.
– Scholz sort of affirmed shutting down the Nordstream 2 pipeline, albeit in no strong language (or even in direct language at all).
– Biden’s diplomacy first policy actually worked.
– The demand for NATO to forever foreswear expanding east was roundly rejected.
– The EU is replacing a lot of Russian natural gas with American.

And on the neutral side:
o The Nordstream 2 isn’t sanctioned yet.
o Uniformed troops on the Ukrainian border haven’t invaded Ukraine.

If Russia deescalated right now, he notch a few more wins. All along he’s said he would not invade, Biden and Johnson have said or implied he would, and if he doesn’t, he’s right and they’re wrong. Biden finally stuck his neck out and said Putin is going to invade. If Putin backs out, Biden will eat crow.

Putin has also pushed his boundaries. He can now develop more troop deployments to his western border with even less risk of receiving sanctions.

Putin can claim he’s no warmonger, that it’s the US and the west, etc. That plays well in Russia.

He’s still actively in Ukraine, albeit with unmarked troops instead of main military units. He’s still actually invading Ukraine and fighting a war of separatism. He’s moved the goalposts from, ‘Russia! Stop invading Ukraine!’ to ‘Russia, don’t invade Ukraine any more.’

He’s gained military intelligence and basically sand-mapped invading a near-west ally.

I don’t know if Biden making this statement was intentional, a probe to deflate the balloon, or a serious statement. A strong judo response is to roll with your opponent’s energy. An successful geopolitical implementation of that would be to now deescalate the situation in eastern Europe. This is largely the theory Germany has held, and they might be right. Furthermore, not-invading now would add frission to the Germany-US detente, which serves Russia’s purposes well. If Putin’s motivation to come to this point, he would have succeeded. He would have played matters to come to this point quite well. While he would not have come away with a pure win, he’s certainly not coming away with nothing. He scored a waza-ari.

But of course, Putin could just invade Ukraine openly. It’s not like anything stopped him before.

Science Information

An engineer gets up and says, ‘2+2=4.’ This is information.

A student says, ‘2+2=6.’ They earnestly believe that. This is misinformation.

Another student says, ‘I don’t know what 2+2 is because bears ate my homework.’ This is disinformation. There never were any bears or homework.

A mathematician says, ‘2+2=6 for certain vector systems.’ They publish. Other mathematicians postulate their vector system is wrong. They fight. This is mathematics.

My students say, ‘2.’ Partial credit.

The Law Dept. trains their students to say, ‘2 is a number.’ They write a fifty page brief and bill for 20 hours.

In my lab, I put a 2 Ω resistor in series with a 2 Ω resistor, attempt to measure total resistance, the resistors and multimeter catch fire, and we have a meeting with building maintenance. Matlab runs out of memory and crashes.

The biologists have two puppies. A student brings in two more. They play with all eight puppies, because the puppies are super-cute and deserve to be counted twice. That one has a floppy ear! They publish. Conclusion: puppies!

The physicists argue whether the information can be read faster than the speed of light or if uncertain information is really information at all.

The chemists add 2 mols of something to 2 mols of something else, and the solution also catches fire. But they did it intentionally.

Jalopnik

I think Jalopnik has serious problems. I have fond memories of that website, and it’s still in my habit. My ‘j’ still autocompletes to Jalopnik on my home machine. But I don’t read them much anymore. I hope they take a breather and have a moment of clarity.

Fandom

Is it meaningful to point out problems in events you don’t watch, participate in, or particularily follow?

What if it’s so popular than you’re exposed to it by breathing?

I’ll tell you what I do like: cheesecake.

Eigenvalues

Do you have any idea when was the last time I did eigenvalues and eigenvectors longhand? I don’t. [V, D] = eig(A);

I don’t manually adjust my spark timing either. (Though I do row my own gears, so maybe…)

Matlabbery

Weierstrass Sine Product, qdot simulator.

%Matthew Miller
%v_4
%2/8/22
%Calculates max qdot for a range of n and c1 values
%to do more I’d have to optimize a time-dependent progression
%I may do it later

%pdot = q1*q2*q
%qdot = m3Factor * s_n(chi)/sin(chi)
%s_n(chi) = chi * PI(k=1:n)(1-(chi/(k*pi))^2)

%==========================================================================
%start fresh

clear all

%==========================================================================
%human entry

%set number of purchases
steps = 1000;

%since the maximum number of purchases of each variable is all of the
%purchases, these can be set to steps
nDimension = steps;
c1Dimension = steps;

%not sure what to do with these yet
q1=1;
q2=1;
c2=1;

m1=4; %Milestone upgrade 1 level (0, 1, 2, 3, or 4)
m2=1; %Milestone upgrade 2 level (0 or 1)
m3=3; %Milestone upgrade 3 level (0, 1, 2, or 3)

%==========================================================================
%prelim calculations

nIndex=1:nDimension; %X axis
c1Index=1:c1Dimension; %Y axis

m1Factor = q1^(1+0.01*m1); %precalculate
m2Factor = c2^m2; %precalculate
m3Factor = 3^m3; %precalculate

chi = zeros(nDimension,c1Dimension); %preallocate for speed
sinterm = zeros(nDimension,c1Dimension); %preallocate for speed
s_n = zeros(nDimension,c1Dimension); %preallocate for speed
qdot = zeros(nDimension,c1Dimension); %preallocate for speed

%==========================================================================
%generate variables
%Normally I’d do all these with functions, but that’s harder to read

%blah blah blah arrays begin at 1 so I’m ignoring c1(0)=0

stepLength = 50;
basePower = 1;
offset = 1;

power=basePower;
c1steps=1;

c1(1)=offset;

for index = 2:c1Dimension
c1(index) = c1(index-1)+power;
c1steps=c1steps+1;
if c1steps > stepLength
power=power*2;
c1steps=1;
end
end

%chi
for n_index=1:nDimension %X
for c1_index=1:c1Dimension %Y
chi(n_index,c1_index) = pi.*c1(c1_index).*nIndex(n_index)./(c1(c1_index)+nIndex(n_index)/m3Factor)+1; %x=n, y=c1
end
end

%sin(chi)
for n_index=1:nDimension %X
for c1_index=1:c1Dimension %Y
sinterm(n_index,c1_index) = sin(chi(n_index,c1_index));
end
end

%s_n(chi)
for n_index=1:nDimension %X
for c1_index=1:c1Dimension %Y
s_n(n_index,c1_index) = chi(n_index,c1_index);
s_nk(1)=chi(n_index,c1_index)*(1-(chi(n_index,c1_index)/(1*pi))^2);
if n_index>1
for k = 2:n_index %Big Pi
s_nk(k)=s_nk(k-1)*(1-(chi(n_index,c1_index)/(k*pi))^2);
end
end
s_n(n_index,c1_index)=s_nk(end);
end
end

%qdot(chi)
for n_index=1:nDimension %X
for c1_index=1:c1Dimension %Y
qdot(n_index,c1_index)=m2Factor*s_n(n_index,c1_index)/sinterm(n_index,c1_index);
end
end

[M,I] = max(qdot(:));
[n_max, c1_max] = ind2sub(size(qdot),I); %Maximum values
qdot(n_max,c1_max);

%========================================================================================
%plotter
%========================================================================================

clear rows cols

maxSteps = steps;
minSteps = 1;
for stepsIndex=minSteps:maxSteps

nRange=stepsIndex;
c1Range=stepsIndex;

C=max(qdot(1:nRange,1:c1Range));
D=max(C);
[rows(stepsIndex), cols(stepsIndex)] = find(qdot(1:nRange, 1:c1Range) == D);

end

figure(1)
plot(rows, cols)
title(‘Peak Qdot’)
xlabel(‘n’)
ylabel(‘c1’)

Common

Apropos of nothing, I really liked Common’s character Cassian in John Wick 2.

Cassian had an upper level he was capable of, but he didn’t go there. He could have. The character had ceiling in his will to violence, ceiling Clausewitz would have urged him to explore. And in his first meeting with John, when John basically admits he killed Gianna, Cassian goes nearly to that level, drawing and shooting in a crowd. But after that Cassian is subdued, playing with the line between repressed and controlled. I rarely see that.

It might have been more intense for Common to play a screaming psycho, but it would have been less enjoyable. The character wouldn’t have been as cool. For a series like the John Wick movies that are anchored in their shtick, it would have been the wrong move. Common played Cassian exactly right. He fit the texture of the story. His character matched.

I hope there’s no bad blood in there (between actors/directors/etc. in the real world). I’d love to see a John vs Cassian movie, just two assassins going at it.

The High Table could be supporting Cassian as a patsy. Cassian might even know and not care. But I’d like a full movie of those two trying to kill each other, set against the backdrop of assassin politics.