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

Para algún viajero en el tiempo

mis coordenadas tiempo estelar y posición

(-303952.2874492643, -38.102699, -57.571001)

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:

  1. sudo apt-add-repository 'deb https://apt.dockerproject.org/repo ubuntu-xenial main'
  2. sudo apt-get update
  3. 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:
 
  1. apt update
  2. apt install nano, vim, apache2, mysql-server, etc, etc.
  3. apt clean
  4. 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:

  1. docker save -o miweb_ubuntu.tar miweb_ubuntu
  2. gzip miweb_ubuntu.tar
  3. scp  miweb_ubuntu.tar.gz pepito@cosita:tmp
Luego en el VPS nuevo hacemos:

  1. gunzip miweb_ubuntu.tar.gz
  2. 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.

lunes, noviembre 21, 2016

LOS NÚMEROS DE HOMERO




En este post hago un experimento matemático basado en un capítulo de los Simpson.

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.


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.

martes, diciembre 02, 2008

Trígono Astronómico.


Ayer ocurrió un fenómeno raro. La Luna, Júpiter y Venus formaron un trígono fenómeno el cual no se repetirá en no se cuantos cientos de años. Acá muestro una foto cacera sacada con una cámara digital.

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.

  1. 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.
  2. 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.
  3. A las 11:45 saco 10 enumeradas de 21 a 30 y saco la 3.
  4. 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....
----

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...