Héctor

...

Subscribe to RSS feed

Sticky post

¿Qué estoy haciendo?

,

do you like read my blog in english?

Planetas en los que participo
Planeta Netbeans
Planeta OpenSuSE

OPERA DRAGONFLY

,

Una de las herramientas que ha hecho indispensables al momento de desarrollar proyectos web es sin duda Opera Dragonfly, el siguiente video describe un poco de lo que se puede hacer con el:



Esta es una herramienta que viene incluida con Opera, solo falta presionar unas cuantas teclas y se lanzará (Ctrl + Shift + I en Windows y Linux, ⌘ + ⌥ + I en Mac.), posiblemente les recuerde a Firebug, a titulo personal nunca lo he usado, en Dragonfly e encontrado la solución a todas mis necesidades, pero mi intención no es compararlo con Firebug ni describir como usar Dragonfly, lo que describiré es como instalarlo en nuestra maquina local o en el servidor para que este disponible para el equipo de desarrollo.

Comenzare por decir que Opera Dragonfly se encuentra liberado bajo la Apache License v2.0 y lo podemos descargar del repositorio en github de Opera, pero antes de usar el archivo que se descargo es necesaria otra herramienta, esta se llama Dragonkeeper y la descargamos del repositorio en github, una vez que se ha desempaquetado lo único que hay que hacer es ingresar a dragonkeeper-master y ejecutar:

python setup.py install
Solo hay que tener instalado "setuptools" de python, esto instalara lo que se necesita para ejecutar Opera Dragonfly, dentro del mismo directorio se encuentra otro llamado dragonkeeper y en este se encuentra dragonkeeper.py, antes de poder ejecutarlo hay que modificar la linea 18, originalmente se encuentra así:

hostname, aliaslist, ips = socket.gethostbyname_ex(socket.gethostname())
La modificación se hace ya que al momento de ejecutarlo arrojaría el siguiente mensaje de error:

socket.gaierror: [Errno -2] Name or service not known
La modificación queda de la siguiente manera:

hostname, aliaslist, ips = socket.gethostbyname_ex('localhost')
Ahora solo falta ingresar a dragonfly-master (el primer zip que se descargo) en este directorio se encuentra src y ya no es necesario ejecutar build.sh ya que todo lo que se requiere se encuentra dentro de src, pero si quieren tener las traducciones al español y generar unos cuantos archivos y reemplazar con estos los que se encuentran en src, se puede hacer, que fue la opción que yo tome.

Ahora lo que hay que hacer es tomar todo el contenido de src y copiarlo al directorio dragonkeeper que se encuentra en dragonkeeper-master y ejecutar:

python dragonkeeper.py
Deberíamos de ver el siguiente mensaje:

server on: http://localhost:8002/
Ingresamos a http://localhost:8002/client-en.xml o a http://localhost:8002/client-es-LA.xml (si se ejecuto build.sh) y deberíamos de ver el siguiente mensaje en ingles o español según sea el caso:

Waiting for host connection on port 0 / Esperando una conexión anfitrión en el puerto 0.

Y finalmente hay que configurar Opera para que al momento de ejecutar a Dragonfly busque el servicio en nuestro equipo o servidor, en la barra de dirección escribimos:

opera:config#DeveloperTools|DeveloperToolsURL
Y lo que hay que modificar es el parámetro Developer Tools URL y colocar http://localhost:8002/client-es-LA.xml (el xml dependerá del idioma que gusten emplear) y con esto se tiene Opera Dragonfly ejecutándose de manera local ya no desde los servidores de Opera

GARTOON

Si hay algo que extraño de las versiones anteriores de Gnome es que podía usar los iconos que Silvestre Herrera ha hecho, el único que puedo usar en la actual versión de Gnome es Neu



No se que pase con los otros iconos que no los muestra y los cambia por otros down así que me di a la tarea de tratar de hacer funcionar aquellos que solía usar y que actualmente no se visualizan de manera correcta en mi sistema, no se si a todos les pase pero a mi si doh

El primero con el que he estado trabajando es Gartoon, investigando me encontré con que GNUtoon/Ubuntoon es una derivación de este tema que posteriormente suspendió su desarrollo y se generó Gartoon Redux .

Después de modificar el archivo index.theme basándome en el de Neu, logré que los iconos se mostraran de manera correcta



Pero al ver que había derivaciones del original Gartoon, mezcle los iconos que contenían ambos proyectos, teniendo un conjunto mayor de iconos, claro faltan algunos programas o extensiones. Si gustan descargarlo se encuentra disponible en este enlace, en un tiempo que tenga libre trabajare para que se muestre bien alguno de los iconos de Silvestre Herrera

MOJOLICIOUS + TWITTER BOOTSTRAP

, ,

Estos días he estado jugando con mojolicious ya que se usa un lenguaje que me gusta y que me ha sacado de varios problemas: Perl, ya antes he hecho cosas en mis ratos libres con este lenguaje, por ejemplo un cliente para twitter, que ya no he continuado desarrollando down

Si de desarrollo web se trata me gusta usar twitter bootstrap por lo fácil de usar, un proyecto en mojolicious usa la siguiente estructura de directorios ( para más detalle ver la documentación oficial):

myapp                        # Application directory
  |- script/                 # Script directory
  |  +- myapp                # Application script
  |- lib/                    # Library directory
  |- t/                      # Test directory
  |- log/                    # Log directory
  |- public/                 # Static file directory
  +- templates/              # Template directory
Para añadir los archivos que se emplean para bootstrap lo único que hay que hacer es colocarlos en el directorio 'public' y con eso los templates que se empleen para la vista (y que se encuentran en templates) podrán acceder a ellos, por ejemplo para añadir el css o el js se hace así:

<link href="css/bootstrap-responsive.css" rel="stylesheet" type="text/css">
<script src="js/bootstrap.js" type="text/javascript"></script>
Si bien los ejemplos son claros, hasta ahora no han mencionado mucho sobre "la vista" de la aplicación, y la generación de formularios es de manera diferente a PHP, por ejemplo, en mojolicious se una un Perl embebido en el HTML, por ejemplo para indicar que se inicia un formulario se emplea el siguiente código:

%=  form_for index => begin
.
%= password_field 'pass' 
.
% end
Que generaría la siguiente salida:

<form action="/app">
.
<input name="pass" type="password" />
.
</form>
Al ver la forma en la que se generan los formularios me pregunte como es que añadiría las etiquetas para poder usar bootstrap y realmente no es nada complicando con solo añadir lo siguiente:

%= form_for index => (class => 'form-signin') => (id => 'login') => begin
.
%= password_field 'pass', class => 'input-block-level', placeholder => 'Password', id => 'Password'
.
%= end
Generará:

<form action="/app" class="form-signin" id="login">
.
<input class="input-block-level" id="Password" name="pass" placeholder="Password" type="password" />
.
</form>
Y finalmente en el navegador lucirá así:

ESTADÍSTICA

Me encuentro trabajando en un proyecto en que hay que medir el nivel de integración de las TIC dentro de la organización, por este motivo me vi en la necesidad de aplicar una encuesta, entre otras cosas.

La aplicación de la encuesta fue online, pero al momento de desarrollar el análisis de los resultados me encontré con que el número de personas que respondieron era escaso down lo que me llevo a plantearme el siguiente problema:

Se conoce el número total de la población a la que se le aplicará la encuesta, ¿cuantas personas al menos deberían de responder para considerar los resultados como representativos?


Esta interrogante me llevo a mis apuntes de estadística de la uni, que no encontré doh así que le pedí a la profesora que me dio esa clase que me indicara que formula aplicar, el problema que tenia es uno en el que había que determinar el tamaño de la muestra para estimar una proporción de una población finita, así que la formula que se aplico fue la siguiente:

Dónde:

  • n = Tamaño de la muestra
  • N = Tamaño de la población
  • p = Probabilidad de éxito
  • q = 1 – p
  • Z = Valor crítico para un nivel de confianza determinado
  • E = Error

Normalmente el nivel de confianza que se maneja es del 95% o en su defecto el 90% por lo que el valor critico (Z) es de 1.96 o 1.645, en el caso de p y q se consideran igual, así que su valor es de 0.5, según lo planteado en mi problema, el valor que me falta conocer es el del margen de error (E) y con un simple despeje se obtiene. Pero para nuestro caso el valor que considere fue del 5%.

Con esto, ya puedo saber cuantas personas, al menos, deben de responder a la encuesta y así poder interpretar los resultados y considerarlos como representativos up