Saltar al contenido

Año: 2012

2012: Un gran año para Linux

Hace unos días la Linux Foundation publicó un video en youtube sobre los acontecimientos ocurrido entorno a Linux durante el 2012 y realmente me pareció excelente como este proyecto ha avanzado enormemente. Ya llevo usando Linux por 9 años, recordando como era en aquel entonces y como es ahora, veo lo enorme que ha avanzado el proyecto, principalmente pasó de ser un sistema operativo para Geeks o sistemas de gran cómputo, a ser el sistema operativo usar por la mayoría de dispositivos de la vida diaria.

Y en el 2012, sucedieron muchas cosas que muestra el video, como podemos nombrar:

  • Linus gana el premio de Millenium Technology.
  • Redhat logra obtener un beneficio de mil millones de doláres en el año.
  • Android se vuelve en el dispositivo de consumo mas usado.
  • Mas del 90% de las supercomputadoras usan Linux.
  • Las distintas convenciones  realizadas alrededor del mundo.
  • Y mas..

Si les gustó el video, compartar la información u opinen.

Deja un comentario

Crudgen: Generador CRUD para PostgreSQL usando phppgadmin

Crudgen fue mi proyecto de tesis de grado que culminé a medidados del 2009, el mismo consiste en un generador de páginas para realizar operaciones CRUD (Create, Report, Update y Delete) en una base de datos Postgres a través de phppgadmin, el mejor gestor web para administrar este tipo de base de datos. Para ese entonces modifiqué el código fuente de varias partes de la aplicación, dificultando su integración en el programa, al año siguiente (2010) decidí reescribirlo y modificar su uso siguiendo las sugerencias del equipo, sin embargo, por falta de tiempo lo abandoné. En agosto de 2011, se agregó soporte para complementos por parte de Leonardo Sápiras al participar en el Google Summer of Code, permitiendo escribir un plugin con esta funcionalidad sin modificar el código fuente del programa.En el último año, cuando tenía tiempo libre me puse a rescribir (por tercera vez) el programa y hasta hace poco logré finalizarlo.

El plugin permite a través de pocos pasos, generar páginas web para realizar operaciones sobre las tablas seleccionadas de una base de datos. El código generadoson funciones PHP para realizar las acciones, las cuales son llamadas desde una plantilla HTML, esta plantilla, puede ser programada fácilmente o fácil de adaptar desde un diseño un existente, permitiendo obtener resultados con diseños personalizados (a diferencia de las otras soluciones donde todos los resultados tienen la misma apariencia).

Respecto al código del lado del servidor, soporta las bibliotecas PGSQL o PDO_PGSL brindando posibilidad al usuario de elegir la que mas le convezca (debería usarse siemper PDO para mayor seguridad), posee seguridad respecto a ataques de inyección SQL, usa PHP5 de fácil lectura y con flexibilidad para adaptarla a los requisitos del programador. Centraliza funciones comunes entre las páginas y mucho mas.

Si les interesa, les invito a ver este vídeo en inglés (me di cuenta que necesito prácticar) donde explico todo el funcionamiento del programa, sino entienden el idioma, no importa, pueden ver todo el proceso y ver lo que genera el plugin.

Espero que lo utilicen, compartan esta información, reporten bugs, se unan al proyecto y aporten código al mismo.

Para utilizarlo pueden descargarlo desde la página de Crudgen en Github.

Deja un comentario

¿Por qué usar Cyanogenmod en mi teléfono Android?

Ya a estas alturas todos deberíamos conocer sobre Android, en mi opinión, su popularidad ha sido gracias a su licencia abierta pues permite tanto a empresas como a la comunidad realizar modificaciones al sistema operativo para: adaptarlo a ciertos sectores del mercado, diferenciarse de otras compañías inversoras en esta tecnología, realizar ciertas optimizaciones, tener mayor control del software y hardware, por mencionar algunos.

Cuando compras un teléfono el sistema Android que incluye por defecto fue desarrollado por la compañía fabricante (Samsung, HTC, Motorola, entre otros). Éste sistema tuvo que pasar por una serie de pruebas o certificaciones realizadas por Google y la compañía mencionada para garantizar el buen funcionamiento y estabilidad con el fin de mantener una buena imagen de Android, por ello, muchas modificaciones o funcionalidades deseadas no se encuentran presentes porque pueden sacrificar el rendimiento y/o estabilidad, afectando la imagen de ambas compañías. También por la misma razón, las compañías no suele actualizar la versión de android de los teléfonos por el tiempo que lleva: desarrollar los cambios, probarlos, certificar el resultado por Google y el dinero que consume realizar todo este proceso.

Cyanogenmod es una firmware realizado por la comunidad y soportado en una gran cantidad de dispositivos, la ventaja de este firmware son: inclusión de características y mejoras no soportadas por el resto de firmwares, permite a tu teléfono la última versión de Android a pesar de que no existan planes o versiones oficiales (si la compañía fabricante dice que no va a actualizar tu teléfono a la última versión gracias a Cyanogen puedes), incrementa  el tiempo de duración de la batería gracias a la activación de control de la frecuencia del CPU, inclusión de buenas aplicaciones extra como el navegador de archivos y reproductor multimedia, soporte de temas, mas opciones de personalización y mas.

Mi experiencia con Cyanogenmod la he disfrutado en 3 teléfonos:

  • Motorola Milestone: Cyanogen 6 y 7 no oficial porque Motorola no actualizó el teléfono a las últimas versiones de Android.
  • Samsung Spica: Cyanogen 7 no oficial  porque era la única ROM con Android 2.3 que funcionaba para ese teléfono.
  • Nexus S: Cyanogen oficial 7.0,7.1, 9, 9.1 y 10.

Si observan, son teléfonos distintos y dice algo de versiones oficiales, resulta que la comunidad de Cyanogenmod da soporte una gran lista de teléfonos, pero aquellos no incluidos allí, pueden tener un firmware adaptado por un tercero permitiendo disfrutar del firmware (El caso del Motorola Milestone y Samsung Spica). El problema de las versiones no oficiales de Cyanogenmod, es la poca estabilidad del sistema, bien sea por: problemas de migración, drivers cerrados e incompatibles con otra versión, limitaciones, etc.

En el caso de Nexus S, he podido disfrutar las versiones oficiales tanto de Google como de Cyanogenmod. La ventaja de usar las oficiales de Google es la estabilidad del sistema, Android 4 (Ice Cream Sandwish) la use como por 8 meses y tuve como 1 reinicio y mas nada, además las actualizaciones al realizarse por OTA, no tuve que perder datos ni instalar aplicaciones al actualizar pero tiene las limitaciones mejoradas anteriormente.

Ventajas

Al instalar Cyanogen estable, pude darme cuenta la diferencia, se siente como un teléfono nuevo. El rendimiento es ligeramente superior (la mayoría de los usuarios no se darán cuenta), agrega mas opciones de personalización como temas, mas métodos de desbloqueo, permite editar parámetros avanzados como: velocidad de procesador, modo de rendimiento (en demanda, rendimiento, entre otros), manejo de la memoria, notificaciones a través de la iluminación del teclado y una característica llamada Deep Idle, éste último duerme todos los servicios y baja el consumo del procesador al mínimo cuando se apaga la pantalla, incrementado enormemente el uso de la batería (en mi caso un 70% aproximado de mas tiempo).  También si utilizan su dispositivo para escuchar música mientras estas en el carro o mientras hacen ejercicio,  podrán notar lo difícil de estar mirando cada vez que desean cambiar la canción, con este firmware pueden utilizar los controles de volumen para cambiar entre pistas. También su launcher tiene ligeras modificaciones, como controles en la barra de notificaciones para activar y/o desactivar servicios, notificaciones mejoradas: permite usar las de Jelly Bean en versiones anteriores y algunas cosas extras como responder un SMS desde esta pantalla.

Desventajas

Las desventajas son pocas, la principal es el hecho que para instalarla se debe tener conocimientos de: obtener root en tu teléfono, modificar el bootloader (en algunos casos), instalar recoverys personalizados, respaldos NAND y otros. Cosas que no conocer el usuario promedio de Android y en los casos donde lo haces mal borras todo el contenido del teléfono. Sin embargo, existen guías explicando paso a paso para evitar este tipo de situaciones. Respecto a la estabilidad depende principal de 2 motivos: si la ROM es oficial del proyecto Cyanogenmod y de si existen los drivers del dispositivos para esa versión de Android. Si las dos se cumplen, te aseguro que correrá sin problemas, tal vez un reinicio rara vez pero es muy usable, de lo contrario puedes tener reinicios constantes o algún dispositivo del teléfono que no funcione.

Conclusiones

Realmente les recomiendo instalar Cyanogenmod si existe para su teléfono, la experiencia es superior a la ROM oficial de Google (no he usado las de HTC o Samsung), si tienen conocimientos de Linux, pueden jugar con la sección de «Rendimiento» y modificar los valores para obtener mayor tiempo de duración de la pila, ademas las mejoras visuales y de accesibilidad son muy buenas.

Para conocer del proyecto, visiten su sitio oficial: http://www.cyanogenmod.org/

Edición al 24/01/2017: El proyecto original ha cerrado y ahora se le conoce como LineageOS

33 comentarios

Clean Code: Libro para desarrolladores

Hace unos meses terminé de leer Clean Code, un libro recomendado en un artículo de Mundo Geek titulado 10 libros míticos sobre programación que todo desarrollador debería leer.  se enfoca hacia el programador y no al resto de tareas, por lo que si no son desarrolladores este libro no es para ustedes.

De hecho, al principio advierte sobre el uso de ejemplos usando porciones de código: recomiendan leerlos con calma hasta entenderlo correctamente, comparar modificaciones realizadas con el original y otros. Por mi  parte, me pareció muy interesante pues uno aprende a reconocer fácilmente errores cometidos y ver como se deberían hacer, además los ejemplos suelen estar en varios lenguajes de programación entendibles por cualquier profesional, pero si no te gusta programar este libro no es para ti.

El libro está divido en capítulos, en cada uno de ellos, se habla de un tema en específico como funciones, comentarios, objetos y estructuras, entre otros. Por ejemplo, el de comentarios (uno de los que mas me gustó) expresa como se debe documentar el código, casos en los que no es necesario, métodos, uso de Javadoc, ejemplos de malos comentarios y mas.  El de funciones explica los casos en que se deben crear funciones, como nombrarlas, casos en los que deben crearse funciones y mas. En otras palabras, solo se habla de un tema y se explica todo lo que se puede de él, al pasar a un nuevo capítulo se repite el mismo proceso para el nuevo concepto.

 

Portada de Clean Code
Portada de Clean Code

Un aspecto interesante, es como el autor logra explicar muchos conceptos de desarrollo de software o programación usando ejemplos de la vida cotidiana, por ejemplo, analogías de mantenimiento de la limpieza / mantenimiento de ventanas de un edificio con el mantenimiento de un sistema. Así que no deben ser unos estudiados en el tema para entenderlos, cualquier persona con una vida normal los entenderán (tal vez existan programadores que no han visitado un taller o han visto un edificio).

Es un buen libro, no me pareció muy bueno como Code Complete o The Pragmatic Programmer, pero se los recomiendo si son programadores, aprenderán nuevas técnicas, formas de escribir mejor código y mas. También al igual que con otros libros mencionados en este blog, opino que todo profesional debe leerlos cuanto antes para mejorar su forma de escribir código.

4 comentarios

Desarrolladores de Linux cantan: We’re not gonna take it

En el pasado LinuxCon se grabó una canción que refleja el espíritu de desarrollo de Linux, es una versión de We’re not gonna take it (No vamos a dejarnos  en español), una canción muy conocida en la decáda de los ochentas (el intérprete original es Twisted Sister). En el vídeo podemos encontrar a Linus Torvald y Robin Bergeron (a quien pude conocer en el FudCon) junto a los desarrolladores mas importantes de Linux.

Disfruten ahora de este vídeo para escuchar cuando estes programando, trabajando en Linux, o lo que sea.

1 comentario

Resumen de las 3ras Jornadas de Ingeniería Informática en la UNET

El pasado 24, 25 y 26 de octubre se realizó en la Universidad Nacional Experimental del Táchira, las terceras jornadas de Ingeniería en Informática. Aquí va un breve resumen del evento realizado:

 Miércoles 24/10

El evento comenzó puntualmente con palabras del profesor Giancarlo Colmenares (organizador principal del evento) explicando el motivo de la realización del evento, sus ventajas e itinerario del mismo. Luego la Jefa del Departmento de Ingeniería en Informática Maria Valero, pasó a hablar sobre la ventaja del evento para la carrera, destacamiento de los estudiantes del área al trabajar. Finalmente el Decano de Postgrado, el profesor Edgar Pernía habló sobre la importancia de este tipo de eventos para la universidad y como ayudan a la expansión de conocimientos que muchas veces no se ven en la carrera.

La primera exposición fue llevada por el Prof. Jhon Amaya, sobre metaheurísticas (no tengo los títulos completos), una buena presentación para quienes no conocemos del tema, eso sí, cargada con mucho contenido matemático y temas de inteligencia artificial. La segunda de la tarde, fue realizada por el profesor Miguel Vera (ULA) con patrones de reconocimientos de imágenes,  su aplicación en el área de la bioingeniería, entre otros. Esta ponencia estuvo llena de estadística, buenos chistes, presentación 3D de los resultados de análisis de imágenes.

Jueves 25/10

El segundo día comenzó con la presentación de Mozilla Foundation sobre HTML5 y estándares abiertos, se explicó sobre el Market de Mozilla, una pequeña presentación de Firefox OS y la sesión de preguntas. Al finalizar se montó un pequeño stand para recibir a alumnos interesados en participar en el proyecto Mozilla, la recepción fue buena y se entregaron artículos a los participantes de esta sesión.

La siguiente ponencia fue realizada por el equipo empresarial de Microsoft, los temas que hablaron fueron de Windows 8 (ese día era el lanzamiento mundial) y de Microsoft Azure. Al ser equipo comercial, no entraron en detalles técnicos sino mas bien hablaron de las ventajas de usar sus tecnologías, la facilidad de uso y demás estrategias para atraer clientes a sus tecnologías. La de Microsoft Azure si me pareció chévere, hablaron de como funciona la nube, terminologías básica, factores a tomar en cuenta para una migración, casos de clientes, una pequeña demostración de como funciona el servicio, entre otros.  Posteriormente, la jornada matutina culminó con una presentación del Ing. Jhony Moncada sobre su experiencia laboral y una serie de  factores a tomar en cuenta luego de graduarse como ingenieros, fue una excelente charla motivacional a todos los asistentes, pues recuerdo de estudiante tener muchas dudas respecto a la vida de graduado.

En la tarde, se dio una charla por parte del profesor Jonás Montilva de la ULA sobre las últimas tendencias en el desarrollo de software. Excelente charla sobre Ingeniería de Software, explicó las metodologías mas usadas por las empresas, como utilizan agile y como han evolucionado para mezclar lo mejor del mundo de las ágiles con las tradicionales, mostró su metodología de Watch y las variantes para cada tipo de desarrollo de software.  Al finalizar, habló un ex-alumno llamado Manuel, actual director de la parte de informática de la gobernación del Táchira. Fue una charla motivacional a los estudiantes para dar lo mejor de sí y las recompensas de ser bueno.

Luego de un breve receso se mostró un video de otro egresado, el ingeniero Marco Valero donde explicó su travesía laboral a lo largo del mundo, como hizo una maestría en una universidad de Estados Unidos, luego un post-grado en el mismo sitio y luego dedicarse al área laboral. Al finalizar el vídeo, el profesor Robinson Rivas de la UCV, dictó una charla muy interesante de como crear pizarras y mesas táctiles utilizando materiales de bajo costo, por ejemplo, con un video beam, 2 webcams, unos bombillos y una computadora logró transformar una pizarra en un dispositivo táctil.

Para finalizar se hizo un debate con unos alumnos, donde se hablaron de temas como que dispositivo móvil escoger, cual era el sistema operativo preferido por ellos, materias a ver en la universidad y mas. Fue una excelente dinámica, divertida, hubo participación del grupo, excelente moderación y mas. Lamentablemente no pude asistir a la exposición de proyectos, pero me contaron que estuvo muy bien. Leí varios comentarios de alumnos que les gustó el evento y la premiación.

Fue un excelente evento, sobre todo para los alumnos, pues les permite conocer sobre temas que no se ven en el currículo de la carrera, las charlas estuvieron muy buenas, estuvo la presencia de grandes profesores del país, representación de Mozilla Venezuela y Microsoft. Ojala se sigan haciendo este tipo de eventos en la universidad y en el estado para aumentar el conocimiento de todos, felicito la labor de los profesores de la comisión de eventos: Giancarlo Colmenares, Marcel Molina, Jose Clemente y Jose Orlando Figueroa por hacer realidad este evento.

1 comentario