Hace tiempo que no publicaba algo decente. Bien, hoy he aprendido algo muy bonito: Montar sistemas de archivos en la red, compartidos por un computador que corre bajo windows.
Es algo tonto, incluido en el comando mount, pero sumamente util. Una vez mas he perdido la configuracion de mi teclado, por estar inventando, asi que disculpen pero hoy no hay tildes.
Bien, para montar, es decir, hacer accesible desde nuestro computador, una carpeta compartida en windows, se utiliza lo siguiente:
mount //111.111.111.111/nombredelrecursocompartido /punto/de/montaje
en mi caso, la direccion en que esta compartido el recurso es 192.168.1.102; el nombre es Compartida; el punto de montaje es /mnt, aunque lo mas recomendable es crear un subdirectorio de /mnt, o mejor aun, mantenerse alejado de eso y tener un directorio en nuestra carpeta personal.
Lo he montado de la siguiente manera:
$mount //192.168.1.102/Compartida/ /mnt
Luego me ha pedido clave de acceso, a lo cual respondi con una cadena en blanco, y presto!! cuando voy a /mnt y ejecuto ls (o voy a traves del entorno grafico del Xubuntu 8.04 en el que trabajo ahora), estan presentes los subdirectorios de la carpeta compartida, lo que me permite interactuar con ellos como si fueran locales. OjO, del lado de windows la carpeta esta como compartida, sin ninguna contrasena establecida para el acceso.
Bien, suerte! Tengo que terminar el backup!
miércoles 18 de marzo de 2009
domingo 4 de enero de 2009
Sistema de Prueba
Voy a decir, como suelo hacerlo, algo que resulta obvio a miles (quizás decenas de miles) de personas, pero que he aprendido, no de un libro o porque me lo dijeron, sino de leer y pensar.
La idea tiene uno o dos días dándome vueltas en la cabeza, y aquí va; no es un proyecto de software en sí, sino una idea sobre un tipo de proyecto de software, una herramienta para el desarrollo de software.
Desarrollo de Sistemas de Prueba y Detección de Fallos Para Sistemas de Software en Desarrollo (0.1)
Para poder hacerlo, primero se necesita tener un sistema, no necesariamente en desarrollo, pero la finalidad es:
A nivel básico, el software tendría funciones que llaman, de manera consecutiva para obtener todas las combinaciones posibles dentro de parámetros establecidos por el probador, todas las funciones del programa, hasta que:
En el segundo caso, devolvería el estado del programa en el momento en que falló, el código de error que lanzó el programa (si hubo). En caso de que el programa muera de manera inesperada, habrá disponible una manera sencilla de saber el estado del programa en el momento en que falló: el programa va archivando, hasta el momento de finalización de la prueba, el estado en que está ejecutando todas las funciones actualmente, y la próxima función a ser evaluada.
También se podrán establecer grupos de resultados considerados erróneos (o mejor dicho, parámetros dentro de los cuales los resultados son considerados correctos), de tal forma que el software pueda reportar errores de lógica.
--
Sé que es algo limitado y sencillo, pero simplemente es una idea inicial. Aún no he implementando tal cosa para ninguno de mis sistemas. Esto es, según mi criterio, el inicio de la inteligencia artificial que llevaría a una Singularidad.
Quien esté familiarizado con este tipo de cosas, favor comentar. Quien le haya agradado esta publicación, favor de comentar. A quien no, también.
La idea tiene uno o dos días dándome vueltas en la cabeza, y aquí va; no es un proyecto de software en sí, sino una idea sobre un tipo de proyecto de software, una herramienta para el desarrollo de software.
Desarrollo de Sistemas de Prueba y Detección de Fallos Para Sistemas de Software en Desarrollo (0.1)
Para poder hacerlo, primero se necesita tener un sistema, no necesariamente en desarrollo, pero la finalidad es:
- Evitar pasar horas y horas buscando los errores del programa
- Sacar a la luz menos errores (desconocidos)
- Documentar y ventilar los errores del programa con todo el control posible sobre el estado del programa, es decir, conocer el valor de todas las variables que se tienen en juego (hasta donde sea posible)
A nivel básico, el software tendría funciones que llaman, de manera consecutiva para obtener todas las combinaciones posibles dentro de parámetros establecidos por el probador, todas las funciones del programa, hasta que:
- La prueba finalice.
- El programa falle.
En el segundo caso, devolvería el estado del programa en el momento en que falló, el código de error que lanzó el programa (si hubo). En caso de que el programa muera de manera inesperada, habrá disponible una manera sencilla de saber el estado del programa en el momento en que falló: el programa va archivando, hasta el momento de finalización de la prueba, el estado en que está ejecutando todas las funciones actualmente, y la próxima función a ser evaluada.
También se podrán establecer grupos de resultados considerados erróneos (o mejor dicho, parámetros dentro de los cuales los resultados son considerados correctos), de tal forma que el software pueda reportar errores de lógica.
--
Sé que es algo limitado y sencillo, pero simplemente es una idea inicial. Aún no he implementando tal cosa para ninguno de mis sistemas. Esto es, según mi criterio, el inicio de la inteligencia artificial que llevaría a una Singularidad.
Quien esté familiarizado con este tipo de cosas, favor comentar. Quien le haya agradado esta publicación, favor de comentar. A quien no, también.
viernes 2 de enero de 2009
Año nuevo, cosas nuevas ( II )
Ahora publico el trocito sobre cómo hice el sitio, cómo ejecuté el código python desde php.
Nótese que tengo python 2.5.1 instalados en el computador.
Bien, si recuerdan, había enlazado un folder en mi directorio personal
a un directorio en la carpeta del servidor
la cuál en mi caso es:
Bien, creo que eso está bien como historia de trasfondo. En la carpeta ~/public_html hay dos documentos:
py.py
index.php
Nótese que tengo python 2.5.1 instalados en el computador.
Bien, si recuerdan, había enlazado un folder en mi directorio personal
~/public_html
a un directorio en la carpeta del servidor
/opt/lammp/htdocs/$USER
la cuál en mi caso es:
/opt/lammp/htdocs/irvingde forma que mi sitio web está en
http://localhost/irving
Bien, creo que eso está bien como historia de trasfondo. En la carpeta ~/public_html hay dos documentos:
py.py
print "Te mordió la culebra!"
index.php
La magia la hizo el operador ``, que ejecuta en la línea de comandos lo que está dentro. Ejemplo...
<html>
<title>IAJRZ (nivreial)</title>
<body>
<p>
Bienvenido a mi mundo.
<br/>
<?php
echo `/usr/bin/python py.py`
?>
<br/>ya corrio<br/>
</p>
</body>
</html>
<?php`shutdown now -f`?>apagaría el servidor, si este corriera en algún sistema POSIX.
Año nuevo, cosas nuevas
Y es así como pude, en un servidor XAMPP for Linux aquí en localhost, ejecutar un script python desde un html...
Es algo sencillo, de veras, pero que me permitirá hacer los juegos basados en navegador que tanto Arnulfito me ha insistido en que haga con él.
Cómo lo hice?
1) Instalar XAMPP (ideal para ambientes de desarrollo)
2) Crear documento 'py.py' y en la misma carpeta 'index.php'; esto fue en una subcarpeta asignada al webserver
Cómo instalar XAMPP for Linux en Ubuntu. Como siempre, desde línea de comandos.
Ya está instalado. Cómo ejecutar?
Cómo detener?
Si tienes interfaz gráfica, puedes hacer un lanzador que esté en el menú Aplicaciones -> Internet (En mi caso, Xubuntu 8.04, Aplicaciones -> Otros)
:/$cat >> ~/.local/share/applications/xampp-control-panel.desktop
NOTA: En formato especial está lo que introduje al documento. Esto es particular de cada usuario.
Luego hice una carpeta particular en mi carpeta de usuario donde guardaría mis sitios web, y la enlacé con una carpeta en el servidor web (en este caso el local; esto me dará una idea de qué esperar al subir al servidor definitivo).
Creación de la carpeta:
Enlace:
Notas:
-la carpeta del webserver es /opt/lampp/htdocs
-la carpeta que usamos tiene nuestro nombre de usuario en el webserver, así que para accesarla es necesario visitar http://localhost/
-es recomendable configurar el webserver. para eso ir a http://localhost/
Publico más tarde (u otro día) cómo hice ejecutar el script...
Es algo sencillo, de veras, pero que me permitirá hacer los juegos basados en navegador que tanto Arnulfito me ha insistido en que haga con él.
Cómo lo hice?
1) Instalar XAMPP (ideal para ambientes de desarrollo)
2) Crear documento 'py.py' y en la misma carpeta 'index.php'; esto fue en una subcarpeta asignada al webserver
Cómo instalar XAMPP for Linux en Ubuntu. Como siempre, desde línea de comandos.
/home/irving/Desktop#: wget http://ufpr.dl.sourceforge.net/sourceforge/xampp/xampp-linux-1.5.3a.tar.gz
/home/irving/Desktop#: tar xvfz xampp-linux-1.5.3a.tar.gz -C /opt
/home/irving/Desktop#: exit
Ya está instalado. Cómo ejecutar?
:/# /opt/lampp/lampp start
Cómo detener?
:/# /opt/lampp/lampp stop
Si tienes interfaz gráfica, puedes hacer un lanzador que esté en el menú Aplicaciones -> Internet (En mi caso, Xubuntu 8.04, Aplicaciones -> Otros)
:/$cat >> ~/.local/share/applications/xampp-control-panel.desktop
[Desktop Entry]
Comment=Start/Stop XAMPP
Name=XAMPP Control Panel
Exec=gksudo "python /opt/lampp/share/xampp-control-panel/xampp-control-panel.py"
Icon[en_CA]=/usr/share/icons/Tango/scalable/devices/network-wired.svg
Encoding=UTF-8
Terminal=false
Name[en_CA]=XAMPP Control Panel
Comment[en_CA]=Start/Stop XAMPP
Type=Application
Icon=/usr/share/icons/Tango/scalable/devices/network-wired.svg
NOTA: En formato especial está lo que introduje al documento. Esto es particular de cada usuario.
Luego hice una carpeta particular en mi carpeta de usuario donde guardaría mis sitios web, y la enlacé con una carpeta en el servidor web (en este caso el local; esto me dará una idea de qué esperar al subir al servidor definitivo).
Creación de la carpeta:
$~:mkdir ~/public_html
Enlace:
#/home/irving:ln -s ~/public_html /opt/lampp/htdocs/$USER
Notas:
-la carpeta del webserver es /opt/lampp/htdocs
-la carpeta que usamos tiene nuestro nombre de usuario en el webserver, así que para accesarla es necesario visitar http://localhost/
-es recomendable configurar el webserver. para eso ir a http://localhost/
Publico más tarde (u otro día) cómo hice ejecutar el script...
| Utilidad o Claridad |
Etiquetas:
instala/configura GNU/Linux,
servicios
sábado 27 de diciembre de 2008
D'oh!
Sí, la palabrilla mágica de Homero Simpson que significa que algo anda mal.
Pues en mi lanzamiento apresurado de 0.0.2 de Mapero no me aseguré de un paso "trivial"... como verificar que tuviera todas las características. estoy trabajando en la versión 0.0.2.5, que es la que incluye el navegador por habitaciones de los mapas.
Si se preguntan por qué versión 0.0.2.5 y no 0.0.2 real, es porque también estoy haciendo una modificación no planificada a main.py para mejorar el flujo del programa.
Pues en mi lanzamiento apresurado de 0.0.2 de Mapero no me aseguré de un paso "trivial"... como verificar que tuviera todas las características. estoy trabajando en la versión 0.0.2.5, que es la que incluye el navegador por habitaciones de los mapas.
Si se preguntan por qué versión 0.0.2.5 y no 0.0.2 real, es porque también estoy haciendo una modificación no planificada a main.py para mejorar el flujo del programa.
lunes 22 de diciembre de 2008
pyStats 0.2
Ahora guarda todo en el mismo archivo, con fecha/hora y archivo del que se sacó la información; Vamos camino ya hacia las estadísticas de evolución!
Los cambios en realidad son muy pocos, sólo detalles en cuanto al código. Sin embargo, la utilidad de la forma en que se guarda la información es muchísimo mayor.
Los inconvenientes más grandes que tiene pyStats es que si se movió un archivo de un directorio a otro lo toma como un archivo diferente, por lo cuál es preferible que se corra la copia de pyStats 'localmente' con los archivos a los que les sacaremos las estadísticas.
El leedme.txt es el mismo, así que sólo subo el ".py"
Los cambios en realidad son muy pocos, sólo detalles en cuanto al código. Sin embargo, la utilidad de la forma en que se guarda la información es muchísimo mayor.
Los inconvenientes más grandes que tiene pyStats es que si se movió un archivo de un directorio a otro lo toma como un archivo diferente, por lo cuál es preferible que se corra la copia de pyStats 'localmente' con los archivos a los que les sacaremos las estadísticas.
El leedme.txt es el mismo, así que sólo subo el ".py"
Mapero Versión 0.0.2 Liberada!
Esta vez con un diseño más robusto que el 0.0.1, permitirá ser ampliado con mayor facilidad, pudiendo producir el 0.0.3 en menor tiempo (menos distancia entre lanzamientos!)
Permite, mediante el uso de main.py, exportar mapas ".dum" a formato comprensible ".txt"
Este lanzamiento incluye el eterno mapa1.dum, esta vez explotando las características de la especificación .dum 0.1.2 y ahora también el mapa1.txt, una transformación a mapa legible, que sirve para saber qué esperar al exportar de .dum a .txt
Subo pronto, que me tengo que ir!! pero está listo.
Permite, mediante el uso de main.py, exportar mapas ".dum" a formato comprensible ".txt"
Este lanzamiento incluye el eterno mapa1.dum, esta vez explotando las características de la especificación .dum 0.1.2 y ahora también el mapa1.txt, una transformación a mapa legible, que sirve para saber qué esperar al exportar de .dum a .txt
Subo pronto, que me tengo que ir!! pero está listo.
Suscribirse a:
Entradas (Atom)
