General

Access Mac from Nintendo Switch

well try this path. No, seriously, no.

He estado intentando acceder al mac via VPN desde la Nintendo Switch

Para ello hay que usar el truco de forzar el lanzamiento del WifiWebAuthApplet. En principio parece funcionar: te instalas un servicio de DNS como el dnsmasq, activas el compartir wifi del iMac, y con eso engañas al Applet para que vaya a tu web para autenticarte, cuando conectas la Switch a la wifi. Si no quieres tener que volverte loco viendo como pushear el DNS en el momento que la consola se conecte al Mac, puedes modificar los settings y poner a mano el dns, y luego reconectar. Por supuesto también tienes que estar corriendo un servidor web en los puertos estándar.

El problema principal de ese truco es que tiene un timeout, así que incluso para ojear la web no es muy conveniente. Tiene mas logica si hubieran encontrado alguna manera de hackear la Nintendo a partir de inyectar páginas web trucadas, pero no es el caso, así que es casi una anécdota. Ah, por github se puede encontrar css y html preparado para dar una apariencia más “switch”, pero no me he molestado en instalarlo.

El resto una vez consigues que la consola cargue una página html es ya la típica pesadilla. Hay que usar el cliente web, esto es, noVNC, que soporta algunos formatos modernos pero no muchos de los antiguos. Así que el servidor nativo de Mac básicamente le envía raw sin comprimir y ni siquiera se pone de acuerdo para los updates de pantalla. Por otro lado, los servidores VNC libres no están preparados para enviar las resoluciones altas que tienen los macintosh hoy en dia, asi que hay que compilar (configure, make, vi, make) una versión de x11vnc para osX que sí que sabe reconocer estas resoluciones… pero usa una librería anticuada sin websockets, y por tanto hay que lanzar el noVNC con la versión que hace un puente entre websockets y TCP. En resumen:

x11vnc/x11vnc -nonap -xd_area 0 -wait 20 -defer 10  -rfbauth /path_to_passwd -localhost

./utils/launch.sh --vnc localhost:5900 

Inmunidad de grupo

En el anterior post de epidemiologia de salon comentabamos la diferencia entre los ajustes por funcion logistica o por funcion de Gompertz y los ajustes mediante modelo SIR, en una de las versiones de Kermack-McKendrick.

Veamos cuando se produce el pico de infectados en cada uno de los modelos:

Para Logistic \(y” = \beta y’ (N – 2y)\) asi que tenemos un maximo en \(y=N/2\).

Para Gompertz $$y” = – b y’ (1 + \log \frac y k )$$ asi que el maximo ocurre con \(y = k e^{-1}\)

Para Kermack-McKendrick es otra historia. Para empezar conviene tener en cuenta que aquí la ecuación diferencial de infectados ha salido al despejar un sistema de dos ecuaciones, así que en realidad hay otra subyacente que tendríamos que considerar si queremos hacer cosas como diferentes condiciones iniciales, ajustes por tramos o alguna variación temporal de los parámetros. Para la ecuacion que hemos despejado, la derivada segunda es

$$y” = y’ (-\alpha (1+ \log(1- \frac y N )) + \beta (N – 2 y) )$$ asi que tenemos un pico cuando el valor de y cumple

$$ -\frac \alpha {N \beta} (1 + \log(1- \frac y N )) = 1 – 2 \frac y N $$ mientras que por otro lado el valor final del total contagiado por la infeccion se obtenia resolviendo

$$ -\frac \alpha {N \beta} \log(1- \frac k N ) = \frac k N $$ Por supuesto nos interesa la solución y/N que es menor que k/N. Lo interesante es que estas fracciones (o su cociente y/k) todavía dependen de los parámetros, mientras que en Logistic o en Gompertz son cantidades fijas, respectivamente 1/2 o exp(-1).

Un aire acondicionado aun más flojito

Pues una vez solucionado lo de tener un poco de fresquito (vease el post anterior), tambien me ha llegado una cosa de bastante poca eficiencia: un kit de cuatro celulas peltier para refrigerar por agua.

En teoria hay que darle una caña de 288W para conseguir una potencia de enfriamiento de 170W. Supongo que el total de 458W se lo tendrá que llevar el agua, eso es bastante gordo. Pero al menos aquí no tenemos dudas de si a volumen constante o a presion constante. Pasamos calorias a julios y tenemos 4.18 kJ por Kilogramo y Grado.

Por ejemplo con un calentamiento de 25 grados, tendremos que bombear 0.458/(25*4.18) = 4.38 gramos de agua por segundo. ¡Unos 15-16 litros por hora! Eso explica que la refrigeracion por agua de circuito abierto ya no se venda, claro.

Un aire acondicionado flojito

Pues me acabo de comprar un aire acondicionado que dice que es capaz de proporcionar un flujo de aire de 320 metros cúbicos a la hora y enfriar con una potencia de 2050W.

Cómo 2050 W son 7380 kilojulios por hora tiene pinta de que es capaz de ir quitando calor a raíz de 23062.5 julios de cada metro cúbico, o unos 23 julios de cada litro de aire.

A 20 grados (y supongo 1 atmósfera) un metro cúbico contiene 1.20 Kg. Usease que estamos hablando de enfriar a ritmo de 19218 J/Kg. Ahora nos faltaría tener el calor específico del aire. En algún sitio he leido que es de unos 1000 julios/kg, asi que a ojo, dividiendo, tendrá que enfriar el aire unos 20 grados O_O

Poniendo termómetros en la entrada y en la salida me sale que enfria solo unos diez o doce grados. Al menos es el orden de magnitud. Pero claro, hay que tener en cuenta lo de los cambios de presiones al pasar por los ventiladores y todo esto.

Me pregunto como se podrá medir con más precisión, y si hay laboratorios que lo hacen para los electrodomésticos o se limitan a contar los efectos de los componentes. En particular me pregunto si esos 2050W son contando o sin contar con el calor generado por la propia máquina (785W) . Si tuviera que disipar ademas el calor generado, tendriamos que en vez de bajar 19.2 grados apenas podría bajar unos 11 o 12 grados, lo que me encajaría con lo que veo en los termómetros. Pero sería un poco estafa ¿no? Asi que mas bien puede ser que estoy perdiendo un factor dos debido a tanta aproximación, a que no es ni presión ni volumen constante con tanto compresor, o a que no se trata de aire seco, o a que la temperatura hay que medirla fuera del flujo. O todo un poco.

AÑADIDO: Hoy por la mañana, aunque refrescaba, he probado de nuevo, permitiendo distintos circuitos de aire: que el aire para la rejilla caliente no fuera el mismo que el aire interior, el de la rejilla fria. Parece que se veía un poco mejor: unos 15-16 grados de diferencia, y 39 grados en la salida de aire caliente

Da la impresión de que el punto donde se coloque el sensor de temperatura influye, pero también ayuda que no haya succión del aire, no se exactamente por qué; no sé si la máquina usa uno o dos motores para la circulación del aire. Esto puede que también se refleje en la potencia consumida: 580 a 650 watts he ido midiendo.

Gompertz y Kermack-McKendrick

La epidemiologia de salón durante la pandemia se ha dividido en dos bandos: los que gustaban de modelar los casos diarios usando un modelo basado en dinamica de compartimentos SIR, SEIR, etc y los que preferian las funciones genericas de evolucion temporal como la ecuacion Logistica o la de Gompertz.

Desde el punto de vista de resolucion de ecuaciones diferenciales, el modelo de dos compartimentos S-I y la evolucion por funcion logistica son la misma cosa. La funcion que nos da el numero total de infectados sigue la ecuacion \(y’ = \beta y (N-y)\), donde los ceros del lado derecho nos indican entre que valores se mueve la funcion: desde un inicial de cero infectados hasta el total de la poblacion.

La funcion de Gompertz retoca el termino “de finalizacion” de la evolucion temporal, $N-y$, suavizando su llegada a cero con un comportamiento logaritmico

$$ y’ = -b y \log \frac y k$$

usando el “final size” $k$ que puede o no coincidir con el total de poblacion $N$.

El modelo SIR de Kermack-McKendrick, en su version mas simple, no se suele presentar con el “compartimento” de infectados totales (que viene a ser I+R), pero si lo usamos vemos que la sustitucion es en el factor que Gompertz deja quieto: se añade un comportamiento logaritmico al primer factor,

$$y’ = (\beta y + \alpha \log (1-\frac y N)) (N-y)$$

lo que crea un nuevo cero $k$ entre el trivial y el total; la solucion de la “final size relation”

$$ – \frac \alpha \beta \log (1-\frac k N) = k $$

de manera que ahora el tamaño de la epidemia evoluciona desde cero hasta $k$, asumiendo por supuesto que la solucion de esta ecuacion es real y menor que el total de poblacion $N$.

En resumen: tanto Gompertz como SIR introducen un término logarítmico en el cero de finalización, pero lo hacen de diferente manera. He preguntado en Math.SE si existe alguna forma conocida de transformar uno en otro, pero no creo que me den ninguna respuesta. Tanto en los ceros como en el maximo las dos expresiones se comportan de manera muy distinta.