Desactivar temporalmente claves foráneas en MySQL

Muchas veces tenemos que borrar datos de tablas, o vaciarlas completamente, pero MySQL no nos lo permite porque hay datos en otra tabla relacionados mediante clave foránea. ¿Cómo podemos desactivar las comprobaciones de clave foránea para ejecutar el borrado correctamente?

El siguiente código desactiva la comprobación de foreign keys, ejecuta las consultas, y luego las vuelve a activar. Ideal para vaciar tablas.

SET foreign_key_checks = 0;
DELETE FROM `tabla` where `id` = 45;
TRUNCATE TABLE `tabla_vaciar`;
SET foreign_key_checks = 1;

Este código es muy sencillo, pero nunca consigo recordarlo. Espero que os sea tan útil como a mi. ¿Dudas, sugerencias? Déjame un comentario.

Obtener coordenadas de un punto (Latitud y Longitud) a partir de una dirección usando Google Maps

ESTA ENTRADA HA CAMBIADO DE UBICACIÓN.
Para ver la versión completa de la entrada, visita: http://ivanargulo.com/blog/obtener-coordenadas-de-un-punto-latitud-y-longitud-a-partir-de-una-direccion-usando-google-maps

Además, y como motivación «extra», esta entrada habla de Google Maps API versión 2, el nuevo post habla de Google Maps API versión 3. Por lo que si quieres estar actualizado y que el código funcione, visita la entrada nueva.

El siguiente fragmento de código nos permitirá geolocalizar una dirección cualquiera, usando Google Maps y PHP. Hay muchos datos de geolocalización accesibles, pero por simplicidad usaré sólo Latitud y Longitud, suficiente para posicionar cualquier objeto en un mapa.

Lee el resto de esta entrada

La importancia de la web multilingüe

Debemos admitirlo: no estamos solos. En una época en la que viajes, noticias, economía y las culturas de todo el mundo están tan interrelacionadas, no podemos ignorar el hecho de que Internet también es un medio global, intercultural y sí, multilingüe.

Dicho brevemente: ni España es el centro del mundo, ni el español es el único idioma hablado. Por eso, a estas alturas de la globalización, se hace indispensable contar con páginas web que «hablen» a los usuarios en su propio idioma. Pero, ¿por qué se hace tan necesario? Veamos algunas razones:

  • Imagen: una web disponible en varios idiomas es un «guiño» al usuario; demuestra interés y concienciación por las necesidades de nuestros usuarios. Esto se hace, si cabe, más importante en páginas de comercio electrónico.
  • Mayor difusión y alcance de la información: una web en español puede llegar a, aproximadamente, 500 millones de personas (precisamente esta difusión del español hace que seamos «perezosos» a la hora de pensar en otros idiomas). Si además añadimos el inglés a nuestra web, abarcamos a otros 600 millones más (nos referimos a personas que tienen estos idiomas como primera o segunda lengua). Finalmente, con idiomas como el francés y el portugués podríamos llegar hasta los 700 millones de hablantes. En resumen:  4 idiomas en nuestra web permiten el acceso a 1.800 millones de habitantes, ¡y esto son 1.800 millones de posibles clientes!
  • Amortización de la inversión: el incremento de precio de una web multilingüe es pequeño, y a efectos reales es como tener varias páginas totalmente diferentes.
  • Posicionamiento en buscadores: más idiomas significa más contenidos, y por tanto los buscadores asignarán mejores puntuaciones a nuestra web.

Bien, supongamos que ya estamos decididos a hacer una web multilingüe. ¿Qué debemos tener en cuenta?

  • La web presenta diversos idiomas, no países. Salvo contadas excepciones, no se recomienda poner banderas indicando los idiomas disponibles (el español no sólo se habla en España, ni el inglés en el Reino Unido). Entre las excepciones están:  idiomas minoritarios que se hablen en un solo país, localizaciones específicas por países (Venezuela, Argentina, México, Perú, España…).
  • Los idiomas representan culturas. Esto implica que deben cuidarse ciertas expresiones que no tienen traducción, distribución de los contenidos… por poner un ejemplo extremo para entenderlo: los países de cultura árabe tienen mentalidades muy distintas a la nuestra, y debe cuidarse.
  • Distintos idiomas, generalmente, presentan distintas monedas. Si nuestra web es de comercio electrónico, haremos bien en facilitar la conversión a la moneda local del usuario (habitualmente, con euros y dólares americanos abarcaremos el mayor número de usuarios).

Como en todo, es importante el equilibrio: no merece la pena incluir una traducción al Xhosa a menos que las perspectivas de usuarios de este grupo lingüístico sean importantes.

En resumen, la próxima vez que debas hacer una web, pregúntate: ¿debo considerar la posibilidad de incluir, al menos, un par de idiomas más? Seguramente la respuesta sea afirmativa en la mayoría de los casos.

Ubuntu 9.10 «Karmic Koala»

Quedan unas horas para que salga a la luz la última versión de nuestra querida distribución de Linux: Ubuntu 9.10 «Karmic Koala».

Sólo por probar, he calculado cuánto tarda en iniciarse mi equipo con Ubuntu 9.04: un total de 35 segundos para tener el escritorio plenamente funcional. Todo esto con un Pentim 4 HT 3.2 Gh, doble núcleo y 1 GB de RAM.

¿Podrá Karmic superar este tiempo? Esperaremos a comprobarlo…

Ubuntu 9.10

Por el momento, buscando en Google he encontrado un par de páginas altamente recomendables para quienes todavía no se hayan decidido a instalar la nueva versión o actualizar la actual.

Como siempre, no se recomienda instalar esta versión nada más ser lanzada en sistemas que necesiten gran estabilidad. Aunque esta es una versión definitiva (vamos, que no es beta), aún no se sabe bien que problemas o incompatibilidades puede presentar.

Avisado lo obligatorio, veamos:

Google Calendar deja de funcionar con Evolution

Así es, esta semana, Google Calendar y Evolution han dejado de entenderse en mi equipo con Ubuntu 9.04 (Jaunty).

El error es el siguiente:

«No se pueden leer los datos del servidor de Google.
Connection terminated unexpectedly».

Cualquier tipo de ayuda se agradece…

Instalar webcam en Ubuntu Linux

Tras hacer una instalación limpia de Ubuntu (o probando los Live CD), habitualmente nos encontramos con un problema: muchas webcams no funcionan (y si lo hacen, no correctamente) en Ubuntu.

¿Significa esto que no tenemos posibilidad de utilizar nuestra webcam en Ubuntu? ¡Ni mucho menos! El problema radica en que la mayoría de los fabricantes no dan soporte para Linux, no incluyen los controladores apropiados o, simplemente, nos ignoran.

Pero para ello, tenemos una posibilidad para que nuestras webcam funcionen en Ubuntu: EasyCam.

El sistema es sencillo:

  1. Descarga el archivo DEB de EasyCam.
  2. Instálalo (doble clic sobre el archivo).
  3. Prueba que tu camara funciona. Para hacerlo puedes utilizar algún programa como Cheese, o Skype.

Es muy sencillo, y con mi cámara Trust W1300 ha funcionado a la perfección. Y para los usuarios de Pidgin: pronto estará disponible una nueva versión con soporte para videoconferencias… ¡Las cosas se ponen interesantes!

El blog de Iván Argulo: 20.000 visitas

Hoy, día 5 de julio de 2009, el blog ha recibido su visita número 20.000. Eso son muchas personas, muchos lectores (algunos de ellos habituales). GRACIAS.

Es una pregunta que a menudo me plantean los lectores, respecto a la licencia y  procedencia de los contenidos publicados en https://ivanargulo.wordpress.com, así como en la web personal http://ivanargulo.com.

Pues bien, para quien interese, aprovecho y comento sobre este tema:

Todos los contenidos, salvo que se exprese lo contrario, son escritos por el autor (Iván Argulo) y originales. En los casos excepcionales que se tome información de una fuente externa se especificará de forma clara (sea que lo exija la licencia del contenido o no), y se indicará su autor, incluyendo un enlace al mismo.

Si deseas utilizar algún contenido en tu blog, página web, publicación impresa o cualquier otro medio de difusión, puedes hacerlo sin necesidad de realizar ninguna consulta previa (aunque se agradecerá la comunicación del mismo al autor), siempre y cuando se cumplan los siguientes requisitos:

  • Debe mencionarse la fuente, e incluir un enlace al blog (https://ivanargulo.wordpress.com) o a la página personal del autor (http://ivanargulo.com).
  • No pueden alterarse los contenidos, aunque sí se pueden realizar extractos, citas o resúmenes (siempre y cuando sean objetivos y fieles a la información original).
  • La página que realice la cita no debe promover actividades ilícitas, ilegales, o de mal gusto.

Si tienes alguna pregunta, no dudes en consultar.

Finalmente, gracias a todos por vuestra visita.

Nueva versión de jQuery User Interface

Admito que desde que descubrí jQuery veo programar con JavaScript con otros ojos. ¿Y qué es jQuery? De forma resumida: es un conjunto de librerías diseñadas para facilitar la programación con JavaScript.

Presenta muchas ventajas, entre ellas:

  • Cross-Browser: facilita la creación de código compatible con todos los navegadores.
  • Ligero: apenas ocupa 19kb, y ofrece un gran número de funciones muy útiles en el día a día del programador (AJAX, animaciones, ocultar y mostrar elementos, validación, efectos gráficos)…
  • Sencillo y bien documentado: es increiblemente fácil de aprender, y tan sencillo de manejar que tras 15 minutos de usarlo ya te sientes cómodo con él.
  • Extensible: mediante plugins, encuentras de todo (galerías de imágenes, efectos, transiciones, etc.).

Pero recientemente se ha lanzado una «extensión» de jQuery: se llama jQuer User Interface y, como su nombre en inglés indica, permite crear de forma sencilla componentes gráficos de interacción con el usuario.

Por ejemplo:

  • Pestañas
  • Acordeón
  • Selección de fecha con calendario
  • Ventanas de diálogo (incluidas modales). Este punto me gusta especialmente: ¡por fin una solución decente a una necesidad tan básica! Se acabaron los alert y confirm.
  • Barras de progreso.
  • Y un sinfín de posibilidades.

Te animo a que le dés un vistazo. Merece la pena. De momento, ya planeamos usarlo de forma extensa (pero con cabeza, no merece la pena recargar la web con estos efectos) para nuestro próximo gran proyecto: la Tienda Virtual 3.0 de SGM Sistemas.

Descarga (gratuita), documentación y ejemplos: página oficial de jQuery y jQuery UI.

¡Ya está aquí!

¡Así es! ¡La nueva web de Iván Argulo está casi terminada!

Todas las sugerencias son bienvenidas. ¿Qué os parece? http://ivanargulo.com

Flash vs. HTML

Es posible que, al leer el título, muchos esperen una respuesta definitiva y categórica, similar a: «X» es mejor. Lamento decepcionarte si esperabas esto…

¿Por qué? Bueno, de forma resumida, en términos generales ninguna tecnología es mejor que otra. Ambas tienen sus puntos fuertes y sus puntos débiles. Veamos.

HTML es un lenguaje de marcado de etiquetas. Es decir, el texto se formatea mediante marcas especiales que lo distinguen. Por ejemplo:

<strong>Esto es un párrafo en negrita</strong>

Presentaría el texto más grueso, en negrita. Nótense las etiquetas <strong> y </strong> que engloban el texto.

Flash, por el contrario, es un conjunto de herramientas y tecnologías que trabajan usando fotogramas, similar a una película de cine.

Siendo realistas, no es justa la comparación Flash vs. HTML. ¿Por qué? Básicamente, HTML es un lenguaje antiguo y muy limitado; tanto que hoy en día no existe ninguna página realizada exclusivamente en HTML.

Pero, ¿no es cierto que todo lo que vemos en Internet es HTML?

En cierto modo, sí y no. Veamos: cualquier página web moderna usa un conjunto de lenguajes complementarios al HTML, por ejemplo CSS, JavaScript y, opcionalmente, un lenguaje de servidor como PHP (o ASP), incluso enlazado a una base de datos.

Por eso decimos que la comparación Flash vs. HTML no es justa, ya que hoy en día es imposible concebir HTML sin todos sus «anexos».

Por tanto, la pregunta se convierte en: ¿qué es mejor? ¿Flash, o HTML + CSS + JavaScript? La respuesta, en mi opinión, es: nunca hagas un sitio web completo en Flash.

Hay gente que opina de forma distinta (afortunadamente) y consigue realizar sitios web asombrosos en Flash (véase este ejemplo). Son animaciones gigantescas, muy elaboradas gráficamente y muy costosas.

Pero, ¿qué sucederá si necesitas hacer tu web en varios idiomas? Generalmente, en Flash hay que duplicar todos los archivos y modificarlos en el nuevo idioma… una labor colosal.

Pongamos ahora este otro ejemplo: la nueva web de L’Antic Colonial (desarrollo en el que he participado recientemente, en la empresa de Diseño Web SGM Sistemas). Destacamos lo más importante: categorías y colecciones (menú lateral) administrables. Productos y ambientes administrables. Noticias, descargas, novedades, área de usuarios… y un larguísimo etcétera. ¿Imaginas hacer todo esto en Flash? Podría hacerse, obviamente, pero sería mucho más caro y difícil.

Si te fijas, en la portada hay una animación en Flash, con varias imágenes alternando. Para eso se concibió Flash, para hacer animaciones. Y un sitio web completo no es, al menos no debería ser, una animación.

En resumen:

Lo bueno de Flash:

  • Posibilidad de crear animaciones espectaculares.
  • Gran integración con otras herramientas de Adobe (como Photoshop).

Lo malo de Flash:

  • Carente de accesibilidad (aunque están mejorando en ello): historial, favoritos, navegación por voz…
  • Te vincula a una herramienta cerrada, y cara: Adobe Flash.
  • Dificultades para vincular con bases de datos (generalmente se usa un lenguaje intermedio, XML, para poder leer los datos).
  • Más pesado = más tiempo de carga.
  • Más costoso (en tiempo y dinero).

Lo bueno del HTML:

  • Ligero y rápido.
  • Lenguajes auxiliares muy completos: CSS, JavaScript, PHP/ASP/JSP, conexión a bases de datos…
  • Estándar, accesible, abierto, gratuito.
  • Funciona en multitud de plataformas, sistemas operativos, navegadores, dispositivos móviles…
  • Versatilidad: puedes hacer lo que quieras.

Lo malo del HTML:

  • Necesita de otras tecnologías (ya mencionadas) para que sea medianamente decente.

Para mí, la mejor combinación para realizar una aplicación web de calidad es:

HTML para mostrar en el navegador.
CSS para el estilo de la web.
PHP para añadir programación del servidor (usando el fabuloso framework CodeIgniter).
JavaScript para la programación del cliente (con la magnífica librería jQuery para simplificar la tarea).

Dominando estas tecnologías, puedes olvidarte por completo de Flash.

Próximamente…

ivanargulo

La nueva web ivanargulo.com. Desarrollada con CodeIgniter, en 3 idiomas. Previa disponible aquí: http://ivanargulo.com

Usando CodeIgniter en un proyecto real

Recientemente en la empresa para la que trabajo (Sistemas Globales Multimeda, también conocida como SGM Sistemas) se nos planteó un presupuesto, cuanto menos, atractivo e interesante. Tras muchas deliberaciones en torno a qué lenguaje utilizar (ASP o PHP), finalmente nos inclinamos por éste último por varias razones:

  • Mayor cantidad de herramientas disponibles (Eclipse frente a Dreamweaver; MySQL frente a SQL Server; MySQL Workbench para el diseño de la base de datos, PHPMyAdmin y un servidor con Plesk).
  • Más componentes disponibles y a un precio más asequibles (cuando no gratuitos).
  • Mejor separación entre el código y el diseño.

Nuestro equipo de trabajo había tenido de forma reciente buenas experiencias con PHP, logrando reducir los tiempos de desarrollo y aumentando sensiblemente la calidad y reusabilidad de las aplicaciones realizadas.

El proyecto constaba de las siguientes áreas:

  • Extranet con posibilidad de intercambio de documentos.
  • Notificación de disponibilidad de documentos, y de lectura de los mismos vía e-mail.
  • Gestor de contenidos basado en plantillas predefinidas.
  • Gestión de descargas, noticias y galerías.

No es uno de los mayores proyectos a los que nos hemos enfrentado; no obstante, dada la importancia del cliente (una institución pública) el resultado debía ser óptimo, bien probado y en un marco de seguridad importante.

Tras barajar las posibilidades disponibles (utilizar un framework o programar con PHP puro), nos decantamos por el uso de CodeIgniter, por las siguientes razones:

Razones para el uso de un marco de trabajo (framework) frente a desarrollar la aplicación desde cero con PHP:

  1. La seguridad debía ser un factor clave: datos introducidos por el usuario debidamente validados y filtrados para evitar ataques XSS.
  2. Comunicación con Base de Datos (MySQL) automatizada, validando todas las consultas y filtrando los datos variables para evitar inyección SQL.
  3. Disponer de componentes plenamente probados, con el objetivo de mejorar la productividad.

Razones para el uso de CodeIgniter frente a otros marcos de trabajo:

  1. Amplia documentación disponible.
  2. Ligero, y sin instalación (para comenzar a desarrollar una aplicación basta con copiar los archivos, y ponerse a trabajar).
  3. Compatibilidad con una amplia variedad de servidores y configuraciones (la aplicación se concebiría para ejecutarse en un hosting compartido con otros clientes, y con relativamente poca posibilidad de configuración).
  4. Flexibilidad, ya que no obliga a tener una determinada estructura de tablas, nombres de campos, ni adherirse a una forma de programar concreta.

Entre las desventajas y dificultades con las que nos encontramos durante el desarrollo del proyecto están:

  • Curva de aprendizaje: necesidad de aprender nuevas funciones, estructuras y métodos de programación.
  • Dificultad para adaptar el código escrito en PHP tradicional (nuestra empresa contaba con una administración escrita en PHP puro, con listados, formularios, subida de archivos, etc.). No disponíamos de tiempo para comenzar de cero, por lo que se optó por adaptar el existente a la nueva filosofía. Esto no debería representar mucha dificultad para un programador avanzado, con experiencia en desarrollo de proyectos de complejidad media.

A medida que avanza el desarrollo de la aplicación (aún está en fase de desarrollo) hemos solventado todas estas dificultades, resultando un proyecto muy interesante, de gran calidad y fácilmente reutilizable. La adaptación de los componentes ya desarrollados no conllevó serios problemas (eso sí, manual de CodeIgniter en mano) y el resultado está siendo más que satisfactorio.

No obstante, al ser este el primer proyecto serio en el que empleamos CodeIgniter no podemos hacer una valoración de la facilidad o dificultad de las futuras modificaciones. No obstante, por la forma de estructurar la aplicación y los archivos suponemos no entrañará mayor dificultad.

Proyecto con CodeIgniter

Proyecto con CodeIgniter

Comunidad CodeIgniter en español

Ya está en marcha el blog de la comunidad CodeIgniter en español. Un lugar donde se recogen las experiencias y colaboración de todos los desarrolladores que usan CodeIgniter en sus proyectos.

La dirección es: http://comunidadcodeigniter.wordpress.com

¡Todo el que lo desee puede participar con sus comentarios!

Modelo Vista Controlador

Es inevitable comenzar una discusión entre programadores cuando se habla de lenguajes de programación. Ya no sólo que cada uno tiene sus preferencias personales, costumbres e ideas; finalmente se termina discutiendo acerca de Programación Web y Programación de Escritorio.

Como es lógico, cada uno tiene sus ventajas e inconvenientes. No obstante, la programación de escritorio siempre ha sido más «tradicional». Programación por un lado, diseño de interfaz por otro…

Al analizar los lenguajes de programación web nos damos cuenta que, desde el mismo comienzo, las cosas son distintas. ¿Por qué?

De forma sencilla: el resultado tiene que ser HTML (hablando de forma general). Sin embargo, HTML no es un lenguaje de programación propiamente dicho, y los servidores no entienden HTML.

Debido a lo mencionado anteriormente, se hace necesario utilizar un lenguaje que sí entienda el servidor (léase ASP, JSP, PHP, Perl, Ruby, y un larguísimo etcétera). Esto conlleva una serie de inconvenientes, como la necesidad de aprender varios lenguajes de programación para conseguir un resultado (HTML + Lenguaje de servidor + JavaScript, habitualmente) o la imposibilidad de depurar de forma eficiente la aplicación, salvo probando el resultado (o la salida) de la misma.

Sin embargo, posiblemente el peor de todos esos inconvenientes es la excesiva tendencia a mezclar HTML con lenguaje de servidor.

Es decir, con muchísima frecuencia se ve esto (ejemplo en ASP):
<% while not rs.Eof %>
<tr>
<td>Nombre:</td>
<td><%= rs("Nombre") %></td>

</tr>
<% wend %>

Y es un serio problema… especialmente cuando quieres cambiar el diseño (en aplicaciones que deben ser reutilizadas frecuentemente), o cuando el diseñador/maquetador no conoce el lenguaje de programación utilizado.

¿Cómo solucionar, o al menos evitar en parte, este problema?

Bueno, cabe decir que es completamente imposible aislar por completo la presentación de la programación, por el simple hecho de que la presentación debe generarse desde el servidor.

Aunque hay soluciones como usar plantillas (la lógica no se crea mediante un lenguaje de programación, sino un «pseudolenguaje» de plantillas, lo que a fin de cuentas viene a ser lo mismo), actualmente se tiende a utilizar un sistema que aisla en diferentes capas la programación y el diseño: el Model Vista Controlador.

¿En qué consiste esta filosofía, denominada comúnmente MVC?

Pues bien, básicamente hay tres capas en la aplicación:

  • Modelo: capa que realiza todas las tareas de comunicación con la base de datos, como ejecución de consultas, generación de recordsets y tablas, etc.
  • Controlador: recibe las peticiones y decide qué se mostrará y cuándo. Si tenemos un área de «Productos» y otra de «Servicios», cada una de ellas tendrá su controlador. Puede existir que un controlador rija todas las operaciones (por ejemplo «productos/ver», «productos/listado», «productos/borrar»).
  • Vista: al recibir la petición del controlador decide cómo se mostrará la información suministrada por el controlador. Es decir: la presentación del contenido.

¿Qué ventajas presenta este modelo?

Pues bien, al separar la presentación de la programación (o lógica de negocio), la aplicación es más fácil de modificar en el futuro (si intentas vender esto a tus superiores deberás decir que «la aplicación es más escalable» y «puede mantenerse mejor»); el resultado es más claro, y el reparto de tareas dentro del equipo de trabajo es más fácil; la depuración de la aplicación es más sencilla y, finalmente, puede utilizarse un marco de trabajo (o framework) bien testeado.

¿Presenta inconvenientes, o es todo tan bonito como dices?

Si decides utilizar un framework, evalúalo muy bien antes de comenzar, ya que su complejidad puede afectar (positiva o negativamente) al tiempo de desarrollo del proyecto.

Es necesario invertir tiempo en crear un modelo (si decides programarlo tú mismo) o leer la documentación y comprender lo que ya está hecho (si decides utilizar un framework ya creado).

No obstante, el mayor inconveniente puede ser el cambio de mentalidad de los distintos componentes del equipo, ya que se abandona la técnica tradicional de programación «pagina A -> pagina B -> pagina C»; muchos serán reacios a cambiar su forma de trabajar y posiblemente tendrán de su lado a los directivos, que no suelen querer «arriesgar» o «innovar» (salvo algunas afortunadas excepciones).

En resumen:

  • El Modelo Vista Controlador (MVC) separa la lógica de la aplicación y la presentación en varias capas.
  • Facilita la labor de todo el equipo: diseñadores gráficos, programadores, diseñadores de base de datos y.
  • Existen marcos de trabajo ya programados (según en lenguaje de programación hay más o menos posibilidades) que facilitarán el trabajo de los miembros del equipo de trabajo.

Aplicaciones basadas en CodeIgniter

A continuación presentamos una lista de aplicaciones desarrolladas con CodeIgniter. Está en permanente actualización, así que sentíos libres de hacer vuestras contribuciones y sugerencias.

Bamboo Invoice

Sistema de facturación on-line, libre y multiidioma.

http://bambooinvoice.org/

68kb

Sistema para crear «bases de conocimiento», dedicados a reunir documentación sobre un tema específico. Es ideal para colectivos de profesionales que necesitan estar al día con las novedades en su profesión.

http://68kb.com/

Open Blog

Sencillo y completo blog hecho íntegramente con CodeIgniter. Tiene soporte multiidioma, varias plantillas predefinidas (con la posibilidad de crear nuevas) y todo lo que se puede esperar de un blog decente.

http://www.open-blog.info

CodeIgniter: simplificando la programación en PHP

A la hora de desarrollar proyectos web de complejidad media nos enfrentamos a diversos problemas que pueden hacer que un proyecto que parecía interesante pase a ser un infierno de código.

Frecuentemente los escasos plazos, presupuestos ajustados y presiones por parte de los superiores (a menudo muy desconectados de la programación) hacen que los proyectos no tengan la calidad que deberían, y terminan siendo más un problema que un trabajo decente.

¿Cómo evitar los problemas de trabajar en un proyecto web de programación?

Algunos de los consejos son más que obvios: mantén una programación clara, investiga antes de comenzar, plantea una buena estructura de datos…

Sin embargo, aun cuando se es un programador pulcro y ordenado, finalmente deberás enfrentarte a la realidad: cuantas más líneas escribas, más errores cometerás.

¿Se pueden realizar trabajos de más calidad, programando menos? La respuesta es: Sí, utilizando un marco de trabajo adecuado (framework). Estos marcos son bibliotecas de código bien probadas, generalmente utilizando el Modelo Vista Controlador (puedes leer más acerca del Modelo Vista Controlador en Wikipedia o en este post de nuestro blog sobre MVC). Se utilizan para hacer de forma más rápida las tareas más repetitivas: creación de formularios, conexión a base de datos, paginación, etc.

Al estar ya todo hecho, simplemente hay que usarlo, se evitan los errores típicos de la programación tradicional que nos han sacado los colores en más de una ocasión (cualquiera que haya presentado un proyecto ante uno o varios clientes sabrá a lo que me refiero: un enlace erróneo, un error no manejado…)

Para quienes trabajan con PHP, encontrarán que hay una gran cantidad de estos frameworks que pretenden hacer la vida más fácil a los programadores. Pero ¡cuidado!, algunos harán que el proyecto se complique más. No tiene mucho sentido utilizar un framework para una web de cuatro páginas, a menos que sea como experimento…

Veamos a continuación un marco de trabajo en PHP que cumple unos requisitos muy definidos:

  • Mantiene un equilibrio correcto entre lo que ya está hecho y lo que debes programar. Un framework con muchas funciones es más fácil de usar, pero más lento y pesado.
  • Debe estar bien documentado. Te vendrá muy bien cuando estés empezando.
  • Debe ser ligero, configurable y sencillo.
Logo CodeIgniter

Logo de CodeIgniter

Un marco de trabajo que me ha sorprendido es CodeIgniter. Rápido, funcional y bien documentado. Creo que es ideal para comenzar a trabajar en proyectos de cierta complejidad.

Obviamente no es el único: ZendFramework, CakePHP, Kohana hacen seria competencia a CodeIgniter.

¿Por qué, entonces, nos decantamos por CodeIgniter?

Principalmente porque es el más rápido y el que más documentación tiene. Además te permite mantener una forma de programación más «clásica», al no tener tantos módulos o librerías como otros que, en muchos casos no se utilizan.

De forma que podemos asegurar que CodeIgniter es muy adecuado para empezar a trabajar en un Modelo Vista Controlador. Tus proyectos de programación web ganarán en calidad, y serán más rentables.

OpenOffice 3: La última versión

Y digo la última aunque podría deshacerme en halagos ante esta versión… pero no lo voy a hacer.

Antes de nada quiero aclarar que uso OpenOffice 3 en mi trabajo y en casa, he instalado OpenOffice 3 en muchos equipos y lo he recomendado a amigos y familiares.

Era mucho lo que se esperaba de esta versión de OpenOffice, un diseño más moderno… pero en realidad las novedades son pocas.

A diferencia de Firefox 3, quien me sorprendió muy gratamente por todas las novedades que trae, realmente estoy un poco decepcionado con esta versión de OpenOffice. Sí, Sinceramente, esperaba más.

Sin embargo, ya la tengo instalada y seguiré con OpenOffice pase lo que pase. Y aunque digo esto, sigo recomendando a todo el mundo que se descarge, absolutamente gratis, e instale el mejor paquete ofimático del Software Libre. Y del Software Propietario también, ¡por qué no!

Aquí va un enlace para descargar gratis OpenOffice 3.

Ubuntu Linux en Acer Travelmate 662LCi

Recientemente compré un portátil (laptop), un Acer Travelmate 662LCi. Viene con licencia original de Windows XP, pero me resistía a instalarlo (muy amablemente en la tienda me lo dejaron formateado y en blanco).

Probé la versión 7.10 de Ubuntu (Gutsy Gibbon), pero no se veía del todo bien la pantalla. Entonces probé con el CD Live de Feisty Fawn (7.04), y todo fue perfecto, y a la primera. Así que lo instalé.

Aunque aún estoy probando la wifi y el Bluetooth, parece que todo va correctamente. Y por supuesto, instalé la Watchtower Library 2006.

Además instalé gDesklets, una colección de pequeños programas para decorar el escritorio (con cosas realmente útiles).

Finalmente, el resultado ha sido muy satisfactorio. Ubuntu también funciona en portátiles.

¡Ubuntu 7.10!

Después de tanto esperar, ya está aquí la versión definitiva de Ubuntu Gutsy Gibbon (7.10).

Como novedad, los efectos gráficos vienen activados por defecto. Sin embargo, en mi equipo (AMD K7 a 1200 Mhz) no se activó. ¿El problema? Ubuntu considera que el rendimiento de mi equipo se vería afectado. Para activarlos, haz clic con el botón derecho sobre cualquier parte del escritorio, y pulsa en «Cambiar fondo de escritorio». En esta pantalla aparecen (pulsando en las distintas pestañas) todas las opciones de configuración visual. La última pestaña te permite seleccionar tres configuraciones: Sin efectos, con efectos mínimos para no afectar al rendimiento y por último, Con todos los efectos visuales. Tras marcar esta, será necesario descargarse los controladores de tu tarjeta (todo automático).

Entre otras novedades de Gutsy Gibbon están:

  • Gnome 2.20 (con algunas mejoras).
  • Últimas versiones de software (por ejemplo Firefox, OpenOffice y Evolution en sus últimas versiones).
  • Applet de intercambio rápido de usuario.
  • Applet de búsqueda integrado (para buscar en la web o en el equipo).
  • Carpeta «Lugares» dividia en Música, Vídeos, Fotos…
  • Mayor compatibilidad con hardware de «plug & play», como impresoras: basta con conectarlas al equipo y las reconoce.

Y con todo lo bueno que nos proporciona Ubuntu continuamente: facilidad de uso al máximo, gran cantidad de software instalado y mucho más aún disponible, y todo, absolutamente todo gratis.

Puedes descargar gratis Ubuntu 7.10 (Gutsy Gibbon) en los siguientes lugares:

http://releases.ubuntu.com/releases/7.10/

Si eres de los que usa KDE, puedes descargar gratis Kubuntu 7.10 (Gutsy Gibbon) aquí:

http://it.releases.ubuntu.com/kubuntu/7.10/

Los servidores suelen estar bastante saturados, por lo que es posible que necesites un poco de paciencia.

Si usas torrents, para Ubuntu:

http://releases.ubuntu.com/releases/7.10/ubuntu-7.10-desktop-i386.iso.torrent 

Instalar extensiones de Firefox como aplicaciones de escritorio

¿Alguna vez has querido usar una extensión de Firefox sin tener que usar el navegador? Pues si te planteas si realmente es posible, la respuesta es sí, es posible utilizar extensiones de Firefox de forma independiente al navegador.

Lee el resto de esta entrada

Próximamente: Ubuntu 7.10

¡Esta es una buena noticia para todos los usuarios de este excelente Sistema Operativo! Sé que la noticia no es para nada nueva, pero el 18 de octubre está previsto el lanzamiento de Ubuntu 7.10, llamado «Gutsy Gibbon».

¿Qué novedades ofrece esta nueva versión?

Ubuntu siempre busca un acercamiento del sistema Linux a los usuarios. Siguiendo esta filosofía, todo se presenta bastante más fácil.

Por ejemplo, instalar la aceleración y efectos gráficos es más fácil que nunca: viene por defecto. Yo he probado la versión «Beta» o de pruebas, y debo reconocer que esto no ha sucedido: los efectos gráficos no han aparecido. ¿Por qué? Pues no, no es ningún error de Ubuntu. Automáticamente ha detectado que mi máquina no es lo suficientemente potente como para activar los efectos sin que se vea afectado el rendimiento, y ha elegido una configuración intermedia más adecuada: añade algunos efectos pero elimina los que más carga suponen para el ordenador. Inteligente, ¿no crees?

Incluye también unos plugins de intercambio rápido de usuario y búsqueda rápida (en el equipo y en internet). El panel de configuración gráfica ha sido unificado (temas, fuentes, ventanas y efectos aparecen en la misma ventana) y, nota curiosa: al conectar el bluetooth lo ha reconocido automáticamente, aunque no he tenido tiempo de investigar más al respecto.

Y por supuesto, mejoras en el sistema gráfico: ahora detecta más tarjetas (incluidas las ATI) y aunque estropees algo, la pantalla no se queda en negro.

Creo que esta versión de Ubuntu se va a merecer un notable muy alto. ¿Por qué no la pruebas? Tan solo quedan… ¡unos pocos días!

Ubuntu 7.10 - Coming soon

Editores de Blogs para Ubuntu Linux: BloGTK y gnome-blog contra Deepest Sender

¿Cansado de acceder a internet para añadir entradas a tu blog? Si usas Ubuntu Linux, tienes muchas herramientas para facilitarte el trabajo.

¿Necesitas un editor de blogs? Actualmente estoy probando dos: BloGTK y gnome-blog.

Puedes instalarlos en Ubuntu desde el menú Aplicaciones > Añadir o quitar. Elige «Todas las aplicaciones disponibles» y en «Buscar» escribe la palabra blog. Con eso tendrás acceso a dos herramientas: BloGTK (versión 1.1) y gnome-blog.

Es sencillo configurar BloGTK y gnome-blog para que funcionen con WordPress (por ejemplo). En mi caso tan sólo he tenido que introducir en el campo Server URL la siguiente dirección: https://ivanargulo.wordpress.com/xmlrpc.php. Por supuesto, debes introducir tu usuario y contraseña.

Como puede apreciarse, la dirección es el nombre de tu blog añadiendo /xmlrpc.php. Sencillo ¿verdad?

Os hago una breve valoración de ambas herramientas.

BloGTK

  • Lo bueno:
    • Gestión de perfiles (puedes mantener varios blogs al mismo tiempo).
    • Las entradas se editan en código HTML, lo que te da más posibilidades.
    • Permite utilizar categorías para los post.
  • Lo malo:
    • Está en inglés.
    • Si no sabes HTML se complica bastante.
    • Lo de las categorías no funciona del todo bien.

gnome-blog

  • Lo bueno:
    • Muy sencillo de manejar (negrita, cursiva y enlaces).
    • Rápido de añadir una entrada.
  • Lo malo:
    • No permite añadir categorías a las entradas.
    • Muy limitado.
    • Sólo se maneja un blog. No tiene la posibilidad de mantener varios simultáneamente.

Pues bien, acabo de descubrir una herramienta que sin duda ha colmado mis espectativas: es una extensión para Firefox que permite editar blogs en varios formatos distintos, entre ellos Blogger, WordPress y Live Spaces (aunque con éste último aún no he conseguido que funcione).

Deepest Sender

  • Lo bueno:
    • Gestión de perfiles muy avanzado y sencillo
    • Las entradas se editan en modo texto (sin códigos extraños), aunque permite ver el código fuente para un mayor control (para usuarios avanzados) y cuenta con el modo «vista previa».
    • Permite utilizar categorías para los post y soporta varias categorías.
    • Perfectamente integrado con Firefox.
    • Independiente de la plataforma (siempre que tengas Firefox lo puedes instalar)
  • Lo malo:
    • Depende de Firefox. Aunque en un primer momento ésto no es malo, llega un momento en que usamos el navegador de Internet para todo (a mí, personalmente, me cansa).

Aún nos queda mucho que progresar en esto de la edición «off-line» de blogs… Sin embargo, e incluso probando Drivel (otro editor más), hasta la fecha me quedo con Deepest Sender. Además, al ritmo de desarrollo que están las extensiones para Firefox, ésta promete.

Captura de pantalla de BloGTK 1.1
BloGTK: editor de blogs para Ubuntu Linux

NOTA: En las opciones de BloGTK, en concreto bajo el apartado «Blogging System» elige «Movable Type» en lugar de «MetaWeblog API». Funciona mejor, entre otras cosas, lee las distintas categorías disponibles.

Cómo instalar programas en Ubuntu

Debido al auge en las descargas de Internet una de las principales cosas a las que se dedican los usuarios es a instalar y probar programas nuevos. De hecho, si hiciéramos una encuesta entre las operaciones más habituales que realizan los usuarios de (casi) cualquier sistema operativo encontraríamos:

  • Navegar por internet.
  • Escuchar y grabar música.
  • Realizar documentos de texto.
  • Descargar y probar software.

Para los usuarios de Windows, esta tarea puede ser relativamente sencilla: descargas un programa (generalmente un archivo .exe), doble clic en el archivo y a instalar. Si el programa es pirateado o versión demo, hay que buscar el crack o el keygen y quitar la seguridad (nota: es delito si el programa está protegido por las leyes de propiedad intelectual).

Sin embargo, los usuarios de Linux, especialmente Ubuntu, se encuentran con un problema: a primera vista, instalar programas parece más complicado.

Y digo parece porque realmente no lo es. A continuación exponemos varias formas de instalar programas en Ubuntu: instalación de forma gráfica e instalación usando Synaptic. Todas ellas son realmente fáciles.

Instalación de forma gráfica

En Ubuntu, instalar software de forma gráfica es tan sencillo como ir al menú Aplicaciones > Añadir o quitar.

En el cuadro de texto (arriba a la izquierda) podrás escribir el un texto a buscar. La herramienta buscará automáticamente todos los programas que coincidan. Te recomiendo que la búsqueda sea sencilla. Si buscas «MP3» encontrarás todo lo relacionado con este formato de música.

En el desplegable de la parte superior puedes seleccionar en qué fuentes de programas quieres buscar. «Todas las aplicaciones soportadas» se refiere a aquellas que Canonical, la empresa que «empaqueta» Ubuntu, considera que son suficientemente estables como para que puedan utilizarse, y que encajan bien con el entorno. «Todas las aplicaciones disponibles» busca entre una cantidad mayor de programas. Por lo tanto, si no encuentras la aplicación que buscas entre las primeras, tal vez esté entre las segundas.

Instalación usando Synaptic

Si bien esta aplicación daría para escribir muchas más líneas, de forma resumida nos permite buscar programas de una forma similar a la herramienta de Añadir y quitar programas.

Te vendrá muy bien cuando quieras buscar software específico, códecs de MP3, drivers, y otros programas que se encuentren en repositorios (almacenes) distintos a los de Ubuntu.

Lo puedes encontrar en Sistema > Administración > Administrador de Paquetes Synaptic. Una excelente herramienta sin duda.

Próximamente comentaré otras formas de instalar programas, aunque menos gráficas e intuitivas que las mencionadas hasta ahora.

¿Tienes Windows Vista? ¡Cámbiate a XP!

Por sorprendente que parezca, Microsoft está facilitando que los clientes que tienen instalado Windows Vista original se cambien (de nuevo) a Windows XP Profesional. Esto, que podría parecer un atraso, viene motivado por las quejas y problemas que este novedoso, a la par que decepcionante, Sistema Operativo está provocando entre los usuarios y profesionales.

Los continuos problemas de compatibilidad que Windows Vista tiene con drivers y programas hacen que cada vez menos empresas y usuarios confíen en él. A pesar de venir instalado en portátiles y equipos de escritorio, no son pocos los usuarios que formatean sus equipos (borrando Windows Vista) para instalar de nuevo Windows XP.

Microsoft ha declarado que este Sistema Operativo no ha tenido toda la repercusión que esperaban en un principio, y algunos fabricantes han calificado su calidad como decepcionante1.

Así que, como sugerencia, si tienes Windows XP, quédate con él. Y si piensas comprar un equipo nuevo (o un portátil), evita que venga con Vista instalado. Te ahorrarás mucho dinero.

 

Firefox 3

Ya queda menos para el lanzamiento de Firefox 3, aunque la versión actual es la 2.7.

¿Qué es Firefox? Pues bien, es un navegador de Internet (similar a Internet Explorer).

La pregunta que surge es: «Yo navego con Internet Explorer. ¿Por qué debería cambiar?»

La respuesta se divide en varias razones:

  • Seguridad: sin duda, la principal razón. Navegando con Internet Explorer estás atado y en riesgo de infección por parte de virus, «exploits», phising (captura de datos privados) y un sinfín de riesgos.

  • Modernidad: si utilizas Internet Explorer 6 estás usando un navegador que tiene más de 5 años. ¿No crees que sería mejor usar algo un poquito más actualizado? A fin de cuentas, la web cambia. ¿Por qué no tú?

  • Comodidad: Firefox permite tener abiertas varias páginas dentro de la misma ventana. Esto ahorra memoria y espacio (¿cuántas veces has tenido tantas ventanas abiertas que no sabes qué web estás viendo?).

  • Gestor de descargas. ¿Te ha pasado alguna vez que, descargando un archivo grande, se produce un error y tienes que empezar de cero? Pues bien, con Firefox eso no es problema. Si la conexión se interrumpe, cuando vuelve se reinicia desde el punto en que se quedó.

  • Estética. Firefox es configurable con Temas. Personalizas el navegador a tu gusto, haciéndolo único.

  • Funcionalidad. Puedes ampliar tu navegador con Extensiones. Estas te permiten tener el tiempo que va a hacer, revisar automáticamente tu correo, y un sinfín de posibilidades.

¿Por qué no compruebas tú mismo las ventajas de este navegador?

¡Este es un buen momento! La descarga ocupa poco más de 8 mb. y es completamente gratis.

Lanzada Open Office 2.3

La suite ofimática Open Office (alternativa libre y gratuita a Microsoft Office) ha lanzado al público su versión 2.3.

Para todos los que usamos esta versión esta es una buena noticia. Entre las novedades que se presentan, están las siguientes:

  • Soporte de gráficos tridimensionales.
  • Barras de herramientas reorganizadas.
  • Exportación de documentos tipo Wiki (con múltiples colaboradores en línea).
  • Gestor de Informes en Base (sistema de Bases de Datos de Open Office).
  • Soporte de Extensiones para añadir funcionalidad.
  • Autodetección del idioma en palabras desconocidas.

Aún no he probado esta nueva versión, pero espero impaciente el momento de poder actualizarme. Ya he probado algunas de las características (apenas he notado la reorganización de la barra de herramientas). En breve probaré las extensiones y os cuento. Esta sigue siendo una magnífica versión.

¿No has probado Open Office? ¡Tal vez este sea el momento perfecto!

¿Tus programas de ofimática, son legales? Según las cifras publicadas por Microsoft, se estima que el 35% del software en el mundo son copias piratas o ilegales.

Tras años de tolerar la pirateria extraoficialmente como medio de asegurarse el control del mercado, Microsoft está llevando a cabo ahora una ofensiva para asegurarse que las copias de sus programas son legítimas.

Si sabes usar MS-Office, sabes usar OpenOffice.org 2. Hay estudios que demuestran que es diez veces más barato cambiar a OpenOffice.org 2 que actualizar el software a MS-Office 2007.

Una encuesta ha indicado que el 86% de los usuarios prefieren probar OpenOffice.org 2 en vez de comprar MS-Office 2003.

Asi que, ¿a qué esperas? No te cuesta nada probarlo. Y si te gusta, OpenOffice.org 2 no te costará nada, podrás usarlo todo lo que quieras y donde quieras. Tranquilidad sin costes.

Legalizate. Usa OpenOffice.org

Estructura de directorios en Linux

Posiblemente uno de los mayores retos a los que se enfrenta un usuario de Windows al comenzar a caminar con Linux es la diferencia entre estos dos sistemas en lo que se refiere a dónde se guardan las cosas, es decir, la estructura de directorios.

En Windows todo lo que corresponde al sistema se encuentra en la carpeta «Windows» dentro del disco principal. Todos los programas se instalan, por defecto, en «Archivos de Programa» y cada programa tiene su carpeta donde guarda sus archivos y demás.

Sin embargo, en Linux las cosas cambian bastante. A continuación mostramos la estructura principal de directorios dentro de Linux (teniendo en cuenta que esto está tomado de Ubuntu, en otras distribuciones pueden variar un poco) .

Lee el resto de esta entrada

Para escuchar música… en Linux

Realmente, hay cientos de reproductores de música y radio para Linux. Hoy os comento uno que realmente me ha impactado.

Admito que soy un amante de la sencillez, y este programa me ha cautivado precisamente por eso. Sencillo de manejar, tiene unas características que no había visto hasta ahora. Se llama Listen, y puedes instalarlo directamente con la utilidad de Ubuntu para agregar y quitar programas.

Logo de Listen
Logotipo de Listen

Consta de varios paneles. A la izquierda, la lista de reproducción (siempre visible), los datos de la canción actual y algunas opciones más (reproducción aleatoria, limpiar lista, etc).

En el centro, diversas opciones de navegación: elementos recientes, emisoras de radio, podcast… Hasta aquí, nada nuevo. Pero quizá lo más interesante es que, pulsando en el botón Wikipedia, te abrirá un panel con la información disponible en esta enciclopedia sobre lo que estás escuchando: el autor, el disco o la canción. Además, dispone muy a mano de un botón Letras, que automáticamente te mostrará la letra de la canción.

Por supuesto, Listen hace todo lo que se podría esperar de un reproductor de música decente (reproducir MP3 y otros archivos de sonido). Personalmente, usaré este hasta que encuentre uno mejor.

Para saber un poco más, visita la página oficial del proyecto Listen. Aquí os dejo algunas capturas de pantalla.

Captura de pantalla del reproductor de música Listen Captura de pantalla del reproductor de música Listen
Capturas de algunas pantallas en Listen

Instalar Watchtower Library en Linux

Lo primero imprescindible en mi ordenador con Ubuntu era instalar la enciclopedia Watchtower Library. Si no conseguía esto, tendría que seguir utilizando Windows… y eso me apenaba seriamente.

Leí acerca de un programa llamado Wine, con el que pueden ejecutarse programas creados para Windows. Si sigues los siguientes pasos, podrás instalar tu Watchtower Library en Linux.

Instalación de Wine

Primero, instala Wine en tu equipo:

  1. Accede a Aplicaciones > Añadir y quitar…
  2. En el cuadro de texto Buscar escribe Wine y pulsa intro.
  3. Aparecerán varias aplicaciones. Selecciona Wine Windows Emulator (marcando la casilla de la izquierda).
  4. Finalmente pulsa en Aceptar.

Comenzará a descargarse los paquetes de Wine y a instalarlo. Una vez finalizado este proceso, comenzamos la instalación.

Instalación de Watchtower Library

  1. Introduce en tu unidad lectora de CD-ROM el disco de Watchtower Library. Yo usé la versión 2006 en español.
  2. Cuando estés viendo el contenido del CD-ROM (si no se abre, puedes acceder en Lugares, y buscando la unidad correspondiente), haz doble clic en el icono «setup.exe«. Transcurrido un instante, comenzará la instalación como si se tratara de Windows.
  3. Decide qué instalación quieres, de CD-ROM o de disco duro.
  4. Sigue los pasos hasta que finalice la instalación.

Configuración

En caso de que alguno de los pasos anteriores falle, tal vez tengas que investigar un poco más (por ejemplo, cómo configurar Wine).

Si has hecho la configuración por defecto, debería aparecer el icono de la Watchtower Library en el escritorio, así como existir una entrada en el menú Aplicaciones, bajo el apartado Wine.

Seguidos todos estos pasos, el resultado es completamente satisfactorio: hemos logrado instalar Watchtower Library en Linux.

Por si necesitas crear un lanzador personalizado para la Watchtower Library, introduce la siguiente línea en el campo «Comando»:

env WINEPREFIX=»/home/ivan/.wine» wine «C:\Archivos de programa\Watchtower\Watchtower Library 2006\s\wtlib.exe» /Config «c:\Archivos de programa\Watchtower\Watchtower Library 2006\s\wtlconfig.mepsxml»

Remplaza «/home/ivan/.wine» por tu carpeta de wine (si has hecho la instalación por defecto tienes que cambiar «ivan» (que soy yo) por el nombre que especificaras al instalar Ubuntu.

Watchtower Library en Ubuntu Linux

Linux y Ubuntu

Después de haberme decidido por Gnome, y tras probar la versión Live de Knoppix, probé con un CD antiguo de Ubuntu…

Me encantó…

Me resultó muy sencillo de instalar, muy fácil de manejar y en escasos 20 minutos tenía mi Linux funcionando.

Configuró él sólo el arranque para que conviviera con Windows (hasta que desaparezca definitivamente).

Que Linux durara mucho tiempo en mi ordenador se basó en tres premisas:

  • Poder instalar programas indispensables que usaba en Windows (como la enciclopedia Watchtower Library). La instalación de este programa era imprescindible para que pudiera sobrevivir Ubuntu…
  • Tener acceso a mis datos antiguos en un disco duro NTFS.
  • Encontrar alternativas libres a todo el software con el que trabajaba antiguamente (diseño web, retoque fotográfico y programación).

Pues bien, estos tres puntos se han realizado con el mínimo esfuerzo, con una excepción: aún no he encontrado una alternativa a MSN Messenger que disponga de videoconferencia (con sonido y vídeo). aMSN sólo ofrece sonido…

En posteriores comentarios comentaré como, uno por uno, fui solucionando estos obstáculos. Si quieres, puedes descargar una versión de Ubuntu que puedes grabar en un CD y probar sin poner en riesgo ningún archivo de tu ordenador. ¡Descárgalo ya! Es gratis.

La elección de un sistema Linux: primeros pasos

Si deseas instalar Linux, o al menos experimentar, antes de elegir una distribución debes plantearte: qué entorno de escritorio te gusta más.

Hay 3 principales entornos de escritorio: KDE, Gnome y Xfce. KDE es mucho más vistoso y elegante, Gnome sencillo y limpio, Xfce ligero.

Elegir uno u otro no es más que cuestión de gustos.

KDE consta de un menú principal (más a estilo Windows) y todos los programas organizados bajo él. Por supuesto, pueden incluirse accesos directos en las barras de herramientas, cambiar la posición de las mismas e incluir nuevas. Personalmente me gusta, pero me parace demasiado recargado…

Captura de pantalla de KDE 3.5
Captura de pantalla de KDE 3.5

Gnome tiene dos menús, uno superior y otro inferior. En el superior aparecen (por defecto) tres menús: Aplicaciones, Lugares y Sistema. En el inferior, mostrar escritorio y la lista de ventanas activas. Esta configuración también puede cambiarse de forma muy sencilla.

Captura de pantalla de Gnome en Ubuntu
Gnome en Ubuntu

Puedes descargarte versiones Live CD de cada uno y probar, o buscar en imágenes en la web y elegir el que se ajuste a ti.

Yo elegí Gnome por ser el que más se adapta a mi forma de trabajar: limpio, claro, ordenado y sin distracciones. Respecto a rendimiento, parece ser que, a pesar de todos los efectos que trae KDE es ligeramente más rápido. Pero si lo que necesitas es buen rendimiento en una máquina antigua… ¡Xfce es para ti!

¿Ya has decidido que escritorio vas a usar? Entonces, vayamos al siguiente paso: elegir un sistema Linux.

Introducción a Linux…

Designed for Ubuntu Linux

Desde hace mucho tiempo quise instalar Linux en mi ordenador. Pero por una razón u otra nunca lo hice… Tal vez tú mismo, quien me lees, estás o has estado en esta situación.

¿Qué es Linux?

Linux es un Sistema Operativo, tal como Windows es un Sistema Operativo (dejando polémicas y bromas sobre este tema a un lado). Esto significa que regula las funciones primarias del ordenador (o cualquier otro dispositivo, desde PDAs y teléfonos móviles hasta cajeros de bancos).

La función primordial de un sistema operativo debe ser hacer de intermediario entre nuestro ordenador y los seres humanos que lo utilizan. En general, pueden comunicarse con nosotros mediante teclado y ratón, mostrar información mediante un monitor o pantalla, guardar datos en un disco de almacenamiento…

¿Por qué hay «tantos» Linux?

A diferencia de otros Sistemas Operativos, Linux es «código abierto», «código libre» o «software libre» (cualquiera puede modificar y compilar el código para crear su propio Linux). Por eso, determinadas empresas o fundaciones deciden compilar el Sistema Operativo (Linux en sí, el «núcleo», el corazón del sistema) y distribuirlo junto con cientos o miles de otros programas de alta calidad.

A cada conjunto de «núcleo de Linux» más «conjunto de programas» se denomina distribución. Hay muchísimas distribuciones («distros», para abreviar) y elegir una u otra es cuestión de gustos y tareas a realizar con el sistema. Algunos ejemplos de distribuciones son Ubuntu, Redhat, Mandriva, Suse, Fedora… hay muchísimos.

Yo utilizo Linux, en su distribución Ubuntu, versión 7.04. Todo esto sumado se llama «Feisty Fawn«.

¿Gnome y KDE?

Si eres usuario de Windows (como la mayoría de nosotros hemos sido y somos), tal vez estas dos palabras te suenen un poco extrañas. ¿Qué son?

Pues bien, cuando instalas Windows XP, por ejemplo, tienes un bonito fondo, una barra de herramientas inferior azul y un botón inicio verde. Todo eso se denomina «entorno de escritorio«. Windows sólo tiene, por defecto, ese entorno de escritorio y es bastante difícil de cambiar.

Sin embargo, Linux dispone de muchos entornos de escritorio: KDE, Gnome, Xfce.. cada uno tiene sus peculiaridades y dependen sobre todo de las preferencias de cada usuario.

Yo uso Ubuntu con Gnome.

En resumen, las distribuciones de Linux vienen con casi todos los programas necesarios para escuchar música, crear documentos y hojas de cálculo, grabar CDs y DVDs y navegar por internet.

Ah, se me olvidaba: en su mayoría todos estos programas son gratis.

Los comienzos…

Comienza este blog con un objetivo en común: ayudar a quien necesite ayuda utilizando mi lado más friki: el oscuro lugar donde se ocultan linux, rutinas de programación en ASP y PHP, Java, C++, Javascript y CSS…

Tal vez necesites ayuda porque estás instalando por primera vez tu linux, o porque ese CSS no hace del todo bien lo que quieres…

Este blog es muy básico. Está principalmente dirigido a usuarios de otros sistemas operativos no Linux (principalmente Windows) y que quieran cambiar, o simplemente tengan curiosidad por Linux (especialmente Ubuntu).  No se da nada por sabido, y todas las explicaciones son desde cero. No soy un experto en todas estas materias, pero si puedo ayudarte, estaré encantado de hacerlo.

Si ya tienes cierta experiencia en Linux, este sitio tal vez no es para ti…

Si bien me presento para dar comienzo a este blog, no es el objeto del mismo darme a conocer…

Utilizo Ubuntu 7.04 (Feisty Fawn) en un AMD K7 a 1200 MHz. Un equipo bastante antiguo, pero en el que Ubuntu va bastante bien. Canonical Ltd. (compañía responsable de su mantenimiento) lanzó esta edición de Ubuntu el día 19 de abril. Conseguí descargarlo el 20 (todos los servidores estaban colapsados) y finalmente lo instalé el 21 de abril de 2007. Es decir, soy realmente nuevo en Linux…

Designed for Ubuntu Linux