mis coordenadas tiempo estelar y posición
(-303952.2874492643, -38.102699, -57.571001)
La piedra en el zapato de la física Argentina. "Nullius addictus iurare in verba magistri, / quo me cumque rapit tempestas, deferor hospes." Horatius Flacus. Mi twitter: http://twitter.com/horacio9573
Mostrando las entradas con la etiqueta Experimentos. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Experimentos. Mostrar todas las entradas
miércoles, enero 16, 2019
lunes, agosto 28, 2017
Experimentos con Docker y TensorFlow
En este primer post, explico una receta de como instalar Docker en un linux que corre en un VPS con un cuadcore x86 (64 bits). Como toda receta puede haber métodos mejores, pero para lo que necesito es suficiente. En este caso en la puesta a punto de un servidor LAMP en un contenedor.
Lo primero es instalar el Docker, en su versión mas moderna de mantenimiento. Para ello ejecutamos:
Para saber si Docker está corriendo como servicio, basta con usar:
sudo systemctl status docker
Que nos devolverá algo parecido a esto si el servicio está funcionando
docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e
Active: active (running) since vie 2017-08-25 16:12:09 ART; 2 days ago
Por otro lado al hacer un ifconfig debe aparecer el bridge
docker0 Link encap:Ethernet direcciónHW 02:42:04:ec:36:db
Direc. inet:172.17.0.1 Difus.:0.0.0.0 Másc:255.255.0.0
Dirección inet6: fe80::42:4ff:feec:36db/64 Alcance:Enlace
ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST MTU:1500 Métrica:1
Paquetes RX:50356 errores:0 perdidos:0 overruns:0 frame:0
Paquetes TX:58643 errores:0 perdidos:0 overruns:0 carrier:0
colisiones:0 long.colaTX:0
Bytes RX:3011512 (3.0 MB) TX bytes:401585916 (401.5 MB)
Luego para evitar usar el comando sudo de manera seguida asociamos el usuario administrador al grupo docker con:
sudo usermod -aG docker $(whoami)
para saber si no necesitamos usar mas el sudo, probamos ejecutar la imagen Hola Mundo con:
docker run hello-world
Lo que nos devolverá algo parecido a esto:
Hello from Docker!
This message shows that your installation appears to be working correctly.
con
docker pull ubuntu
descargamos la imagen (en realidad es una plantilla) de un sistema base en la última versión de Ubuntu. Para ver la imagen basta con ingresar:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ccc7a11d65b1 2 weeks ago 120MB
hello-world latest 1815c82652c0 2 months ago 1.84kB
Luego con:
docker run -it ubuntu bash
creamos el conteiner si no existe y entramos por una terminal vt220 de manera interactiva usando bash como shell o interprete. lo que vamos a ver es esto:
root@035244c70483:~#
Siempre ingresamos como root, y el hostname del sistema es el ID del contenedor es decir 035244c70483 para instalar apache2, mysql y phpmyadmin; primero hay que hacer un apt update!! pues como dije es una plantilla y está desprovisto de cosa superfluas. Tampoco tiene nano, ni VIM. Entonces los pasos dentro del container son, en resumidas cuentas:
ahora con exit salimos del container. El cual lo podemos ver con:
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72f37c543cff hello-world "/hello" 27 minutes ago Exited (0) 27 minutes ago jolly_goldstine
035244c70483 ubuntu "bash" 1 minutes ago Exited(0) hours amazing_euler
a160ebf0c908 tensorflow_2017_8 "bash" 24 hours ago Exited (0) 24 hours ago quirky_almeida
con docker ps vemos los conteriner activos.
Ahora bien vamos a crear una plantilla con dicho container, para eso basta con hacer, usando el ID del container:
docker commit 35244c70483 miweb_ubuntu
Se puede verificar su creación con docker images. Ahora vamos a guardar dicha imagen para luego transportala a otro VPS que ya tiene docker corriendo. Para ello la guardamos como:
de nuevo con docker images verificamos que esté la imagen. Para que arranque de manera interactiva, para ajustar cosas,,,
docker run -ti -p 9080:80 miweb_ubuntu bash
cuando ingresemos los servicios no arrancan automáticamente, ya que no fue creado a partir de un dockerfile! Entonces iniciamos los servicios apache2 y mysql como antes, y salimos NO CON EXIT, sino con CTRL+P+Q. Para que podamos salir y el contenedor no se detenga. Para verificar que está andando basta con hacer:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
035244c70483 miweb_ubuntu "bash" 19 hours ago Up 19 hours 0.0.0.0:9080->80/tcp amazing_euler
con la opción -p 9080:80 estoy redirigiendo el puerto de salida al 9080, aunque el interno sea el 80. Esto es para evitar el conflicto de puertos con mi servidor apache que corre en el VPS.
Cabe observar que se crea un dispositivo bridge para el contenedor donde serán redirigidas las solicitudes.
veth2bc2871 Link encap:Ethernet direcciónHW 46:c8:80:bf:fb:ae
Dirección inet6: fe80::44c8:80ff:febf:fbae/64 Alcance:Enlace
ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST MTU:1500 Métrica:1
Paquetes RX:260 errores:0 perdidos:0 overruns:0 frame:0
Paquetes TX:348 errores:0 perdidos:0 overruns:0 carrier:0
colisiones:0 long.colaTX:0
Bytes RX:61744 (61.7 KB) TX bytes:4052635 (4.0 MB)
Con :
docker cp index.html 035244c70483:/var/www/html/index.html
copio el index.html de mi VPS al directorio dentro del contenedor.
Listo para saber que funciona todo, en un navegador fuera del VPS colocamos:
http://pepito:9080
Y debemos ver la página web que hemos creado en el contenedor.
Para volver a ingresar al contendor basta con usar el ID del contendor que corre:
docker attach 035244c70483
con:
docker start ID_contenedor, se lo activa si estaba detenido
docker stop ID_contenedor, se lo suspende si estaba activo.
Saludos.
Lo primero es instalar el Docker, en su versión mas moderna de mantenimiento. Para ello ejecutamos:
- sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'
- sudo apt-get update
- sudo apt-get install docker-engine
Para saber si Docker está corriendo como servicio, basta con usar:
sudo systemctl status docker
Que nos devolverá algo parecido a esto si el servicio está funcionando
docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e
Active: active (running) since vie 2017-08-25 16:12:09 ART; 2 days ago
Por otro lado al hacer un ifconfig debe aparecer el bridge
docker0 Link encap:Ethernet direcciónHW 02:42:04:ec:36:db
Direc. inet:172.17.0.1 Difus.:0.0.0.0 Másc:255.255.0.0
Dirección inet6: fe80::42:4ff:feec:36db/64 Alcance:Enlace
ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST MTU:1500 Métrica:1
Paquetes RX:50356 errores:0 perdidos:0 overruns:0 frame:0
Paquetes TX:58643 errores:0 perdidos:0 overruns:0 carrier:0
colisiones:0 long.colaTX:0
Bytes RX:3011512 (3.0 MB) TX bytes:401585916 (401.5 MB)
Luego para evitar usar el comando sudo de manera seguida asociamos el usuario administrador al grupo docker con:
sudo usermod -aG docker $(whoami)
para saber si no necesitamos usar mas el sudo, probamos ejecutar la imagen Hola Mundo con:
docker run hello-world
Lo que nos devolverá algo parecido a esto:
Hello from Docker!
This message shows that your installation appears to be working correctly.
con
docker pull ubuntu
descargamos la imagen (en realidad es una plantilla) de un sistema base en la última versión de Ubuntu. Para ver la imagen basta con ingresar:
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest ccc7a11d65b1 2 weeks ago 120MB
hello-world latest 1815c82652c0 2 months ago 1.84kB
Luego con:
docker run -it ubuntu bash
creamos el conteiner si no existe y entramos por una terminal vt220 de manera interactiva usando bash como shell o interprete. lo que vamos a ver es esto:
root@035244c70483:~#
Siempre ingresamos como root, y el hostname del sistema es el ID del contenedor es decir 035244c70483 para instalar apache2, mysql y phpmyadmin; primero hay que hacer un apt update!! pues como dije es una plantilla y está desprovisto de cosa superfluas. Tampoco tiene nano, ni VIM. Entonces los pasos dentro del container son, en resumidas cuentas:
- apt update
- apt install nano, vim, apache2, mysql-server, etc, etc.
- apt clean
- service apache2 start
service mysql start
ahora con exit salimos del container. El cual lo podemos ver con:
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
72f37c543cff hello-world "/hello" 27 minutes ago Exited (0) 27 minutes ago jolly_goldstine
035244c70483 ubuntu "bash" 1 minutes ago Exited(0) hours amazing_euler
a160ebf0c908 tensorflow_2017_8 "bash" 24 hours ago Exited (0) 24 hours ago quirky_almeida
con docker ps vemos los conteriner activos.
Ahora bien vamos a crear una plantilla con dicho container, para eso basta con hacer, usando el ID del container:
docker commit 35244c70483 miweb_ubuntu
Se puede verificar su creación con docker images. Ahora vamos a guardar dicha imagen para luego transportala a otro VPS que ya tiene docker corriendo. Para ello la guardamos como:
- docker save -o miweb_ubuntu.tar miweb_ubuntu
- gzip miweb_ubuntu.tar
- scp miweb_ubuntu.tar.gz pepito@cosita:tmp
- gunzip miweb_ubuntu.tar.gz
- docker load --input miweb_ubuntu.tar
de nuevo con docker images verificamos que esté la imagen. Para que arranque de manera interactiva, para ajustar cosas,,,
docker run -ti -p 9080:80 miweb_ubuntu bash
cuando ingresemos los servicios no arrancan automáticamente, ya que no fue creado a partir de un dockerfile! Entonces iniciamos los servicios apache2 y mysql como antes, y salimos NO CON EXIT, sino con CTRL+P+Q. Para que podamos salir y el contenedor no se detenga. Para verificar que está andando basta con hacer:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
035244c70483 miweb_ubuntu "bash" 19 hours ago Up 19 hours 0.0.0.0:9080->80/tcp amazing_euler
con la opción -p 9080:80 estoy redirigiendo el puerto de salida al 9080, aunque el interno sea el 80. Esto es para evitar el conflicto de puertos con mi servidor apache que corre en el VPS.
Cabe observar que se crea un dispositivo bridge para el contenedor donde serán redirigidas las solicitudes.
veth2bc2871 Link encap:Ethernet direcciónHW 46:c8:80:bf:fb:ae
Dirección inet6: fe80::44c8:80ff:febf:fbae/64 Alcance:Enlace
ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST MTU:1500 Métrica:1
Paquetes RX:260 errores:0 perdidos:0 overruns:0 frame:0
Paquetes TX:348 errores:0 perdidos:0 overruns:0 carrier:0
colisiones:0 long.colaTX:0
Bytes RX:61744 (61.7 KB) TX bytes:4052635 (4.0 MB)
Con :
docker cp index.html 035244c70483:/var/www/html/index.html
copio el index.html de mi VPS al directorio dentro del contenedor.
Listo para saber que funciona todo, en un navegador fuera del VPS colocamos:
http://pepito:9080
Y debemos ver la página web que hemos creado en el contenedor.
Para volver a ingresar al contendor basta con usar el ID del contendor que corre:
docker attach 035244c70483
con:
docker start ID_contenedor, se lo activa si estaba detenido
docker stop ID_contenedor, se lo suspende si estaba activo.
Saludos.
Etiquetas:
Experimentos,
Investigación,
Trucos
lunes, noviembre 21, 2016
jueves, diciembre 27, 2012
lunes, octubre 22, 2012
Jugando con MPI
Estuve ensayando el siguiente programa de calculo de Pi, suando MPI por el método de Montecarlo, además medí los tiempos de ejecución del proceso completo, con sus hijos y el tiempo que "ve" cada proceso hijo.
Esto lo ensayo en un core-duo Intel(R) Xeon(R) CPU E5506 @ 2.13GHz. Como se aprecia en la figura la pendiente del tiempo total versus el número de procesos hijos es de P= 12 ms/proceso , en cambio el tiempo de cada proceso es Q=21 ms en promedio, esto da H=10.5 ms/micro. La razón de que H< P es debido al "overhead" de cada proceso hijo, que en este caso es de P-H=1.5 ms/proceso.
Etiquetas:
Experimentos,
Investigación
jueves, agosto 19, 2010
Parallel universes and wave equation
![]() |
De blog2 |
En esta entrega hago un ejercicio mental de como sería un universo diferente al nuestro con sus propias leyes pero que verifique las mismas hipótesis que se le pide en relatividad restringida a las transformación de Lorentz y a la teoría de Eintein. Esto muestra que dichas condiciones son solo necesarias pero no suficientes para garantizar la unicidad de una teoría desde el punto de vista lógico. Más aún se pude crear una infinitud de universos paralelos al nuestro que verifique la invariancia de la velocidad de la luz ante observadores inerciales pero sin que esta sea la una velocidad límite. Y que además a velocidades bajas devuelvan la mecánica clásica que todos conocemos. Cada vez me convenzo más que la ciencia también hay un acto de fe.
Una deducción completa de estos resultados será publicada en Ecuación de onda y universos paralelos (seguir el link) en mi wiki.
Etiquetas:
Divulgación,
Experimentos
martes, diciembre 02, 2008
Trígono Astronómico.
miércoles, julio 30, 2008
Un problema anti-intuitivo que no sé demostrar.
Este es un problema que no sé como demostrar el resultado que he visto en un programa de TV en la argentina llamado "alterados por pi".
El plateo es el siguiente: Tengo dos urnas que tienen capacidad ilimitada de almacenamiento de bolitas, en una hay un número infinito de bolitas numeradas en 1, 2, 3, 4, 5, .... en otra está vacía, y tengo un reloj que marca las 11hs. Tengo un lapso de tiempo de una hora para pasar las bolitas de una urna a la otra de la siguiente manera.
El plateo es el siguiente: Tengo dos urnas que tienen capacidad ilimitada de almacenamiento de bolitas, en una hay un número infinito de bolitas numeradas en 1, 2, 3, 4, 5, .... en otra está vacía, y tengo un reloj que marca las 11hs. Tengo un lapso de tiempo de una hora para pasar las bolitas de una urna a la otra de la siguiente manera.
- A las 11hs saco la bolita enumerada con 1 a 10 y las coloco en la urna vacía, de estas saco la numero 1. Con lo cual habrá 9 bolitas.
- A las 11hs 30minutos saco otras 10 bolitas enumeradas de 11 a 20 y las coloco en la urna anterior y saco ahora la bolita 2; con lo cual en la urna están las bolitas enumeradas desde el 3 al 20.
- A las 11:45 saco 10 enumeradas de 21 a 30 y saco la 3.
- A las 11:52,5 saco 10 enumeradas de 31 a 40 y saco la 4.
es decir me aproximo a las 12 sacando en la mitad del tiempo restante 10 bolitas de la urna infinita, las coloco en la otra y saco de esa aquella numerada por el evento. En resumen
evento | Tiempo | Bolitas presente | bolitas extraídas
1............ 11hs ........... 2 a 10 ............ 1
2............ 11:30 .......... 3 a 20 ............ 1,2
3............ 11:45 .......... 4 a 30 ............ 1,2,3
4............ 11:52,5 ........ 5 a 40 ............ 1,2,3,4
Entonces el asegura que al llegar a las 12hs en número de bolitas que habrá en la urna que pretendo llenar es cero al igual que en la otra urna estando todas las bolitas afuera de ambas (un alef cero de bolitas).
Como puedo demostrar esta proposición????
sábado, octubre 21, 2006
Cambio a ISO-8859-1
He hecho el cambio a iso-8859-1... por lo que el siguiente texto hecho en abiword no me debería traer problemas....
----
----
Ufa sigo... con el problema...
----
Esta es una prueba para ver como anda el cambio...
Ufa sigo... con el problema...
Su HTML no es aceptable: Tag is not allowed: UTF-8...
Suscribirse a:
Entradas (Atom)