domingo, 23 de diciembre de 2007

Se necesitan fotos de pueblos andaluces para un videojuego

Fuente: HacheMuda

Javielinux y su equipo están trabajando en el nuevo videojuego que van a sacar, y que estará disponible muy pronto. Después del genial Super-Tirititran (el superhéroe gaditano), que está ambientado en Cádiz, el nuevo proyecto abre sus fronteras y se extiende por toda Andalucía.

Ahora necesitan imágenes de muchos pueblos de la comunidad andaluza, por lo que si vives en alguno de ellos te agradecerán eternamente que hagas alguna foto y se las mandes por correo. Y además tu nombre aparecerá en los créditos, :)

Hay disponible una lista con los pueblos que necesitan en un post del blog de Javielinux.

Remasterizando Ubuntu

Fuente: BlogDeMarceloRamos

Hoy se me asignó un proyecto interesante en la empresa: crear una versión de Ubuntuucklogo.png personalizada para la empresa que tanto en el Live Cd como después de la instalación tenga disponible nuestra aplicación de gestión insignia.

Todo un desafío. Ahora que tenemos un nuevo servidor con suficientes recursos podré encararlo con más comodidad.

Lo primero que voy a leer es sobre el Ubuntu Customization Kit (UCK) que parece ser justo lo que necesito.

Así que en un tiempito estaré posteando sobre el proceso de remasterizado de un CD de Ubuntu :)

Actualización:

Gracias a un comentario de Aniol me enteré de otra herramienta para remasterizar Ubuntu que se llama Reconstructor. Ahora tengo dos para evaluar.

Y... van 3! Remastersys usado para crear la distribución Linux Mint (basada en Ubuntu). Gracias Marcos!

Gnome Files: Aplicaiones para Gnome

Fuente: Ubunteate

GnomeFiles es una pagina web en la que podemos encontrara miles de aplicaciones para nuestra distro linux con Gnome si bien no todas son libres encontraremos algo que nos sea útil. Todo está clasificado como si de la barra de menús se tratase (aplicaciones, imágenes, audio, video, juegos). tenemos listas de las aplicaciones más populares y su clasificación.

Yo he encontrado varias aplicaciones muy interesantes, espero que os sirva…

Visto en | TuxLink

Comando free: ¿Cuanta memoria libre tengo?

Fuente: BeLinuxMyFriend

Pues usando el comando free, podras saberlo:

$ free

Los resultados se obtienen en KB, para sacar los resultados en MB usaremos -m:

$ free -m

Aquí tenéis una imagen como ejemplo de mi portatil:


Enlace: Memoria Libre

MeMaker: Crea tus Avatares

Fuente: Ubunteate

Visitando OcioLinux me encuentro con este curioso programa, que te permite crear tu propio avatar, si quereis ver cómo funciona visitar ESTE vídeo. Si os ha gustado es fácil instalarlo, aunque tarda un poco en descargar los archivos necesarios, vamos a ello, primero instalaremos las dependencias, exactamente, dos dependencias, el programa Bazaar que es un sistema de control de versiones, además instalaremos la libreria python-lxm, para ello ejecutaremos:

$ sudo apt-get install python-lxml bzr

Cuando finalice la instalación, usaremos Bazaar:

$ bzr checkout http://bazaar.launchpad.net/~encompass/memaker/trunk memaker

Cuando finalice (tardará), iremos al directorio memaker/src:

$ cd memaker/src

Y simplemente ejecutamos:

$ python memaker.py

Ya lo teneis ejecutado, ahora podeis crear un lanzador, podriais usar este comando:

$ python memaker/src/memaker.py

¡¡Así de sencillo!! Yo he creado un avatarcillo:

Me tiraria mi tiempo haciendo cosas de estas la verdad, es muy entretenido, y sencillo de instalar, qué mas queremos? Os recomiendo que al guardarlo le pongais extensión, porque después os dará problemas.

TimeVault: el Time Machine de GNU/Linux para Ubuntu

Fuente: ThinkUbuntu

Todos conocemos la famosa Time Machine que se implementó con la última versión del sistema operativo de la Manzana.

Para el que no la conozca aqui una breve descripción:

Time Machine (Máquina del Tiempo): sistema automático para realizar copias de seguridad que permite al usuario restablecer cualquier archivo que haya sido borrado, movido o reemplazado por otra versión del archivo.

Si para Linux ya teniamos un clon del dock (con avant window navigator), un clon del lanzador de aplicaciones (con gnome-do) en este caso no iba a ser una excepción y ya podemos disfrutar de esta útil herramienta en nuestro sistema GNU / Linux gracias a TimeVault.

Su funcionamiento es similar al System Restore de Window$, aunque hay que decir que es bastante menos espectacular que el de Mac, aunque tiempo al tiempo ya que el programa se trata tan solo de una versión beta. Para instalarlo solo tienes que seguir este manual.

Via Cesarius Revolutions

sábado, 22 de diciembre de 2007

Driver NVIDIA 169.07 y ATI Catalyst 7.12

Fuente: LinuxJuegos

Driver NVIDIA para Linux 169.07

NVIDIA

Otra tanda de drivers, en esta ocasión se trata de una nueva versión de los drivers para las tarjetas gráficas de NVIDIA en GNU/Linux, FreeBSD y Solaris.

Puede descargarse desde la web de NVIDIA la versión 169.07 de drivers para sus tarjetas más modernas. A continuación podéis ver un pequeño resumen de todas las novedades incluidas:

  • Añadido el soporte para las tarjetas GeForce 8800 GT, GeForce 8800 GTS 512 y GeForce 8800M.
  • Mejorado el rendimiento en XRender.
  • Añadido el driver para CUDA en el fichero .run.
  • Arreglados algunos problemas de estabilidad en algunas tarjetas de la serie GeFore 8 y con algunas tarjetas GeForce 6200/7200/7300 en sistemas SMP o multinúcleo.
  • Mejorada la usabilidad de NVIDIA-settings a resoluciones de 1024×768 y 800×600.
  • Arreglados algunos problemas de renderizado en las X.
  • Arreglado un problema en nvidia-settings.

Para descargar el driver NVIDIA 169.07 ir a la sección de descargas para Unix.

VIA: Jeuxlinux


ATI Catalyst 7.12

AMD - ATI

Nueva versión de los drivers de AMD para sus tarjetas gráficas ATI.

Ha sido publicada la versión 7.12 de los drivers ATI Catalyst, en la que se incluye como novedad el soporte oficial para las distribuciones Red Flag DT 6.0 y OpenSUSE 10.3.

A partir de ahora no habrá módulos precompilados para el Kernel, por lo que será necesario disponer de el compilador GCC y los ficheros de cabecera del Kernel o el código fuente. Más detalles en la sección de requisitos del driver.

Por otro lado, se ha corregido una pérdida de memoria cuando se ejecutaban aplicaciones OpenGL y se ha arreglado un fallo de segmento al usar la opción -configure en las X.

La descarga y el anuncio oficial se pueden encontrar en la web de AMD, donde se pueden ver todos los detalles concretos que afectan al driver, tarjetas soportadas, etc.

FSLint: Limpia tu Ubuntu de archivos duplicados

Fuente: UbuntuTips

FSLint es una aplicación que busca y borra archivos duplicados en tu PC. Si bien se puede usar desde una terminal, la forma más fácil de hacerlo es mediante su interfaz gráfica.

Con él también podemos localizar archivos temporales, carpetas vacías, etc.

Para instalarlo en Ubuntu solo tenemos que abrir una Terminal y escribir:

sudo aptitude install fslint

Una vez instalado lo encontraremos en Aplicaciones> Herramientas del Sistema.

ATENCION: Si bien es una excelente herramienta, hay que tener mucho cuidado con el uso de la misma.

Sitio web de FSLint

Entrevista con expertos en Python: por qué lo usan

Fuente: BlogDeMarceloRamos

python-logo.pngodingJobs , bolsa de trabajo en línea en el área tecnológica, entrevistó a 11 programadores expertos en Python conversando con ellos sobre diferentes aspectos de Python. Me pareció una entrevista interesante así que les dejo la traducción:

Conversamos con algunos programadores Python para que dieran consejos a desarrolladores que están considerando Python. Los lenguajes que no tienen un respaldo corporativo formal dependen más de la comunidad de usuarios y desarrolladores para mantener su popularidad y Python tiene su cuota de usuarios dedicados y fieles.

Permitanme presentar el panel de expertos en Python...

Tennessee Leeuwenburg: Editor en Jefe de "The Python Papers". The Python Papers cubren temas sobre Python en la industria, la academia y la comunidad.

Mark Mruss: Autor del libro Learning Python.

Baiju M : programador Python y desarrollador de Zope 3. Su página ZWiki está en http://kpug.zwiki.org/BaijuMuthukadan

Ben Last: Un ingeniero emprendedor que comprende la tecnología desde un punto de vista empresarial. En sus propias palabras: "Soy el geek que puede hablar". Su Live Journal.

Jim Hughes: Un desarrollador senior para una vendedor de software independiente en Londres. El proyecto Delicious Tinkering cubre sus aventuras al usar del.icio.us para hacer blogs orientados a links web con Python. Su blog

Alessandro Iob: Desarrolló varios sistemas de software complejos: Devil Framework es representativo de su conocimiento y experiencia (Python, programación distribuída, sistemas dinámicos, interfaces hacia software/hardware externo, desarrollo multi-plataforma (Unix, Windows, Mac OS x), diseño de interfaces gráficas de usuario).

Carlos de la Guardia: Autor de "I Blog Therefore I am", cubriendo ideas, experiencias y opiniones sobre desarrollo web con Plone y Zope, tecnologías web relacionadas y la vida en general.

Jkx : Mantiene pythonfr.org, escribe en forma extensiva sobre Python y Zope. Su blog

Matthew Wilson: Autor de T+1, consulta su sección Python

Tim Parkin: El y su compañía Pollenation Internet usan Python para el desarrollo rápido de un sitio web de alto tráfico para la Super Liga, la liga de rugby Premier en el Reino Unido. Su Journal

Corey Goldberg: Mantiene Pylot, una herramienta de rendimiento web de código abierto basada en Python. Su blog

P: Si tuvieran que comenzar de cero, ¿aprenderían Python de nuevo?

Tennessee: Absolutamente. Python me ha dado una carrera, por ejemplo.También encuentro que es un lenguaje muy satisfactorio permitiéndome expresar lógica en forma elegante y clara. Pienso que mucha gente que ama la programación también amará a Python. Creo que la mayoría de los desarrolladores encontrarán eventualmente el 'calce' con algún lenguaje de programación que vaya con sus personalidades. Python tiene una personalidad única adecuada para mucha gente. También tiene una comunidad fantástica lo que significa que los desarrolladores siempre tienen a donde acudir para conseguir soporte, consejo e interacción con sus compañeros.

Si tuviera que considerar los lenguajes más influyentes nombraría a Python, Prolog, Java y C. Aunque cada uno tiene algo único en cuanto a su paradigma de desarrollo, Python para mi representa el mejor balance entre elegancia y aplicación.

Mark: Si, aprendí Python por diversión y para conservar mis aptitudes de programación en buena condición, pero no lo utilizo en mi trabajo actual. Teniendo en cuenta ése detalle aprender un lenguaje como Python me enseñó nuevas aptitudes de programación que he sido capaz de transferir a mi trabajo.

Baiju: Seguro. De hecho comencé con FORTRAN luego C y C++, pero ahora creo que Python debería ser el primer lenguaje con el cual comenzar al aprender a programar.

Ben: Si, aunque no sería el único lenguaje, por supuesto. Pienso que es un lenguaje excelente para los recién llegados a la programación: una gran forma de aprender buenos hábitos antes de enfrentarse con otros lenguajes que son menos estrictos.

Jim: Si.

Alessandro: Si.

Carlos: Definitivamente. Es una ventaja competitiva.

Jkx: Por supesto que sí. Python tiene mucho poder. Primero es un lenguaje de programación completo. Puedes construir cualquier tipo de aplicación seria con él. Por otro lado, es para mí la mejor arma para administrar sistemas. Digo arma y no cuchillo ;) por qué puedes realizar el trabajo de todos los días con él, desde pruebas avanzadas de DNS hasta filtrado de spam y pruebas web.

Matthew: Absolutamente.

Tim: Definitivamente! El lenguaje ha ayudado a mi programación inmensamente y lo ha hecho sin tener que cambiar inmediatamente mi manera de pensar (aunque lo he hecho con el tiempo).

Corey: Absolutamente si. Pienso que es un lenguaje de programación fantástico con una gran biblioteca estándar.

P: ¿Cual es para ustedes la funcionalidad más importante del lenguaje Python?

Tennessee: En alto nivel, la funcionalidad más importante del lenguaje es su expresividad. Hay tres cosas en el lenguaje que contribuyen a éso -- la sintaxis de manipulación de listas de Python, su tipo diccionario y su uso del espacio en blanco. Puede que no parezcan ser fortalezas evidentes, pero juntas permiten programar en forma muy clara. Este corto (ingenuo) algoritmo quicksort muestra como Python puede usarse para expresar fácilmente el enfoque divide y vencerás:


def qsort1(list):
if list == []: return listpivot = list[0]
lesser = qsort1([x for x in list[1:] if x < pivot])
greater = qsort1([x for x in list[1:] if x > pivot])
return lesser + [pivot] + greate

Mark: Esa es una pregunta difícil, tendría que decir iteradores e iterables. Toma algo que es un tormento en otros lenguajes y lo convierte en algo trivial.

Baiju: Bien, hay muchas funcionalidades de Python que me gustan. Pero cuando preguntaste "la funcionalidad más importante" se me vino a la mente el intérprete de Python.

Ben: No estoy seguro de si se puede elegir una: depende de tu punto de vista y para que lo estés usando. El ambiente del intérprete, donde puedas jugar con los módulos, programar y verificar tu comprensión de como funcionan las cosas. El hecho de que cada módulo contiene su propio arnés de testeo (muy bueno para aficionados al desarrollo Agile). La forma en que corre la orientación a objetos a través de todo el ambiente de ejecución.

Jim: Una palabra, elegancia.

Alessandro: Una sóla manera clara de hacer las cosas.

Carlos: Sintaxis simple pero poderosa y la biblioteca estándar incluída.

Jkx: Hmm, difícil de responder. La clave para mi es su simplicidad a través del uso de módulos externos y el tipado dinámico.

Matthew: La sintaxis de Python alienta a los programadores a escribir programas fáciles de leer. Hay funcionalidades mucho más elegantes en el lenguaje, como la instrospección, la evaluación en tiempo de ejecución y el tipado dinámico, pero sigo regresando a Python porque es tan sencillo a la vista. Un programa Python bien escrito se lee como un libro.

Tim: Es su naturaleza pragmática.. No intenta ser el más fantástico o el más flexible o el más 'empresarial'. Le brinda al programador un marco de trabajo muy predecible en el cual usar sus aptitudes. En resúmen, no te da órdenes ni se interpone pero sugiere gentilmente que lo puedes hacer mejor...

Corey : Dos cosas. Una es la legibilidad. El espacio en blanco como parte de la sintaxis tiende a enloquecer a la gente al principio, pero hace que la lectura del código sea realmente muy fácil. El código Python se lee y comprende intuitivamente comparado con muchos otros lenguajes.

La otra es la filosofía de Python "Debería haber una, y preferiblemente sólo una, manera evidente de hacerlo". Algunos lenguajes te dan una tonelada de formas para lograr el mismo objetivo. En Python, éso no es visto como algo positivo. En general debería haber una forma idiomática de lograr algo.

P: ¿Qué foros sobre Python recomendarían?

Tennessee: Hay algunos lugares importantes donde la gente puede interactuar con la comunidad de Python. Uno es "The Python Papers", la revista gratuita que yo edito. El sitio de noticias planet.python.org recoge publicaciones de los blogs de los miembros más activos de la comunidad Python y es una fuente fantástica de información actualizada sobre el lenguaje, proyectos y eventos. El grupo de noticias comp.lang.python en Usenet tiene un volumen de tráfico bastante alto y es muy adecuado para principiantes. También hay una nueva revista sobre Python (comercial) llamada Python Magazine.

Mark: En éste momento realmente no visito ningún foro de Python en particular. Usualmente visito foros de cualquier toolkit o API que esté usando en Python, pero éso pasa sólo cuando encuentro un problema.

Baiju: Para principiantes recomendaría la lista Python tutor.

Ben: No suelo usar ninguno asi que no puedo comentar.

Jim: No tanto foros pero si recursos. Python.org para la documentación, Cheese Shop, y más, además el Python Grimoire y el Python Cookbook para acceder a muchas sugerencias y ejemplos de como hacer las cosas de forma Pythónica.

Alessandro: Lo siento pero como no uso ningún foro no puedo recomendar ninguno.

Carlos: La lista de correo comp.lang.python y los foros web en http://python-forum.org/py/index.php. También muchos blogs interesantes que puedes encontrar en http://planet.python.org y http://www.planetpython.org/.

Jkx: ASPN Cookbook es realmente fantástico pero no es un foro en realidad.

Matthew : El grupo de noticias comp.lang.python es excelente. Los blogs en http://planet.python.org y http://planetpython.org son un buen lugar para estar en contacto con lo que la gente está haciendo con Python.

Tim: Los foros en python.org son muy 'ruidosos'. El canal IRC es estupendo si estás trancado con un problema. Planet Python es un realmente un buen lugar para escuchar lo que la gente está escribiendo actualmente.

Corey: No estoy seguro sobre los Foros pero estoy actualizado al estar suscrito a Planet Python. Es un feed agregado de muchos blogs diferentes cuyo tema es Python.

P: ¿Qué libro le recomendarían a un principiante?

Tennessee: Hay un libro en línea llamado "Dive Into Python" que hace transitar al lector por un curso rápido y práctico en Python. Demuestra el uso de la sintaxis única de Python y sus bibliotecas básicas a través de una gran cantidad de ejemplos. Yo comencé trabajando con ése recurso. Está disponible en http://www.diveintopython.org/, donde se encuentra una versión en línea que puede ser descargada sin cargo. También está disponible una versión impresa que pueden comprar aquellos lectores que prefieren una copia física. También recomendaría a "Python Cookbook" de la editorial O'Reilly como otro recurso práctico. A los programadores que están comenzando les conviene empezar con "Python: Como Programar" de Marvey M. Deitel. Ese libro incluye teoría básica de la programación usando Python.

Mark: Hay muchisimos libros fantásticos por ahí, pero no estoy seguro cual recomendaría. De hecho no estoy seguro si le recomendaría un libro a un principiante. Probablemente lo dirigiría al tutorial de Guido (http://docs.python.org/tut/) y le diría que comenzara con éso que es bueno y gratuito.

Baiju: El tutorial oficial de Python y luego "Python in a Nutshell" de Alex Matelli

Ben: Los libros de O'Reilly por Lutz & Ascher - Learning Python y Programming Python.

Jim: Dive Into Python y Learning Python

Alessandro: Learning Python (O'Reilly)

Carlos: Dive into Python, gratuito en http://diveintopython.org/.

Jkx: "Introducing Python" de O'reilly, traducido como "Introduction à Python" en Francés :)

Matthew: Afortunadamente, Python trae excelente documentación. El tutorial de Python en el sitio web es lo primero que recomiendo leer a cualquier principiante. Después de éso, el Python Cookbook de O'Reilly es una gran lectura porque explica a través de la solución de diferentes programas. Realmente me gustó el primer libro de Magnus Hetland, Practical Python, porque construye aplicaciones reales y discute porqué toma ciertas decisiones de diseño. No he leído su libro más reciente. Encuentro irónico que sepa que existan unos cuantos buenos bloggers de Python pero no sé mucho sobre buenos libros de Python.

Tim: How to think like a computer scientist y Dive Into Python. Ambos son sitios web (creo que Dive Into Python ahora es un libro). Un buen libro realmente para continuar sería el Python Cookbook. Sin embargo, usar los sitios web que nombré y descargar IPython (un intérprete de línea comando mejorado de Python) y simplemente comenzar a programar.

Corey : Learning Python de Mark Lutz y David Ascher (O'Reilly)

P: Nombren un lenguaje de programación que les gustaría aprender (si tuvieran tiempo y recursos, por supuesto)

Tennessee: Definitivamente Javascript. La mayoría de los profesionales de la computación estarán familiarizados con Javascript y para aquellos que trabajan con la web será un lenguaje esencial. Aunque estoy familiarizado con lo básico de Javascript una familiaridad más fuerte con algunos de los toolkits y paradigmas de programación más avanzados sería un ventaja gigantesca en el mercado de hoy.

Mark: No me molestaría aprender Java de nuevo, me interesó un poco en la Universidad pero no he tenido la oportunidad de regresar a él desde entonces. Tampoco me molestaría ver de que se trata de Ruby. C# parece estar en una gran cantidad de ofertas de trabajo éstos días también, así que tendría que estar en alguna parte en mi lista.

Baiju: C#

Ben: Estoy demasiado ocupado como para aprender lenguajes por diversión, supongo que C# es divertido y me gustaría tener el tiempo para poder dedicar más a aprender las bibliotecas de tiempo de ejecución (el lenguaje es bastante simple)

Jim: Python :-) Todavía me considero falto de experiencia en Python y mientras haya tiempo y recursos me gustaría ser capaz de escribir un Python más idiomático.

Alessandro: Lisp

Carlos: Smalltalk.

Jkx: OCaml pero más por diversión que por lucro por supuesto.

Matthew: Estudio Common Lisp, Prolog, Erlang y Haskell cuando el tiempo me lo permite. En particular estudiar Common Lisp me convierte en un programador Python mucho mejor. Tambien trato de estar al tanto de los eventos en la comunidad Perl y Ruby ya que ésos lenguajes comparten un herencia común con Python y un hack inteligente en Perl o Ruby usualmente puede ser traducido a Python fácilmente.

Configurar Mover Ventanas en Compiz Fusion

Fuente: CompizFusionRevolution

Ya expliqué en su día cómo se pueden colocar las ventanas por defecto, seleccionando algún escritorio por defecto, el tamaño predeterminado, etc. y hoy toca explicar que incluso para mover las ventanas podemos elegir y modificar algunos parámetros, parece que para algo tan simple no hiciera falta configuración alguna, en este vídeo se detallan las opciones que vienen en Compiz Fusion.

http://es.youtube.com/watch?v=-v-_ny4-voI

Como todos los plugins, existe una combinación de teclas para activar el plugin, en este caso podemos activarlo pulsando Alt+botón izquierdo del ratón, es decir, pulsar Alt y con el ratón pulsado ir moviendo la ventana, o pulsar Alt+F7 para mover la ventana sin tener ningún botón pulsado del ratón. Además, no hace falta decir que siempre se pueden mover las ventanas desde el borde de la ventana.

Tras esto, una de las opciones más vistosas es la de opacidad, que permite convertir la ventana en translúcida o prácticamente transparente al moverla. Tras esto, muestro en el vídeo cómo se pueden mover las ventanas fácilmente seleccionando la ventana usando el plugin Expo, del que ya hablé hace tiempo.

Una de las opciones curiosas y considero que bastante escondida, es la de limitar coordenada Y, esto significa que la ventana no podrá salir de los márgenes superior e inferior de la ventana, como se ve en el vídeo, la ventana no pasará de la parte superior y el borde de la ventana tampoco se irá más allá de la parte de abajo del escritorio.

Otra opción interesante es la de separar ventanas maximizadas, esto significa que cuando una ventana está maximizada y la queremos mover, podemos elegir si queremos que la ventana se separe (podemos hacer que se restaure y se vuelva a maximizar al moverlo a otro escritorio) o por el contrario queremos que la ventana quede fija y en ningún caso se restaure.

Para terminar, la opción Lazy Positioning, cuando está desactivado, permite actualizar en todo momento la posición de la ventana en la previsualización de escritorios, al menos el de GNOME, no sé si se puede apreciar bien en el vídeo, donde hay que fijarse es donde lo señalo con la flecha roja, si está activado, la posición solo se actualizará cuando terminemos de mover la imagen.

Por último, quería comentar que al menos en mi caso, el previsualizador de escritorios de GNOME funciona cuando selecciono un escritorio gira hacia él y al mover ventanas, quitando esta última opción, veo que las ventanas se mueven al mismo tiempo pero no consigo mover las ventanas seleccionándolas directamente en el previsualizador, no sé si me explico, aunque tampoco es crítico, siempre puedo usar Expo y moverlas usando ese plugin.