Configurando red mesh usando 2 routers AX3600

No se cuantas horas he desper… invertido en tratar de configurar la red mesh pero hoy por fin lo he conseguido. Aqui dejo los pasos que he seguido para abrazar el exito en esta empresa.

La receta

Fuente original: https://xiaomi.eu/community/threads/ax-3600-mesh-not-detected.58886/post-611886

  1. Todo desconectado
  2. Enchufa solo la electricidad y Reseteo de fabrica del router (ambos).
  3. Cuando este listo enchufa el ethernet
  4. Configura el router usando la red 5g (siempre 5g)
  5. Conectarse al wifi
  6. Esperar a que salga el dialogo de configuracion.
  7. Desconectar del wifi y desactivar wifi del dispositivo usado durante ~30seg
  8. Conectar el router reset de fabrica a la electricidad
  9. Cuando las luces indican que esta iniciado enchufa el ethernet (luces naranjas y azules)
  10. Busca la red del router Xioami con el nombre 5G
  11. Espera a que aparezca una ventana emergente en el navegador de MiWifi.
  12. Configura el WIFI añadiendo contraseña.
  13. Contraseña: 12345678
  14. Usa la misma contraseña de Wifi para la contraseña del router. Esto es asi por defecto, asi que no cambies nada.
  15. Apaga el wifi en el ordenador durante 30 segundos. ¯\_ (ツ) _/¯
  16. Selecciona la nueva red 12345678_5G (!!!) ¡Siempre usa la red 5G!
  17. Asegúrate de que el segundo router esté restablecido de fábrica y cerca del Nodo Maestro (el primer AX3600) y conectado por ethernet al nodo principal.
  18. Usa el script proporcionado por ShotokanZH. ¡Gracias de nuevo!
  19. Terminal:
    1. git clone https://github.com/ShotokanZH/MiWiFi_Mesh_Node_Adder
    2. python3 -m venv venv
    3. source venv/bin/activate
    4. python3 -m pip install -r requirements.txt
    5. python3 addmesh.py
    6. Introduce 192.168.31.1 (IP del AX3600 Maestro)
    7. Contraseña: 12345678
    8. El script te mostrará la dirección MAC correcta, asegúrate de copiar la de 5G y pegarla donde se pida. ¡Presiona enter, espera al reinicio!

Notas:

  1. La conseña es de ejemplo.
  2. No uses la dirección MAC que aparece en la etiqueta del router.

Graphic Tablets

Using xsetwacom

Here you will find anything you need to know about Graphics tablet:

What I’m using is:

1
2
apt install xsetwacom
xsetwacom -h

Common usages

1
2
3
$ xsetwacom set <stylus-PID> MapToOutput <display>
$ # the smart version
$ xsetwacom set $(xsetwacom list | grep "stylus" | awk '{print $8}') MapToOutput $(xrandr | grep connected | grep -v dis | awk '{print $1}' | fzf --height 10% --reverse)

Use always the stylus’ PID with:

Huberman Sobre la Sal

Cómo la Sal Afecta Nuestra Salud y Rendimiento

  • La sal se relaciona con la presión arterial y regula el apetito por sal y azúcar.
  • El “sistema de la Sal” influye en salud, rendimiento atlético y cognitivo, envejecimiento y demencia.
  • Más o menos sal beneficia a diferentes personas según parámetros.
  • Directrices médicas ayudan a optimizar la ingesta de sal para la salud y el rendimiento.
  • El intestino distingue entre dulces con y sin calorías; efectos a largo plazo desconocidos.
  • Edulcorantes artificiales son polémicos; pueden alterar la microbiota intestinal y la insulina.
  • Es clave entender cómo el intestino y cerebro procesan los edulcorantes.

Importancia de la Sal y su Regulación

  • Muchos consumen Stevia, un edulcorante vegetal.
  • Edulcorantes artificiales controlan calorías pero su efecto en antojos es incierto.
  • El laboratorio Bohorquez investiga cómo los alimentos afectan nuestro sistema nervioso.
  • La sal regula el equilibrio de líquidos y el apetito por otros nutrientes.
  • Neuronas detectan niveles de sal en el cerebro.
  • Riñones y sistemas hormonales regulan sal y presión arterial.

Barrera Hematoencefálica y OVLT

  • Poca renovación neuronal en humanos.
  • La barrera hematoencefálica protege al cerebro.
  • OVLT detecta cambios en el torrente sanguíneo y líquido cefalorraquídeo.
  • Tipos de sed: osmótica (sal) e hipovolémica (volumen de sangre).

Entendiendo la Sed y Equilibrio de Líquidos

  • Tipos de sed: osmótica y hipovolémica.
    • La sed osmótica se desencadena cuando hay demasiada sal o solutos en la sangre, indicando la necesidad de beber agua para equilibrarla.
    • La sed hipovolémica ocurre cuando se pierde mucho líquido corporal, como en una hemorragia, y señala que se necesitan tanto agua como electrolitos.
    • Ambas formas de sed son vitales para mantener el equilibrio de fluidos y el buen funcionamiento del cuerpo, incluido el sistema nervioso.
  • OVLT (órgano vascular de la lámina terminal) y núcleo supraóptico regulan vasopresina, afectando la orina.
    • El OVLT y el núcleo supraóptico son áreas del cerebro que regulan la liberación de la hormona vasopresina. Esta hormona ajusta la cantidad y concentración de la orina para mantener el equilibrio de líquidos y solutos en el cuerpo. Si los niveles de solutos en sangre son altos o si hay pérdida de fluidos, estos centros cerebrales aumentan la vasopresina, resultando en orina más concentrada para conservar agua.
  • Sed no solo busca agua, sino también sal.
  • Riñones retienen o liberan sustancias.

Matices de Vasopresina e Ingesta de Sal

  • Vasopresina afecta la orina y comportamientos sexuales.
  • Cautela con sprays nasales de vasopresina y oxitocina.
  • Hormonas y sal: relación compleja.
  • Conocer la presión arterial es crucial para regular la sal.

Relación entre Ingesta de Sal y Salud

  • Dietas ricas en sal suelen ser poco saludables.
  • Escasez de estudios bien controlados sobre sal.
  • Ingesta moderada de sal puede reducir eventos de riesgo.

Contexto

  • Desórdenes ortostáticos: baja presión arterial, podrían beneficiarse de más sal.
    • Los desórdenes ortostáticos causan una baja de presión arterial al cambiar de posición, como levantarse de una silla. Aumentar la ingesta de sal podría ayudar a retener más agua en el cuerpo, mejorando así la presión arterial. Sin embargo, cualquier cambio en la dieta debe consultarse con un médico.

Recomendaciones y Consideraciones

  • Ingesta de sal y baja osmolaridad sanguínea afectan la presión.
  • La Sociedad Americana de Hipertensión recomienda 6-10 gramos de sal para desórdenes ortostáticos.

Importancia del Equilibrio de Sal y Agua

  • Sistemas hormonales y neuronales regulan equilibrio de sal y agua.
  • Poca sal afecta al sistema nervioso.

Relación entre Sodio, Estrés y Ansiedad

  • Bajo sodio puede exacerbar la ansiedad.
  • Sodio y potasio trabajan juntos; la relación varía según la dieta.

Importancia del Sodio en la Función Neuronal

  • Sodio es crucial para el funcionamiento de las neuronas.
  • Mantener la ingesta de sal en el contexto de la dieta y la hidratación.

Puntos Clave del Equilibrio de Sodio

  • No hay herramientas para monitorizar la ingesta de sodio.
  • La sal no es mala; es crucial para nuestra fisiología y rendimiento.

How to setup DNS using GH pages and google domains

I had struggled setting up the DNS configuracion of my custom domain in GH pages. Luckly, I found a video which make the process very straght forward.

Ingredients

  • Github repo
  • Github pages
  • Google domains

Summary

  1. Create a GH page
  2. Create a Domain
  3. Add a CNAME file (no sure if this is mandatory)
  4. Add DNS rules (A, CNAME and AAAA)
  5. Test it with dig $ dig asdf0x2199.dev +noall +answer -t A

display issues on i3

Context

I’ve had a weird issues in my laptop (carbon x1) which suddenly started to hanging processes and the laptop’s monitor got laggy (e.g not showing in real time what I typed). I’m using i3 in a Pop!_OS.

Solution

I’ve ended up in system76 article where they mention issues with external monitor and I’ve found the following command which solved my problems:

enh(economics): La ley de hotelling

La ley de Hotelling

1
from IPython.display import IFrame
1
IFrame("https://en.m.wikipedia.org/wiki/Hotelling%27s_law", width=600, height=300)
1
IFrame("https://en.m.wikipedia.org/wiki/Location_model", width=600, height=300)

Hotelling con 4 jugadores

1
2
3
4
5
%matplotlib inline
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
def calc_profits(df, space):
    """Calcula el beneficio"""

    try:
        lastcol = df.columns[-1]  # last game
        df = df[lastcol].copy()  # change dataframe to serie
    except:
        df = df.copy()

    # IF EACH FACTORY ARE ALONE
    if len(df.rank().unique()) == 4:  # Each player on different space
        df = df.sort_values()  # Values ordered, so index get useful
        profits = df.copy()    # make profits variable as a copy, modify after

        profits.iloc[0] = (df.iloc[0] + df.iloc[1]) / 2
        profits.iloc[1] = (df.iloc[2] - df.iloc[0]) / 2
        profits.iloc[2] = (df.iloc[3] - df.iloc[1]) / 2
        profits.iloc[3] = (2 * space - df.iloc[3] - df.iloc[2]) / 2
        return profits

    # IF TWO FACTORY ARE TOGETHER
    elif len(df.rank().unique()) == 3:  # Only two players on the same space
        df = df.sort_values()
        profits = df.copy()
        uniques = df.unique()  # get unique values
        ns = [2 * len(df[df == v]) for v in uniques]  # number of factories at the same place
        n1, n2, n3 = [df[df == v].index for v in uniques]  # name of one factory for each group

        profits.loc[n1] = (df.loc[n1].values[0] + df.loc[n2].values[0]) / ns[0]
        profits.loc[n2] = (df.loc[n3].values[0] - df.loc[n1].values[0]) / ns[1]
        profits.loc[n3] = (2 * space - df.loc[n3].values[0] - df.loc[n2].values[0]) / ns[2]
        return profits

    # IF TWO FACTORY ARE IN TWO GROUPS
    elif len(df.rank().unique()) == 2:
        df = df.sort_values()
        profits = df.copy()
        uniques = df.unique()  # get unique values
        n1, n2 = [df[df == v].index for v in uniques]  # name of one factory for each group

        profits.loc[n1] = (df.loc[n1].values[0] + df.loc[n2].values[0]) / 4
        profits.loc[n2] = (2 * space - df.loc[n2].values[0] - df.loc[n1].values[0]) / 4
        return profits


def new_game(df, space):

    import pandas as pd
    import numpy as np

    lastcol = df.columns[-1]
    space_ini = df[lastcol].copy()
    res = space_ini.copy()
    names = space_ini.index

    prof_ini = calc_profits(space_ini.copy(), space)
    step = 1

    f = open('log.txt', 'a')
    br = '\n'
    splt = '=' * 30
    str_game = "# GAME Nº %s" % (lastcol)

    for name in names:

        space_sum = space_ini.copy()
        space_sum[name] = space_sum[name] + step
        prof_sum = calc_profits(space_sum, space)

        space_subs = space_ini.copy()
        space_subs[name] = space_subs[name] - step
        prof_subs = calc_profits(space_subs, space)

        if space_subs[name] <= 0:
            space_subs[name] = 0

        elif space_sum[name] >= space:
            space_sum[name] = space

        data = [prof_sum[name],prof_subs[name],prof_ini[name]]
        compar_profs = pd.Series(data=data,index=["sum", "subs", "ini"])
        best = compar_profs[compar_profs == compar_profs.max()].index[0]

        if len(compar_profs.unique()) == 1:
            best = "ini"
        elif all(compar_profs - compar_profs['ini'] <= 0.4):
            compar_profs - compar_profs['ini']
            compar_profs - compar_profs['ini'] <= 0.4
            best = "ini"

        store_spaces = {"sum": space_sum,
                        "subs": space_subs,
                        "ini": space_ini}

        res[name] = store_spaces[best][name]
    return res
1
2
3
4
5
6
7
space = 100
df = pd.DataFrame(index=("x1", "x2", "x3", "x4"))
df[0] = np.linspace(0, space-20, 4)

games = 100
for g in range(1, games + 1):
    df[g] = new_game(df, space)
1
2
3
4
5
df.T.plot()
plt.xlabel("Games")
plt.ylabel("Space")
sns.despine()
plt.ylim(0,100)
1
df.iloc[:,-1]