Eligiendo el Lenguaje Apropiado para Desarrollo Web

Recientemente y por el calor del día lancé un comentario en twitter https://twitter.com/#!/johnnydc/status/195918555491995648 que dejé llegar a facebook http://www.facebook.com/johnny.de.castro/posts/10150769545781358, el punto es que el comentario generó un par de respuestas online y otras offline, pero sobre todo despertó en mí el interés por aclarar lo que considero un punto válido frente a la elección de las herramientas para el desarrollo de proyectos enfocados a la Web.

Continuar leyendo “Eligiendo el Lenguaje Apropiado para Desarrollo Web”

Porque soy un geek romantico. ;-)

#!/usr/bin/env perl
                                      ''=~('('.'?'
           .'{'.(                   '`'|'%').("\["^
        '-').('`'|                '!').('`'|',').'"'
 .'#'."\!".  "\/".(              '['^'.').('['^'(').(
'['^')').'/'.(('`')|            '"').('`'|')').(('`')|
'.').'/'.('`'|"\%").(          '`'|'.').('['^'-').('{'
  ^'[').('['^('+')).(        '`'|'%').('['^')').(('`')|
       ',').('!'^'+')      .('!'^'+').('['^'.').('['^'('
      ).('`'|"\%").(     '{'^'[').('`'^'-').('`'|('/')).(
     '`'|'$').("\`"|   '%').('['^')').('`'|'.').':'."\:".(
    '{'^'+').("\`"|   '%').('['^')').('`'|',').('{'^'[')."'"
    .('^'^('`'|',')  ).('^'^('`'|'.')).('^'^('`'|'/')).('^'^(
    '`'|','))."'".  ';'.('!'^'+').('['^'.').('['^'(').(('`')|
    '%').('{'^'[')  .('{'^'/').('`'|'%').('['^')').('`'|"\-").
    ':'.':'.('`'^'!').('`'^'.').('{'^'(').('`'^')').('`'^'#').
    ('`'|'/').('`'|',').('`'|'/').('['^')').';'.('!'^'+').('!'^
     '+').('['^'(').('`'|'!').('['^'"').('{'^'[').('`'|('#')).(
     '`'|'/').('`'|',').('`'|'/').('['^')').'('.'\\'.'"'.(('`')|
      '"').('`'|',').('['^'.').('`'|'%').'\\'.'"'.')'.','.('\\').
       '"'.('!'^'+').'\\'.'\\'.'\\'.'"'.('`'|'(').('`'|'%').('`'|
        ',').('`'|',').('`'|'/').('{'^'[').('`'^'$').('`'|')' ).(
         '`'|'!').('`'|'.').('`'|'!').','.('{'^'[').('['^'/'  ).(
          '`'|'%').('{'^'[').('`'|'!').('`'|"\-").( '`'|'/')  .((
            ',')).('{'^'[').('`'|'!').('`'|"\$").(  '`'|'/'   ).(
             "\["^ ')').('`'|'/').('{'^'[').('`'|   "\.").(   '['
                   ^'.').('`'|'%').('['^('(')).(    '['^'/'   ).(
                   '['^')')    .('`'|'!') .('{'^     '[').(   ((
                   "\["))^     ('-')).(   ('`')|     ')').(  ((
                   "\`"))|     ('$')).(   "\`"|       '!').  (
                   ('{')^      ('[')).(   '['^         '"')
                   .('{'^     '[').('`'   |'.'         ).+(
                    "\["^     ('.')).(    '`'|         '%')
                    .('['     ^'(').(     '['^         '/')
                    .''.     ("\["^       ')')         .''.
                    ('`'     |((          '!')         )).(
                    '{'^      '['         ).(          '`'
                    |((        '&'       )))           .+(
                    '`'         |((     '!'            )))
                    .+(          '`'   |((              ((
                    ((             '-')))               ))
                    ))              .('`'               |+
                    ((             ')'))).(             ((
                   '`'            ))|+ ',').            +(
                  '`'           |')').  ('`'           |((
                 '!')         ))."\.".   (((          '\\'
               ))).((                                '\\'))
             .('\\').                               ('"').(
                                      '!'^('+')).(
           ('`')^                   '%').('['^')').
        ('`'|'%').                ('['^'(').('{'^'['
 ).('`'|'-'  ).('`'              |')').('{'^'[').('`'
|'!').('`'|'-').('`'            |'/').('['^')').("\{"^
'[').('['^'"').("\{"^          '[').('`'|',').('`'|'/'
  ).('{'^'[').(('[')^        '(').('`'|'%').('['^"\)").
       '\\'.('['^'#')      .('`'|'#').('^'^('`'|('-'))).
      '\\'.('['^'#')     .('`'|'!').('^'^('`'|'/')).('['^
     '(').('{'^'[').   ('['^'+').('`'|'/').('['^')').('{'^
    '[').('['^'(').   ('`'|')').('`'|'%').('`'|'-').('['^'+'
    ).('['^(')')).(  '`'|'%').'!'.'\\'.'"'.'.'.('`'|'#').('`'
    |'/').('`'|','  ).('`'|'/').('['^')').'('.'\\'.'"'.("\["^
    ')').('`'|'%')  .('['^'(').('`'|'%').('['^'/').'\\'.('"').
    ')'.';'.('!'^'+').('!'^'+').'"'.'}'.')');$:='.'^'~';$~='@'
    |'(';$^=')'^'[';$/='`'|'.';$,='('^'}';$\='`'|'!';$:=')'^'}'
     ;$~='*'|'`';$^='+'^'_';$/='&'|'@';$,='['&'~';$\=','^'|';$:
     ='.'^'~';$~='@'|'(';$^=')'^'[';$/='`'|'.';$,='('^'}';$\='`'
      |'!';$:=')'^'}';$~='*'|'`';$^='+'^'_';$/='&'|'@';$,='['&'~'
       ;$\=','^'|';$:='.'^'~';$~='@'|'(';$^=')'^'[';$/='`'|'.';$,
        ='('^'}';$\='`'|'!';$:=')'^'}';$~='*'|'`';$^='+'^'_'; $/=
         '&'|'@';$,='['&'~';$\=','^'|';$:='.'^'~';$~='@'|'('  ;$^
          =')'^'[';$/='`'|'.';$,='('^'}';$\='`'|'!' ;$:=')'^  '}'
            ;$~='*'|'`';$^='+'^'_';$/='&'|"\@";$,=  '['&'~'   ;$\
             =','^ '|';$:='.'^'~';$~='@'|"\(";$^=   ')'^'['   ;$/
                   ='`'|'.';$,='('^'}';$\=('`')|    '!';$:=   ')'
                   ^'}';$~=    '*'|'`';$^ ="\+"^     '_';$/   =(
                   ('&'))|     "\@";$,=   ('[')&     '~';$\  =(
                   (','))^     "\|";$:=   "\."^       "\~";  (
                   ($~))=      '@'|'(';   ($^)         =')'
                   ^"\[";     $/=('`')|   '.';         ($,)
                    ='('^     "\}";$\=    '`'|         '!';
                    ($:)=     ')'^'}'     ;$~=         '*'|
                    '`';     $^='+'       ^'_'         ;$/=
                    '&'|     '@'          ;$,=         '['&
                    '~';      $\=         ','          ^((
                    '|'        ));       $:=           '.'
                    ^((         '~'     ));            $~=
                    '@'          |((   '('              ))
                    ;(             ($^))=               ((
                    ((              ')'))               ))
                    ^+             "\[";$/=             ((
                   '`'            ))|+ "\.";            $,
                  =((           '('))^  '}';           $\=
                 '`'|         "\!";$:=   ')'          ^'}'
               ;($~)=                                ('*')|
             "\`";$^=                               '+'^'_'

Ubuntu Desktop 12.04 LTS

En el día de ayer fue liberado Ubuntu 12.04 LTS y como aún estaba recuperándome de una inesperada ciática, pues nada mejor que hacer que hacer más soportable el dolor mientras veía TV y hacía backups de mis archivos personales para preparar el PC a instalar el recién salido Ubuntu.
Desde el 2004 sigo Ubuntu sin mucho interés ni sorpresa, viendo siempre como aprovechaban mejoras y desarrollos provenientes de otras distribuciones y descaradamente lo mostraban como avances propios, una estrategia de marketing poco vista en el mundo OpenSource, pero ya es hora de entender que todo ha cambiado. En realidad tuvieron que pasar 8 años, la caída de Novell, el sin puerto de openSUSE y la salida de De Icaza del panorama para que les empezara tomar en consideración, sí, usualmente soy dogmático, soy más apegado a distribuciones con tradición seria como RedHat (y derivados), openSUSE o debian, Ubuntu nunca me pareció una opción real, pero al salir del panorama Novell (o al menos verse tan opacada como ahora) alguien tiene que llenar el vacío.
En fin, el ser una LTS da tranquilidad y al menos “hoy” puedes tener muchas cosas actualizadas (perl 5.14 sin mayores esfuerzos!).
Lo que no me gustó:

  1. El instalador no proporciona métodos para el uso o reuso de LVM, por lo que tuve que formatear mi sistema de archivos y luego reinstalar el backup.
  2. Unity es feo e innecesario para un PC de escritorio, por suerte siempre se puede mover a gnome clasico.

Complicaciones adicionales: instalar vmware player, indispensable para mi en el trabajo, pero es tema del nuevo kernel y vmware más que de ubuntu, solución aplicar un parche.
Lo que me gustó: el resto, la distro está muy bien lograda, los ocres ya no son lo mio, pero la variedad de paquetes, facilidad de uso, la rápida instalación (sin mayores preguntas) de códecs y drivers propietarios vale tener que pensar en personalizar colores luego 😉 sin temor a equivocarme puedo afirmar que es de las más completas distros que he visto a la fecha, incluso sin mejorar unity o integrarse con gnome-shell, son la mejor elección para un Desktop Linux.
 

Perl 5.14 en CentOS

El nuevo año de Perl será el…. ¿2018?, bueno, resultó que el año de Perl 5.10 fue el 2011 y no el 2018, pero el asunto no está tan alejado de la realidad, si tu elección ha sido la de utilizar CentOS por ser una de las distribuciones Linux más estable a la fecha, por su robustez, parches de seguridad, sus raíces en RedHat y un largo etc…. Continuar leyendo “Perl 5.14 en CentOS”

PHP es solo una opción

Anoche leí un artículo que plantea con muchos argumentos que además son válidos cuando los observas desde el punto de vista que muestra el autor que php tiene un mal diseño. A decir verdad es algo que puedes notar cuando empiezas a trabajar seriamente con PHP, que empieza a fallar a su gusto y a hacer cosas que no parecen lógicas inicialmente, luego te acostumbras y entiendes que lo único que sucede es que php tiene otro paradigma. Continuar leyendo “PHP es solo una opción”

Introducción a Perl

Perl (Practical Extraction and Report Language – Lenguaje Práctico para la Extracción e Informe)… ERROR!!, eso es PERL, Perl es simplemente un retroacrónimo sin mayor significado que el nombre de uno de los más potentes y maduros lenguajes de programación disponibles hoy en día.
Manuales de Perl, infinidades, libros, montones, así que este post está a eones de intentar ser un tutorial o manual de introducción a Perl, lo que si pretendo es promover en el lector la curiosidad por el lenguaje.
Continuar leyendo “Introducción a Perl”