Votación para el nuevo logo
General
Pues ya que empezamos a darle mantenimiento a Centauro, valdria la pena un nuevo diseño.
Retomando a la convocatoria pasada para un nuevo logo, aquí les dejo las propuestas.
===============================================================================================
Logos creados por Azimov:

Más aquí: http://mononeurona.org/entries/view/azimov/1972
===============================================================================================
Los mios: Rnstux

Mas aca: http://mononeurona.org/entries/view/rnstux/1970
===============================================================================================
BlackSoul:
: 
Mas acá:http://mononeurona.org/entries/view/blacksoul/1971
===============================================================================================
Fitorec:

Favor de dejar su voto en los comentarios de la entrada!
Permalink: http://mononeurona.org/entries/view/rnstux/2148
ssh, scp stuff
General
Estoy haciendo un script para jalar los respaldos de un servidor hacia mi servidor de respaldos loca, si todos los archivos se enviaron correctamente entonces debo borrar los datos del servidor en producción, el problema aquí es saber cuándo se guardaron correctamente y cuándo no.. para ello usamos la variable $?
Ejemplo en bash:
#----------The script------------------------------
#Nos traemos todos los archivos del directorio backup hacia nuestro directorio local.
scp -r $USER@$WEBSERVER:/backup/ $BACKUP_LOCAL_DIR
#Consultando el manual de SCP tenemos que devuelte 0 si fue exitoso y mayor a 0 si ocurrio un error.
#El resultado se guarda en la variable $?
if [ $? != 0 ]; then
echo "Ocurrio un error, intenta de nuevo."
exit;
fi
#Si no ocurrio un error eliminamos, todos los archivos del directorio backup, come vemos estamos ejecutando el comando rm-RF por SSH
ssh $USER@$WEBSERVER rm -Rf /backup/*
echo "Backup completed"
Permalink: http://mononeurona.org/entries/view/rnstux/2108
Grep para programadores
General
Tenia la necesidad de encontrar un texto en muchos archivos, ya que habia olvidado el nombre del mismo, encontré diversas soluciones cómo:
$find / -name “*.pl” -exec grep -il CADENA {} \; aunque la mejor fue: $grep -r "CADENA" .
Pero, ¿Hay algo mejor que grep? Claro, es ack-grep, grep para programadores, nos da el número de linea dónde encontró el texto y además nos remarca con colores, ignorando los archivos de subversión o git, además hecho en Perl disponible desde CPAN
Instalación desde:
- Ubuntu/Debian package: ack-grep
- Fedora package: ack
- Gentoo package: sys-apps/ack
Más info con 10 razones para usarlo aquí: http://betterthangrep.com/
Permalink: http://mononeurona.org/entries/view/rnstux/2106
Catalyst Framework Parte 1
General
Catalyst es un Framework de desarrollo rápido de aplicaciones utilizando Perl, al estilo, Rails, CakePHP, Django.
La wikipedia dice:
Catalyst es una estructura de código libre para aplicaciones web escrito en Perl. Soporta la arquitectura MVC, así como soporta algunos patrones web experimentales. Está altamente inspirado en Ruby on Rails, Maypole y Spring.....
Vamos a probar Catalyst, cuándo ya estas familiarizado con un Framework, se vuelve pan comido.
Instalación para Debian Lenny:
$sudo aptitude -y install sqlite3 libdbd-sqlite3-perl libcatalyst-perl \
libcatalyst-modules-perl libdbix-class-timestamp-perl \
libdbix-class-encodedcolumn-perl libperl6-junction-perl \
libdatetime-format-sqlite-perl libconfig-general-perl \
libhtml-formfu-model-dbic-perl
Para Ubuntu:
$sudo aptitude install libdbd-sqlite3-perl libcatalyst-perl libcatalyst-modules-perl libconfig-general-perl
Adicionalmente puede ser que necesites estos paquetes:
$sudo aptitude -y install gcc make libc6-dev
Probamos que funcione:
--Nos vamos a nuestra carpeta de desarrollo, en mi caso
$cd /var/www
--Creamos un nuevo proyecto:
$ catalyst.pl Hello
created "Hello"
created "Hello/script"
created "Hello/lib"
created "Hello/root"
...
created "Hello/script/hello_create.pl"
Change to application directory and Run "perl Makefile.PL" to make sure your install is complete
--Nos cambiamos al directorio raíz de la aplicación
$ cd Hello
--Ejecutamos lanzamos el servidor:
$ script/hello_server.pl
Al final nos dara una ruta que deberemos abrir en el navegador, y con esto ya tenemos Calatys instalado.
Referencias:
http://es.wikipedia.org/wiki/Catalyst_%28framework%29
http://search.cpan.org/dist/Catalyst-Manual/lib/Catalyst/Manual/Tutorial/01_Intro.pod
Permalink: http://mononeurona.org/entries/view/rnstux/2086
Codificación PostgreSQL
General
Instale PostgreSQL 8.3 en mi Debian Lenny, pero por alguna razón no me debaja crear una base de datos con la codificación Latin9, lo intenté así
$ createdb DBTest -E latin9
createdb: falló la creación de la base de datos:
ERROR: la codificación LATIN9 no coincide con la configuración regional del servidor es_ES.UTF-8
DETALLE: La configuración regional LC_CTYPE del servidor requiere la codificación UTF8.
Encontré que la solución más rápida es:
--Nos cambiamos al usuario Postgres
$ su postgres
--Creamos la base de datos
$ su DBTest
-- Nos fijamos la codificación de caracteres actual, listando las bases de datos actuales
postgres=# \l
Listado de base de datos
Nombre | Dueño | Codificación
-----------+----------+--------------
DBTest | postgres | UTF8
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8
(4 filas)
--Cambiamos la codificación con la siguiente query
update pg_database set encoding=8 where datname='DBTest';
Siguiendo la siguiente tabla:
|
N° de encoding
|
Name
|
Descripción
|
|
0
|
SQL_ASCII
|
ASCII
|
|
1
|
EUC_JP
|
Japanese EUC
|
|
2
|
EUC_CN
|
Chinese EUC
|
|
3
|
EUC_KR
|
Korean EUC
|
|
4
|
JOHAB
|
Korean EUC (Hangle base)
|
|
5
|
EUC_TW
|
Taiwan EUC
|
|
6
|
UNICODE
|
Unicode (UTF-8)
|
|
7
|
MULE_INTERNAL
|
Mule internal code
|
|
8
|
LATIN1
|
ISO 8859-1/ECMA 94 (Latin alphabet no.1)
|
|
9
|
LATIN2
|
ISO 8859-2/ECMA 94 (Latin alphabet no.2)
|
|
10
|
LATIN3
|
ISO 8859-3/ECMA 94 (Latin alphabet no.3)
|
|
11
|
LATIN4
|
ISO 8859-4/ECMA 94 (Latin alphabet no.4)
|
|
12
|
LATIN5
|
ISO 8859-9/ECMA 128 (Latin alphabet no.5)
|
|
13
|
LATIN6
|
ISO 8859-10/ECMA 144 (Latin alphabet no.6)
|
|
14
|
LATIN7
|
ISO 8859-13 (Latin alphabet no.7)
|
|
15
|
LATIN8
|
ISO 8859-14 (Latin alphabet no.8)
|
|
16
|
LATIN9
|
ISO 8859-15 (Latin alphabet no.9)
|
|
17
|
LATIN10
|
ISO 8859-16/ASRO SR 14111 (Latin alphabet no.10)
|
|
18
|
ISO_8859_5
|
ISO 8859-5/ECMA 113 (Latin/Cyrillic)
|
|
19
|
ISO_8859_6
|
ISO 8859-6/ECMA 114 (Latin/Arabic)
|
|
20
|
ISO_8859_7
|
ISO 8859-7/ECMA 118 (Latin/Greek)
|
|
21
|
ISO_8859_8
|
ISO 8859-8/ECMA 121 (Latin/Hebrew)
|
|
22
|
KOI8
|
KOI8-R(U)
|
|
23
|
ALT
|
Windows CP866
|
|
24
|
WIN874
|
Windows CP874 (Thai)
|
|
25
|
WIN1250
|
Windows CP1250
|
|
26
|
WIN
|
Windows CP1251
|
|
27
|
WIN1256
|
Windows CP1256 (Arabic)
|
|
28
|
TCVN
|
TCVN-5712/Windows CP1258 (Vietnamese)
|
Permalink: http://mononeurona.org/entries/view/rnstux/2083
Debugging en Perl
General
PTKDB DEBUGGER- Instalación para DEBIAN/UBUNTU
ptkdb es un debugger para Perl que utiliza la libreria Perl/Tk.
Primero tenemos que instalar la libreria Tk desde CPAN
Paso 1. #perl -MCPAN -e "install Tk"
Descargamos el código de PTKDB
Paso 2. $wget http://sourceforge.net/
Descomprimir el archivo:
Paso 3. $tar -xvzf Devel-ptkdb-1.1092.tar.gz
Entramos a la carpeta y compilamos el archivo:
paso 4. $cd Devel-ptkdb-1.1092/
paso 5. #perl Makefile.PL
paso 6. #make
paso 7. #make install
Probamos que se ha instalado correctamente:
paso 8. perl -d:ptkdb -e 1
PTKDB DEBUGGER- Pruebas del debugger para un script CGI
==============================
1.- Para ello necesitamos un script de pruebas cómo el siguiente: (Lo que está en negritas es obligatorio)
#!/usr/bin/perl -d:ptkdb
#File: /var/www/test.pl
sub BEGIN {
$ENV{'DISPLAY'} = ":0.0";
}
$|++;
print "Content-type: text/html\n\n";
print "<PRE>";
for (my $i=0; $i<10; $i++)
{
print "Count $i\n";
}
print "</PRE>\n";
Guardamos el script en el webroot de apache y le damos permisos de ejecución
2.- Agregamos localhost a la lista de control de acceso de XHOST
$xhost localhost
3.- Ejecutamos el script desde el navegador:
$firefox http://localhost/test.pl
Permalink: http://mononeurona.org/entries/view/rnstux/2080
My Current Desktop
General
Aquí les dejo a mi Megan Fox =)
Permalink: http://mononeurona.org/entries/view/rnstux/2063
Diéresis
General
Según Wikipedia: La diéresis o mejor conocida cómo los dos puntitos que van arriba de la vocal, es un signo diacrítico, es decir aquel signo escrito que afecta de una manera especial el sonido de una letra, otros signos diacríticos los son: Acentos, tilde de la ñ entre otros.
Existen algunas reglas muy simples para utilizar la diéresis y para el lenguaje español son:
La diéresis aparece sobre la u cuando esta se pronuncia después de la g y seguida de las vocales e, i
Ejemplos:
pingüino lingüística
lingüista vergüenza
Este es un mal ejemplo del uso de la diéresis:

Fotografia:
Edgar Duran (rnstux) en el crucero de 5 señores Oaxaca.
Referencias:
http://es.wikipedia.org/wiki/Di%C3%A9resis_(signo)
http://mx.kalipedia.com/lengua-castellana/tema/ortografia/uso-dieresis.html?x1=20070417klplyllec_651.Kes&x=20070417klplyllec_652.Kes
Permalink: http://mononeurona.org/entries/view/rnstux/2049
Ayuda
General
Estuve chambeando para agregar soporte a Karamelo en MySQL, esa chamba ya esta, ahora solo falta implementar el Full Search Text Engine en la tabla news y entries. En postgresSQL ya está pueden checar acá:
http://trac.chipotle-software.com/karamelo/browser/trunk/app/config/sql/postgresql
Aquí les dejo las tablas en MySQL para Karamelo:
http://github.com/rnstux/KarameloMySQL/blob/master/KARAMELOMYSQL.sql
Mas info: http://devzone.zend.com/article/1304
Permalink: http://mononeurona.org/entries/view/rnstux/2047
La creación
General
1. Al principio Dios creo el Bit y el Byte. Y de ellos creo la Palabra.
2. Y hubo dos bytes en una palabra; y nada mas existía. Y Dios separo el Uno del Cero; y vio que esto era bueno.
3. Y Dios dijo:
- Hágase el Dato.
Y así sucedió.
Y Dios dijo:
- Que los Datos vayan a su correspondiente lugar.
Y creo los disquetes, discos duros y los compactos.
4. Y dijo Dios
- Háganse los computadores, así habrá lugar para poner los disquetes, discos duros y compactos.
Y Dios creo los computadores y los llamó Hardware.
5. Y no había Software aun.
Pero Dios creo programas, chicos y grandes...
Y les dijo:
- Vayan y multiplíquense por si mismos y llenen toda la Memoria.
6. Y dijo Dios:
- Creare al Programador; y el Programador hará nuevos programas y gobernara sobre los computadores, programas y datos.
7. Y Dios creo al Programador y lo puso en el Centro de Datos.
Y Dios le mostró al Programador el Árbol de Directorios y le dijo:
- Puedes usar todos los volúmenes y subvolumenes, pero NO USES Windows.
8. Y Dios dijo:
- No es bueno para el Programador estar solo.
Y tomo un hueso del cuerpo del Programador y creo una criatura que buscaría al Programador, lo admiraría y amaría las cosas que hiciera el Programador;
Y Dios llamo a la criatura EL USUARIO.
9. Y el Programador y el Usuario fueron dejados por EL solos bajo el DOS desnudo y fue bueno.
10. Pero Bill fue mas listo que todas las otras criaturas de Dios.
Y Bill le dijo al Usuario:
- ¿Realmente Dios te dijo que no ejecutaras ningún programa?
11. Y respondió el Usuario
- Dios nos dijo que podíamos usar cualquier programa y cualquier dato pero nos dijo que no ejecutáramos Windows o moriríamos.
12. Y Bill dijo al Usuario
- ¿Cómo puedes hablar sobre algo que no has probado? En el momento que corras Windows te convertirás en igual a Dios. Podrás crear cualquier cosa que desees con un simple clic del ratón?
13. Y el Usuario vio que los frutos del Windows eran buenos y fáciles de usar. Y el Usuario vio que cualquier conocimiento era inútil, pues Windows podía reemplazarlos.
14. Así que el Usuario instalo Windows en su computador y le dijo al Programador que era bueno.
15. Y el Programador empezó a buscar nuevos drivers.
Y Dios le pregunto:
- ¿Qué buscas?
Y el Programador respondió:
- Busco nuevos drivers porque no puedo hallarlos en el DOS.
Y Dios dijo:
- ¿Quien te dijo que necesitabas drivers? ¿Ejecutaste Windows?
Y el Programador dijo:
- ¡Fue Bill quien nos lo dijo!
16. Y Dios dijo a Bill:
- Por lo que hiciste serás odiado por todas las criaturas.
Y el Usuario estará siempre descontento contigo.
Y siempre venderás Windows.
17. Y Dios dijo al Usuario
- Por lo que hiciste Windows te decepcionara y se comerá todos tus recursos.
Y tendrás que usar programas piojosos.
Y siempre confiaras en la ayuda del Programador.
18. Y Dios dijo al Programador:
- Porque oíste al Usuario nunca serás feliz. Todos tus programas tendrán errores y tendrás que arreglarlos hasta el fin de los tiempos.
19. Y Dios los echo del Centro de Datos y cerro la puerta y la aseguró con un password.
Permalink: http://mononeurona.org/entries/view/rnstux/2029










