jueves, 7 de enero de 2021

Arduino Yún LininoOS

No me había dado cuenta que no he publicado los básicos del Arduino Yún:

# uname -a 
Linux yun402b 3.3.8 #1 Sun Oct 4 02:29:26 CEST 2015 mips GNU/Linux

# cat /proc/cpuinfo 
system type		: Atheros AR9330 rev 1
machine			: Arduino Yun
processor		: 0
cpu model		: MIPS 24Kc V7.4
BogoMIPS		: 265.42
wait instruction	: yes
microsecond timers	: yes
tlb_entries		: 16
extra interrupt vector	: yes
hardware watchpoint	: yes, count: 4, address/irw mask: [0x0000, 0x03a8, 0x03f8, 0x05e0]
ASEs implemented	: mips16
shadow register sets	: 1
kscratch registers	: 0
core			: 0
VCED exceptions		: not available
VCEI exceptions		: not available

# cat /proc/interrupts 
           CPU0       
  2:      13806      MIPS  ath9k
  3:       3612      MIPS  ehci_hcd:usb1
  4:          0      MIPS  eth1
  5:          0      MIPS  eth0
  7:     111541      MIPS  timer
 10:          0      MISC  ath79-gpio
 11:       4520      MISC  ar933x-uart
ERR:          0

# cat /proc/iomem 
00000000-03ffffff : System RAM
  00060000-002ad897 : Kernel code
  002ad898-0034e3df : Kernel data
18020000-180200ff : ar933x-uart
18100000-1811ffff : ar933x_wmac
19000000-190001ff : mac_base
1a000000-1a0001ff : mac_base
  1a000000-1a0001ff : mdio_base
1b000000-1b000fff : ehci-platform
  1b000000-1b000fff : ehci_hcd
1f000000-1fffffff : ath79-spi

# free
             total         used         free       shared      buffers
Mem:         61324        34508        26816            0         5180
-/+ buffers:              29328        31996

# lsusb 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 058f:6254 Alcor Micro Corp. USB Hub
Bus 001 Device 003: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader

# cat /etc/openwrt_version  
linino

# cat /etc/openwrt_release 
DISTRIB_ID="Linino"
DISTRIB_RELEASE="devel"
DISTRIB_REVISION="r41182"
DISTRIB_CODENAME="attitude_adjustment"
DISTRIB_TARGET="ar71xx/generic"
DISTRIB_DESCRIPTION="Linino Attitude Adjustment devel"

miércoles, 6 de enero de 2021

Linux y yo en el 2020

Terminó el 2020, y estaba pensando en mis aventuras con Linux, FLOSS y OSHW en este año. 

El sistema más grande: 
  • Un cluster Rocks Manzanita con 10 nodos Intel(R) Xeon(R) Gold 5115 CPU @ 2.40GHz de 56 cacuces con 196GB RAM y 1TB de almacenamiento cada uno.
El sistema más pequeño:
  • Arduino Yún: mips24k de 400MHz, 64MB de ram y 16MB de almacenamiento.
La sistema más viejo:
El sistema más nuevo:
Eso sin contar las aventuras de Redes y Telecomunicaciones en el mejor lugar para trabajar: el Instituto de Energías Renovables de la UNAM. Switches de fibra óptica, de cobre, puntos de acceso WiFi de 2.4GHz y 5 GHz; LARTC...

Los mejores deseos para el 2021 a los escasos lectores de este abandonado blog.

Felices códigos.

lunes, 7 de septiembre de 2020

Congreso ExAlumnos IER-CIE-LES-UNAM


El Instituto de Energías Renovables de la

Universidad Nacional Autónoma de México


Invita a


Egresadas y egresados de la Licenciatura de Ingeniería en Energías Renovables y de

los posgrados del IER: Ciencia e Ingeniería de Materiales, Ciencias Físicas, Ingeniería

(Área Energía) y Ciencias de la Sostenibilidad, a participar en el primer

Congreso de Exalumnos IER

24, 25 y 26 de noviembre de 2020 

martes, 5 de mayo de 2020

Covid19 en Morelos

Gráficas de positivos confirmados y defunciones confirmadas de las regiones de Morelos utilizando el algoritmo de https://aatishb.com/covidtrends/. Aún son muy pocos datos, particularmente los de defunciones.
Por otra parte, en los casos confirmados , poco a poco se comienza a observar cómo se ajustan a la curva de crecimiento característica: el número de casos se duplica cada dos días. En la gráfica la curva característica es la línea delgada.
El monitorizar esta gráfica en el transcurso de la pandemia puede mostrar las bondades de las estrategias que se implementen en el contexto estatal, metropolitano y regional. La colaboración entre municipios es esencial. Más en la sección Morelos de https://sites.google.com/ier.unam.mx/hdcg/covid19-ppm

lunes, 20 de abril de 2020

Como quitar "permanentemente" los colores algunas órdenes

Bueno, sí, los colores son muy bonitos, pero totalmente inútiles, sobre todo cuando uno utiliza una terminal "retro", con fondo oscuro y letras claras.

# rm -f /etc/profile.d/color*

Desafortunadamente eso rompe los paquetes grep, coreutils-common, xz, gzip

No voy a cuestionar a los desarrolladores de Fedora por poner colores donde se les da la gana, pero sí considero importante la capacidad de personalizar tu entorno de trabajo: una opción para eliminar los colores sin romper la distribución sería muy conveniente.

martes, 31 de marzo de 2020

COVID-19 México

Gráficas de las Entidades Federativas Mexicanas utilizando el algoritmo de https://aatishb.com/covidtrends/. Aunque aún son pocos datos, ya se comienza a observar cómo se ajustan a la curva universal de crecimiento exponencial. 




La nota completa en https://sites.google.com/ier.unam.mx/hdcg/covid19-ppm

sábado, 21 de marzo de 2020

COVID-19

Buscando comparar la propagación del covid-19 en el mundo y aplicarla a las Entidades Federativas en México he normalizado el número de casos entre la población del país/entidad en millones de habitantes.

Más en https://sites.google.com/ier.unam.mx/hdcg/covid19-ppm

viernes, 9 de agosto de 2019

Arduino32 sizeof

¿De qué tamaño son los datos en el nuevo Arduino MKR 1000?

#include <stdio.h>

#define FOO(x) Serial.println(String("sizeof(" #x ")=") + String(sizeof(x)))

void setup() {
  Serial.begin(9600);
}

void loop(void) {
  Serial.println("\nArduino sizeof, (C) 2014 'Aztec Eagle' Turbo");
  FOO(char);
  FOO(short);
  FOO(int);
  FOO(long);
  FOO(long long);
  FOO(void*);
  FOO(float);
  FOO(double);
  FOO(long double);
  delay(1000);
}

Esto da como resultado:

Arduino sizeof, (C) 2014 'Aztec Eagle' Turbo
sizeof(char)=1
sizeof(short)=2
sizeof(int)=4
sizeof(long)=4
sizeof(long long)=8
sizeof(void*)=4
sizeof(float)=4
sizeof(double)=8
sizeof(long double)=8

Compara con el Arduino Uno

martes, 2 de octubre de 2018

OpenFOAM y Fedora 28

Se está realizando un curso de OpenFOAM en el IER. Algunos usuarios tienen Fedora en sus portátiles y se han presentado algunos problemas con la instalación.

De acuerdo con las instrucciones en https://www.openfoam.com/download/install-binary-linux.php y en https://openfoam.org/download/6-linux/ lo mejor es utilizar docker.

Pero como dijo Cantiflas, siendo OpenFOAM una aplicación para Ubuntu, echarla a andar en Fedora tiene sus detalles, particularmente con SELinux.

Primeramente, lo más fácil es instalar y echar a andar docker:

# dnf -y install docker 
# systemctl start docker
Como dice en https://www.projectatomic.io/blog/2015/08/why-we-dont-let-non-root-users-run-docker-in-centos-fedora-or-rhel/, hay que ignorar las instrucciones de hacer un grupo docker, y en su lugar utilizar sudo. Se pueden seguir cualquiera de las dos opciones: la de https://openfoam.org/download/6-linux/ o bien https://www.openfoam.com/download/install-binary-linux.php. Yo terminé instalando las dos, utilizando los directorios ~/OpenFOAM/turbo-6 y ~/OpenFOAM/turbo-v1806 respectivamente.

Ahora bien, antes de ejectuar startOpenFOAM o bien openfoam6-linux hay que ir en contra del sentido común y apagar SELinux:

# setenforcing 0
Finalmente, escogemos una versión/directorio de trabajo, y ejecutamos el contenedor vía sudo:
$ cd ~/OpenFOAM/turbo-6
$ sudo openfoam6-linux
O bien:
$ cd ~/OpenFOAM/turbo-v1806
$ sudo startOpenFOAM
Listo. Ya podemos hacer las pruebas que indican las instrucciones.

Al terminar de usar openFOAM recuerden activar SELinux:

# setenforcing 1
Lo demás, no tengo idea. Creo que debí enlistarme en el curso. Será para la próxima.

jueves, 28 de junio de 2018

¡De panzazo!

México pasa a octavos de final... ¡De panzazo!

Si bien es cierto hay que reconocer que, después de los cachirules, siempre se ha superado la ronda de grupos. Con esta edición, 7 veces en forma consecutivas.

A continuación las estadísticas del tricolor al terminar la ronda de grupos desde Italia 1990:

Año            Lugar JJ JG JE JP GF GC Dif Pts
Italia 1990     Descalificado  *  *  *   *  *
USA 1994         [1]  3  1  1  1  3  3   0  4
Francia 1998     [2]  3  1  2  0  7  5   2  5
Corea/Japón 2002 [1]  3  2  1  0  4  2   2  7  
Alemania 2006    [2]  3  1  1  1  4  3   1  4  
Sudáfrica 2010   [2]  3  1  1  1  3  2   1  4  
Brasil 2014      [2]  3  2  1  0  4  1   3  7  
Rusia 2018       [2]  3  2  0  1  3  4  -1  6

Hasta el momento estamos presenciando la tercera mejor actuación de #MEX 🇲🇽 en el Mundial, siendo la mejor en Brasil 2014, seguida por Corea/Japón 2002.

Sólo hay una manera de mejorar la presente actuación: El Lunes 2 de Julio, en octavos de final, frente a Brasil. México puede perder el Lunes, pero el Domingo ¡no!

martes, 13 de marzo de 2018

Verificando los arreglos de discos

Aplicar la siguiente orden de vez en cuando:

for f in $(awk '/^md/ {print $1}' /proc/mdstat | shuf)
do echo check > /sys/block/$f/md/sync_action
done