Miércoles 24 de junio de 2015

Jesus Palencia

XI Ciclo UPM TASSI 2015. Conferencia 3: Hispasec. 16 años de seguridad informática

Conferencia presentada el 5 de marzo de 2015 en el Campus Sur de la Universidad Politécnica de Madrid, España, por D. Antonio Ropero, director de Hispasec y editor de Una-al-día, en el XI Ciclo de Conferencias UPM TASSI. Una actividad docente de la asignatura Temas Avanzados en Seguridad y Sociedad de la Información TASSI.

Enlace al vídeo en Youtube

Puede descargar la presentación utilizada por el ponente desde aquí.


Archivado en: General Tagged: hispasec, TASSI-2015, video

Viernes 19 de junio de 2015

Jesus Palencia

Instalar Kodi (antes XBMC) en Android desde Google Play

Anteriormente les hable de Kodi y sobre como instalar Kodi en Android descargando el apk desde la pagina del proyecto, ahora para fortuna de todos, desde Junio de 2015 podemos instalar Kodi directamente desde Google Play.

La instalación es bastante simple, solo deben contar con Android 4.2 o superior y hacer clic en el siguiente enlace para ir a la página de la descarga o puede escanear el código QR.

Espero que esta información les sea útil, saludos…

Mas información:


Archivado en: General Tagged: android, google, kodi, mediacenter, play
Jesus Palencia

Firefox para Community Managers e influyentes: MiniserieFirefox Ep.6 Compartir

Ahora contarle a tus seguidores las páginas que te gustan es mucho más sencillo, con la opción Compartir esta página de las nuevas versiones de Firefox puedes compartir enlaces hacia Facebook, Twitter, LinkedIn, Tumblr y más.

Enlace al vídeo en Youtube

Visto en Mozilla Perú


Archivado en: Mozilla Tagged: compartir, firefox, miniserie, mozillaperu, socialmedia, video

Jueves 18 de junio de 2015

Próceres en Vectores

Ayudando a alguien terminé haciendo estos 6 vectores de los próceres Venezolanos; es un pequeño paquete que contiene los siguientes personajes (y un paisaje de regalo):

  • Simón Bolivar (por Tito Salas)
  • Simón Rodriguez
  • Ezequiel Zamora
  • Antonio José de Sucre
  • Francisco de Miranda
  • Cerro el Ávila

Espero le sea útiles, y de ser así, me cuenten en que los utilizaron :)

Flattr this!

Lunes 15 de junio de 2015

Cómo instalar Oracle Java en Debian

centOS 6

Si necesitas instalar la versión de Java de Oracle en Debian, puede seguir los siguientes pasos para realizarlo una vez que hayas descargado el binario desde la página de descarga de Oracle:

Una vez descargado el  procedemos a extraerlo en el directorio /opt:

# tar xvzf jdk-8u45-linux-x64.tar.gz

Primero vamos a consultar la versión de java actual:

# java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)

Aquí puede verse que la versión a la que se hace referencia actualmente es la 1.7.0_79 de OpenJDK. Ahora vamos agregar la ruta de la nueva versión a usar:

# update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_45/bin/java 1

Esta última orden agrega la ruta /opt/jdk1.8.0_45/bin/java al binario /usr/bin/java java, es decir, este será el enlace simbólico a usar en caso de seleccionar esta opción. Vamos a configurar los alternatives para que apunte a la nueva ruta:

# update-alternatives --config java
  Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 auto mode
 1 /opt/jdk1.8.0_45/bin/java 1 manual mode
 2 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode
 3 /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java 1071 manual mode

Enter to keep the current selection[+], or type selection number: 1

Luego de seleccionar la opción 1, verificamos  la versión de java una vez más:

# java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

Ahora el binario de java apunta a la versión de Oracle. Cosa que podemos verificar consultando los enlaces simbólicos:

# ls -l /usr/bin/java
lrwxrwxrwx 1 root root 22 jun  9  2014 /usr/bin/java -> /etc/alternatives/java

# ls -l /etc/alternatives/java
lrwxrwxrwx 1 root root 25 jun 15 09:21 /etc/alternatives/java -> /opt/jdk1.8.0_45/bin/java

Sábado 13 de junio de 2015

¿Sabías que? cómo administrar múltiples llaves SSH

Llaves SSH: el concepto

SSH es un protocolo de inicio de sesión remota que ha sido la base de la seguridad de GNU/Linux (BSD y los UNIX en general) durante décadas, una de las características más importantes consiste en evitar la necesidad de usar usuario-contraseña para la autenticación, sino un sistema de llaves SSH pública-privada basado en el algoritmo RSA, con esto, mi equipo (y solo mi equipo) tiene acceso “sin contraseña” al host, pues se identifica usando una clave RSA.

Ahora bien, en un mundo cada vez más ávido de seguridad, casi todo lo que tenga que ver con datos (y especificamente con acceso a servidores) requiere llaves SSH, por ejemplo, github las requiere, bitbucket, Amazon otorga llaves para acceder a cada equipo, etc.

¿Cómo hacer para gestionar diferentes llaves SSH en un mismo equipo?

Cuando tenemos múltiples llaves SSH instaladas, es un fastidio tener que indicarlas cada vez en el comando SSH:

ssh -i ~/.ssh/xxx_id_rsa user@host

Deseo que podamos acceder claramente a nuestro equipo sin tener que indicar la llave RSA.

He acá el truco …

Configurando SSH

Debemos configurar SSH para que acepte una configuración especifica por cada host y/o conexión que requerirá su propia llave SSH.

Para dar un ejemplo, tengo 2 llaves privadas, una que me proporciona un servidor de Amazon AWS y otra, que generé con ssh-keygen para conectarme a github, dichas llaves son diferentes.

El primer paso es crear un archivo “config” dentro de nuestro directorio “.ssh” (ese directorio es por usuario).

vim ~/.ssh/config

Allí agregamos:

Host github.com
 HostName github.com
 PreferredAuthentications publickey
User phenobarbital
 IdentityFile ~/.ssh/id_rsa.github

Y paso a explicar:

Host: nombre “amigable” con el cual identificaremos el host en el comando ssh, puede ser cualquier cosa que nos ayude a memorizar su nombre (no tiene que ser ni el hostname ni la IP real)

Hostname: Esta si es la IP o nombre de host real del equipo al que me voy a conectar.

User: El único usuario con el que iniciaré sesión en ese host, en este caso, mi ID de github.

IdentityFile: Es la llave (que generé con SSH-KEYGEN y subí a github) con la que hago mis commits a github.

Guardo, aplico los permisos al archivo config y a la llave privada:

chmod 0600 /home/jesuslara/.ssh/id_rsa.github
chmod 0600 ~/.ssh/config

Y seguido de una línea nueva, agrego la siguiente definición de host:

vim ~/.ssh/config
Host blog
 HostName blog.phenobarbital.info
 User jesuslara
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/id_rsa.blog

Aplico los mismos permisos 0600 al archivo id_rsa.blog y listo!

Intenten hacer un:

ssh -l jesuslara blog

Y entrará sin pedir clave usando la llave privada que le hemos configurado.

Notas

  • Pueden indicar varias llaves privadas, repiten (una por línea) y openSSH intentará una por una:
Host me.github.com
 HostName github.com
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/id_rsa.github
 IdentityFile ~/.ssh/id_rsa
 IdentityFile ~/.ssh/id_rsa.2
  • Pueden indicar que intente con la llave SSH y si falla, que intente con password (o cualquier otro método alternativo de autenticación, por ejemplo gssapi)
PreferredAuthentications publickey,password
  • Si al servidor se accede por un puerto distinto, indicar en la configuración con la opción “Port”, ejemplo:
Host example.com
 HostName server.example.com
 User jlara
 Port 50222
 PreferredAuthentications publickey
 IdentityFile ~/.ssh/id_rsa.2
  • Si desean que estos hosts estén declarados “system-wide” (para todos los usuarios) entonces deberán definirlos en el archivo:
/etc/ssh/ssh_config

Happy Hacking! y ¡Ya sabes como!

The post ¿Sabías que? cómo administrar múltiples llaves SSH appeared first on Phenobarbital con Soda.

Viernes 12 de junio de 2015

De vuelta…

El Blog de Luis está de vuelta después de un pausa de varios meses, y gracias a la ayuda de una amiga que me está proporcionando el hosting del blog. Varias personas me preguntaron o pidieron información que solo conseguían en mi blog, por lo que decidí reactivarlo nuevamente.

Espero les sirva de ayuda, aprendan algo nuevo o sea una vía para intercambiar información.

¡Disfrútenlo!

Fondo blanco en 1 minuto – Gimp

Sé que últimamente no he tenido tiempo de publicar en mi blog debido a que estoy super ocupada con el trabajo y la casa (nada de que preocuparse, son buenas noticias), así que mientras trabajaba, decidí simplemente grabar como hago las cosas; creo que a veces hay que dejar de complicarse y solo mostrar las ediciones tal y como son.

En este video podrán ver como se edita una foto de producto si lo único que tienen son hojas blancas y un par de luces. En mi caso, el problema fue que cuando lavé mi fondo blanco para softbox sinplemente murio, se peló (gamuza) y quedó inservible; por lo que tuve que recurrir al plan B y utilizar simples hojas blancas carta.

Espero el tutorial les sea de utilidad, está a velocidad normal y creo que eso les mostrará que es fácil editar. Hay varias formas de hacer lo mismo, sin embargo, es bueno mostrar al menos una de las fáciles. Espero les guste y volver a publicar con mas frecuencia los podcast de tatica!

https://youtu.be/ZR0dzntkxT4

Flattr this!

Miércoles 03 de junio de 2015

¿Sabias que? mejorar la velocidad del rsync

Usando rsync

A menos que usen el protocolo rsync, una transferencia rsync entre 2 equipos utiliza como capa de transporte a SSH, SSH por lo general va cifrado (y sin compresión) y siempre en el cifrado de mayor complejidad posible, lo cual, si tu CPU es lento, hará que las transferencias duren mucho.

¿cómo solucionarlo? fácil!, cambiando el cifrado.

El cifrado SSH

SSH utiliza diversos algoritmos de cifrado (como 3DES o AES), a menos que tengas un CPU que soporte aceleración por hardware del cifrado AES (modernos CPU core i7 ó Xeon), usar un alto cifrado tiene un gran penalty en la velocidad de transferencia, en cambio, si es una conexión relativamente segura (desde tu portátil a otro equipo, ejemplo, una NAS en tu casa) usar un algoritmo inseguro puede ayudar a mejorar la velocidad de transferencia.

¿Cómo?, veamos.

RSYNC con ¿blowfish, arcfour?

Hay 2 cifrados bastante inseguros, pero muy rápidos de computar con hardware decente, uno es blowfish y el otro es arcfour (versiones de 128 y 256), mi equipo de pruebas es un:

  • Equipo Intel Atom J1900U con red Ethernet Gigabit, pero
  • Conectado a un swith 100Mbps
  • Y mi portátil está en una red LAN 802.11g (54Mbps)

En estas condiciones “promedio” ejecutamos el rsync:

He movilizado 1GB de información (un backup del sistema raíz) con el siguiente comando:

rsync -viHaAXv -S --recursive --progress  --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* root@192.168.1.8:/opt/installer/appliance

Y este es el tiempo:

sent 1,137,165,129 bytes received 830,145 bytes 2,661,977.25 bytes/sec
total size is 1,134,756,293 speedup is 1.00
real 7m6.843s
user 0m28.400s
sys 0m10.204s

2.6MBps fueron transferidos en 7 minutos.

Ahora, usando arcfour128:

rsync -viHaAXv -S --recursive --progress -e "ssh -T -c arcfour128 -o Compression=yes -x" --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* root@192.168.1.8:/opt/installer/appliance
sent 1,137,202,567 bytes received 830,277 bytes 4,832,411.23 bytes/sec
total size is 1,134,794,587 speedup is 1.00
real 3m55.097s
user 2m16.032s
sys 0m14.868s

Esto es una tasa de transferencia de 4.8Mbps, que movieron 1GB de datos en 3,55 minutos, esto es un 90% de mejora en la velocidad!

Haciendo benchmark

Mis condiciones, no son tus condiciones, por lo que hacer un juicio “objetivo” sobre usar arcfour128, o blowfish, o AES si tu CPU lo soporta, lo mejor es que pruebes “tú mismo”, para ello tienes este pequeño script bash que te ayudará:

Crea un archivo de 50MB:

dd if=/dev/zero of=/opt/test-file bs=1M count=50

Y ejecutas este script:

#!/bin/sh
for cipher in aes128-ctr aes192-ctr aes256-ctr arcfour256 arcfour128 aes128-cbc 3des-cbc blowfish-cbc cast128-cbc aes192-cbc aes256-cbc arcfour ; do
 echo "$cipher"
 for try in 1 2 ; do
 time rsync -viHaAXS -e "ssh -T -c $cipher -o Compression=yes -x" /opt/test-file USER@IP-DESTINATION
 done
done

Y podrás obtener cuánto dura una transferencia de uno destino a otro con los cifrados soportados por openSSH.

Happy Hacking!

The post ¿Sabias que? mejorar la velocidad del rsync appeared first on Phenobarbital con Soda.

Miércoles 27 de mayo de 2015

Instalar DD-WRT a viejo access point D-Link DIR-300

Uno como buen geek/friki se va llenando de gadgets, ¡oh, miren! ¡un access point y router a 300Mbps Wireless-N!, y vas olvidando los otros por allí.

Sin embargo, se me presentó un problema y DD-WRT vino en mi rescate!.

El problema

He colocado una micro-ITX con su caja en la parte de atrás de mi TV, es como mi “Teatro Casero”, con ella, puedo tener Linux en mi TV y poner películas, series, aunque en los últimos tiempos lo único que se ve allí es Pocoyó (por mi bebé de 15 meses).
Ahora que tengo Internet de banda ancha en mi apartamento, he decidido que le pondría Internet a la micro-cajita, pero ¿cómo?, la cajita no tiene WIFI (y me daba pereza comprar un dongle USB) y no voy a cablear UTP por toda la casa, entonces revisando me consigo en mi depósito de trastes viejos este aparato:

Instalar DD-WRT en D-LINK DIR-300Instalar DD-WRT en D-LINK DIR-300

Es un viejo enrutador inalámbrico D-LINK DIR-300, es Wireless-G y red 100MB (tan viejos que se consiguen como en 8US$ en ebay), ahora ¿qué hacer con él?

La idea

Al instalar DD-WRT garantizo que puedo colocar el viejo enrutador como un Wireless-Client o un Wireless-Repeater, es decir, que pudiera conectarlo a la WIFI existente en mi casa y permitirle a los equipos cableados que están detrás de mi TV (Un Guruplug, mi “teatro-casero” y ocasionalmente algún otro equipo) conectarse de manera cableada al Access Point, algo más o menos así:

Client_BridgeComencemos!

Búsqueda de información en DD-WRT

El primer paso es la búsqueda de información, necesitamos acceder a la “router database” de DD-WRT, en la página:

URL: http://www.dd-wrt.com/site/support/router-database

Buscamos nuestro enrutador:

dd-wrt-dlink300NOTA: Tomen en cuenta que hay versiones de DD-WRT para la versión A1 y la versión B de este equipo, revisen que en la parte inferior su equipo indica:

D-Link DIR-300 A1

O no podrán usar esta versión de DD-WRT.

Descargamos los siguientes archivos:

  • ap61.ram: la versión para inicio temporal de DD-WRT desde el stock
  • ap61.rom: la ROM necesaria para flashear DD-WRT en el equipo
  • linux.bin: la versión de DD-WRT de nuestro equipo

Al tenerlos descargados, instalamos nuestras dependencias.

Instalación de dependencias

Lo primero que requerimos, es un servidor de TFTP (Trivial FTP) desde el cual el router accederá a los archivos, para ello, en Debian/Ubuntu ejecutamos:

aptitude install tftpd-hpa telnet

Esto creará un directorio llamado “/srv/tftp” al cual le aplicaremos los siguientes permisos:

chown tftp /srv/tftp -R
chmod 0775 /srv/tftp -R
cd /srv/tftp

Y copiamos allí los archivos descargados, o alternativamente, los descargamos aquí mismo:

wget -c http://www.dd-wrt.com/routerdb/de/download/D-Link/DIR-300/A1/ap61.ram/2049

wget -c http://www.dd-wrt.com/routerdb/de/download/D-Link/DIR-300/A1/ap61.rom/2049

wget -c http://www.dd-wrt.com/routerdb/de/download/D-Link/DIR-300/A1/linux.bin/2049

Luego de descargado, y preparado el ambiente, procedemos a conectarnos a RedBoot

Conectarse al Router y reemplazar bootloader

  • Apaguen el enrutador
  • Configuren su equipo con una red en la subnet 192.168.20.0/24, ejemplo:
ifconfig eth0 192.168.20.80 netmask 255.255.255.0
  • Conecten su equipo al DIR-300 a través del puerto marcado como WAN.
  • Procedan a ejecutar un reset 30/30/30, esto es: “presionan 30 segundos el botón de reset y apagan, esperan 30 segundos con el botón presionado y luego vuelven a conectar la energía manteniendo presionado 30 segundos”.
  • Ejecuten rápidamente un telnet a la IP 192.168.20.81 en el puerto 9000
telnet 192.168.20.81 9000

NOTA: Tal vez deban repetir el procedimiento de encendido varias veces (apagarlo, presionar RESET y mantenerlo presionado por 30 segundos) ya que la ventana de ese telnet es de sólo 5 segundos luego del boot.

Si todo ocurre normalmente, al ejecutar el telnet y dar 2 veces tecla ENTER, verán el prompt del RedBoot:

Prompt:
RedBoot>

Ya en el prompt del redboot procedemos a configurar manualmente nuestro enrutador:

RedBoot> ip_address -l 192.168.20.81/24 -h 192.168.20.80
IP: 192.168.20.81/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.20.80

Como verán, hemos configurado la IP en la subred /24 con servidor remoto 192.168.20.80 (la IP que le pusimos a nuestra máquina).

Allí, procedemos a cargar nuestro primer archivo:

RedBoot> load ap61.ram
Using default protocol (TFTP)
Entry point: 0x800410bc, address range: 0x80041000-0x800680d8

Si les indica un error de “access violation”, asegurense que los archivos en /srv/tftp tienen los permisos correctos y el servidor TFTP puede leerlos (usuario tftp).

  • Desconecten su equipo del puerto WAN y ahora pasen el cable UTP al puerto LAN1.
  • Configuren la red de su equipo para la subred 192.168.1.0/24
ifconfig eth0 192.168.1.2 netmask 255.255.255.0
  • Vuelvan a conectarse vía telnet, pero esta vez a la IP 192.168.1.1
telnet 192.168.1.1 9000

Este responderá:

Trying 192.168.1.1...
Connected to 192.168.1.1.
Escape character is '^]'.
DD-WRT> 

Ya en la consola temporal del DD-WRT, ejecutamos:

DD-WRT> fconfig -i
Initialize non-volatile configuration - continue (y/n)? y
Run script at boot: false
Use BOOTP for network configuration: true
Default server IP address: 
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> 

Hace varias preguntas, la primera es “y”, la segunda es “false”, “true” y así como ven en el ejemplo.

  • Ejecuten fis_init y respondan “y” a la pregunta:
DD-WRT> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT>

Configuren la red, indicando como remote host la IP de su computadora:

DD-WRT> ip_address -h 192.168.1.2
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.2
  • Ya con esto, podemos cargar ap61.rom (load -r -b %{FREEMEMLO} ap61.rom)
DD-WRT> load -r -b %{FREEMEMLO} ap61.rom
Using default protocol (TFTP)
Raw file loaded 0x80080000-0x800a8717, assumed entry at 0x80080000
DD-WRT>
  • Ejecutamos  fis create -l 0x30000 -e 0xbfc00000 RedBoot
DD-WRT> fis create -l 0x30000 -e 0xbfc00000 RedBoot
An image named 'RedBoot' exists - continue (y/n)? y
... Erase from 0xbfc00000-0xbfc30000: ...
... Program from 0x80080000-0x800a8718 at 0xbfc00000: ...
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT>

Ya con esto, hemos reemplazado el bootloader, ahora vamos a montar el sistema operativo.

  • Reiniciamos el equipo:
DD-WRT> reset

Instalar DD-WRT

Este es el resumen de comandos a ejecutar:

  • fis init
  • ip_address -h 192.168.1.2
  • load -r -b 0x80041000 linux.bin
  • fis create linux
  • fconfig boot_script true
  • fconfig boot_script_timeout 5

Ejecutamos el fis_init

DD-WRT> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT>

NOTA: este comando suele durar bastante, un promedio de 3 a 5 minutos.

Configuramos el servidor remoto y cargamos el SO:

DD-WRT> ip_address -h 192.168.1.2 
IP: 192.168.1.1/255.255.255.0, Gateway: 0.0.0.0
Default server: 192.168.1.2
DD-WRT> load -r -b 0x80041000 linux.bin
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x803ddfff, assumed entry at 0x80041000
DD-WRT>

Y ejecutamos los siguientes comandos:

DD-WRT> fis create linux
... Erase from 0xbfc30000-0xbffcd000: ..........................................................
... Program from 0x80041000-0x803de000 at 0xbfc30000: ..........................................................
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig boot_script true
boot_script: Setting to true
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig boot_script_timeout 4
boot_script_timeout: Setting to 4
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT>
DD-WRT> fconfig bootp false
bootp: Setting to false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT>

Ya podemos considerar el equipo operativo y con DD-WRT; sin embargo, vamos a configurar algunos valores por defecto:

DD-WRT> fconfig
Run script at boot: true
Boot script: 
Enter script, terminate with empty line
>> fis load -l linux
>> exec
>> 
Boot script timeout (1000ms resolution): 4
Use BOOTP for network configuration: false
Gateway IP address: 
Local IP address: 
Local IP address mask: 
Default server IP address: 
Console baud rate: 9600
GDB connection port: 9000
Force console for special debug messages: false
Network debug at boot time: false
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT>

Es importante que el bootscript contenga lo indicado en negrillas:

fis load -l linux
exec

Luego de configurado los valores por defecto, configuro la red local del DIR-300:

DD-WRT> fconfig bootp_my_ip 192.168.1.1
bootp_my_ip: Setting to 192.168.1.1
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig bootp_my_ip_mask 255.255.255.0
bootp_my_ip_mask: Setting to 255.255.255.0
Update RedBoot non-volatile configuration - continue (y/n)? y
... Erase from 0xbffe0000-0xbfff0000: .
... Program from 0x80ff0000-0x81000000 at 0xbffe0000: .
DD-WRT> fconfig bootp_my_gateway_ip 0.0.0.0
bootp_my_gateway_ip: Setting to 0.0.0.0
DD-WRT>

En mi caso, he mantenido la sub-red 192.168.1.0/24

Reiniciamos el equipo:

DD-WRT>  reset

En una primera oportunidad, el equipo tardará un poco en arrancar, algo como 30 segundos, verán parpadear el botón de WPS 2 veces, luego de lo cual, el equipo estará completamente listo.

Asignense una IP (o ejecuten dhclient eth0) en la subred 192.168.1.0/24 y apunten un navegador a la IP 192.168.1.1:DD-WRTLuego, cuando le dan click a “SETUP” por primera vez, verán esto:

DD-WRTAsignen un nombre de usuario y una clave de administración al equipo y listo!.

Disfruten DD-WRT en su equipo DIR-300!.

Happy Hacking!

 

 

The post Instalar DD-WRT a viejo access point D-Link DIR-300 appeared first on Phenobarbital con Soda.

Domingo 24 de mayo de 2015

El "Ccleaner de linux" (para los que vienen de windows)

Está Escrito:
El proceder de la mujer adúltera es así: Come, y limpia su boca Y dice: No he hecho maldad. (Proverbios 30:20)

Tomado de: taringa.net

BleachBit
el "Ccleaner de linux" (para los que vienen de windows)

BleachBit es una herramienta que analiza elementos de nuestros programas como cachés, historiales, cookies o archivos temporales para poder eliminarlos y así conseguir más espacio.
BleachBit es compatible con programas conocidos como Firefox, Internet Explorer, Chrome, OpenOffice, Opera, GIMP, Skype, Vuze o XChat, con la posibilidad de buscar y borrar todos los ítems o seleccionar unos pocos.
BleachBit es una herramienta útil tanto para borrar archivos innecesarios, como para no dejar rastro de nuestras huellas en el PC.

RECOMENDACION: EJECUTALO COMO ROOT Y COMO USUARIO NORMAL, EN AMBOS CASOS SE ELIMINARÁN ARCHIVOS DISTINTOS!

* INSTALAR DESDE LA WEB DEL AUTOR
* Desde el repositorio Getdeb


gConf-Cleaner
el "limpiador de registro" para linux


acelerar

Si.. lastimosamente no solo en windows te pasa esto, si instalas muchas aplicaciones y dependencias en tu ubuntu y desinstalas tambien algunas despues de tanto te puede llegar a llenar de basura tu registro como pasa con windows, aunque aclarando que en mayor lapso de tiempo, pues ahora es que puedes usar GConf Cleaner que es una herramienta para limpiar archivos de configuración inválidos/desconocidos que se van almacenando en la base de datos del gconf.

INSTALAR
* CONSOLA:
sudo apt-get install gconf-cleaner
* Centro de software
* Pagina del Autor


UbuntuClean.sh
Scrip para automatizar tareas de mantenimiento.


Ubuntu

Este es un script que existe por internet, muy bueno, que automatiza una serie de comandos que limpian tu sistema. Estos comandos son:

* Limpiando cache de aplicaciones instaladas
sudo apt-get clean
* Limpiando aplicaciones no instaladas
sudo apt-get autoclean
* Limpiando posibles dependencias de aplicaciones no instaladas
sudo apt-get autoremove
* Eliminando archivos de configuración después de haber eliminado un paquete
sudo apt-get purge
* Eliminando viejos kernels
sudo apt-get purge $OLDKERNELS
* Vaciando las papeleras de todos los usuarios
rm -rf /home/*/.local/share/Trash/*/** &> /dev/null
rm -rf /root/.local/share/Trash/*/** &> /dev/null



INSTALAR
Pasos:

1- Abre tu editor de texto (nano, leafpad, notepad, gedit, etc...)
2- Copia el siguiente codigo en un documento y guardalo con el nombre que prefieras.
(debe tener la extension .sh.... por ejemplo: limpiador.sh)

CLICK AQUI PARA VER EL CODIGO
3- Dale permisos de ejecución a ese archivo

* desde consola, posicionandote en la carpeta donde esta primero (reemplaza archivo.sh por el nombre)
chmod 755 Archivo.sh
* desde tu administrador de archivo (dophin, thunar, nautilus, etc)
segundo boton en el archivo -> propiedades -> dar permiso de ejecucion
(esto es generico, puede variar segun tu adminsitrador de archivos)

4- Ejecutarlo

Hay 2 maneras

* La mas simple es poner el archivo en la carpeta /bin/ ya que al ponerlo en dicha carpeta se lo llama desde el comando
sudo archivo.sh
* ejecutarlo desde consola desde cualquier carpeta.. primero te ubicas en la carpeta y luego el mismo comando anterior.


GtkOrphan
el "limpiador de librerias huerfanas" para linux


mantenimiento

GtkOrphan (una aplicación Perl/Gtk2 para sistemas Debian) es una herramienta gráfica que analiza el estado de sus instalaciones, en busca de bibliotecas huérfanas. Se implementa una interfaz gráfica de usuario front-end para deborphan, añadiendo la capacidad del paquete de mudanza.

INSTALAR
* CONSOLA:
sudo apt-get install gtkorphan
* Centro de software
* Pagina del Autor 

Nota:
Para los interezados en Libros y Revistas que estoy Saliendo de ella Aqui...
Jorge Ortega

Jorge Ortega
Joenco

Mostrar los íconos en el escritorio en Debian 7 o superior

Cuando instalamos Debian 7 u 8, para nosotros los que tenemos discapacidad visual, al iniciar la sesión nos damos cuenta que el escritorio no nos verbaliza los íconos (home, trash, desktop, entre otros), esto se debe a que los mismos no están visibles, por lo que pensamos que no tenemos accesibilidad, pero no se preocupen que para activarlos es muy sencillo, solo debemos hacer un par de cosas.

 

Lo primero es ir a configuración avanzada, eso se consigue presionando “alt+f1 y escribiendo “config” (debemos buscar con las flechas la opción “configuración avanzada”) y pulsamos enter.

 

Lo segundo es que al abrirse la ventana, se nos presenta un cuadro combinado donde debemos buscar “Escritorio”, pulsamos la tecla tabular y activamos el botón que dice “have file manager handle the desktop” presionando la tecla espaciadorra o enter.

 

Ya con ese botón activo, tendremos los iconos en el escritorio, así que solo queda cerrar la ventana y eso lo hacemos con el menu contextual y buscar la opción cerrar.

 

También podemos abrir las configuraciones avanzadas escribiendo en una consola/terminal lo siguiente:

$ gnome-tweak-tool

y seguimos los pasos explicados arriba.

 

Espero les ayude! Saludos.


Viernes 15 de mayo de 2015

Debatiendo el sistema evaluativo Universitario Venezolano

Como dicen por ahí, “Soñar no cuesta nada”; pero a veces parece que por la misma desidia y desinterés general de la población ya ni eso queremos hacer. No soy graduada universitaria, aunque poco me faltó (razones personales), sin embargo, debido a la profesión que decidí seguir siempre me he encontrado inmersa en el mundo académico. En mis primeros años la gente siempre cuestionaba el hecho de que una Bachiller fuera a decirle a un TSU o Ing. como hacer las cosas; sin embargo, con el pasar de los años la gente comprendió que en el mundo tecnológico no todo se aprende en la Universidad, es más, ya es poco lo que se aprende para afrontar el mundo actual.

En mi vida he podido discutir con alumnos como les gustaría ser evaluados, y también he contado con la oportunidad de tener conversatorios con grupos de profesores Universitarios sobre el mismo tema. Uno de mis favoritos sucedió en la Universidad de Yacambú, donde durante casi 12 horas conversamos sobre las nuevas herramientas en el mundo del Diseño Gráfico y como ya este debía ser llamado “Diseño Integral” para que se pudiera formar a un artista más completo.

En estos días realicé el siguiente comentario en Twitter: “Si en vez de hacer tesis/pasantías se mandara a contribuir en proyectos; y se evaluara en base a los commits…”

tata-twit
 

Este simple comentario genero un interesante debate entre conocidos (y no) que me hizo escribir este artículo para que, quizás entre mis lectores, se genere un debate más amplio y profundo sobre como se esta evaluando el conocimiento en una era donde el conocimiento está en cualquier rincón.

Reinventar el concepto actual de academia

Tal como comentó Juan, habría que crear conceptos y metodologías nuevas donde los estudiantes comprendieran que el Software actual es más que sentarse en una oficina de 8-5 y que trata más sobre las interacciones que podemos tener con personas de todo el mundo, mientras desarrollamos en un ambiente de comunicación instantánea con nuestros colegas. También se tendría que cambiar el concepto erróneo de los círculos académicos actuales donde el profesionalismo es calificado en una escala de Pasantía a Tesis, sin términos medios.

Una de las cosas que me decepcionó durante mi época Universitaria era ir a visitar la biblioteca de la universidad y mirar con decepción como el 80% de las tesis ahí contenidas eran “desarrollos” de páginas web… y digo “desarrollos” porque era solo instalar un Joomla a algún familiar y pasarlo por tesis. ¿Es que ya no nos interesa ser profesionales y lo único que importa es tener un papel que nos enaltezca el ego?.

Autonomía Utópica

Miguel es profesor Universitario, muy joven, pero con más experiencia que la mayoría de sus colegas sesentones. Es un joven que, a pesar de tener un trabajo estable en un Start-Up de “puta madre” gasta tiempo y energía en educar a jóvenes como el para que aprendan de su experiencia y se conviertan en profesionales de verdad y no de papel. Miguel comenta que “muchas de las certificaciones y cursos en el área académica no están dirigidos al manejo de herramientas, sino a teorías o conceptos”, lo cual no se ajusta a nuestra era actual donde desarrollamos sin siquiera saberlo.

El principal problema que expone Miguel es que “elaborar una materia no es algo de la noche a la mañana porque se debe desarrollar el programa analítico, buscar los temas, pasar por la burocracia interna de la Universidad, para luego pasar por la burocracia del Ministerio de Educación Superior, eso sin tomar en cuenta que el método de evaluación puede afectar la normativa existente y sería necesario hacer un ajuste de la norma primero”. De cierta forma, pareciese que el sistema Universitario Venezolano no quiere mejorar, ya que eso podría significar mas horas de trabajo, esfuerzo y dedicación. Pero seamos honestos, ¿Quien quiere dedicarse a -entrenar competencia- por un sueldo mínimo?

Luego de preguntar mucho (ya que dicho documento no se encuentra en la web del Ministerio) me facilitaron el documento donde dicta las pautas del Contrato Colectivo del 2013-2014 (el del 2015 aún está en discusión y ya estamos a Mayo).En el tabulador, el mayor sueldo pagado es a los profesores de Dedicación Exclusiva (Entiéndase, no puede trabajar en otro lugar de forma oficial) y fue fijado a partir del 01-01-2014 en 15.297Bs. Recordemos que no se han ajustado los sueldos de los profesores desde dicha fecha. Lo triste del caso es que la gran mayoría de los Profesores no son de dedicación exclusiva, sino Asistentes, Asociados o Auxiliares. Para poner un ejemplo de una persona profesional que conozco, esta es una foto de la constancia de trabajo de el Padre de una amiga que, además de ser un excelente profesional, es un gran catedrático. Me pregunto, ¿Estaría Ud. dispuesto a trabajar durante uno o dos años para desarrollar un nuevo pensum universitario por un sueldo de 5.118Bs?

photo_2015-05-15_08-16-17
Me parece que criticar este salario sin que se tenga conocimiento de cuanto gana un Profesor fuera de nuestras fronteras es injusto, por lo que también investigué estas cifras. Un profesor gana en promedio entre 30.000USD y 130.000USD al año; esto nos indica que el salario mínimo mensual de un Educador está en 2.500USD. El profesor mejor pagado de nuestro país gana lo siguiente:

  • Profesor de Tiempo Completo y Dedicación Exclusiva: 15.297Bsf a la tasa SICAD (12Bs) = 1.274USD
  • Profesor de Tiempo Completo y Dedicación Exclusiva: 15.297Bsf a la tasa SIMADI (171Bs) = 89USD
  • Profesor de Tiempo Completo y Dedicación Exclusiva: 15.297Bsf a la tasa de Mercado Negro (300Bs) = 50USD

Incluso calculando el salario más alto del tabulador Venezolano a tasa preferencial, no llega ni a la mitad del salario mínimo de un profesor fuera de nuestras fronteras. Con esto, varias preguntas surgen. ¿A que tasa -real- debemos calcular el salario Venezolano? ¿Ud. Profesor Universitario, gana 15.297Bs o está en un escalafón diferente? ¿Luego de conocer estas cifras aún le parece mal que los profesores se rebusquen fuera del ambiente académico?

Soluciones reales en momentos de crisis

Es muy fácil decir “Suban los sueldos” o “Trabajen para construir la patria”, pero la verdad (como decimos los de IT cuando nos piden favores -grandes-) es que “nosotros no comemos cables” y los profesores dudo que coman libros. Desde mi punto de vista, las 4 profesiones que deberían estar en el tope del escalafón de sueldos deberían ser los Profesores, los Médicos, los Ing. Agrícolas y los Policías; de esa forma se asegura educación, salud, alimentación y seguridad de alta calidad; sin embargo, no creo que el Gobierno deba asumir absolutamente todo. Si el gobierno no puede pagar un sueldo digno a un profesional, entonces la privatización de servicios (completa o parcial) tiene que ser la solución. Al no ofrecerse sueldos de calidad vemos dos problemáticas, la primera es que los Profesionales que trabajan actualmente en el entorno educativo no se exigen ya que no tienen una motivación salarial (y quien diga que la motivación es mejorar a la patria claramente no tiene familia que mantener), y la segunda problemática es que los graduandos que salen a la calle a buscar trabajo prefieren ser taxistas o ejercer una profesión diferente (o emigrar) en busca de un salario digno que le permita vivir bien. Entonces, ¿Como podemos motivar al profesional para que trabaje -por la patria-?

Otra posible solución es que, ya que los pensum son desarrollados completamente bajo la tutela del Ministerio de Educación, se escoja un grupo de Educadores, se desarrolle un Simposio (Pago, no necesariamente costoso, para ayudar con los costos y generar conciencia de que el conocimiento cuesta) donde durante una semana se debatan estos temas y se hagan propuestas realistas que puedan terminar en un enriquecimiento del compendio de temas que componen las carreras actuales. Ojo, a este Simposio deberían ser invitados no solo los Profesores con larga trayectoria, sino aquellos profesionales que conocen el campo laboral actual y puedan ajustar las viejas enseñanzas a los nuevos requerimientos del entorno productivo Venezolano.

prof-univ
afd

En fin, este artículo es más que todo una reflexión, un análisis y un texto que busca quizás crear un poco de conciencia sobre el tema de la educación Universitaria. Recordemos que en el mundo actual, el mayor cúmulo de conocimiento viene de la información digital que (queramos o no) está ahí. En vez de verla como el enemigo, veamosla como la mejor herramienta que tenemos para mejorar como profesionales y personas.

Flattr this!

Sábado 09 de mayo de 2015

Silvio Perez: TOOL for check fs remotely

Viernes 24 de abril de 2015

Javier Valdivé

Javier Valdivé
[g3o@blog:~]#

Elementary Freya 0.3 - Escritorio Abril 2015



Jueves 23 de abril de 2015

José Miguel Parrella Romero

José Miguel Parrella Romero
null pointer dereference

Why we go to LinuxFest Northwest

For the second year in a row since I moved to Redmond, I’ll be joining the Microsoft crew sponsoring and attending LinuxFest Northwest in Bellingham, Washington. This is one of the largest, if not the largest Linux & open source event in the region and draws large crowds of smart geeks from Canada, the United States and other countries, as well as corporate sponsors like us.

One of the questions I get the most is why does Microsoft sponsors and participates this event? Microsoft has been sponsoring and participating in many open source conferences, projects and events in many parts of the world but some people are wondering why a non-corporate, pure Linux event, and some others are naturally skeptical about it.

I don’t think there’s a single reason why we rally to convince our bosses to do it, but we have been trying to do more closer to home, when it comes to open source. There is a vibrant Linux and open source ecosystem in Redmond, the Puget Sound area and the Pacific Northwest and while we have been very active in Europe and in the Bay Area, we haven’t done a good job of connecting with the people closer to home.

For example, I recently had the fantastic opportunity to help the Pacific Northwest Seismic Network from the University of Washington to run their Ubuntu-based Node.js applications for their “Quake Shake“. I think being able to help with that project or with any other project or conference in any other part of the globe is a good thing – but there’s no distance excuse for Bellingham!

Another great reason is the LFNW community itself. We love the crowd, the lively discussions, the sharing and learning spirit. And as long as we are welcome by the community we’ll continue to seek opportunities to connect with it. Plus, this is a really cool conference. This year, I’m cutting my vacations to attend the event. A coworker is skipping church duty to help. We have heard from many engineers and program managers that they will be attending and want to carpool and staff the booth. And my friend has been investing all this time in logistic ensuring we are having a meaningful presence.

The community invites some of the sponsors to bring unique content that is relevant to the participants. Last year I had the opportunity to demo a Raspberry Pi device connected to Office via Azure. Most people in the room didn’t know Office runs in a browser, or that Azure could run Linux. But they listened and they thought it was cool. Some of them are now partners, helping customers do more with open source in Azure.

This year, I want to bring more Debian to this event because I have been working a lot inside of Microsoft to get more people up to speed with Debian-based development and we have serious community momentum around Debian in Azure. In true Microsoft tradition, we will have a cake to celebrate the arrival of Debian 8. I’ll have in mind all of those friends in the Debian community with whom I’ve been working with for years to make sure we don’t drop the ball when it comes to responding to what our customers, partners and the community want when it comes to Debian.

And, hopefully, next year we’ll be back again in Bellingham for LinuxFest Northwest 2016!


Miércoles 22 de abril de 2015

Valencia Software Libre: Invitacion: Flisol 2015 Valencia Charlas e Instalaciones

Domingo 19 de abril de 2015

ubuntu-ve: FLISoL 2015

Miércoles 15 de abril de 2015

Valencia Software Libre: Flisol 2015 Valencia Carabobo

Domingo 12 de abril de 2015

José Miguel Parrella Romero

José Miguel Parrella Romero
null pointer dereference

Thoughts on growth and open source services

For many years I was infatuated with the idea of creating value out of open source professional services. To a certain extent, this is a function of when, where and how I was exposed to open source. Even today, after acknowledging the challenges of this model (the hard way) I find myself spending time modelling what needs to change in order to innovate it.

While today there are statistically no skeptics of the tremendous impact that open source software has had in and beyond the IT industry, thinking prevails that the open source opportunity doesn’t lay on professional services.

It’s commonly accepted that only a handful of players have found success in this model. In fact, some would argue that it can only be one that exhausts it for everybody else. Media commentators shun on rising startups whose business model smells too much of support and services.

As Ben Werdmüller recently wrote (motivating me to write this article) those services are not recurring and not scalable. And there’s also proof in the market that well designed, talented and recognized organizations eventually fail in their efforts to seize the open source consulting business.

Back in 2008, after 5 years selling open source services either as a freelancer or in small firms, I was invited to lead technical strategy for an open source focused system integrator in Venezuela. The organization had recently scored a support agreement with a large multinational hardware vendor for a subset of their customers’ Linux needs, and they were looking for a portfolio and an attractive environment for talent and for growth.

I spent the next 3 years building a team of 50+ in several countries in Latin America, shipping open source products and solutions and managing large consulting projects for customers in the public and private sector. That support agreement became 3 partnership agreements with large IT multinationals. Yet with all the impact, the challenges of dealing with the subtleties and complexities of the open source professional services challenge remained unaddressed.

There were numerous learnings I grabbed from that experience, ranging from managing a team of talented professionals who went on to highly successful roles in Europe and the Americas, to the art of marketing something as bland and commoditized as open source consulting.

Among the fun learnings: with a highly mobile talent pool in multiple countries we managed our daily operations via IRC. We also built a lean-and-mean sales process led by the delivery teams, not sales, embraced document and knowledge management and invested in the communities and ecosystem that help open source be successful.

But I digress. Portfolio-wise, we had organized our offering in three core areas (infrastructure, applications and databases) and a number of incubation areas that gave us a unique competitive advantage such as knowledge management and end-user experience (we focused a lot on Linux in the desktop) or business intelligence and unified communications. All with open source, all with Linux.

Yet market disruptions, such as government policy in an economy where public sector concentrates an overwhelming amount of spending power, contributed to mask the unaddressed. Since 2004, there was a stated pro-open source policy in the public sector which evolved into a number of unstated policies trickling to public and private sector alike.

When this policy was introduced there was a small talent pool to cover the complex needs of a public sector that sprawled beyond the vertical with plenty of Oil & Gas, Financial Services, Manufacturing and other needs. Furthermore, virtually no relevant foreign organization took advantage of this opportunity due to general market conditions, a difference between how similar policies were rolled out in, for example, Ecuador (where the US dollar is the local currency)

Therefore, supply and demand reality made margin management, a critical discipline in the services business, an afterthought. Plus, the depth and quality of our technical results was a catalyst for business opportunities so marketing wasn’t really in the picture. We were a go-to open source consulting company and we got away with selling bland OpenLDAP clusters and Asterisk IPBX as if they were actual products, repeatable and scalable.

And in exploring other models we found support was something we actually enjoyed: we were really proactive and fanatical about it and generally speaking never had to sell a support agreement. In the training side of things we managed to set consistency standards across courses and deployments but all accrued to that non-recurring base of services, to that dreaded hourly rate. So they were never differentiated sources of growth as it always converged in a consulting project.

At some stage we did invest in a products team that explored all the right things which years later hit the market (agile embedded with general purpose Linux OS, SaaS and cloud-powered IPBXs, analytics and insights, etc.) but the reality is that our operation corpora was built on a professional services foundation which made it unrealistic to detach. We tried using a different brand for our product labs, but the talent we had attracted and developed thrived in services.

I still see the boundaries of a VAR, an ISV and an SI as pretty artificial in the open source world, just as I find it less relevant to look at the boundaries of development and IT professionals with an open source hat on. Of course the business models are different, some are based in volume and depend on marketing and channel while others are based in margin and depend on trust and references. This mix is not different from what we’re seeing today in open source startup IPOs.

Today I don’t struggle to articulate a value proposition or find demand for the open source capabilities I’m selling. I’m struggling to find the right partner to help me scale. And I refuse to believe I can only go to a global SI or a well-known Bay Area ISV for those needs, when I have lots of VARs, SIs and ultimately great people in local markets who can land meaningful solutions. Yet I’m wary about putting all the eggs in the basket of building value out of open source professional services.

We’re now living interesting times where the successful players in this space are crowd sourcing services growth via channel. This is a fascinating move from an open source support and services behemoth and has a lot of potential if it can connect the local talent with consistency that accrues to growth.

In the meantime, common sense will still indicate that entering the market to sell non-repeatable open source professional services can be highly rewarding in developing people, acquiring and developing know-how and making an impact. It can even help reduce the consumption gap for a complex product and help build market share. It just doesn’t seem to be a high-growth strategy for most people out there.


Lunes 06 de abril de 2015

Como migrar tu base de datos de WordPress desde tu servidor local a producción

Generalmente si eres un buen desarrollador, tendrás tu entorno de desarrollo (servidor web, base de datos, etc) instalado en tu máquina local. De esta manera, puedes trabajar rápidamente al evitar solicitudes al servidor web remoto cada vez que realices modificaciones en un archivo o necesites visualizar cambios (por nombrar ejemplos), además, no requieres conexión a Internet, por lo que si ocurre una falla con el servicio o estas usando el ancho de banda para descargar cosas, no afectará tu flujo de trabajo.

En el caso de WordPress, existen dos opciones de configuración: home y siteurl que indican las URLs de la página inicial y sitio respectivamente. Por ello al realizar una instalación y configuración local, éstas variables tienen valores que apunta a localhost. Entonces, al momento de migrar la base de datos al servidor de producción, muchos enlaces quedan bajo el dominio localhost y no al dominio del sitio. Cambiar estos valores no ayuda mucho, pues si tienen imágenes, vídeos y archivos enlazados a contenidos creados dentro del editor, verán que no son accesibles porque siguen apuntando a localhost.

Para cambiarlo, se puede hacer con WP-CLI que es una útil herramienta de interfaz de comandos para WordPress, donde puedes administrar el sitio, datos, respaldos, entre otras cosas, sin salir de la consola. Pues para renombrar los URL de localhost a tu dominio, simplemente debes ejecutar los siguientes dos comandos.

Instalas wp-cli en tu sitio wordpress de producción usando curl:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

Luego ejecutas el comando search-replace cuyo primer parametro es la dirección actual (la local) y el segundo la dirección final del sitio:

wp search-replace 'http://localhost/sitio-de-desarollo' 'http://sitio-de-produccion.com/'

En caso que no te sirva el comando anterior porque no tienes configurado para la ejecución de archivos PHP automáticamente desde la consola ejecuta:

php wp-cli.phar search-replace 'http://localhost/sitio-de-desarollo' 'http://sitio-de-produccion.com/'

¡Listo! El comando se encargará de buscar en la base de datos cualquier referencia y la actualiza.

P.D: Si siempre trabajas en el servidor de producción o en un servidor remoto, estas perdiendo tiempo, ancho de banda, recursos y sobre todo dinero. ¡Aprende a optimizar!

Domingo 05 de abril de 2015

Héctor Colina

Ip real detrás de proxy web

Una de las acciones más utilizadas en el mundo de la virtualización es la de tener un proxy web que reciba todas las peticiones web que llegan al dom0 y pasarlas a las correspondietes VM que estén bajo su control y que puedan respondar a las respectivas peticiones web.

Sin embargo, la configuración estandar impide que podaos ver, por ejemplo, las direcciones IP reales que llegan a la VM, obteniéndose, en su lugar, la IP del dom0:

  IP CLIENTE          IP DOM0          IP LOG EN VM
==============      ==============     ===============
|190.9.XX.XX | -->  | 192.168.0.1| --> | 192.168.0.1 |
==============      ==============     ===============

Lo anterior podemos verlo en el siguiente trozo de log de un servidor lighttpd que responde peticiones provenientes de un servidor proxy web que funciona en nginx

prueba.mydomain.net.ve 192.168.0.1 – – [05/Apr/2015:08:36:12 -0430] “GET / HTTP/1.0″ 404 345 “-” “Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0″

Lo que deseamos es que el campo de la ip nos muestre la ip real del cliente que hace la conexión y no la ip del dom0.

La solución correcta en lighttpd es a siguiente:

a) Configurar y activar el módulo accesslog de lighttpd; en debian este módulo tiene su archivo de configuración aparte, ubicado en /etc/lighttpd/conf-available:

a-1) Configurándolo: para ello agregar al archivo /etc/lighttpd/conf-available/10-accesslog.conf la siguiente cadena al final del mismo:

accesslog.format = “%{X-Forwarded-For}i %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\””

a-2) Activar el módulo:

lighty-enable-mod accesslog

b) Configurar el módulo extforward, para ello, en su archivo de configuración de lighttpd coloque:

extforward.forwarder = (
     "192.168.0.1" => "trust"
  )
extforward.headers = ("X-Cluster-Client-Ip")

Nótese que la ip colocada acá es la del dom0 que se conecta con las VM, en nuestro caso es 192.168.0.1

c) Reiniciar lighttpd

Es muy importante el paso a-1 ya que muchos tutoriales no indican que debe colocarse la cadena %{X-Forwarded-For}i lo cual impide conocer la ip real.

Al finalizar esta configuración, el log del lighhtpd configurado en la VM debe mostrar algo como:

190.77.XX.XX – – [05/Apr/2015:08:52:45 -0430] “GET / HTTP/1.0″ 200 2682 “-” “Mozilla/5.0 (X11; Linux x86_64; rv:37.0) Gecko/20100101 Firefox/37.0″

Quedando nuestro esquema, entonces, de la iguiente forma:

  IP CLIENTE          IP DOM0           IP LOG EN VM
==============      ==============     ===============
|190.9.XX.XX | -->  | 192.168.0.1| --> | 190.9.XX.XX |
==============      ==============     ===============

Espero disfruten la ayuda :-D

Viernes 03 de abril de 2015

Carlos Colmenarez

Carlos Colmenarez
El Blog de Zero » LINUX

¿Qué son los repositorios en Linux?

Los repositorios forman parte de todas las distribuciones Linux y cumplen un rol muy importante ¿pero que son?

Hace poco les hablábamos de algunos términos relacionados con el software libre que seguramente habías escuchado, repositorio es uno de ellos. Saber que son y como funcionan nos ayudara a mantener mas eficientemente nuestra instalación.

Los repositorios en Linux son grandes bancos de datos o servidores que alojan las aplicaciones que tu sistema necesita, entre ellos paquetes nuevos y actualizaciones que se instalan mediante un manejador de paquetes. Como ves, no solo contienen los paquetes no instalados previamente sino que gracias a sus actualizaciones mantienen tu sistema al día. Ahora, hay dos tipos de repositorios, los oficiales y no oficiales.

Tipos de repositorios

Los repositorios oficiales contienen las aplicaciones que tu distribución soporta y que, dependiendo de sus políticas, muchas veces cuentan con un protocolo de revisión muy riguroso para asegurarse de que todos los paquetes que contienen se encuentran en estado óptimo y no representan riesgos de seguridad o estabilidad para el sistema. Por ejemplo, en Arch Linux, algunos de los repositorios oficiales son Core, Extra y Community. Cada uno de ellos contiene paquetes de diferente índole como systemd, xorg, chromium y gnome por mencionar algunos.

Los repositorios no oficiales contienen paquetes de aplicaciones no soportadas directamente por la distribución, por lo tanto carecen de los protocolos de revisión que mencionamos anteriormente y, aunque contienen aplicaciones muy útiles para tu sistema, deben ser manejados con cuidado. Estos repositorios son mantenidos por comunidades organizadas de usuarios y al ser no oficiales no están incluidos por defecto en las listas de repositorios, pero pueden agregarse muy fácilmente. Por ejemplo, para el caso de Ubuntu, los repositorios no oficiales son los PPA (de Personal Package Archive) y en ellos podrás encontrar paquetes como VLC, Turpial y Gimp.

Las distros derivadas usan los mismos repositorios de sus distribuciones padres. Por ejemplo, Linux Mint utiliza los mismos repositorios que Ubuntu, su distribución padre, al contrario de Linux Mint Debian Edition que usa los de Debian.

Para sacar la mejor ventaja de los repositorios en Linux, oficiales y no oficiales, debes elegir muy bien cuales agregas. Es importante que conozcas las fuentes de tus aplicaciones y las versiones de los paquetes que estas instalando pues de esta manera te aseguras de no comprometer tu sistema. Conocer cómo funciona el manejador de paquetes también es muy importante, pues éste es tu intermediario con los repositorios. Para mas información, no dudes en visitar la documentación oficial de tu distribución.


Jueves 26 de marzo de 2015

Carlos Colmenarez

Carlos Colmenarez
El Blog de Zero » LINUX

10 razones por las que Firefox es mejor que Chrome

El navegador de Internet Firefox es mejor que Chrome en ciertos aspectos. Veamos qué podría aprender Google de él.

Hace unas semanas decidí darle una oportunidad a Firefox, uno de los exploradores de Internet más usados hoy en día. Habiendo sido un usuario fiel durante años de Google Chrome (y de Chromium en Linux) no estaba seguro de lo que me iba a encontrar. Las únicas veces que usaba Firefox eran de pasada en los ordenadores de la universidad, simplemente porque aparte del infame Internet Explorer era el único navegador de Internet instalado en ellos.

Durante este tiempo, he descubierto lo mucho que ha ido evolucionando Firefox durante estos años y lo diferente que es la nueva experiencia de usuario que ofrece este explorador. Por mucho que me guste Google Chrome, hay varios aspectos que desearía que fueran diferentes. Por todos ellos, he decidido recopilar unas cuantas razones por las que pienso que Firefox es mejor que Chrome.

Como en todo artículo de opinión, lo que vais a leer se basa principalmente en opiniones subjetivas. Nadie tiene la verdad absoluta en lo que a navegadores de Internet se refiere, pero en mi caso se que Firefox cumple con lo que necesito. Veamos cómo lo hace.

1. El uso de memoria RAM

La razón principal por la que decidí dar el salto a Firefox era el excesivo consumo de memoria RAM que hacía Google Chrome en mi PC. Siempre había estado contento con los 6 GB de mi portátil, pero a cada versión nueva de Chrome tenía la sensación de que el hambre de este explorador aumentaba. Además, siendo yo un consumidor de pestañas patológico (decenas de pestañas abiertas) mi memoria RAM se esfumaba enseguida. Firefox necesita menos recursos, por lo que puedo tener más cantidad de pestañas abiertas.

2. Personalización por defecto de los elementos de la interfaz

firefox-personalizar-interfaz2

La personalización de Firefox la podemos dividir en varios aspectos. En este punto, vamos a hablar de las configuraciones que le podemos hacer a la interfaz por defecto. En el explorador del titán de los buscadores, apenas podemos configurar la interfaz; cambiar los botones de las extensiones de orden y hacer aparecer la barra de marcadores es lo único que seremos capaces de personalizar.

Sin embargo, en Firefox podremos personalizar la posición de absolutamente todo. Desde la posición de los botones y las barras de navegación, a poder añadir botones nuevos al menú.

3. La experiencia de uso en las pestañas

¿Habéis abierto muchas pestañas en Google Chrome? Llega un momento en el que no ves que es lo que has abierto porque no se ve el icono de la página que visitas ni texto alguno en las pestañas. Firefox lo que hace es mostrar unas pocas pestañas y unos controles con los que movernos a las demás, lo encuentro más útil porque me entero de lo que tengo abierto.

4. Personalizar el tema

En Google Chrome, las personalizaciones de temas no pasan de cambiar el esquema de colores y el fondo. Firefox, por otra parte, es capaz de hacer eso y más. Mediante extensiones de terceros puedes convertir a Firefox en un navegador único que se adapte a tu estilo de trabajo.

En mi caso que trabajo en un portátil, el espacio vertical es muy importante porque a medida que añadimos elementos como la barra de navegación o marcadores, vamos perdiendo espacio. Por ello he hecho lo siguiente: he puesto una barra lateral de pestañas cuyos títulos se leen sin problemas y que además puedo ordenar en grupos. Y en la barra superior, al pasar el ratón aparecen los controles de navegación y marcadores (puedes elegir lo que quieres ocultar o mostrar) ahorrándome muchísimo espacio. ¿Así no parece Firefox, verdad?

5. Las extensiones

Como habéis podido comprobar en el punto anterior, las extensiones pueden editar cualquier apartado de Firefox. Tienen un control superior sobre el navegador de lo que pueden ofrecer las extensiones de Chrome.

6. Privacidad

No tenemos que olvidarnos de que Google basa su negocio en la publicidad y que para ello debe hacer una recolección de datos de sus usuarios. Si no os gusta que se recojan datos sobre vosotros Firefox es una buena opción, que aporta funciones como decirle a las webs que no nos rastreen, incluye el buscador DuckDuckGo por defecto y nos da la opción de no enviar datos de uso si no queremos.

7. Almacenar datos en tu propio servidor

Cuando usamos Google Chrome, nuestros datos se almacenan en servidores de terceros. En Firefox, por defecto también ocurre lo mismo pero tenemos la opción de alojar nuestros datos en un servidor propio, donde solamente nosotros y los dispositivos vinculados tendrán acceso.

8. Carga individual de pestañas

Si hemos configurado nuestro navegador para que se inicie abriendo las pestañas que estuvimos usando en la sesión anterior, puede ralentizarse un poco. Firefox, por defecto activa la opción de cargar las pestañas al entrar en ellas, algo que en determinados PC es de agradecer.

9. La empresa que esta detrás del proyecto

Los días del “don’t be evil” de Google hace tiempo que quedaron atrás. Es una empresa que se lucra mediante la información que envían los usuarios por usar sus productos gratuitamente. Hay a quien le parecen bien esos métodos, pero para los que no, existe la Fundación Mozilla, empresa sin ánimo de lucro detrás de Firefox. Los principios de esta fundación están muy claros, promover la apertura, la innovación y la oportunidad en la Web.

Saber quien está detrás del producto que usamos es algo muy importante, porque nos da una idea de a dónde pueden evolucionar o qué valores van a defender.

10. Derivados de Firefox

firefox-es-mejor

Para finalizar esta lista me gustaría hacer una breve mención a los navegadores de Internet que derivan de Firefox. Entre ellos me gustaría nombrar a Tor Browser Bundle y a Firefox Developer Edition (imagen anterior). Mientras que el primero es un navegador enfocado en la privacidad que utiliza la red Tor (¿hace un paseo por la Deep Web?) el segundo es otro enfocado en los desarrolladores. Hay varios proyectos más pero estos dos son los que más me han llamado la atención.

Al final del día lo que importa es que te sirva a ti

Si Firefox no tiene las características que necesitas no tienes por qué usarlo. Lo realmente importante es que puedas trabajar a gusto en él y ser productivo. Para mí últimamente (a ver cuanto me dura) es Firefox, pero para ti puede ser Chrome, Safari, Opera o incluso Internet Explorer [inserte burla a Internet Explorer aquí].

visto en hipertextual.com


Carlos Colmenarez

Carlos Colmenarez
El Blog de Zero » LINUX

6 formas de mejorar tu conexión WiFi

Aunque muchas veces parezca imposible, existen formas de mejorar la conexión WiFi, ya sea con soluciones caseras o invirtiendo en algo de infraestructura.

Qué molesto es trasladar el equipo informático a una nueva habitación de la casa para de repente comprobar que “no le llega bien el WiFi”. Y muchas veces es tan sencillo como ubicar mejor el router o hacer algunos ajustes nada complicados. Para aquellos que se hayan desesperado alguna vez a causa de un alcance deficitario de su red inalámbrica o para aquellos que sean propensos a entrar en crisis si se topan con un problema de este estilo, a continuación ofrecemos una serie de consejos para mejorar la conexión WiFi.

Ubicar mejor el router

A veces el router no se encuentra en la mejor de las posiciones para transmitir su señal. Una habitación situada en el extremo de la casa o los bajos de una estantería no son el lugar óptimo. El dispositivo deberá encontrarse en un sitio central, desde el que pueda ofrecer una conexión fluida a todos los espacios que lo requieran. Si es necesario se puede comprar un cable Ethernet que permita situarlo en la mejor ubicación.

Colocar un segundo router

Otra opción para mejorar la conexión WiFi es establecer un segundo router como otro punto de acceso, que en la práctica actuará como un repetidor de señal. Para esto es necesario conectar los dos puertos LAN de los aparatos. Los dispositivos más nuevos incluso vienen preparados para servir como puntos de acceso. Una vez dentro de su configuración es tan sencillo como hacer clic en una de las opciones. Para los modelos más antiguos hay que mancharse más las manos. La dirección IP debe variar ligeramente de un router al otro, hay que asegurarse de que el SSID y la seguridad son iguales en ambos. Por último, en el segundo dispositivo el protocolo de red DHCP debe desconectarse.

mejorar la conexión wifi

Invertir en infraestructura

Muchos modelos de routers nuevos vienen con antenas integradas, pero hay otros que aún la tienen externa. Por supuesto se puede cambiar por otra de más alcance, lo que debería proporcionar una mejora significativa. También es posible adquirir un repetidor (suele funcionar mejor que aprovechar un segundo router), aunque estos dispositivos no siempre son fáciles de configurar para adaptarse a la red. Por último en el apartado de inversiones siempre existe la posibilidad de comprar un nuevo router, con más potencia y mayor alcance.

Una solución casera

Si lo que queremos es no gastarnos ni un céntimo existen otras formas de mejorar la conexión WiFi, digamos que de manera casera. ¿A alguien le suena cómo crear una antena de televisión con papel de aluminio? Pues básicamente es lo mismo. Este material, así como otros metales, amplían la señal. Se puede colocar detrás de la antena del router a modo de pantalla (orientada según las necesidades), creando un sistema similar al que emplean las antenas parabólicas. Hay quien ha comprobado incluso la efectividad de latas de refresco para este cometido.

Cambiar el canal del WiFi

Los routers trabajan generalmente en los canales 1, 6 u 11. Si el nuestro se encuentra en uno saturado el rendimiento mejorará al cambiarlo a otro. Esta información se puede conocer con la herramienta gratuita inSSIDer, que está repleta de datos, pero sólo hay que fijarse en el parámetro ‘channel’. Posteriormente hay que entrar en la configuración del router para cambiar el canal.

Actualizar el firmware

Los routers también son dispositivos basados en software, pero a éste no siempre se le presta la atención debida, como sí se hace en smartphones o en ordenadores.  Los routers destinados a empresas suelen avisar de las actualizaciones del firmware, pero los que recalan en los hogares no siempre lo hacen (sobre todo los antiguos). Las actualizaciones se pueden buscar en la web del fabricante, descargarlas y después instalarlas desde la interfaz del router.

Pero no sólo los router pueden incrementar su rendimiento si se actualiza su firmware. Lo mismo ocurre con los adaptadores de red o antenas integradas en los dispositivos. Hay que comprobar en la configuración de las redes si la última actualización del fabricante está instalada.

Visto en: http://blogthinkbig.com/mejorar-la-conexion-wifi/


Lunes 16 de marzo de 2015

Aumenta la seguridad de tu sesión en WordPress

Una de las principales preocupaciones de los usuarios de WordPress es el acceso al panel de administración, pues por defecto se encuentra en la ruta /wp-admin y está compuesto de un simple formulario que puede ser atacado por fuerza bruta. Por eso les voy a recomendar dos complementos para aumentar la seguridad de inicio de sesión de WordPress, al implementar autenticación de dos factores (Two Factor Authentication) y cambiar la ruta por defecto del formulario de inicio de sesión:

  • Rename WP Login: es un plugin muy liviano y sencillo, simplemente te permite definir una url personalizada para el formulario de inicio de sesión en la pantalla de enlaces permanentes, como por ejemplo http://tusitio.org/entrar-al-admin/. Aunque en el título dice que el plugin no tiene soporte, el autor se refiere a que no posee tiempo para resolver cualquier duda que se presente en los foros , sin embargo, acepta parches de código, nuevas funcionalidades, correcciones de bugs, entre otros. Por lo que puedes instalarlo sin preocuparte de que esté obsoleto.
  • Clef: un plugin recomendado por Manuel Camacho, consiste en una autenticación de 2 factores, es decir, aparte de brindar una información que solo tú conoces, debes dar información generada de un objeto que tienes contigo (el móvil o una tarjeta por ejemplo). En este caso, una vez que instalas el plugin la pantalla de inicio de sesión cambia a una especie de QR dinámico, el cual debes escanear con tu teléfono móvil a través de la aplicación Clef, una vez que reconoce el patrón único automáticamente inicia sesión en el sitio, lo chévere es que desde el teléfono controlas el tiempo de sesión e inclusive cerrarla remotamente. También se configurar para usar el inicio tradicional como respaldo en caso de que no tengas el teléfono contigo.

 

Clef en el blog

Ejemplo de como funciona Clef

Con estos 2 sencillos plugines que puedes instalar y configurar en poco tiempo, podrás aumentar la seguridad en tu sitio con WordPress, o mejor aún, el de tus clientes. Finalmente, si conocen alguna alternativa o desean compartir información adicional, no duden en dejar un comentario para mejorar la seguridad de nuestros sitios.

Domingo 15 de marzo de 2015

Problemas con aplicaciones java en Awesome WM

Download PDF

Ya he hablado en otros posts sobre mi odio a Gnome, y de que ahora en Linux utilizo exclusivamente Awesome WM como mi Windows Manager preferido desde hace varios años. Por cuestiones de mi trabajo, empleo mucho una aplicación para dibujar orbitales moleculares y moléculas en general que se llama: jmol. Jmol está muy bien, y  me parece excelente el hecho de que posee una consola lo que me hace recordar un buen sistema Linux. Sin embargo, está escrita en java…

Últimamente, he tenido problemas para utilizar esta aplicación ya que cada vez que la iniciaba las ventanas no mostraban contenidos.

oops
Al probar en otros DE, como XFCE4, me di cuenta de que la aplicación se mostraba sin problemas. Luego de hacer una pequeña investigación llegué a este link: http://awesome.naquadah.org/wiki/Problems_with_Java. Básicamente java reconoce una lista de DE entre los cuales Awesome WM no está. Para poder engañar a java, hace falta instalar suckless-tools (me gustó mucho el nombre):

 

✘ muammar@ihacku ⮀ ~ ⮀ aptitude show suckless-tools
Package: suckless-tools
New: yes
State: installed
Automatically installed: no
Version: 40-1
Priority: optional
Section: x11
Maintainer: Vasudev Kamath <kamathvasudev@gmail.com>
Architecture: amd64
Uncompressed Size: 228 k
Depends: libc6 (>= 2.14), libfontconfig1 (>= 2.11), libfreetype6 (>= 2.2.1), libx11-6, libxext6, libxft2 (> 2.1.1), libxinerama1,
libxrender1, libxss1, zlib1g (>= 1:1.1.4)
Suggests: dwm, stterm, surf
Conflicts: suckless-tools
Provides: dmenu, lsw, lsx, slock, sprop, sselp, ssid, swarp, tabbed, wmname, xssstate
Description: simple commands for minimalistic window managers
This package provides simple commands designed to be used with a minimalistic window manager like dwm but they can be useful in scripts
regardless of the window manager used.

Una vez instalado, podemos hacerle creer a java que estamos corriendo otro WM ejecutando lo siguiente:

✘ muammar@ihacku ⮀ ~ ⮀ wmname LG3D

Y voilà, la aplicación ahora funciona correctamente:

works

 

Supongo que debe funcionar en otras muchas situaciones. Espero que esto sea de ayuda cuando tengan problemas con aplicaciones java que no se muestran correctamente debido al WM. Este es otro de esos posts de cosas que no quiero olvidar.

PD. Fuck off java..

 

 

Domingo 22 de febrero de 2015

Instalando phpMyAdmin en Debian Wheezy

Saludos a todos

Hace un tiempo publique como instalar un servidor de base de datos MySQL en Debian, en esa oportunidad explicaba como instalar y configurar el servicio del servidor MySQL desde la linea de comando, ahora le ofrezco como administrar gráficamente este servicio de base de datos para usando una herramienta gráfica y Web llamada phpMyAdmin.

phpMyAdmin

phpMyAdmin

Instalación

Para la instalar phpMyAdmin solo requiere ejecutar el siguiente comando:

# aptitude install phpmyadmin

Uso

Luego que termine la instalación de phpMyAdmin puede usarlo accediendo por medio del navegador Web de su preferencia a la dirección http://localhost/phpmyadmin

Bienvenido a phpMyAdmin

Bienvenido a phpMyAdmin

Para acceder a administrar sus base de datos usted allí debe colocar el nombre de usuario y contraseña de MySQL, entonces le mostrar una pantalla principal de gestión de base de datos Web de phpMyAdmin.

Configuraciones generales de phpMyAdmin

Configuraciones generales de phpMyAdmin

De esta forma puede administrar sus base de datos de forma gráfica y a través de la Web usando el navegador de su preferencia.

Ver también

Le recomiendo consultar el siguiente enlace para complementar el conocimiento adquirido en esta entrada en mi blog.

Espero sea de utilidad esta entrada en mi blog.

Ayúdame a seguir escribiendo en mi blog y dona 1 dolar aquí.


Instalación de paquetes Python con Distribute y pip

Previamente explique como hacer instalar paquetes Python con setuptools y EasyInstall y ahora le presento la manera actualmente mas recomendada para instalar paquetes Python con las herramientas Distribute y pip.

Introducción

Python

Python

Python, Es un lenguaje de programación interpretado cuya filosofía hace hincapié en una sintaxis muy limpia y que favorezca un código legible. Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, usa tipado dinámico, es fuertemente tipado y multiplataforma.

¿Qué es Distribute?

Distribute es un conjunto de mejoras en el módulo de la biblioteca estándar de Python: distutils (para Python 2.3.5 y hasta en la mayoría de las plataformas, plataformas de 64 bits requieren como mínimo de Python 2.4) que le permite crear con más facilidad la distribución de paquetes de Python, en especial los que tienen las dependencias de otros paquetes.

Distribute se creó porque el paquete Setuptools actualmente ya no se mantiene. Los paquetes de terceros, es probable que requieran setuptools, que es proporcionado por el paquete Distribute. Por lo tanto, en cualquier momento si los paquetes dependen del paquete SetuptoolsDistribute intervendrá para decir que ya ofrece el módulo de setuptools.

Move from Setuptools to Distribute

Estado actual del Empaquetamiento en Python

El módulo distutils es parte de la librería estándar de Python y aun lo será hasta la versión Python 3.3.

Nota: El módulo distutils será descontinuado en Python 3.3.

El módulo distutils2 (note el número dos) tendrá compatibilidad hacia atrás hasta Python 2.4 en adelante; y será parte de la librería estándar en la versión Python 3.3.

El módulo distutils provee las bases para empaquetar aplicaciones Python. Desafortunadamente, el módulo distutils está plagado de problemas, razón por la cual un pequeño grupo de programadores de Python están trabajando en distutils2. Sin embargo, hasta que distutils2 este completado, se recomienda que en el desarrollador pueda usar tanto el paquete distutils como el paquete Distribute para empaquetar software Python.

Al mismo tiempo, si un paquete requiere el paquete Setuptools, la recomendación es que instale el paquete Distribute, el cual provee una versión más actualizada del paquete Setuptools que el paquete original de Setuptools.

En el futuro distutils2 remplazará a setuptools y distutils, le cual también removerá la necesidad de Distribute. El como del estado anterior distutils será removido de la librería estándar. Para más información, por favor, consulte el Futuro del Empaquetado en Python.

El estado actual de Empaquetado en Python

Consejo

Ver el vídeo de la PyCon 2011 – Packaging, from Distutils to Distutils2, Packaging or installing a Python application can be extremely painful por Tarek Ziadé esta charla le sumergiera dentro de las nuevas características de Distutils2 y explica como usted puede usarlo en su proyecto hoy para hacer más fácil la vida para todo el mundo (usuarios, administradores de paquetes de Sistemas operativos, programadores, etc.).

Para descargar el vídeo haga clic aquí (Tamaño 294 mb) y para ver por vídeo Stream haga clic aquí.

¿Qué es pip?

pip es una herramienta para instalar y administrar Paquetes Python, como los que podemos encontrar en el Índice de Paquetes de Python – PyPI.

Truco

Esta herramienta es el remplazo para la famosa herramienta easy_install.

En su mayoría, pip utiliza las mismas técnicas para encontrar los paquetes, por lo que los paquetes que se instalaban usando la herramienta easy_install  también deben ser instalables con la herramienta pip.

Esto significa que usted puede utilizar con el siguiente comando:

$ pip install AlgunPaquete

En lugar del tradicional comando usado con la herramienta easy_install como se describe a continuación:

$ easy_install AlgunPaquete

pip comparado con easy_install

pip ofrece mejoras a la herramienta easy_install. Algunas de las mejoras son:

  • Todos los paquetes se descargan antes de iniciar la instalación. Una instalación parcialmente completada no se produce como resultado.
  • Tiene cuidado de presentar una salida útil en la consola.
  • Las razones de las acciones de instalación se le aplica un seguimiento. Por ejemplo, si un paquete se está instalando, pip sigue la pista de por qué ese paquete era necesario.
  • Los mensajes de error debe ser útiles.
  • El código fuente es relativamente conciso y coherente, por lo que es más fácil de usar mediante programación.
  • Ofrece soporte nativo para otros sistemas de control de versiones (Git, Mercurial y Bazaar)
  • Tiene un mecanismo de desinstalación de paquetes.
  • Fácil de definir conjuntos de requerimientos y reproducir de forma fiable un conjunto de paquetes.
  • Los paquetes no tienen que ser instaladas como archivos de huevo, que pueden ser instalados en forma plana (mientras cuida la metadata de paquetes Egg).

pip no hacer todo lo que se easy_install. En concreto:

  • No se puede instalar a partir de paquetes Egg. Sólo se instala desde el código fuente. (En el futuro será bueno si se pudiera instalar los binarios de Windows EXE o MSI -.. pero instalar paquetes binarios para otras plataformas no es una prioridad).
  • No entiende la sección SetupTools Extras (como package[test]). Esto podría ser agregado eventualmente.
  • Es incompatible con algunos paquetes que tienen muchas personalizaciones distutils o setuptools en sus archivos setup.py.

Instrucciones de Instalación

Siempre existen más de dos formas de instalar paquetes Python con Distribute y pip ;)

Requerimientos previos

Es necesario que instale ciertas dependencias en su sistema operativo como las que se muestran a continuación:

# aptitude install build-essential python-dev python-setuptools

Instalación con Paquetes Egg

Para instalar Distribute ejecute el siguiente comando:

# easy_install -U distribute

También para instalar pip ejecute el siguiente comando:

# easy_install -U pip

Instalación en sistemas Debian

La instalación en sistemas Debian es recomendable que instale ciertas dependencias en su sistema operativo como las que se muestran a continuación:

# aptitude install build-essential python-dev python-pip

Ejemplos de uso de pip

El script pip ofrece varias formas de uso, para instalar los paquetes de diversas fuentes:

Consejo: Para poder utilizar el pip, primero debe instalar setuptools o distribute. Si utiliza virtualenv, una copia del pip será automáticamente instalados en cada entorno virtual que usted crea.

easy_install se puede complementar con virtualenv, y se recomienda que lo utilice para aislar a la instalación de los paquetes Egg.

Ejemplo 1. Instalar un paquete su nombre en su versión más reciente, buscando en PyPI:

$ pip install SQLObject

Ejemplo 2. Instalar o actualizar un paquete por nombre y versión utilizando una dirección URL donde encontradas en una “página de descargas”:

$ pip install -f http://dist.plone.org/packages/ 'Pillow==1.7.3'

Ejemplo 3. Instalar o actualizar un paquete desde su propio replica del repositorio PyPI o su repositorio de paquetes Egg privados:

$ pip install -i http://pypi.ejemplo.com/simple SQLObject

Ejemplo 4. Descargar e instalar una distribución de código fuente:

$ pip install http://ejemplo.com/ruta/a/MiPaquete-1.2.3.tgz

Ejemplo 5. Instalar un paquete con una versión especifica:

$ pip install 'ZopeSkel==2.21.2'

Ejemplo 6. Instalar todas las dependencias de mi proyecto Python usando un archivo de dependencias requeridas para instalar:

$ pip install -r ./requirements.txt

Un ejemplo del archivo requirements.txt puede ser el siguiente:

python-ldap
django
buildbot
buildbot-slave
PyYAML
south

Ejemplo 7. Actualizar un paquete ya instalado con la versión más reciente de PyPI:

$ pip install --upgrade PyProtocols

Ejemplo 8. Para usar realizar búsquedas de paquetes disponibles para instalar desde los repositorios por definidos:

$ pip search plonetheme-*

Ejemplo 9. Para remover un paquete Egg

$ pip uninstall SQLObject

Para más información consulte la ayuda disponible por que paquete pip ejecutando el siguiente comando:

$ pip help

Distribute en zc.buildout

Puede usar Distribute en zc.buildout, habilitando el uso de este por medio de un parámetro adicional en su archivo bootstrap.py de la siguiente manera:

$ python bootstrap.py --distribute

pip en zc.buildout

Existen varias estrategias para integrar pip en zc.buildout, a continuación se describen algunas formas:

gp.recipe.pip, ese paquete es un récipe de zc.buildout el cual permite instalar Paquete Python usando pip. A continuación se explica un ejemplo de configuración zc.buildout con este récipe se puede usar:

  1. El récipe agrega un virtualenv en el directorio parts/ de su instalación buildout, entonces genera este binario para generar un scripts ejecutable Python. Así que tienes un área de pruebas limpia de instalaciones previas.
  2. El récipe esta basado en zc.recipe.egg#scripts para que pueda compartir sus paquetes Egg entre buildouts como de costumbre.
  3. Por supuesto, usted puede instalar algunos archivos .pybundle.
  4. Usted puede construir paquetes desde un repositorio SVN con la opción editables.
  5. Cada linea encontrada en la opción install es la última parte de un comando de pip. Esta le permitirá a usted construir paquetes Egg con sus dependencias. Por ejemplo, instalar la librería lxml en un área de prueba pura, sin tener instalado libxml2 y libxslt, usted necesita tener instalado Cython y con esta línea de comando python setup.py install --static-deps para instalar el paquete lxml.

A continuación un ejemplo de configuración zc.buildout:

[buildout]
# the cache dir is used by buildout & pip
download-cache = download
parts = eggs

[eggs]
recipe = gp.recipe.pip

# eggs installed by pip (also add the Deliverance bundle)
install =
    Cython
    --install-option=--static-deps lxml==2.2alpha1
    http://deliverance.openplans.org/dist/Deliverance-snapshot-latest.pybundle

# eggs installed by zc.recipe.egg
eggs =
    Paste
    pyquery

Otra forma de usar pip es a través de una extensión zc.buildout llamada gp.vcsdevelop, para hacer checkout de paquetes Egg desde varios sistemas de control de versiones. A continuación se muestra un ejemplo de configuración zc.buildout con esta extensión:

[buildout]
...
extensions = gp.vcsdevelop
develop-dir = ./requirements
requirements = requirements.txt
parts = eggs
...
[eggs]
recipe = zc.recipe.egg
eggs = ${buildout:requirements-eggs}
interpreter = python
...

Un ejemplo del archivo requirements.txt puede ser el siguiente:

ConfigObject>=1.0
-e git+git://github.com/bearstech/PloneTerminal.git#egg=PloneTerminal

Ver también

Le recomiendo consultar las siguientes enlaces para complementar el conocimiento adquirido en esta entrada en mi blog.

Espero sea de utilidad esta entrada en mi blog. Ayúdame a seguir escribiendo en mi blog y dona 1 dolar aquí.

Referencias


Creación de entornos virtuales Python

¿Por que crear entornos virtuales en Python?

Si usted está en un sistema Linux, BSD, Cygwin, u otros similares a Unix como sistema operativo, pero no tienen acceso al usuario root, puede crear su propio entorno virtual (instalación) Python, que utiliza su propia biblioteca de directorios y algunos enlaces simbólicos hacia todo el directorio de instalación del Python de su sistema.

En el caso más simple, su instalación virtual de Python que viven bajo el directorio home del usuario ~/virtualenv/. Utilice la opción –help para obtener la lista completa de las opciones disponibles la herramienta virtualenv.

Cuando haya terminado la creación del entorno virtual, tendrá un ejecutable de python local al usuario que lo creo (por ejemplo ~/virtualenv/python2.6/bin/python) que está vinculado a la instalación del Python de su sistema /usr/bin/python y hereda todas sus librerías actuales, pero además le permite añadir nuevas librerías tanto como usted lo desee.

Sólo tiene que utilizar este nuevo Python en lugar de la instalación Python de su sistema, y puede modificarlo a su gusto sin dañar nada del Python de su sistema operativo. De igual forma usted debe seguir usando las instrucciones de instalación estándar para instalar setuptools y EasyInstall o Distribute y pip, desde su nueva instalación (~/virtualenv/python2.6/bin/python) Python en lugar del Python de su sistema /usr/bin/python.

Entornos virtuales de Python locales al usuario

Para evitar usar la instalación base del Python de tu sistema, que previamente tiene instalada, se recomienda instalar un entorno de virtual de Python local al usuario, algunos casos de usos para virtualenv, se describe a continuación:

  • No es necesarios permisos de administración para instalar librerías y aplicaciones Python, ya que estas se hace locales en al directorio del usuario.
  • Mayor comodidad de trabajar con versiones de librerías y aplicaciones más actuales las que maneja tu sistema.

¿Qué es virtualenv?

virtualenv, es una herramienta para crear entornos virtuales (aislados) en Python.

Modos de Instalación

Para instalar paquete virtualenv en su sistema puede instalarlo con Setuptools, Distribute para paquete Egg o por sistema paquete Debian

Instalación con paquete Debian

Para instalar virtualenv en distribuciones basadas en Debian GNU/Linux como paquete Debian, debe instalar los requisitos previos con el siguiente comando:

# aptitude install libc6-dev python-dev python-virtualenv

Nota: A veces es mejor instalar la versión más reciente del paquete virtualenv desde el repositorio PyPI, debido que siempre la versión de Debian no esta actualizada con respecto a la versión publicada en el repositorio PyPI.

Instalación con Setuptools

Para instalar virtualenv en distribuciones basadas en Debian GNU/Linux con Setuptools, debe instalar los requisitos previos con el siguiente comando:

# aptitude install libc6-dev python-dev python-setuptools

Luego debe instalar la versión más reciente del paquete virtualenv desde el repositorio PyPI, entonces debe instalar con el siguiente comando:

# easy_install virtualenv

Instalación con Distribute

Para instalar virtualenv en distribuciones basadas en Debian GNU/Linux con Distribute, debe instalar los requisitos previos con el siguiente comando:

# aptitude install libc6-dev python-dev python-distribute python-pip

Luego debe instalar la versión más reciente del paquete virtualenv desde el repositorio PyPI, entonces debe instalar con el siguiente comando:

# pip install virtualenv

Creando entornos virtuales de Python locales al usuario

Preparando la estructura de directorios de los entornos locales al usuario local, es una buena practica organizativa más no es un estándar por defecto en la comunidad Python para esto muestro una forma de trabajo y se realizan ejecutando los siguientes comandos:

$ cd $HOME ; mkdir ./virtualenv ; cd virtualenv

Crear entorno virtual del Python 2.6 de tu sistema al directorio ~/virtualenv del usuario, ejecutando el siguiente comando:

$ virtualenv --no-site-packages --python=/usr/bin/python2.6 python2.6

Usar distribute en virtualenv

Opcionalmente puede usar distribute en virtualenv para esto debe ejecutar el siguiente comando:

$ virtualenv --distribute --no-site-packages python2.6

Nota: Este paso de creación del entorno virtual solo se realiza cada ves que necesite crear un entorno virtual nuevo para sus proyectos Python.

Activar el entorno virtual

Activar el entorno virtual creado previamente, ejecutando el siguiente comando:

$ source ~/virtualenv/python2.6/bin/activate

Hasta este momento tiene activada el entorno virtual usted puede verificar esto debido a que su shell de comando inicia con el siguiente prefijo (python2.6), entiendo que este prefijo es el nombre de entorno virtual que usted acaba de activar.

Aquí ya puede usar herramientas como easy_install o pip para instalar paquetes Egg….

Nota: Cada ves que necesite trabajar dentro del entorno virtual necesita activar este mismo.

Desactivar el entorno virtual

Cuando termine de usar el entorno virtual puede desactivarlo de la siguiente forma:

(python2.6)$ deactivate

De esta forma ya puedes realizar operaciones de shell fuera del entorno virtual.

Nota: Cada ves que necesite salirse del entorno virtual necesita desactivar este mismo.

Aprovechamiento

El trabajar con la herramienta le permite tener varios entornos aislados de pruebas tanto en la misma versión de Python 2.6 como en diversas versiones Python, como por ejemplo Python 2.5 y Python 2.6, entre otras más ventajas.

Ver también

Referencias

Nota: Si te gusto este articulo, ayúdame a seguir escribiendo en mi blog y dona 1 dolar aquí.


Code Monkey escrito en Delphi

Si eres programador, probablemente has escuchado la canción Code Monkey, que trata sobre un día de un programador cuyo jefe solo le obliga a escribir código. Pues en el siguiente video, verás la letra de la canción escrita en el lenguaje Delphi al mismo ritmo de la canción y lo mejor de todo es que el código compila, así que disfruta de un rato geek:

Sábado 21 de febrero de 2015

Cálculo de Integrales con Sympy

Contiuando con los artículos sobre la librería Sympy, en los artículos anteriores se toco lo siguiente:




En este artículo se tocará el tema de cálculo de Integrales.

A continuación se ejecuta ipython notebook (si desea cargar el archivo del notebook de este artículo lo puede bajar del siguiente enlace).

El script del tutorial de muestra a continuación:

# coding: utf-8



# In[16]:



#Se importa sympy

from sympy import *

x = Symbol('x')





# In[26]:



diff(5*(x**5)+3*(x**3)-6*x+5,x); #Se calcula la derivada de la funcion 5(x^5)+3(x^3)-6x+5





# In[27]:



integrate(Out[3],x);#Se integra el resultado de la derivada,noten q el resultado es la ecuación de In[3] pero sin el valor constante





# In[19]:



integrate(cos(x)**2+sin(x),x); #Se inte cos(x)**2+sin(x) con respecto a x





# In[20]:



pprint (Integral(cos(x)**2+sin(x),x));#Se muestra la integral de la ecuación anterior





# In[28]:



integrate(Out[27],(x,0,5));#Se calcula el valor de la integral de 0 a 5 de la ecuación de la salida 27 





# In[29]:



integrate(cos(x)**2+sin(x),(x,0,pi));#Se calcula la integral con el rango de 0 a pi





El res

La imagen de la ejecución del notebook se muestra a continuación:

Para una mejor visualización del ejercicio recomiendo ejecutar el notebook del enlace anterior.

Cálculo de derivadas con sympy

En el artículo anterior se explico como calcular límites de funciones, en este artículo se muestra como calcular la derivada.


Se inicia notebook (si desea abrir el archivo que se utilizo para este artículo lo puede encontrar en el siguiente enlace):

$ipython notebook

Puede crear un notebook (o abrir el notebook mencionado en el enlace anterior).

A continuación se muestra el script del calculo de derivadas de 3 funciones diferentes:

#!/usr/bin/env python

# coding: utf-8





#Se importa sympy

from sympy import *





x = Symbol('x')





#Se calcula la derivada de la funcion cos(sin(x^3)) con respecto a x

print diff(cos(sin(x**3)),x)





#Se calcula la derivada de la funcion 5(x^5)+3(x^3)-6x+5

print diff(5*(x**5)+3*(x**3)-6*x+5,x)





#Calcula la derivada ene-sima de x^2+8x-4+sin(2x)

print diff(x**2+8*x-4+sin(2*x),x,2)




Al ejecutar el script se muestra el resultado de la ejecución de los 3 instrucciones print:
-3*x**2*sin(sin(x**3))*cos(x**3)
25*x**4 + 9*x**2 - 6
2*(-2*sin(2*x) + 1)
x,2)

Al ejecutar el script se muestra el resultado de la ejecución de los 3 instrucciones print:
-3*x**2*sin(sin(x**3))*cos(x**3)
25*x**4 + 9*x**2 - 6
2*(-2*sin(2*x) + 1)


A continuación se muestra una imagen del notebook resultante:



A continuación se muestra una imagen del notebook resultante:

Cálculo de límites con la librería sympy

La librería Sympy permite realizar cálculo de límites, derivadas,  integrales entre otras cosas, usando notación simbólica.

La documentación de sympy la pueden revisar en el siguiente enlace.

Para instalar sympy e ipython-notebook en Debian se ejecuta:
apt-get install python-sympy ipython-notebook

En este caso se mostrará como realizar cálculo de límites con sympy.

Se ejecuta un servidor notebook ( en el siguiente enlace encontrarán el archivo usado para este artículo).

$ipython notebook

Se abre el navegador en http://localhost:8888 y se crea un notebook (para los que bajaron el enlace abren el archivo que se menciono anteriormente):

En este caso se usará un script que se llama limites.py:

#!/usr/bin/env python

# coding: utf-8





from sympy import *







#Se define la variable x como simbolica

x = Symbol("x")







#Calculo de limite de (1/x) cuando x tiende a cero

valor = limit(1/x,x,0)

print valor





#Calculo de limite de (1/x) cuando x tiende a infinito

valor = limit(1/x,x,oo)

print valor





#limite de (5x/2x-3) cuando x tiende a infinito.

valor = limit(5*x/(2*x-3),x,oo)

print valor




El resultado de ejecutarlo es el siguiente:



oo


0


5/2




Para el primer caso el resultado es infinito, para el segundo es cero y para el último es 2.5.

A continuación se deja una imagen del uso de ipython notebook:



Miércoles 18 de febrero de 2015

HMC ShellShock

Donde trabajo tenemos 4 hmc’s para administrar 3 IBM P5 system’s y 2 ISeries 770, y ya tenia tiempo queriendo ser root en esas consolas (because i can), anteriormente lo logre por este metodo Escaping HMC Restricted Shell y ahora … Continue reading

Jueves 05 de febrero de 2015

José Leonel Subero

Instalando Docker en Linux Mint Debian Edition

La información de que es Docker la encuentran en su sitio oficial Aquí, a continuación los pasos para su instalación en LMDE. Pasos: Importar y añadir la llave del repositorio para hacer confiable la instalación vía apt. apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9 Crear la lista del repositorio para que apt lo use. echo "deb […]

Miércoles 04 de febrero de 2015

José Leonel Subero

Como conectarse a un un contenedor de openvz desde el host anfitrión

Problema: Necesito conectarme a un contenedor desde el anfitrión ¿Que comando uso? Solución: vzctl enter ID-del-anfitrion Ejemplo: vzctl enter 100 Nota: Para dejar la sesión y regresar al host anfitrión se debe teclear ctrl+d o ejecutar el comando exit
José Leonel Subero

Comando para conseguir una cadena de texto en sistemas Unix/Linux

Problema: Necesitamos encontrar en un universo de varios archivos desconocidos una palabra o cadena de texto para poder editar dicha cadena. Solución: sudo grep -lir “cadena_de_texto_a_buscar” “/ruta/donde/esta/el/universo/de/archivos/” Ejmplo: queremos saber cuales archivos en nuestro árbol de directorios tienen la palabra hola mundo, entonces procedemos de la siguiente manera. sudo grep -lir "hola mundo" "/" Nota: […]

Cómo cuidar la batería de tus gadgets y extender su vida útil

Está Escrito:
Y esta es la vida eterna: que te conozcan a ti, el único Dios verdadero, y a Jesucristo, a quien has enviado.  (Juan 17:3)
Tomado de: yahoo  Texto: Paula Barbieri

Uno de los grandes problemas que tenemos al utilizar nuestros móviles inteligentes, laptops y tabletas, es la corta duración de su batería. Pero no desesperes, aquí encontrarás varios consejos sencillos para aprender a cuidarla y extender su vida útil. 

Aprende a cuidar la bater&amp;iacute;a de tus dispositivos electr&amp;oacute;nicos. Foto: Thinkstock


Las baterías son una parte clave de cualquier dispositivo electrónico. Son la fuente de energía por la cual los otros componentes pueden funcionar, apunta el blog Tech News. Un fallo en la batería puede tener graves consecuencias en el resto del producto, por eso debemos ser cuidadosos. Ten en cuenta estos consejos prácticos para cuidar mejor las baterías:

1. Dile adiós a las cargas de 8 horas. Una creencia popular es que tu aparato necesita una carga inicial de ocho horas, pero esto es un error. Con las baterías de litio esta costumbre no es solo innecesaria, sino también dañina para tu batería, según el blog.

2. No dejes conectado el cargador si ya se encuentra al 100% de carga. Seguramente, todas las noches cargas tu móvil, tu tableta o laptop. Es un hábito muy común, pero si quieres cuidar tu batería, deshazte de él. Mantener el cargador conectado cuando la batería ya está al 100% de carga perjudica gravemente la salud de la misma, advierte la fuente mencionada. En caso de que no puedas evitar dejar conectado tu dispositivo a la corriente eléctrica durante la noche, apágalo.

3. Evita los porcentajes bajos de batería durante tiempos prolongados. Mantener las baterías de litio en repetidas ocasiones a porcentajes bajos solo implicará una reducción de su vida útil y de su capacidad máxima, según el sitio mencionado.Lo recomendado es que nunca bajen del 5% o 10% de carga, de acuerdo con el blog.

4. Olvídate de los ciclos completos de carga. Otra de las creencias populares sostiene que para cuidar la batería de nuestro gadget, debemos hacer ciclos completos de carga. Es decir, esperar a que esta llegue a un porcentaje bajo y, en ese momento, conectarlo al cargador. Con las baterías de litio esto no es necesario. Podemos cargar desde el 20% hasta el 70%, por ejemplo, y esto no tendrá ningún impacto en su vida útil, agrega el blog.

5. Cuida la temperatura. En el caso de la batería de tu laptop, es importante que no se caliente demasiado, ya que el calor acortará su tiempo de vida, señala la revista PC Magazine. Entonces, ten en cuenta estos pasos para proveer una óptima corriente de aire y mantener baja la temperatura. Los problemas más graves surgen por la obstrucción física de los puertos de ventilación. El polvo acumulado es uno de los problemas que puedes resolver si limpias la rejilla de ventilación de la laptop y los ventiladores. Una lata de aire comprimido se puede usar para limpiarlos. Otro problema frecuente es usar la laptop sobre una almohada o una sábana, lo cual puede obstruir el sistema de ventilación y retener el aire que sale del sistema. Procura apoyarla sobre superficies como una mesa o un escritorio.

6. Calibra la batería. Según indica el portal How to Geek, los fabricantes recomiendan calibrar las baterías cada dos o tres meses. Esto significa dejar que la batería llegue al 100% y luego baje hasta casi morirse. Recién ahí se carga de nuevo completamente. 

Martes 03 de febrero de 2015

¿Cómo Instalar Debian Squeeze o Lenny en una mini laptop vía Pen Drive?

Después de varias búsqueda y tratando de seguir los pasos de la página de Debian, no podía instalarlo en mi mini vaio, seguí intentando y viendo los pasos de este post para instalar Debian Sarge pude lograrlo y una manera rápida y cómoda:

1. Tener un Pen drive de al menos 256MB

2. Formatear el pen drive a FAT32

3. Descargar los siguientes archivos “initrd.gz” y “vmlinuz” y los copias en el pen drive

Para Lenny los obtienes desde aquí y para Squeeze desde aquí

4. Descarga la imagen iso de Lenny o de Squeeze según la versión que quieras instalar y lo copias en el pen drive (Esta iso es de 175 MB apróximadamente por el cual sólo te instalará el sistema base, lo demás lo debes descargar vía internet)

5. crea el siguiente archivo en el pen drive llamado: syslinux.cfg y dentro del archivo copia lo siguiente:

default vmlinuz
append initrd=initrd.gz ramdisk_size=10240 root=/dev/rd/0 devfs=mount,dall rw DEBCONF_PRIORITY=medium

default vmlinuz

append initrd=initrd.gz ramdisk_size=10240 root=/dev/rd/0 devfs=mount,dall rw DEBCONF_PRIORITY=medium

6. y listo, desmonta el pen drive y reinicia. Ahora podrás disfrutar de Debian.

Si quieren un repositorio para que puedas instalar la mayoría de los paquetes en debian que no son libres puedes usar copiando en el al final del archivo /etc/apt/source.list

deb http://http.us.debian.org/debian/ squeeze main contrib non-free

Saludos.

Lunes 02 de febrero de 2015

José Miguel Parrella Romero

José Miguel Parrella Romero
null pointer dereference

Rebasing CoreOS for ephemeral cloud storage

The convenience and economy of cloud storage is indisputable, but cloud storage also presents an I/O performance challenge. For example, applications that rely too heavily on filesystem semantics and/or shared storage generally need to be rearchitected or at least have their performance reassessed when deployed in public cloud platforms.

Some of the most resilient cloud-based architectures out there minimize disk persistence across most of the solution components and try to consume either tightly engineered managed services (for databases, for examples) or persist in a very specific part of the application. This reality is more evident in container-based architectures, despite many methods to cooperate with the host operating system to provide cross-host volume functionality (i.e., volumes)

Like other public cloud vendors, Azure presents an ephemeral disk to all virtual machines. This device is generally /dev/sdb1 in Linux systems, and is mounted either by the Azure Linux agent or cloud-init in /mnt or /mnt/resource. This is an SSD device local to the rack where the VM is running so it is very convenient to use this device for any application that requires non-permanent persistence with higher IOPS. Users of MySQL, PostgreSQL and other servers regularly use this method for, say, batch jobs.

Today, you can roll out Docker containers in Azure via Ubuntu VMs (the azure-cli and walinuxagent components will set it up for you) or via CoreOS. But a seasoned Ubuntu sysadmin will find that simply moving or symlinking /var/lib/docker to /mnt/resource in a CoreOS instance and restarting Docker won’t cut it to run the containers in a higher IOPS disk. This article is designed to help you do that by explaining a few key concepts that are different in CoreOS.

First of all, in CoreOS stable Docker runs containers on btrfs. /dev/sdb1 is normally formatted with ext4, so you’ll need to unmount it (sudo umount /mnt/resource) and reformat it with btrfs (sudo mkfs.btrfs /dev/sdb1). You could also change Docker’s behaviour so it uses ext4, but it requires more systemd intervention.

Once this disk is formatted with btrfs, you need to tell CoreOS it should use it as /var/lib/docker. You accomplish this by creating a unit that runs before docker.service. This unit can be passed as custom data to the azure-cli agent or, if you have SSH access to your CoreOS instance, by dropping /etc/systemd/system/var-lib-docker.mount (file name needs to match the mountpoint) with the following:

[Unit]
Description=Mount ephemeral to /var/lib/docker
Before=docker.service
[Mount]
What=/dev/sdb1
Where=/var/lib/docker
Type=btrfs

After systemd reloads the unit (for example, by issuing a sudo systemctl daemon-reload) the next time you start Docker, this unit should be called and /dev/sdb1 should be mounted in /var/lib/docker. Try it with sudo systemctl start docker. You can also start var-lib-docker.mount independently. Remember, there’s no service in CoreOS and /etc is largely irrelevant thanks to systemd. If you wanted to use ext4, you’d also have to replace the Docker service unit with your own.

This is a simple way to rebase your entire CoreOS Docker service to an ephemeral mount without using volumes nor changing how prebaked containers write to disk (CoreOS describes something similar for EBS) Just extrapolate this to, say, your striped LVM, RAID 0 or RAID10 for higher IOPS and persistence across reboots. And, while not meant for benchmarking, here’s the difference between the out-of-the-box /var/lib/docker vs. the ephemeral-based one:

# In OS disk

--- . ( ) ioping statistics ---
20 requests completed in 19.4 s, 88 iops, 353.0 KiB/s
min/avg/max/mdev = 550 us / 11.3 ms / 36.4 ms / 8.8 ms

# In ephemeral disk

--- . ( ) ioping statistics ---
15 requests completed in 14.5 s, 1.6 k iops, 6.4 MiB/s
min/avg/max/mdev = 532 us / 614 us / 682 us / 38 us


Domingo 01 de febrero de 2015

Valencia Software Libre: Llego Quitter Venezuela

Jueves 22 de enero de 2015

Colectivo MediosLibres de Venezuela

MediosLibres

MediosLibres es un Colectivo tecnológico dedicado al desarrollo, migración y soporte sobre tecnologías libres para lo medios de comunicación, integrado por gente de medios con amplios conocimientos en el àrea de la tecnología.

Este Portal Web es el centro de interacción con los usuarios y usuarias de la Distribución GNU/Linux MediosLibres, desarrollada por el Colectivo MediosLibres de Venezuela con la finalidad de satisfacer totalmente las necesidades de todos los segmentos de los medios de comunicación (radio, audiovisuales, prensa escrita, medios dìgitales). Un trabajo que lleva ya mas de dos años de investigación y preparación, y que hoy junto al lanzamiento del portal sirve de puerta informativa para dar a conocer la existencia de la Beta 2 de esta Distribución GNU/Linux venezolana para Medios de Comunicación.

Los Líderes del Proyecto indicaron que el Portal http://medioslibres.org.ve, cuenta con importante información acerca de esta Distribución GNU/Linux venezolana, así como también áreas de descarga, un moderno sistema de soporte, foros, galería, podcast, wiki colaborativa, videoteca, Aula Virtual y otras interesantes utilidades al servicio del usuario.

Finalmente se informó que el venidero lunes 26 de enero será liberada públicamente de forma oficial la primera versión de MediosLibres GNU/Linux, la cual lleva como nombre código Shamatari, palabra de la lengua Yanomami que significa Guerrero y utilizarà como nomenclatura de versión la 15.01 en referencia al año y mes del lanzamiento.

Nota enviada por: Jaime Ernesto Mora

Lunes 19 de enero de 2015

Conociendo un poco a #lftp

lftp es un programa de transferencia de archivos (FTP) por medio de la linea de comandos para UNIX y sistemas basados en UNIX. Fue escrito por Alexander Lukyanov y esta diponible bajo GPL.

Leer mas en wiki/Lftp.

Uso basico

lftp ftp://ftp.my-domain.com
lftp ftp.my-domain.com:~> user myuser
Password:

Comandos de ayuda

lftp myuser@ftp.my-domain.com:/www> help
        !<shell -command>                    (commands)
        alias [<name> [<value>]]            anon
        bookmark [SUBCMD]                   cache [SUBCMD]
        cat [-b] <files>                    cd <rdir>
        chmod [OPTS] mode file...           close [-a]
        [re]cls [opts] [path/][pattern]     debug [<level>|off] [-o <file>]
        du [options] <dirs>                 exit [<code>|bg]
        get [OPTS] <rfile> [-o <lfile>]     glob [OPTS] <cmd> <args>
        help [<cmd>]                        history -w file|-r file|-c|-l [cnt]
        jobs [-v]                           kill all|<job_no>
        lcd <ldir>                          lftp [OPTS] <site>
        ls [<args>]                         mget [OPTS] <files>
        mirror [OPTS] [remote [local]]      mkdir [-p] <dirs>
        module name [args]                  more <files>
        mput [OPTS] </files><files>                 mrm </files><files>
        mv <file1> <file2>                  [re]nlist [<args>]
        open [OPTS] <site>                  pget [OPTS] <rfile> [-o <lfile>]
        put [OPTS] </lfile><lfile> [-o <rfile>]     pwd [-p]
        queue [OPTS] [<cmd>]                quote </cmd><cmd>
        repeat [delay] [command]            rm [-r] [-f] <files>
        rmdir [-f] <dirs>                   scache [<session_no>]
        set [OPT] [<var> [<val>]]           site <site_cmd>
        source <file>                       user <user |URL> [<pass>]
        version                             wait [<jobno>]
        zcat <files>  

Subir un archivo

lftp myuser@ftp.my-domain.com:/www> put file.ext
64714 bytes transferred in 8 seconds (7.9K/s)

Un pequeño tip

Si en algun momento, intentan subir algo a un servidor puede que obtengas este error:

Lftp Fatal Error: Certificate Verification: Not Trusted

La solucion es facil, solo se debe agrear en /etc/lftp.conf lo siguiente:

set ssl:verify-certificate no

Link de interes

Mailing lists

Mailing lists and archives (since July 2011):

List archives (including prior to July 2011):

Code

Browse the source code:

Bug trackers

Domingo 11 de enero de 2015

José Luis Rivas

José Luis Rivas
ghostbar

Recordando a Aaron Swartz

Un libro que me encantó es «Homeland» de Cory Doctorow, trata sobre un grupo de hackers que se ven envueltos en situaciones que los deja expuestos a uno de los gobiernos y empresas más poderosas que existen y deben hacer algo aún así los haga correr peligros. Una historia de ficción sobre gente como Aaron Swartz.

Pero lo mejor del libro, es que precisamente cierra con dos cartas, una por Jacob Appelbaum, uno de los primeros mimbros de Wikileaks y desarrollador del proyecto Tor; y otra por Aaron Swartz. La carta de Aaron la traduje y publico a continuación, espero les sirva de inspiración para que sigan en sus luchas aún cuando a veces parezca que quién da la batalla del otro lado es muy grande e invencible:

Hola, soy Aaron. Se me ha dado este pequeño espacio aquí al final del libro porque soy un humano de carne y hueso, y cómo tal, puedo decirte algo que no creerías si viniese de la boca de cualquiera de esos carácteres ficticios:

Esto es real.

Claro, no hay alguien llamado Marcus o Ange realmente, al menos no que yo conozca, pero sí sé de gente real justo como ellos. Si quieres, puedes ir a San Francisco y conocerlos. Y mientras estás allí, puedes jugar D&D con John Gilmore o construir un cohete en Noisebridge o trabajar con algunos hippies en un proyecto de arte para Burning Man.

Y si algo de las cosas más relacionadas con conspiraciones en el libro te parecen demasiado alocadas para ser verdad, bueno, simplemente googlea Blackwater, Xe o BlueCoat. (Yo mismo tengo una solicitud FOIA pendiente para saber más de "software para manejo de persona", pero los federales dicen que les va a tomar tres años más redactar todos los documentos relevantes.)

Ahora, yo espero que te hayas divertido quedándote despierto toda la noche leyendo acerca de estas cosas, pero la parte que viene es importante así que presta atención: lo que está pasando ahora no es algún reality show de televisión donde simplemente puedes sentarte en casa y ver.

Esta es tu vida, este es tú país -- y se quieres mantenerlo seguro, debes involucrarte.

Sé que es fácil sentirse sin poder, como si no hubiese algo que puedas hacer para que baje la marcha o detener "el sistema." Como si todos los hilos son movidos por fuerzas oscuras y poderosas lejanas a tu control. Yo me siento de esa forma también, a veces. Pero simplemente no es verdad.

Hace menos de un año, un amigo me llamó para decirme sobre un proyecto de ley oscuro del cuál había escuchado llamado Acta para Combatir la Vulneración En Línea y La Falsificación o COICA (En Inglés es: Combatting Online Infringement and Counterfeitting Act, de allí la abreviación COICA). Mientras leía el proyecto empecé a preocuparme más y más: bajo estas provisiones, el gobierno podría censurar sitios web que no le gusten sin algo como un juicio. Sería la primera vez que el gobierno de los EEUU se le darían poderes para censurar el acceso a la red.

El proyecto había sido introducido hace un día o dos, pero ya tenía un par de docenas de senadores apoyándola. Y, a pesar de nunca haber un debate ya estaba siendo programada para ser votada en sólo un par de días. Nadie había reportado al respecto y ése era justamente el punto: ellos querían apurar esta cosa para que pasara antes que alguien se diese cuenta.

Afortunadamente, mi amigo se dió cuenta. Nos quedamos despiertos todo el fin de semana y lanzamos un sitio web explicando qué decía el proyecto de ley, con una petición que podías firmar en rechazo al proyecto que te daría números de teléfonos para llamar a tus representantes en el senado. Le dijimos al respecto a algunos amigos y ellos le dijeron a algunos de sus amigos y en cuestión de un par de días teníamos más de 200 mil personas en nuestra petición. Fue increíble.

Bueno, la gente promoviendo esta ley no paró. Ellos gastaron literalmente decenas de millones de dólares haciendo lobby para éste proyecto de ley. La cabeza de cada compañía de medios grandes voló a Washington, D.C. y allí se reunieron con el jefe de personal del presidente y amablemente le recordaron de los millones de dólares que le habían donado a la campaña del presidente y le explicaron cómo lo que ellos querían -- la única cosa que querían -- era que esta ley se aprobara.

Pero la presión pública siguió creciendo. Para intentar sacar a la gente del camino ellos intentaron cambiando el nombre de la ley -- llamándola PIPA y SOPA, incluso llamándola E-PARASITES Act -- pero no importó cómo la llamaron, más y más personas se siguieron diciéndole a sus amigos sobre la ley y consiguiendo más y más personas que se opusieran. Pronto, las firmas en nuestra petición iba en millones.

Logramos detenerlos por más de un año con diferentes tácticas, pero se dieron cuenta que si esperaban más quizás nunca lograrían tener un chance de pasar esta ley. Así que programaron un voto apenas volviesen de la pausa de invierno.

Pero mientras los miembros del congreso estaban fuera en la pausa de invierno, manteniendo reuniones públicas y en las salas de sus pueblos en casa, la gente empezó a visitarlos. En todo el país, miembros del congreso empezaron a ser cuestionados por sus electores acerca de su apoyo a esa sucia ley de censura del internet. Y los miembros del congreso empezaron a asustarse -- algunos llegando tan lejos como responderles atacandome.

Pero esto ya no se trataba de mi -- nunca se trató de mi. Desde el principio fue sobre ciudadanos tomando las cosas en sus propias manos: haciendo vídeos en YouTube y escribiendo canciones oponiéndose a la ley, haciendo gráficos mostrando cuánto dinero los promotores de la ley habían recibido de las industrias promoviéndola, y organizando boycotts poniéndo presión en las compañías que habían promovido la ley.

Y funcionó -- tomó la ley desde un punto político sin problema alguno que se suponía debía pasar unánimamente a una posición más parecida a tener un balón tóxico que nadie quería tocar. ¡Incluso los promotores de la ley empezaron a sacar declaraciones oponiéndose a la ley! Oh sí, esos dueños de medios estaban molestos...

Así no es como se supone que el sistema deba funcionar. ¡Un montón de chicos no detienen unas de las fuerzas más poderosas en Washington simplemente escribiendo en sus portátiles!

Pero pasó. Y tú puedes hacer que pase de nuevo.

El sistema está cambiando. Gracias a la Internet, todos los días personas pueden saber acerca de cosas y organizarse incluso si el sistema está determinado a ignorarlo. Ahora, quizás no ganes todo el tiempo -- esto es la vida real, después de todo -- pero finalmente tenemos una oportunidad.

Pero sólo funciona si tú tomas parte en ello. Y ahora que has leído este libro y aprendido cómo hacerlo, estas perfectamente informado sobre cómo hacerlo de nuevo. Es correcto: ahora depende de ti cambiar el sistema.

Aaron Swartz.

Viernes 09 de enero de 2015

Eliminar caracteres ocultos de archivos de texto plano con vim

Download PDF

No todos usan el mismo editor de texto. No todos usan el mismo sistema operativo. No es un secreto para nadie. Cuando se trabaja en grupos bastante heterogéneos puede ocurrir que el editor de texto introduce estos caracteres ocultos que si se encuentran dentro de un script bash por ejemplo, generan esos famosos: command not found. Uno de los caracteres ocultos más comunes que he encontrado es ^M, pero imagino que se puede encontrar cualquier otro tipo de aberración. Estos son artefactos agregados por editores generalmente gráficos. Sin más preámbulo, la solución más rápida que he encontrado hasta el momento es cambiar el format file (ff) y guardar el archivo:

 

:set ff=unix

:w

De esta manera los !@#$%* caracteres ocultos son eliminados.

 

Domingo 04 de enero de 2015

César Mata Moya

César Mata Moya
PingüiniTux

Convertir vídeos con subtítulos para el decodificador TDA Novatech T207 en Debian

El sintonizador TDA Novatech T207 permite la reproducción de archivos con codificación H.264 para el video y AAC para el sonido, pero no es capaz de leer los subtítulos en formato SubRip (.srt), por lo cual se debe incrustar en el archivo final.

Para hacer la codificación se va a utilizar la herramienta mencoder en Debian Wheezy, sin embargo se debe instalar la versión de deb-multimedia ya que esta es la que nos permite utilizar la librería libfaac.

Procedemos a agregar el siguiente repositorio:

deb http://mirror.optus.net/deb-multimedia/ wheezy main

Luego realizamos:

apt-get update
apt-get  install mkvtoolnix mencoder x264 libfaac0

Nos situamos en el directorio donde se encuentra el vídeo origen con el subtitulo .srt y ejecutamos:

mencoder videoOrigen.mp4  -ovc x264 -x264encopts threads=auto:subq=6:partitions=all:8x8dct:me=umh:frameref=5:bframes=3:b_pyramid=normal:weight_b -oac faac -vf scale=720:404 -sub videoOrigen.srt -subcp latin1 -subfont-text-scale 3 -o video.avi


mencoder: es el programa que permite hacer la conversión del vídeo.

videoOrigen.mp4: Es el archivo que contiene el vídeo Original. Puede estar en otro formato que no sea .mp4 (avi, etc).

-ovc x264: Le indica a mencoder que el vídeo va a ser codificado usando la utilidad x264.

-x264encopts: Son las opciones utilizadas para x264. Coloque las recomendadas para una mayor calidad en la pagina.

-oac faac: Le indica a mencoder que el audio va a ser codificado usando la librería libfaac0.

-vf scale=720:404: este parámetro es opcional y lo utilizo para escalar el vídeo a la resolución 720x404 (Aspecto 16:9)
 ya que el codificador los reproduce con mayor holgura. Si el vídeo es de menor resolución, se debe omitir para no afectar la calidad.

-sub: Se indica el archivo .srt

-subcp: Se coloca la codificación (latin1, UTF8, etc)

-subfont-text-scale: Se indica el tamaño de escala de la fuente.

-o video.avi: Archivo .avi que luego se debe convertir a .mkv para que lo reconozca el decodificador.

Y para finalizar se convierte el archivo resultante en un .mkv de la siguiente manera:

mkvmerge video.avi -o videoFin.mkv

El videoFin.mkv se copia en una memoria USB y se podrá reproducir en el decodificador.




Silvio Perez: Kexec/Kdump configuration Centos/RedHat
Silvio Perez: Dynamic MOTD Centos/RedHat

Martes 16 de diciembre de 2014

Turla, un potente troyano para Linux

Está Escrito:
Reconócelo en todos tus caminos,Y él enderezará tus veredas.(Proverbios 3:6)
Tomado de: BarraPunto
«Investigadores de Kapersky y Symantec han descubierto un troyano extremadamente discreto, imposible de detectar mediante el comando netstat y que puede ser ejecutado por un usuario sin privilegios denominado Turla. Al parecer se ha estado usando durante, al menos, cuatro años para espiar a gobiernos, embajadas, instituciones militares y compañías farmacéuticas por igual en cerca de medio centenar de países. El troyano tiene capacidad de comunicarse con los servidores bajo el control de los atacantes, interceptar datos locales y ejecutar funciones sin necesidad de privilegios de administrador. No se descarta que puedan surgir descubrimientos de malware semejantes a medida que avance la investigación. ¿Y tú, ya has instalado un antivirus en tu Linux para buscar troyanos ocultos?»
Referencia es: http://arstechnica.com
Los investigadores han descubierto un troyano extremadamente sigiloso para sistemas Linux que los atacantes han estado usando para desviar los datos sensibles de los gobiernos y las empresas farmacéuticas de todo el mundo.
El malware no habían sido descubiertos representa una pieza del rompecabezas que falta vinculada a "Turla," una llamada amenaza persistente avanzada (APT) da a conocer en agosto por Kaspersky Lab y Symantec . Por lo menos cuatro años, la campaña estaba dirigida a las instituciones gubernamentales, embajadas, militar, educación, investigación y compañías farmacéuticas en más de 45 países. Los atacantes desconocidos -que probablemente están respaldados por un Estado-nación, de acuerdo con Symantec, eran conocidos por haber infectado a varios cientos de equipos basados ​​en Windows mediante la explotación de una variedad de vulnerabilidades, al menos, dos de los cuales eran errores de día cero. El malware fue notable por su uso de un rootkit que hacía extremadamente difícil de detectar.
Ahora los investigadores de Kaspersky Lab con sede en Moscú han detectado malware basado en Linux se utiliza en la misma campaña . Turla ya estaba clasificado como uno de los apartamentos de alto nivel, en la misma liga que la divulgada recientemente Regin por ejemplo. El descubrimiento del componente Linux sugiere que es más grande de lo que se pensaba y puede presagiar el descubrimiento de sistemas aún más infectados.
"Los [] Turla operaciones se llevan a cabo en entornos más amplios de lo que previamente conocíamos", dijo a expertos de Kaspersky Lab Kurt Baumgartner Ars. "Todas las otras cosas que hemos visto de Turla se ha basado en Windows. Esta pieza del rompecabezas nos muestra que no se limitan a sí mismos."

Magic Numbers

Al igual que sus homólogos de Windows, el troyano Linux es extremadamente cauteloso. No se puede detectar usando el común comando netstat . Para ocultarse, la puerta trasera se encuentra en estado latente hasta que los atacantes envían paquetes inusualmente diseñados que contienen "números mágicos" en sus números de secuencia. El malware puede haber permanecido inadvertida en al menos un ordenador de la víctima durante años, aunque los investigadores de Kaspersky Lab aún no han confirmado esa sospecha. El troyano es capaz de ejecutar comandos arbitrarios a pesar de que no requiere privilegios de sistema elevados.
"Es una pieza muy interesante de código", dijo Baumgartner. "No sólo se ejecuta en Linux, pero no se puede detectar en la forma habitual."
Incluso un usuario normal con privilegios limitados puede lanzarlo, lo que le permite interceptar los comandos de tráfico y de ejecución en las máquinas infectadas. Las capacidades incluyen la habilidad de comunicarse con los servidores bajo el control de los atacantes y funciones que permiten a los atacantes ejecutar comandos de su elección y llevar a cabo la administración remota.
Incluso después de su descubrimiento, el componente de Linux sigue siendo un misterio. El archivo ejecutable subyacente está escrito en los lenguajes C++ y C y contiene código de bibliotecas previamente por escrito, una propiedad que da el archivo autosuficiencia malicioso. El código también es despojado de información de símbolos, lo que hace difícil para los investigadores realizar ingeniería inversa o analizar. Como resultado, Baumgartner dijo el troyano puede tener capacidades que aún no han sido descubiertas.
Los administradores que deseen comprobar si los sistemas Linux infectados por Turla pueden comprobar el tráfico de salida para las conexiones con news-bbc.podzone[.]org o 80.248.65.183, que son las direcciones de los canales de mando y de control conocidos codificado en el troyano Linux. Los administradores también pueden crear una firma usando una herramienta llamada YARA que detecta las cadenas  "TREX_PID=%u" y "Remote VS is empty !"
Dado el poder y el sigilo de la puerta de atrás, sin mencionar su conexión con una de las campañas de espionaje más sofisticados descubiertos hasta la fecha, no sería sorprendente que el descubrimiento para abrir la puerta a los descubrimientos de más infecciones o componentes de malware.
"La investigación está en curso", dijo Baumgartner. "Quiero suponer en algún momento esto va a tender un puente a otro hallazgo debido a la forma en que se utiliza esta puerta trasera."

Miércoles 26 de noviembre de 2014

Xavier Araque

Xavier Araque
Rendergraf

Nuevo sitio web – XavierAraque.com

xavieraraque.com

Saludos a todos ya hace un tiempo vengo trabajando en mi nuevo sitio web.

Pueden visitarlo ahora mismo desde: xavieraraque.com

También un blog/tumblr en el que publico algunos comentarios personales e imágenes blog.xavieraraque.com

Para quienes desean contactar conmigo en ambos sitios encontrarán los enlaces actualizados a mis redes sociales.

 

Este sitio quedará fuera de mantenimiento.

-Xavier-


Archivado en: Personal, Work

Miércoles 19 de noviembre de 2014

Richzendy Contreras

Richzendy Contreras
Richzendy.org » Gnu y Linux

Fedora en el CGSOL 2014 Guatemala

Lunes 10 de noviembre de 2014

Jesús Matamoros

Jesús Matamoros
Jesus Matamoros Web blog

¿Por qué es tan importante tener un sitio web?


dirección en Internet, puede dar una imagen poco seria y profesional. Cada vez más el tener un sitio Web será definitivo para seguir en carrera.  

En la actualidad  TODA  empresa, organización, no importa el tamaño,  necesita y debe tener un sitio Web.  En EEUU y en los países más avanzados de la UE está demostrado que la intensidad en la aplicación de nuevas tecnologías y la incorporación de un Sitio Web, está correlacionado de manera positiva con el incremento de las ventas, la productividad y el valor de mercado de las empresas. Además, estudiosos del E-Business consideran que las empresas que no entren en el campo de Internet en los próximos 10 años, desaparecerán!. Conozca a continuación las ventajas de tener un sitio web...

 Ventajas de tener un sitio web:
1. Alcance mundial de sus productos y servicios: a través del sitio Web Usted podrá llegar a clientes potenciales del mundo entero. Las limitaciones geográficas ya no existen, un sitio Web es como una oficina de ventas en cada lugar del planeta.

2. Competir al lado de los más grandes:
Su imagen en Internet podrá ser comparable a cualquier gran compañía de su mismo sector. Es un terreno imparcial donde el sitio web de una empresa pequeña puede ser tanto o más atractivo que el de una empresa muy grande. Por eso podrá competir justo al lado de las empresas más grandes, de igual a igual.

3. Disponible las 24horas, todos los días año: La presencia universal también se complementa con la presencia las 24 horas, los 7 días de la semana, los 365 días del año, lo que permite que aún fuera del horario de trabajo, la empresa siga produciendo y creciendo. Además de atender otras partes del planeta que por diferencias horarias sería imposible realizarlo al instante.

4. Menos Costos Operativos:
Ahorro en gastos de publicidad, reducción de teléfono y personal, de modo que cualquier información que pudiera necesitar el cliente la podrá consultar en su página Web, esto le ahorra tiempo, dinero y reduce el número de llamadas telefónicas de su negocio, locales y de larga distancia.

5. Imagen Profesional de su empresa: Actualmente las empresas respetadas en el medio tienen presencia en la Web. El no contar con una
Logo empresa desarrollo web

En iT Labs nos dedicamos a ofrecer soluciones digitales 360º, empleando las últimas tecnologías disponibles en el mercado, poniendo especial énfasis en la funcionalidad y el posicionamiento y estrategia de marketing, permitiéndole lograr presencia en Internet. De esta manera Usted y su empresa podrán competir estratégicamente, utilizando nuestros productos como una herramienta de marketing, publicidad y hasta gestión empresarial.


Miguel Ángel Useche

Miguel Ángel Useche
El blog de Skatox » Planetas

Cómo empecé a usar Firefox hace una década

Ayer 9 de noviembre, se cumplieron 10 años del lanzamiento de la versión 1.0 de Firefox, el navegador que sigo usando actualmente por diversas razones que les comentaré en esta entrada. Aunque recuerdo utilizar Netscape cuando iba a los populares cybercafes (pues en los 90s no era común tener Internet en el hogar) mi salida de Internet Explorer (que por venir instalado con Windows era mi predeterminado) fue como a finales del 2002 cuando empecé a jugar con páginas de seguridad informática y en uno de los retos me pedía falsificar el navegador, averiguando instalé K-meleon que se convirtió en mi navegador por defecto por incluir pestañas. Luego me enteré que el navegador estaba basado en otro llamado Mozilla Suite y ahí empezó todo.
Cuando me enteré del desarrollo de Firefox, recuerdo que no me gustó por ser un navegador con pocas funcionalidades respecto a Mozilla Suite (me encataba la idea de tener un cliente IRC y de correo en el navegador) y lo ignoré por completo hasta que instalé la primera versión de Ubuntu que venía con Firefox 0.93. En ese entonces, al ser una numeración menor a 1.0, pensé que el navegador era una beta y no lo probé hasta su lanzamiento; ese día recuerdo bajar un versión binaria, pues no había paquete oficial para Ubuntu 4.10 y al probarlo me gustó por su rapidez. De ahí seguí utilizando versión por versión, creo que la 1.5 no la usé por gran tiempo debido a problemas de video en mi equipo y utilicé, pero luego volví con la versión 2.0.

Haciendo una retrospectiva de las versiones del navegador, es impresionante como ha cambiado la web en 10 años. Cuando salió Firefox, Internet Explorer controlaba el mercado y casi todas las páginas se hicieron para funcionar en ella, además apenas estaba surgiendo la primeras aplicaciones web, Javascript no era tan importante, era necesario utilizar plugins de terceros para ver animaciones y videos en la web, pocos sitios usaban llamadas AJAX, entre otros. Ya hoy en día gracias a Firefox, tenemos la posibilidad de escoger otros navegadores como Chrome (Firefox permitió abrir el paso a otros navegadores), brindar mayor sentido a las estadarizaciones en la web, implementar futuras tecnologías, ejecutar código JS a velocidades cercanas a código nativo, por nombrar algunas cosas. Ademas, Firefox se ha convertido en el navegador mas rápido (a la fecha de publicación de esta entrada), sirve de base para Firefox OS, tiene una versión para Android, se enfoca en los intereses de los usuarios y no de una organización, te protege tu información y respeta tu privacidad, puedes sincronizar de forma privada y segura la información de tu navegador entre dispositivos, está desarrollado por gente de distintas partes del mundo y de forma totalmente abierta, entre otros. Por estas razones y más, les recomiendo utilizar este navegador, no solo por su gran calidad desde el punto de vista técnico, sino también porque al usarlo apoyas a la web abierta.

P.d: Puede estar un poco extraña la redacción del post pero lo redacté con mucho sueño luego de organizar y realizar el evento.

Domingo 02 de noviembre de 2014

Ramon Marquez

Ramon Marquez
Libuntu » Linux

El 14 de noviembre estará disponible “This War Of Mine”, el juego de guerra que necesitábamos.

El próximo 14 de noviembre, la desarrolladora de videojuegos polaca 11 bit Studios lanza al mercado su juego “This War Of Mine”, el juego de guerra que necesitábamos. La guerra es un tema constante en los videojuegos, no importa si te toca ser el dirigente de una nación en un juego de “Grand Strategy”, comandante… Read More »
Jorge Ortega

Jorge Ortega
Joenco

Como hacer que Espeak reconozca las voces de mbrola

Revisando en internet como agregar las voces de mbrola en “Gespeaker“, me encontré con este articulo: “Gespeaker. Texto a voz” donde explica que hacer para que espeak reconozca las voces de mbrola y es lo que les voy a comentar para que ustedes también las utilicen!!

 

Lo que vamos hacer es instalar mbrola y las voces en español, esto por si aun no lo han hecho:

1. Abrimos un terminal/consola.

2. Entramos como superusuario (root, escribiendo:

# su

3. Escribimos la contraseña de administrador:

# la -contraseña-de-root

4. Instalamos mbrola y las voces:

# aptitude install mbrola mbrola-es1 mbrola-es2 mbrola-mx2 mbrola-vz1

5 Creamos una carpeta llamada “ves” en /usr/lib/i386-linux-gnu/espeak-data/voices/:

# mkdir /usr/lib/i386-linux-gnu/espeak-data/voices/ves

6. Copiamos los archivos mb-es1, mb-es2, mb-mx2 y mb-vz1 que se encuentra en /usr/lib/i386-linux-gnu/espeak-data/voices/mb/ en la carpeta creada:

# cp /usr/lib/i386-linux-gnu/espeak-data/voices/mb/mb-es* /usr/lib/i386-linux-gnu/espeak-data/voices/vz1/

# cp /usr/lib/i386-linux-gnu/espeak-data/voices/mb/mb-mx2 /usr/lib/i386-linux-gnu/espeak-data/voices/vz1/

# cp /usr/lib/i386-linux-gnu/espeak-data/voices/mb/mb-vz1 /usr/lib/i386-linux-gnu/espeak-data/voices/vz1/

Listo, eso es todo ya podremos utilizar las voces de mbrola con espeak.!

 

Lo mejor es que podremos usar las nuevas voces con Gespeaker y el lector de pantalla orca, lo malo (no todo es perfecto), cuando se usa con el lector de pantalla no reproduce algunas cosas.

 

Es de destacar que se puede utilizar la voz venezolana sin ningún problema para reproducir cualquier texto utilizando “Gespeaker”.!!

 

Nota: En el articulo “Instalando otras voces para el lector de pantalla orca” se explica como hacer que se reconozca mbrola en las opciones.

 

Saludos a todos y para cualquier pregunta, comentario o sugerencia lo pueden hacer en los comentarios.


Viernes 31 de octubre de 2014

Ramon Marquez

Ramon Marquez
Libuntu » Linux

La rama 3.16 del kernel Linux tendrá soporte extendido

A través de la lista de correo de Linux se ha anunciado el soporte extendido para la rama 3.16 por parte del equipo de desarrollo de Ubuntu y de Debian. El soporte extendido de Linux 3.16 ha entrado en vigencia, la particularidad de todo esto es que el soporte estará a cargo de terceras personas… Read More »

Jueves 30 de octubre de 2014

Ramon Marquez

Ramon Marquez
Libuntu » Linux

Se lanzan nuevas versiones de actualización del kernel Linux

Greg Kroah-Hartman ha anunciado a través de la lista de correo de Linux, el lanzamiento de varias versiones de actualización para algunas ramas del kernel Linux trayendo consigo varias mejoras, actualizaciones de drivers y numerosos arreglos de errores. Las versiones 3.17.2, 3.16.7, 3.14.23 y 3.10.59 del kernel Linux han sido lanzadas el día de hoy,… Read More »

Domingo 26 de octubre de 2014

Jorge Ortega

Jorge Ortega
Joenco

Hostinger: un sitio de hosting web accesible, gratuito y sin publicidad

Hostinger: un sitio de hosting web accesible, gratuito y sin publicidad.


Sábado 18 de octubre de 2014

Instalar Drivers Privados de AMD Radeon (fglrx) Debian Wheezy

Recientemente adquirí una humilde AMD Radeon R9 270, y quise instalar los drivers propietarios (fglrx) para poder jugar UrT como dios manda.

Añadir los repositorios backports para Debian Wheezy, en el archivo /etc/apt/sources.lst
# Backports Debian Wheezy
deb http://http.debian.net/debian/ wheezy-backports main contrib non-free

Actualizar la lista de paquetes
$ aptitude update && aptitude update

Instalar el driver fglrx
$ aptitude -r -t wheezy-backports install fglrx-driver fglrx-control

Esto creará el archivo xorg.conf usando el módulo fglrx
$ aticonfig –initial

Agregar el driver libre “radeon” a la lista negra, modificar el archivo: /etc/modprobe.d/radeon-kms.conf; si tienes el archivo, de no tenerlo lo creas y agregas:
blacklist radeon
options radeon modeset=1

Reiniciar el equipo y listo!

Para probar si efectivamente el driver esta funcionando, utilizar las siguientes utilidades:

$ fglrxinfo

La salida debe ser algo como esto:
display: :0.0 screen: 0
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: AMD Radeon R9 200 Series
OpenGL version string: 4.3.12618 Compatibility Profile Context 8.982.13

$ glxinfo | grep render
La salida debe ser: direct rendering: Yes

$ glxgears
La salida debe ser una ventana con 3 engranajes (colores azul, rojo, verde) y un average FPS cada 5 segundos

$ fgl_glxgears
La salida debe ser una ventana con un cubo, en cada cara hay 3 engranajes (colores azul, rojo, verde; como en la salida anterior) y un average FPS cada 5 segundos

Los drivers disponibles en wheezy-backports son los AMD Catalyst 13.12, que tienen un buen rendimiento en linux incluso mejor que la serie 14.xx, sobre todo si se desea probar la minería Litecoin.

Saludos !