Conocer Django: presentación, introducción y ejemplo de desarrollo

A lo largo de la presentación que adjuntamos en este enlace y con motivo del trabajo voluntario planteado en las prácticas de Programación Avanzada, José Antonio Sánchez Pallero y yo, hemos tratado de transmitir una idea general acerca de Django, el framework libre basado en Python orientado a la creación rápida de aplicaciones web. Al final del mismo y para completar la explicación, presentamos un pequeño ejemplo de desarrollo haciendo uso de esta herramienta.

Toda persona que haya tenido contacto con el desarrollo web, sabrá de los inconvenientes que crean temas como: el control de las entradas del usuario, la interacción con la base de datos, la creación de direcciones amigables para los buscadores (tan necesario para el SEO), la modificación de las estructuras de datos una vez creadas o la definición de distintos roles de permisos para los usuarios del sistema.

Todo este tipo de problemas los soluciona Django de una manera muy intuitiva, con la potencia añadida de un lenguaje tan amable y completo como Python.

A continuación os dejo la presentación y adjunto también capturas de pantalla del ejemplo desarrollado y el código fuente del ejemplo para descargar. Los objetivos y la funcionalidad del ejemplo están comentados en la presentación; la implementación en sí explicada está comentado directamente sobre el código.

Django - Plataforma de sitios web

  • Descargar: ejemploDjango.tar.gz (código fuente del ejemplo)

Los datos personales que aparecen en los ejemplos son inventados. Algunos datos sobre grupos y centros de investigación sí son reales.

Vista índice

Vista Instituto

Vista grupo

Esta entrada también ha sido publicada en un blog sobre Python que ha creado un compañero de la clase. Desde aquí darle la enhorabuena y recomendároslo a todos: Aprende Python como si estuvieras en primero.

Comprender el funcionamiento de juegos en Linux [parte 3/3]

Esta entrada es la continuación de la serie Juegos en Linux. Parte 1 y Juegos en Linux. Parte 2. Por lo que os recomiendo su lectura antes de continuar la del presente. Así, pasamos a través de este tercer capítulo a describir detalladamente que opciones de configuración de nuestros sistemas para prepararlos de cara a las pruebas de rendimiento. Linux (Arch Linux) vs Windows 7.

Una de las ventajas de Linux es que existen cientos de distribuciones donde elegir, en esta caso y para la prueba que vamos a realizar vamos a usar Arch Linux (64-bit) por diversas razones. En primer lugar, el sistema base de Arch es bastante reducido y no vienen con paquetes preconfigurados. Esto evitará que nos planteemos si existe algún proceso en background que se esté ejecutando y en consecuencia afectando al rendimiento del juego en las pruebas que vamos a realizar.

En lo que a la prueba en sistemas Windows se refiere, vamos a usar Windows 7 Ultimate, así que vamos a comparar lo último de Linux con la última oferta de Microsoft.

[caption id="attachment_1443" align="aligncenter" width="556" caption="Benchmark en ambos sistemas. Características"][/caption]

A continuación se muestra una lista abreviada de los paquetes relevantes para nuestra prueba en la distribución Arch Linux. Vamos a lanzarlo sobre un escritorio Gnome por defecto, sin Compiz ni efectos similares.

[caption id="attachment_1444" align="aligncenter" width="558" caption="Configuración de paquetes para Arch Linux"][/caption]

En la selección de juegos hemos hecho una mezcla de géneros y fechas de lanzamiento. Proporcionaremos así mismo más información sobre los nuevos lanzamientos testeados en este conjunto de entradas.

[caption id="attachment_1445" align="aligncenter" width="556" caption="Selección de juegos para las pruebas"][/caption]

La mayoría de los juegos incluyen una evaluación comparativa del juego. Corremos cada benchmark tres veces y tomamos la media para los resultados finales. Eve Online requiere de una utilidad para mostrar los frames por segundo (fps), en tal caso nos encontramos con un registro de 180 segundos desde la estación vacía hasta que grabamos los FPS y la abandonamos. Nuevamente nos encontramos con estas pruebas 3 veces y hacemos el promedio de cada una de ellas. Una vez completada la evaluación comparativa, nos hemos tomado la molestia de ejecutar detenidamente y jugar con los juegos con el fin de garantizar la funcionalidad de los mismos o encontrar cualquier defecto.

Los resultados de esta comparativa en la próxima entrada.

Bombones

El podcast de Linux Hispano – #036 – Cobrar por desarrollar Software Libre

¡Hola a todos!
Acaba de lanzarse el trigésimo sexto número de El podcast de Linux Hispano.

Seguimos manteniendo la periodicidad quincenal, debido a que mi cumpleaños es dentro de poco, el 28 de enero, adelanto esta nueva edición debido a que más adelante me será imposible grabarla. Espero que os guste.

GUIÓN:

Opinión: Cobrar por desarrollar Software Libre
Noticias:

Tema del día: Citas de Richard Stallman.

Las canciones con licencia libre que se escuchan son Roots de Galdson y Yellow Gold de The Dada Weatherman.

DESCÁRGATE LA VERSIÓN OGG
DESCÁRGATE LA VERSIÓN MP3
ESCÚCHALO ONLINE

Gracias a todos los correos electrónicos que nos habéis enviado, así como los comentarios, lo hemos leído y contestado todos y gracias a ellos nos esforzamos por mejorar.

¡Espero la opinión de todos vosotros!

Por último, ¡No os olvidéis suscribíos a El podcast de Linux Hispano!

¡Muchas gracias!

La encuesta de la semana #8. Bitácoras en la red

LEDLS

Parece que es la moda hoy en día, cada usuario con su bitácora, con su vida y sus experiencias en la red, en algunas ocasiones varios blogs. Y es que además de las redes sociales, es la forma que algunos ven para promocionarse o simplemente para interactuar con los demás usuarios de la red o compartir sus experiencias. Así, nos gustaría conocer la situación de nuestros lectores. ¿Tienes tu propio Blog? Este viernes los resultados.

NOTA: Al igual que la semana pasada, y ya que tuvo mucho éxito, he añadido la opción otro, por si vuestra situación no se asemeja a ninguno de los casos.


Instalar y configurar Apache como servidor de ASP.NET con Mono

Si hace unos días hablábamos de la posibilidad de ejecutar aplicaciones ASP.NET en nuestro equipo Linux con XSP, hoy traemos la que podría ser la segunda parte de ese artículo: hacer esto mismo pero con Apache y mod_mono.

¿Por qué escoger este binomio en lugar de XSP? La respuesta es fácil: XSP es un servidor de pruebas, no de producción y si queremos tener un servicio o aplicación web ejecutando de forma decente en producción, mejor utilizar Apachemod_mono. Las razones no son sólo por la escalabilidad y eficiencia que permite Apache, sino que están relacionadas por la seguridad que provee el servidor más utilizado a nivel mundial y por la gran variedad de opciones que nos ofrece.

De todas maneras sigo pensando que al igual que el servidor de pruebas de Django es útil para las pruebas, XSP es un buen servidor de pruebas para practicar con nuestro PC cuando estemos aprendiendo ASP.NET. Cuando la aplicación se hace compleja y sobre todo queramos pasarla a producción, Apache.

Instalación y configuración

  1. Instalamos:
    1. Apache 2 (si utilizáis sistema de paquetería será algo así como apache2).
    2. Módulo para multiproceso: apache2-mpm-worker.
    3. Módulo de Monolibapache2-mod-mono.
    4. Interfaz entre Mono y servidormono-apache-server.
  2. Reiniciamos el servicio de Apache para que recargue la configuración: sudo /etc/init.d/apache2 restart
  3. Activamos el módulo (a2enmod significa apache2 enable module): sudo a2enmod mod_mono
  4. Vemos qué versión de ASP.NET está activada (lo recomendable es que sea la 2 y no la 1). Para comprobarlo nos dirigimos a: /etc/apache2/mods-available y vemos el fichero mod_mono.conf, debería estar así (comentada con # la primera):
    #Include /etc/mono-server/mono-server-hosts.conf
    Include /etc/mono-server2/mono-server2-hosts.conf

En definitiva, una forma simple de tener un servidor ASP.NET corriendo en nuestro equipo Linux, con software libre y en sólo cuatro pasos. Para tenerlo perfectamente preparado para producción, deberéis de tener en cuenta algunos detalles más propios de Apache, pero la parte específica de Mono es ésta.

Ya me contaréis vuestras impresiones con esta tecnología.

Parece que la noticia ha gustado y lo han colgado de Menéame. Si queréis ya sabéis: menead.

Logo Proyecto Mono

Lo mejor de mi RSS del 18 al 24 de Enero de 2010

Alemania y Francia recomiendan no usar Internet Explorer - Barrapunto

Nuevos tutoriales para Blender y Gimp - Gimp ES

Nuevo sitio de wallpapers - Kabytes

Usa la última versión de jQuery - Ayuda WordPress

Reinicio de ReactOS - Barrapunto

Firefox 3.6 ya está disponible - Mozilla Hispano

Denuncia contra el Estado español por el monopolio de las entidades de gestión - Derecho de Internet

OurwebTV, otro sitio para ver TV Online - Gaceta Digital

Tutoriales gratis de Gimp en PDF - Slice Of Linux

[Resultados] La encuesta de la semana #7. ¿Linux en el trabajo?

Y los resultados ya están listos, como siempre a través de una gráfica nos hacemos una idea de la opinión, y este caso situación, de nuestros lectores acerca del uso de Linux en el ambiente laboral. Recordaros que podréis seguir votando aunque lo resultados estén publicados, posteriormente realizaremos nuevos análisis, La encuesta de la semana #7. ¿Linux en el trabajo?

[caption id="attachment_1403" align="aligncenter" width="598" caption="La encuesta de la semana #7. ¿Linux en el trabajo?"][/caption]

Una de las novedades que hemos planteado en esta encuesta es que vosotros pudierais escribir en uno de los campos (otros), así, me gustaría destacar algunas de las comentadas:

  • Uso linux y las maquinas con windows las voy migrando
  • Lo uso, aunque no es corporativo :(
  • No Trabajo (x2)
  • La maquina de mercado me obliga a convivir con Windows
  • linux-windows
  • No uso computador en el trabajo :P
  • windows 7
  • Muuuuuuuuuy poco, soy consultor SAP, y la verdad es que salvo los BASIS, los ABAPs poquísimo o nada. En este último proyecto, el usuario usa Ubuntu en algunas Desktop, y usamos el PlatinGUI... era una maravilla, pero en lineas generales NO uso.

¿Algún caso más que comentar?

R. I. P. Sun Microsystems

La Comisión Europea aprueba la adquisición de Sun por parte de Oracle, visto en Todo BI.

Empezar a programar en Pygame

A través de esta entrada vamos a introducirnos en el mundo del desarrollo de aplicaciones gráficas usando una librería llamada pygame que nos proporciona las herramientas necesarias para crear de forma relativamente sencilla nuestros juegos en el lenguaje de programación Python.

¿Qué es Pygame?

Pygame es un conjunto de módulos que nos ayudan a crear videojuegos o aplicaciones gráficas (no necesariamente videojuegos) en dos dimensiones. Pygame incluye gráficos y bibliotecas de sonido diseñados para ser utilizados directamente bajo Python. Está construido bajo Simple DirectMedia Layer (SDL), que a su vez son un conjunto de bibliotecas desarrolladas en lenguaje C, proporcionando las funciones básicas para realizar operaciones de dibujado 2D, gestión de efectos de sonido y música, y carga y gestión de imágenes. De esta manera, a través de Pygame podemos abstraernos de la lógica del juego (o aplicación) en si mismo, haciendo posible el uso de un lenguaje de alto nivel como Python para estructurar el juego.

Pygame fue contruido como sustituto de pySDL, después del poco éxito del mismo, ya que la forma de interactuar no llegó a recoger tantas opciones y tan simples como las del entorno de Pygame.

Escrito originalmente por Shinners Pete se distribuye bajo la GNU Lesser General Public License. Desde 2004 se trata de un proyecto de código abierto de la comunidad de software libre.

Instalando Pygame y el entorno

Antes de comenzar a ver una serie de ejemplos generales a modo de introducción en el mundo de Pygame vamos a configurar nuestro sistema para poder importar los módulos de Pygame desde Python, como cualquier otra librería.

La instalación es bastante simple. Suponiendo que nuestro sistema corre una distribución basada en Debian y que ya corre la versión más reciente de Python, de tal forma bastará con usar un gestor de paquetes e instalar el paquete python-pygame y satisfacer todas sus dependencias. Así, y de la forma más intuitiva usaremos las dos vías principales, usando el adminstrador de paquetes en modo texto APT y su versión gráfica Synaptic.

En el primero de los casos la instalación es bastante sencilla, abrimos un terminal y ejecutando como superusuario (root) lanzamos la herramienta apt-get como se indica a continuación y cómo se observa en la figura 1.

$ sudo apt-get install python-pygame

Y nos preguntará si deseamos instalar todos los paquetes anexos y dependencias, a lo que responderemos afirmativamente.

[caption id="attachment_1370" align="aligncenter" width="516" caption="Figura 1 Instalación mediante el gestor de paquetes APT"][/caption]

Usando el gestor de paquetes Synaptic la operación es similar, nos dirigimos a System → Administration → Synaptic Package Manager, localizamos el paquete python-pygame y lo marcamos para instalar, cómo se muestra en la figura 2. Aplicamos los cambios aceptando todas las dependencias y listo, ya tenemos nuestro entorno preparado nuestro entornor para empezar a trabajar con Pygame.

[caption id="attachment_1371" align="aligncenter" width="500" caption="Figura 2 Instalación mediante el gestor de paquetes Synaptic"][/caption]

Uno de mis entornos de programación preferidos es Geany, un IDE desarrollado en GTK y que se define así mismo como: A fast and lightweight IDE. Aconsejo su uso ya que nos resultará bastante sencillo probar los ejemplos planteados.

Para su instalación, y de forma análoga a Pygame, localizaremos el paquete geany y satisfaceremos sus dependencias si se precisan, así con APT y cómo se muestra en la figura 3:

$ sudo apt-get install geany

[caption id="attachment_1381" align="aligncenter" width="492" caption="Figura 3: Instalación del IDE Geany"][/caption]

Nuestro primer programa...

Vamos a proceder con un ejemplo muy básico de uso. Abrimos nuestro IDE de Python (Geany) y probamos con el siguiente código, en este se dibujará un fondo sobre una ventana y dos lineas diagonales que cruzarán los extremos de izquierdas a derechas y de arriba a abajo y al contrario. Así, el código comentado:

# -*- coding: utf-8 -*-

# Importamos las librería de Pygame y las del sistema, necesarias para forzar el cierre
import pygame, sys
from pygame.locals import *

# Inicializamos Pygame
pygame.init()

# Definimos el color de fondo y el de la diagonal
COLOR_FONDO = (50, 150, 200)
COLOR_LINEA1 = (255, 0, 0)
COLOR_LINEA2 = (0, 0, 255)

# Definimos el tamaño de la aplicación y la tasa de refresco
pantalla = pygame.display.set_mode((800, 600))
refresco = pygame.time.Clock()

while True:
time_passed = refresco.tick(30)
# Comprobamos el cierre de la aplicación y en caso afirmativo lanzamos la función salir
for event in pygame.event.get():
if event.type == QUIT:
sys.exit()

# Fijamos el color de fondo y las lineas de diferentes colores, y lo sacamos por display
pantalla.fill(COLOR_FONDO)
pygame.draw.aaline(pantalla, COLOR_LINEA1, (1, 1), (799, 599))
pygame.draw.aaline(pantalla, COLOR_LINEA2, (799, 1), (1, 599))
pygame.display.flip()

NOTA: Para lanzar directamente la aplicación desde el IDE Geany podemos hacerlo pulsando F5 o desde el icono designado para esta operación.

De esta forma, el resultado que obtenemos tras ejecutar nuestra primera aplicación es el mostrado en la figura 4.

[caption id="attachment_1380" align="aligncenter" width="500" caption="Figura 4: Ejecutando nuestro primer programa"][/caption]

Controlando los eventos

Es posible que al empezar en la programación de aplicaciones gráficas mediante Pygame nos surjan dudas acerca del manejo de eventos a través del programa desarrollado. Es por ello que vamos a dedicar este pequeño apartado a tratar de aclarar las diferentes maneras que tenemos para registrar los eventos que se suceden en nuestra aplicación.

Será importante diferenciar los métodos que pueden ayudarnos a registrarlos a guardarlos de una forma temporal antes de ser analizados. Así:

  • pygame.event.get: Obtenemos los eventos mediante una cola. Esta función es la usada en el ejemplo anterior, de forma que definimos un tiempo de refresco a partir del cual recorremos los eventos registrados y ejecutamos sus acciones asociadas. Esta es quizás la forma más común de registro de eventos no forzado, y de esta manera no nos obliga a realizar una pulsación o control del flujo del programa en un punto.
  • pygame.event.poll: Obtenemos un evento simple de la cola. Simplemente es capaz de guardar el último evento sucedido. Resulta práctica cuando únicamente queremos dejar constancia de un evento registrado en un intervalo de tiempo definido.
  • pygame.event.wait: Espera un evento de la cola. Este lo he usado en el ejemplo planteado a continuación, de forma que podamos ir viendo algunos de los eventos que podemos controlar así como estudiar las posibilidades que nos ofrece esta vía de registrar eventos.

Podemos ver el resto de eventos accesibles por teclado en el siguiente enlace: Documentación oficial de Python.

El ejemplo que muestra su uso, a continuación:

# -*- coding: utf-8 -*-

import pygame
from pygame.locals import *

pygame.init()
pygame.display.set_mode((200, 200))
pygame.display.flip()
event = pygame.event.poll()

while True:
cursor = pygame.mouse.get_pos()
evento = pygame.event.wait()
if evento.type == QUIT or evento.type == K_ESCAPE:
print "Has abandonado la aplicación"
raise SystemExit
if pygame.mouse.get_pressed()[0]:
print "Has usado el botón izquierdo del ratón"
if pygame.mouse.get_pressed()[1]:
print "Has usado el botón central del ratón"
if pygame.mouse.get_pressed()[2]:
print "Has usado el botón derecho del ratón"
if evento.type == KEYDOWN and evento.key == K_SPACE:
print "Has pulsado espacio"
if evento.type == KEYDOWN and evento.key == K_BACKSPACE:
print "Has pulsado backspace"

La figura 5 muestra su ejecución:

[caption id="attachment_1383" align="aligncenter" width="550" caption="Figura 5: Controlando los eventos de la aplicación"][/caption]

Más figuras e imágenes

Al estar basado en SDL, Pygame tiene la capacidad de poder mostrar imágenes así como formas básica de una forma casi trivial, las primitivas que se encargan de realizar estas operaciones las comentamos en el siguiente ejemplo y vemos su resultado:

# -*- coding: utf-8 -*-

# Importamos las librería de Pygame y las del sistema, necesarias para forzar el cierre
import pygame
from pygame.locals import *

# Inicializamos Pygame
pygame.init()

# Definimos el color de fondo y el de las figuras
COLOR_FONDO = (50, 100, 50)
COLOR_CUADRADO = (255, 0, 0)
COLOR_CIRCULO = (0, 0, 255)
# Cargamos la imagen y hacemos transparente el fondo (antes verde)
imagen_nave = pygame.image.load('nave.bmp')
imagen_nave.set_colorkey((0, 255, 0))

# Definimos el tamaño de la aplicación y la tasa de refresco
pantalla = pygame.display.set_mode((800, 600))

while True:
time_passed = pygame.time.Clock().tick(30)
# Comprobamos el cierre de la aplicación y en caso afirmativo lanzamos la función salir
for event in pygame.event.get():
if event.type == QUIT:
raise SystemExit

# Fijamos el color de fondo y dibujamos las figuras y la imagen
pantalla.fill(COLOR_FONDO)
pygame.draw.rect(pantalla, COLOR_CUADRADO, (50, 50, 100, 100))
pygame.draw.circle(pantalla, COLOR_CIRCULO, (400, 300), 75 )
pantalla.blit(imagen_nave, (500, 400))
# Actualizamos la pantalla
pygame.display.flip()

NOTA: Podemos ver cómo al no disponer de transparencia la imagen de la nave se la fijamos mediante el método set_colorkey().

Y el resultado lo podemos ver en la figura 6.

[caption id="attachment_1384" align="aligncenter" width="450" caption="Figura 6: Ejemplo con figuras e imágenes"][/caption]

Y el sonido

Para terminar con esta introducción a Pygame vamos a realizar un test de sonido, para lo cual usaremos la el módulo mixer. El ejemplo:

# -*- coding: utf-8 -*-

import pygame, os
from pygame.locals import*

# Iniciamos el módulo mixer
pygame.mixer.init()
# Cargamos la pista de audio haciendo uso del sistema, mediante el cual podemos indicar rutas relativas sin dependencia del sistema operativo
pygame.mixer.music.load(os.path.join("1vs0_JuniorGroove.ogg"))
# Y reproducimos la pista cargada de forma continua, valor -1.
pygame.mixer.music.play(-1)

Podéis consultar el resto de opciones desde la documentación de Python.

NOTA: La pista de audio utilizada tiene licencia Creative Commons, 1vs0 – Junior Groove.

Bibliografía

Ubuntu Linux, instalación y configuración básica en equipos y servidores

Ese es el título del libro que he publicado con la editorial Ra-Ma dirigido a todas aquellas personas que quieran adentrarse en este mundo del software libre y Linux con la distribución más popular a día de hoy y sobre todo la que creo que es la más amable para el usuario recién llegado de otros sistemas.

El libro se divide en tres partes. La primera es una introducción al mundo del software libre en general y más concretamente a Linux y Ubuntu. Luego se explica el proceso de instalación, configuración y todo el uso que se le puede dar a un ordenador de escritorio por parte de un usuario común: ofimática, correo, mensajería, tratamiento de imágenes... Y finalmente se explica cómo montar los servicios básicos para tener un servidor en casa o un servidor de pequeño tamaño: HTTP, FTP, escritorio remoto, SSH.

Espero que me perdonéis el hecho de que no sea Creative Commons y desde aquí darle las gracias a mis compañeros por dejarme escribir este post de un tema personal en el portal. Aún así es importante comprobar que Linux interesa a suficiente gente como para que haya ya un mercado de libros de esta temática cada vez más desarrollado.

Avatar, ¿con Ubuntu o con Red Hat?

Estos días estoy leyendo que Avatar, la película más taquillera de la historia, ha sido desarrollada con Linux. De eso no hay duda, pero tras leer en muchos sitios que la distribución elegida para tal propósito ha sido Ubuntu, ahora leo en otros que no, que ha sido Red Hat. De hecho en Ubunlog han hecho la siguiente recopilación de enlaces que apuestan por una o por otra alternativa.

¿En qué quedamos?

Los que dicen que ha sido con Ubuntu son entre otros:

Los que lo niegan y afirman que ha sido con Red Hat:

Incluso llegan a afirmarlo en el Twitter oficial de Red Hat. De todas maneras... lo importante es que fue hecha con Linux.

Las extensiones de Google Chrome

Si algo distingue a Firefox es la cantidad de extensiones que tiene. Este hecho lo hace el navegador más versátil con diferencia de la actualidad. Sin embargo, personalmente prefiero utilizar Chrome o su alter ego Chromium por la sensación de ligereza y rapidez que me transmite, sobre todo en equipos no demasiado rápidos.

Aprovecho para comentar que a pesar de problemas que puede traer Chrome y que hacen a más de uno elegir Chromium, como podemos leer en este post de Ubuntu Life, prefiero utilizar Chrome porque aunque a priori son prácticamente iguales, tengo ciertos problemas sobre todo en algunos bancos con Chromium que no los tengo con Chrome.

Pero bueno volviendo a lo que íbamos, Firefox es versátil y por la cantidad y calidad de sus extensiones lo sigo utilizando a diario. Sin embargo, cada vez son más las extensiones que existen para Chrome y con el apoyo del gigante de Mountain View detrás, seguro que el catálogo crecerá rápidamente.

Sólo tenéis que echar un vistazo a la web de las extensiones de Google Chrome donde tendréis acceso directo a 1.661 extensiones en el momento de escribir estas líneas. Están clasificadas por popularidad, por las más recientes, por la mejor valoradas o por las extensiones destacadas. Además también están comentadas por los usuarios con el motor de comentarios de Google y casi seguro que encontráis la solución a vuestra necesidad. La más popular por ahora es Google Mail Checker, una extensión que integra nuestra cuenta Gmail en el navegador.

Por cierto, para instalar, desintalar y manejar las extensiones tenéis el gestor de extensiones del navegador, de muy fácil uso. Podéis acceder a él a través del menú de "Personalización y control" o poniendo en la barra de direcciones: chrome://extensions.

¿Cuál es vuestra preferida?


Acercando Linux al usuario

Es curiosa la evolución, y es que hasta hace relativamente poco el público de estos sistemas operativos era bastante escaso. Actualmente existen muchas distribuciones que se anteponen al usuario, y sí, sé que muchos de vosotros odiais algunas de estas configuraciones automáticas, pero pienso que hemos de entender que la filosofía de Linux está cambiando, y que el usuario común lo use es ya una realidad.

Hubo una época en la que para usar Linux teníamos que conocer los comandos de la Shell así como saber manejar los archivos de configuración. Hoy en día lo único que hace falta para usarlo son meros conocimientos de manejo de ratón y ventanas.

Con todo esto no trato de argumentar que Linux sea mejor o peor que otros sistemas operativos, todos están cambiando, y es que sólo hay que mirar un poco hacía atrás y ver en lo que se ha convertido la interfaz de usuario de Mac OS o la, a mi parecer, buena evolución en los sistemas de Microsoft, que de Vista a Windows7 hay un gran paso, y no hablo de aspecto visual.

Curiosamente el otro día tuve la oportunidad de probar Windows7, fue de forma legal (portátil nuevo), aunque evidentemente sólo fue una pequeña prueba creo que ha envolucionado bastante, pero vaya, tardé poco en eliminar todo rastro y poner mi distribución preferidada, Ubuntu.

Sin desviarnos del tema, se hace evidente que el uso de Linux cada vez es más plural, ya no es tan extraño ir a casa de un amigo y encontrar alguna distribución en su ordenador. Parece que la mayoría de los proyectos se han puesto las pilas y ahora está todo más documentado y más accesible al público en general, una noticia que sin duda proporciona a muchos una solución estable. Por otro lado, y al mismo tiempo que se mantiene esta buena interacción con los usuarios más nóveles, podemos seguir usando nuestro sistema como de costumbre, las herramientas de toda la vida no van a desaparecer, awk, sed, vi, por citar algunas.

Esta entrada no trata de una reflexión, si no de una realidad, que muchos de vosotros apoyáis y otros tantos critican. ¿Piensas que hay que seguir acercando Linux al usuario?

Pagerank

Maldita sea, google roba todas mis ideas de negocio.


1 2 148 149 150 164 165