Control de versiones con GIT

GIT es un sistema distribuido de control de versiones (ale, ¿como se te ha quedado el cuerpo?).

¿Qué es un sistema de control de versiones? Para explicarlo de forma sencilla, podríamos decir que es una forma de guardar todo el historial de un proyecto de forma que se almacenan todas las modificaciones que vamos haciendo sobre los archivos que editamos (que ha cambiado, quien lo ha cambiado, que había antes…).

Hay otros sistemas de control de versiones como Subversion o CVS, sin embargo GIT ha conseguido mucha popularidad en poco tiempo por ser muy fácil de usar y estar creado por Linus Torvalds (el del pingüino). Ademas, muchos de los grandes proyectos de hoy en día lo están usando (Ruby on Rails, jQuery, Android, Wine, Fedora, VLC, Gnome, etc).

Para los no iniciados en ningún sistema de estos, empezar puede resultar un poco difícil. En este post voy a intentar explicar los comandos básicos para iniciarnos en GIT.

Leer mas

Otra pequeña herramienta: Smush.it

Seguimos con otra herramienta para aligerar la carga de nuestras paginas web. En este caso vamos por Smush.it es otra herramienta de la casa Yahoo que se encargará de eliminar datos innecesarios de nuestras imagenes (por ejemplo, comentarios) reduciendo así el peso de la misma. Esto lo hace sin tocar la calidad de la imagen.

YSlow

Es un servicio que está incluido en YSlow, la extensión para Firebug.

Para ver sus efectos hay que instalar firebug, instalar YSlow, cargar una web con firebug abierto, ir a la pestaña de YSlow, pasar el test y por último ir imágen por imagen guardando el resultado.

Además, sólo nos habrá procesado las imagenes de la página cargada.

Como veis es un proceso largo y alguno estará preguntando, ¿no hay otra forma más rapida de hacer todo esto?

Os presento Smusher

Smusher es unaa pequeña utilidad escrita en php que envía una imagen o una carpeta entera (subcarpetas incluidas) al servicio de Yahoo.

Además nos dice el ratio de reducción de peso de cada imagen.

Podeis descargaros el codigo desde mi pagina de github.

Utilidad para comprimir javascript y css con YUI Compressor

YUI CompressorSeguro que a estas alturas todos conocereis el compresor de archivos javascript y css que los chicos de Yahoo publicaron hace años (y siguen mejorando con nuevas versiones) YUI Compressor.

Para quien no lo sepa, decir que es una pequeña aplicación de java que se ejecuta en un terminal / consola, a la que le pasas como parámetros los archivos javascript y css que quieres comprimir. El programa elimina comentarios y renombra variables para reducir el código y por tanto, el peso del fichero.

Es un proceso un poco tedioso sí tenemos muchos archivos porque hay que especificar la ruta de cada uno. Así que hice un pequeño programa que se ejecuta en php-cli que comprime todos los ficheros que haya en una carpeta con sólo una instrucción nuestra. También podemos decirle que nos una todos los archivos en uno sólo (genial para acelerar la descarga de nuestras páginas web) y algunas opciones más.

Podéis echarle un ojo y descargarlo desde la página de github.

GameMarkt, el ebay de los videojuegos

Como buen consumidor de videojuegos, me hago con unos cuantos de estos cada año. Además, tengo varias plataformas y el hecho de que una novedad me cueste alrededor de los 70 €, hace que este hobbie salga un poco caro.

Hace tiempo que me venia rondando la cabeza el hacer una web para poder comprar, vender y cambiar juegos entre los mismos usuarios sin necesidad de ningún tipo de intermediario. Algo así como un eBay, pero enfocado únicamente los videojuegos.

Bueno, pues ya está en marcha.

La pagina se llama GameMarkt y está lista para usarla.

El ebay de los videojuegos

El ebay de los videojuegos

Algunas de las características que tiene son:

  1. Enlazada con Google maps: cada usuario puede poner donde vive (en el grado de detalle que quiera) para localizar más las búsquedas de los títulos.
  2. Extracción de la información de la wikipedia: al dar de alta un titulo en el mercado, se intenta extraer toda la información posible desde la wikipedia, para completar los datos del juego.

El proyecto está realizado en php con el framework comodo.

Ruby on Rails… algo está naciendo en Internet

Ruby on RailsRuby on Rails es un framework open source que está optimizado para la productividad (y diversión :P ) del programador web.

Está basado en la estructura modelo-vista-controlador, es decir, separa los datos, la logica y la interfaz de usuario en tres partes. Como su nombre indica, la programación se lleva a cabo con código Ruby, un lenguaje orientado a objetos inspirado en Perl.

Lo que más llama la atención de Ruby on Rails es que se dice que se consigue hacer cualquier proyecto diez veces más rápido que con otro lenguaje.

Me queda decir también que este framework lleva incorporado de série prototype y scriptaculous haciendo que su uso sea extremadamente sencillo.

Ajax con Prototype

PrototypeDefinición de AJAX en la wikipedia

AJAX, acrónimo de Asynchronous JavaScript And XML (JavaScript y XML asíncronos), es una técnica de desarrollo web para crear aplicaciones interactivas. Éstas se ejecutan en el cliente, es decir, en el navegador del usuario, y mantiene comunicación con el servidor en segundo plano. De esta forma es posible realizar cambios sobre la misma página sin necesidad de recargarla. Esto significa aumentar la interactividad, velocidad y usabilidad en la misma.

La librería Prototype nos ayuda enormemente a usar AJAX en nuestras aplicaciones.

Vamos a ver como hacerlo con unos sencillos ejemplos.

Leer mas

Prototype: el elixir de javascript

PrototypePrototype es un framework para javascript creado por Sam Stephenson que ha revolucionado el modo de programar en este lenguaje.

Hasta ahora programar con javascript era algo tedioso y aburrido (almenos para mi). Desde que estoy usando esta librería, la programación se ha vuelto rápida, agil y lo que es mejor, divertida.

Desde hace un tiempo, infinidad de desarrolladores estan adoptándolo en sus proyectos y creando verdaderas obras de arte en cuanto a diseño de interfaz y herramientas para la web se refiere.

Pero, ¿que es lo que tiene Prototype que lo hace tan agradable para los desarrolladores?

Sigue leyendo y te explico un poco de que va todo esto…

Leer mas

Calcular hash MD5 en Visual Basic 2005

Resulta que he hecho una miniaplicación en Visual Basic que te avisa cuando llega la hora de un evento que anteriormente has guardado en un calendario de una web en PHP.

Al hacer esta aplicación me encontrado con el problema de la validación del usuario. Resulta que cuando creas un evento en la web te validas por medio de un password codificado en MD5 (con la función md5() de PHP).

Leer mas

Factoria de proveedores (Parte 2)

Anteriormente comentaba las bondades de la factoria de proveedores de Visual Basic a la hora de crear una aplicación fácilmente migrable entre distintos motores de bases de datos.

Aquí dejo un ejemplo de código (algo muy sencillito).

Leer mas

Factoria de proveedores

Visual Basic 2005

He estado probando un poco la factoria de proveedores de datos de visual basic 2005 express (DbProviderFactories class).

Esta clase sirve para relacionarse con la base de datos pudiendo cambiar el motor en cualquier momento, reescribiendo únicamente la cadena de conexion y especificando el nuevo proveedor. Esto nos vendria bien, por ejemplo, en una aplicación que se relaciona con Access y más tarde queremos cambiar a SQL Server. Anteriormente hacer este cambio significaba reescribir gran parte de la aplicación. Esta clase viene a solucionar este problema.

Los objetos command, dataAdapter, etc. seran independientes del tipo de base de datos.