Lorem Ipsum

3 01 2008

“Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Suspendisse ut metus. Proin venenatis turpis sit amet ante consequat semper. Aenean nunc. Duis iaculis odio id lectus. Integer dapibus justo vitae elit. Nunc luctus, tortor quis iaculis tempus, urna odio iaculis erat, imperdiet lobortis orci lectus at eros. Ut a velit id odio malesuada nonummy. Aenean cursus metus a purus. Duis dapibus odio a enim. Aliquam ut diam sed nisl imperdiet gravida. Proin eget tellus ut ante dignissim dictum. Integer ut justo quis eros feugiat convallis. Praesent massa. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla egestas, nibh at malesuada nonummy, mi augue condimentum velit, a facilisis tortor ipsum non diam.”

Esta famosa frase que a mas de uno ha intrigado es el texto que se usa habitualmente en diseño gráfico en demostraciones de tipografías o de borradores de diseño para probar el diseño visual antes de insertar el texto final. Su significado despierta curiosidad, y se trata de una serie de fragmentos de ciertas obras literias de Cicerón.

El sitio oficial y de donde se puede descargar el texto esta en http://www.lipsum.com

Anuncios




Evaluamos TextMate

3 01 2008

En el mundillo Mac, existen muchos programas bastante buenos para diversas funciones y con diferentes características. Para nosostros los programadores, el encontrar una herramienta que cumpla con nuestras necesidades es de mucha importancia para que podemos seguir con nuestro trabajo. Una de las herramientas que más utilizamos es nuestro editor HTML. Hace un par de meses, escribí un artículo sobre lo que a mi parecer es un buen editor. Tomando esa lista de requisitos me he puesto a evaluar la versión de prueba de TextMate; un bonito editor HTML para la plataforma Mac y que desde hacia tiempo he querido probar. A continuación mi veredicto:

TextMate

Interfaz Gráfica: este punto es muy importante a mi parecer. La interfaz general del programa es bastante sencilla. Dependiendo del modo que hemos elegido para abrir los archivos, asi se despliega un panel en el lado derecho del editor donde se ve la estructura de los archivos y carpetas dentro del directorio de trabajo. El programa en si no consume muchos recursos. Cuando tenemos multiples archivos abiertos, estos aparecen en tabs. En el modo con el panel de archivos, cuando damos click en el nombre de un archivo, se abre automáticamente.

En cuanto a mi apreciación; el manejo de los archivos es bastante sencillo de entender y usar. Pero lo que no me gusta es que los archivos se abren con un simple click.

Manejo de Scripts: No me ha gustado el manejo de los archivos de scripts que hace TextMate. Primero, necesita que el archivo con el que se trabaja tenga la extensión correcta y por ende, cuando trabajamos con un archivo nuevo, el texto aparece sin formato. Además paso lo mismo que con muchos editores, y es que no reconoce múltiples sintáxis de lenguajes en un mismo documento, por lo que no podemos trabajar con codigo de algun lenguaje como PHP en un documento HTML por que o vemos la sintáxis de uno o la de otro pero no ambos. El reconocimiento de funciones, variables, sentencias, etc. aun es muy pobre. Yo valoraría que me mostrara información sobre las funciones nativas para el lenguaje mas las creadas por el programador.

Lo que si existe son snippets; pequeños trozos de código y los bundleds que son subaplicaciones para diversas operaciones como validar la sintaxis. Algo bastante importante, aunque hubiese esperado que lo hiciese en el propio documento y no en una nueva ventana.

TextMate también cuenta con un autocompletador. Esta función me parecía interesante hasta que descubri que cuando editaba documentos HTML me recomendaba diversas palabras incluso dentro de las mismas etiquetas de HTML. Lo cual lo hace ofensivo y poco util, dado que las palabras realmente formaban parte del diccionario y no de la sintaxis de propiedades del documento que estaba trabajando.

Otras Características: La aplicación no cuenta con smart-tags (o al menos la que he probado) y realmente deja muchos agujeros que realmente me hacen pensar que TextMate es una alternativa bastante carente de muchas posibilidades que he visto en otros editores como Adobe Dreamweaver (del que tomo muchas ideas para comparar), o ActiveState Komodo Edit (con un gran soporte, muchas características adicionales aun mejores que Adobe Dreamweaver y además freeware).

TextMate Workarea
TextMate Finder

Una característica que si me ha gustado es el manejo de bloques, que incluso se preservan al cerrar el documento. Esto es muy importante por que permite que el programador pueda ordenar de mejor manera el documento. Además cuenta con un menu de marcadores y un buscador entre documentos. Tiene reconocimiento de sintaxis para muchos lenguajes, auqnue no reconoce ASP / ASP.Net ni ColdFusion.

El precio de la licencia es de 39 euros, que lo hacen bastante accesible pero en lo particular no lo recomendaría. Pido disculpas a aquellos usuarios de TextMate por este artículo que puede resultar bastante fuerte y duro con respecto a la herramienta pero como repito esta es mi apreciación personal y con gusto, respeto la actitud de los fans de la herramienta.

Artílos Relacionados





Opciones de Seguridad con .htaccess

2 01 2008

htaccess es para muchas otras cosas, además de la aplicación de Redireccionamientos y personalización de las páginas de error. Otra de las funciones principales de la herramienta es controlar aspectos internos dentro de las carpetas del servidor como la seguridad, el control de acceso a usuarios, etc. En este nuevo artículo de la serie veremos más a detalle estas opciones:

Control de Acceso a Carpetas: algunos ejemplos comunes de este tipo de opción con htaccess es el control de acceso a los directorios mediante contraseñas, bloqueos de motores de SPAM, restricciones por IP, etc.

# Permitir el acceso al motor de Google o a alguien con contraseña
AuthName “Under Development”
AuthUserFile /home/askapache.com/.htpasswd
AuthType basic
Require valid-user
Order Deny,Allow
Deny from all
Allow from 1.1.1.1 w3.org googlebot.com google.com google-analytics.com
Satisfy Any

# Redireccionar todo el tráfico a otro sitio, excepto para una IP
ErrorDocument 403 http://www.somewhere.com
Order deny,allow
Deny from all
Allow from 1.1.1.1

Algunas otras aplicaciones dentro del control del acceso son: forzar la descarga para determinados tipos de archivos y la asignación de scripts para la ejecución de determinadas tareas.

# Archivos .AVI, .MPG, .MOV y .PDF se descargan directamente
AddType application/octet-stream .avi
AddType application/octet-stream .mpg
AddType application/octet-stream .mov
AddType application/octet-stream .pdf

# Procesar archivos .GIF con un Script CGI
Action image/gif /cgi-bin/filter.cgi

# Procesar peticiones para tipos específicos de petición
Script PUT /cgi-bin/upload.cgi
Script HEAD /cgi-bin/head-robot.cgi

Opciones de Seguridad Avanzadas: este tipo de tecnicas también son importantes y brindan un mayor nivel de seguridad. Entre estas tenemos el uso del protocolo HTTPS y SSL y el del archivo .htpasswd:

# Arreglar el problema de la doble autenticación y garantizando que la
# autenticación via .htpasswd pueda ser ingresada solamente con HTTPS
SSLOptions +StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq “somewhere.com”
ErrorDocument 403 https://somewhere.com

# Redireccionar todo lo servido por el puerto 80 a HTTPS
RewriteCond %{SERVER_PORT} ^80$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

Las siguientes son opcines de seguridad via htpasswd:

# Proteger multiples tipos de archivos
<FilesMatch “^(exec|env|doit|phpinfo|w)\.*$”>
    AuthName “htaccess password prompt”
    AuthUserFile /.htpasswd
    AuthType basic
    Require valid-user
</FilesMatch>

# Restringir acceso por IP
Allow/Deny from 10.1.0.0/255.255.0.0

El acceso puede hacerse parcialmente (es decir sin una IP especifica sino permitiendo a todos los que esten dentro de determinado rango).

Este tipo de ejemplos son muy prácticos y sencillos de aprender. Igualmente, seguiré investigando nuevas opciones y funciones para htaccess y publicando periódicamente actualizaciones a los ejemplos. De igual manera es necesario tener siempre a la mano una versión de: Apache HTACCESS CheatSheet para futuras consultas.

Artículos Relacionados





POC-CMS: listado de nuevas caracteristicas

19 12 2007

Con la nueva noticia de la creación del proyecto Apperture y de su incorporación al ya existente proyecto de Aldea Libre el proyecto POC-CMS se verá favorecido con una gran reestructuración de sus capacidades. El siguiente artículo enumerará algunas de las nuevas características que estarán presentes en la nueva versión del administrador de contenidos:

Construido bajo la filosofía de desarrollo L5: esto permitirá que POC-CMS sea un nuevo administrador de contenidos multiplataforma. El desarrollo original se planea que siga bajo las tecnologías de PHP y MySQL. Pero con esta nueva característica POC-CMS podrá ser portado a nuevas plataformas y lenguajes utilizando otras bases de datos fuera de MySQL. Además dentro del sitio del proyecto Apperture se dará a descarga el algoritmo del POC-CMS y de todos sus componentes para que dentro de la misma comunidad puedan evaluarse las características y corregirse fallos de rendimiento.

Diferentes versiones de POC-CMS: el administrador será ahora más versátil que nunca. Anteriormente POC-CMS estaba ideado para utilizarse como pequeño administrador de contenidos. Ahora, la aplicación será desarrollada para:

  • Uso como administrador de contenidos para sitios orientados a dispositivos móbiles con módulos específicos para optimizar ancho de banda cuando sea utilizado con acceso WAP, una versión mejorada para interfaces ricas como iPhone, iPod Touch o BlackBerry.
  • Orientado a la publicación de contenidos en sitios para bitacoras y blogs. Esta versión de la aplicación tendrá capacidades similares a las de otros sistemas de blogging como WordPress, Blogger, MovableType entre otros; con características multiplataforma.
  • Para sitios convencionales de grandes prestaciones con administradores de contenidos, noticias, galerías, etc. También igualando y superando las características de sistemas como Joomla! o Drupal.
  • Una versión para entornos diversos con capacidades de integración y una API de comunicación, con lo cual el nucleo base del administrador podrá ser utilizado en otros sistemas de tipo administrativo y de control que no necesariamente están focalizados en administrador el contenido de un sitio.

Un nucleo base y separación en módulos: Se buscará que exista un nucleo común para todos los desarrollos y que las demás opciones estén distribuidas en módulos instalables y/o reemplazables para promover la interdependencia de funciones.

Un sistema de instalación en línea: Una de las mayores demandas de la comunidad de usuarios de POC-CMS es precisamente la integración de un sistema de instalación para la aplicación. Dentro del proyecto Apperture se pretende crear herramientas de uso general por lo cual, dentro del desarrollo de la aplicación de instalació también se desarrollará una interfaz común para su posterior uso en otros proyectos.

Mejor manejo de plantillas: Se reestructurará completamente el manejo de las plantillas. Ahora, POC-CMS introduce un nuevo concepto basado en la separación de los diseños de las posiciones de los elementos en pantalla. Con una nueva interfaz tipo drag & drop será posible alinear los elementos dentro de la plantilla y situarlos en la posición de nuestra preferencia. Por otra parte, el diseño si intervendrá dado que será el que indique que áreas están disponibles para colocar los elementos. Adicionalmente, cuando situemos un elemento podremos configurar las propiedades de despliegue. Por ejemplo, si elegimos ubicar el visualizador de noticias en un área determinada de la pantalla, también podremos determinar que campos se despliegan, el efecto de transición, etc. todo dependiendo de las capacidades del módulo.

Nuevo modulo de Usuarios: incluyendo el soporte para la tecnología OpenID. Este módulo será ampliable en cuanto a los datos que guarde de los usuarios.

Uso de .htaccess: principalmente bajo el servidor Apache. Incluye el uso de Documentos de Error, URL’s amigables y opciones de seguridad para las carpetas. Para el uso en otros servidores se buscará una forma similar de funcionamiento transparente al usuario.

Creación de otros módulos de administración: el nuevo POC-CMS tendrá nuevo módulos tanto de administración como de cara al usuario de nuestro sitio. Entre algunos podemos mencionar la reestructuración del módulo de Administración de contenidos y noticias y galería.

Estas son solo algunas de las opciones importantes a destacar en la nueva versión del administrador de contenidos. No está de más indicar que se necesita de todo el esfuerzo de la comunidad y de nuevos usuarios para que POC-CMS 2.0 vea la luz y se posicione como uno de los mejores administradores de contenidos en el mercado. Además no olvidemos que POC-CMS seguirá siendo libre y código abierto.





Instalando Perl sobre Apache en Ubuntu

10 12 2007

Perl es un lenguaje multiproposito. De el vienen deribados varios lenguajes de programación como PHP. Hace algunos días me entro la curiosidad de probar como instalarlo en la computadora de mi oficina en Ubuntu 7.10. Debo reconocer que el procedimiento me llevó más de lo que espere. Pero ahora comparto con ustedes el procedimiento y los animo a probar este nuevo lenguaje.

Paso 1: Instalamos MOD_PERL: luego de instalar Apache instalamos MOD_PERL. Este es un módulo que nos nos proporcionará la conexión del lenguaje con el servidor Apache. Así, no tendremos que hacer mayores cambios. Como siempre en distribuciones Linux basadas en Debian es más sencillo instalar este tipo de cosas, utilizando Aptitude / Synaptic

$ sudo apt-get install libapache2-mod-perl2

El anterior procedimiento no resulto tan complicado. Bueno, con esto lo que hacemos es instalar el modulo para Apache. Pero con esto no basta. Recordemos que PERL viene por defecto instalado sobre Linux y al instalarlo en Apache utilizamos CGI (Common Gateway Interface) que viene deshabilitado por defecto.

Paso 2: Agregamos el HANDLED adecuado: . Posteriormente editamos nuestro archivo de configuración de Apache, agregamos las siguientes lineas y reiniciamos el servidor.

$ gedit /etc/apache2/apache2.conf

# Agregamos las siguientes líneas al final del archivo

AddHandler cgi-script .cgi
<Files ~ “\.pl$”>
    Options +ExecCGI
</Files>
<Files ~ “\.cgi$”>
    Options +ExecCGI
</Files>

# Reiniciamos el Servidor
$ /etc/apache2/apache2 restart

Y con solo esto ya tenemos instalado el soporte de Perl sobre Apache. Lo bueno de estos metodos de instalación es que podemos instalar mutliples tecnologías en el mismo servidor. Bueno, en mi caso ha sido para poder probar Movable Type, pero eso es tema de otro articulo.

Artículos Relacionados:





Apperture: desarrollo agil y multiplataforma

5 12 2007

Para muchos profesionales del Web el desarrollo de aplicaciones es una tarea bastante ardua. Ciertamente, en la actualidad contamos con un sin fin de herramientas tan diversas y con tantas funcionabilidades que a mas de uno tienden a confundir en cuanto a la decisión de tal o cual herramienta escoger para nuestro desarrollo. Existen desarrollos independientes, proyectos de código abierto y otros muchos de la vieja escuela de las licencias y de los “productos propietarios”.

Creo en el poder del software libre y de la influencia que tendrá en el futuro en el desarrollo de nuevos sistemas. La comunidad crece, la gente se interesa y cada uno ve por los propios intereses a través del trabajo en comunidad.

El que surjan proyectos de codigo libre no es ajeno a muchos. Cada día nuevos y nuevos proyectos son iniciados con el fin de satisfacer necesidades. Lo importante es recordar que no solamente satisfacemos nuestras necesidades como desarrolladores. Nuestro fin último es satisfacer las necesidades de nuestros usuarios. No debemos a ellos. Es por eso que la informática lo cubre todo: ciencia, investigación, ámbito académico, finanzas, comunicación, etc. El código libre crecerá imparable desde el próximo año.

Dirigiendo nuestra vista a este espacio del desarrollo informático llamado Internet, el desarrollo es imparable: Base de datos, programación, estructuras de contenido, diseño y cada uno en su conjunto con más divisiones.

Siempre me ha gustado Internet por las grandes posibilidades que existen para este medio. Diarmente veo como surgen herramientas cada vez más atractivas para los programadores; así que decidi contribuir con este mundillo e idear mi propio framework.

Y este framework es Apperture; basado en la metodología de desarrollo propuesta por mi mismo llamada L5 (Layer Five ó Cinco Capas). Pero mientras iniciaba su predesarrollo me día cuenta que simplemente hiba a crear otro artilugio con otras clases, programas y paquetes duplicados y que en otro lugar del mundo alguien mas capaz que yo hiba a tener la misma idea.

Así que me dije a mi mismo: por que complicar más la decisión a los programadores. Por que complicarse cuando el desarrollo y la programación debe ser divertida, sencilla, clara y ágil. Para el desarrollo en Internet existen mas que suficientes buenos módulos cada uno con una función específica.

Y esto es lo que ahora significa Apperture como plataforma de desarrollo.

Apperture es una plataforma de desarrollo que agrupa las mejores herramientas ya desarrolladas y que pone a disposición de los programadores dichas herramientas para un desarrollo más sencillo. La idea de Apperture es genear comunidad dentro del grupo de desarrollos independientes para que estos pueden utilizarse en nuevos sistemas con lo cual se ahorra tiempo y esfuerzo. Apperture está constituido al menos en estos puntos:

  • Buscar, analizar y poner a disposición de los programadores los mejores herramientas para construir mejores sistemas basados en Internet.
  • Contribuir en la medida de lo posible con los proyectos en el mejoramiento de los características y funciones de los mismos.
  • Realizar la portabilidad de estas herramientas a otros lenguajes de programación para Internet o liberar el algoritmo de dichas herramientas.
  • Impulsar el desarrollo de módulos que no existan.
  • Expandir la filosofía de trabajo en capas mediante el modelo L5.
  • Iniciar proyectos con capacidades mejoradas y herramientas altamente sofisticadas en la medida de lo posible bajo licencias de código abierto. Estos proyectos pueden ser tanto impulsados por la propia comunidad como propuestos por usuarios individuales y sometidos a examen de viabilidad.
  • Establecer comunicación con empresas con fuerte presencia y dominio del ámbito de Internet para apoyo en relación a la estandarización e interoperabilidad.
  • Conjuntamente, ir definiendo un framework tradicional con la inclusión de algoritmos mejorados de las herramientas analizadas.

Apperture es un proyecto ambicioso. Pretendemos ser una gúa a visitar por todos los programadores que necesiten emprender un desarrollo. Proporcionar pautas, herramientas, ejemplos de calidad es importante. Solo de esa manera el desarrollo en Internet ira sumando.

El proyecto está en su fase de inicio y necesita de la ayuda de todos los profesionales interesados en todas las áreas de desarrollo y en otras como planificación, promoción, etc.

Puedes inscribirte dejando un comentario en este artículo. Recuerda que la participación conjunta será crucial para el éxito de proyecto.

Iniciando el proyecto, tenemos como primer gran proyecto la reestructuración de POC-CMS a cargo de Gustavo Reyes. Este CMS de código abierto tendrá varias mejoras significativas y nuevas funcionabilidades; estando bajo el desarrollo conjunto del equipo de ambos proyectos.

El sitio del proyecto será http://www.apperture.org y en los próximos días se publicará un blog para hacer el primer seguimiento para posteriormente lanzar oficialmente un sitio más adecuado con la herramientas con muchas opciones.

Artículos Relacionados:





iconkits.com: Iconos de alta calidad

4 12 2007

Frecuentemente reviso mis suscripciones para ver sobre nuevas herramientas que aparecen en Internet. El día de hoy he encontrado este recurso en la red que quiero compartir con todos ustedes. El sitio es iconkits.com y es una página de venta de iconos de alta calidad. También tiene entre su catálogo uno que otro recurso gratuito.

IconKits

Un ejemplo de los iconos en Stock

Y para aquellos que tienen un proyecto en marcha, pueden pedir una cotización de íconos personalizados. Realmente un muy buen sitio donde se consiguen buenos recursos o al menos, para quienes tenemos bajo presupuesto, una que otra buena idea.