Archivo

Archivo para julio, 2009

Ubuntu 9.10 – Alpha 3

Lunes, 27 de julio de 2009 6 comentarios

Anoche estuve probando cerca de una hora el Alpha 3 de lo que va a ser Ubuntu 9.10. No suelo testear las alphas de Ubuntu en etapas tan tempranas del desarrollo (generalmente porque hay pocas cosas novedosas salvo actualizaciones de infraestructura como el kernel, gcc y X.org), pero en esta oportunidad sabía qué iba a buscar 🙂

Si bien hay pocos cambios visuales (a lo que dice este artículo le agregaría que la configuración del audio ahora sí va a estar un poco más integrada con PulseAudio), quería comentar que incorpora los últimos y nuevos drivers de Intel 2.8, publicados como estables esta última semana, que al fin elimina completamente el soporte a DRI1/EXA, y pone a DRI2/UXA como nuevo esquema de drivers (más, acá).

Lo bueno es que (a pesar de que lo probé poco tiempo), todos los problemas que estuvimos y estamos teniendo con los drivers Intel parecen haberse ido, ¡y la performance es excelente! Si, ya que que glxgears no es una herramienta de benchmark, pero si ahora mi máquina con Ubuntu 9.04 está tirando algo así como ~700 FPS y con problemas feos como este:

En cambio con Karmic Alpha 3 glxgears está escupiendo ¡~4800FPS!, y este bug no está, además de tener KMS (Mode-Setting de video por el núcleo directamente) funcionando perfectamente. Ahora puedo cambiar entre X (modo gráfico) y las consolas de texto en forma instantánea, así:

Por lo tanto, y sólo por esto a pesar de que faltan meses para la próxima versión, para mí ya va a valer mucho la pena actualizar en Octubre a Ubuntu 9.10. 🙂

Actualización: En Phoronix son optimistas, pero los resultados de sus tests dan ganador a Ubuntu 9.04 en performance. Lean el artículo acá.

¡Saludos!

Categories: codear, linux, ubuntu-ar Tags:

Control de Versiones: Manejando las diferencias entre distribuido y centralizado

Sábado, 25 de julio de 2009 Sin comentarios

VCSsDando vueltas por ahí, me entero que es muy sencillo utilizar localmente versionado de código fuente (gracias a los sistemas de control de versiones distribuidos, como por ejemplo Mercurial, GIT y Bazaar) para luego subir/actualizar los cambios a un repositorio Subversion principal. Es decir, en vez de usar los comandos svn como clientes de un servidor Subversion, es posible utilizar alguno de estos sistemas distribuidos como clientes “consumidores” del repositorio principal, para luego aprovechar sus importantes ventajas en forma local.

En principio, admito que no conozco ningún VCS distribuido, más que nada por vagancia (je), pero esto en particular sí lo necesito de vez en cuando, principalmente cuando no estoy conectado, y/o cuando los cambios que hago con respecto a trunk son profundos, llevan tiempo y quiero tener un control más “fino” en lo que hago.

A ver, habiendo nombrado primero los sistemas más conocidos (por mí), se desprende que tenemos:

  • Logo MercurialMercurial-Svn: Si bien el autor del artículo que me inspiró a escribir esto (Vadim Zeitlin, desarrollador de wxWidgets) comentaba que le gusta muchísimo Mercurial por su fácil uso, al momento de probar esta extensión para subir los cambios al servidor SVN de wxWidgets tuvo problemas de performance, uso de memoria, etc. De todas maneras, el código fuente en el repositorio de wxWidgets es bastante grandote (~330MB), así que quizás funcione bien para proyectos chicos/medianos, y más si uno ya conoce Mercurial.
  • Git-Svn: Bueno, citando nuevamente a Vadim, parece que critica un poco lo complicado de los comandos Git, sin embargo termina recomendándolo en forma rotunda por su velocidad y poca utilización de espacio extra en el disco*. Acá parece haber un tutorial cortito para utilizarlo (Google me devuelve muchísimos enlaces más por si es poco).

Git Version Control

En fin, recién me sumerjo en la lectura y experimentación de todo esto, pero para aquellos que trabajan contra un servidor SVN** y suben sus cambios con poca frecuencia al repositorio principal, “rompiendo todo” cada vez que lo hacen (guiño, guiño), me parece que esto les viene perfecto.

BazaarAdemás, tengo entendido que no es difícil usar Bazaar (por poner uno de ejemplo), y realmente está muy cool poder volver atrás en los cambios que uno hizo desde que hizo el checkout/update del SVN, mientras desarrolla, y sin tener que conectarse a Internet (VPN/SSH/etc.).

(*) Cuando el cliente de control de versiones distribuido hace un checkout del repositorio Subversion, no sólo descarga la última versión de trunk, sino que descarga todas las versiones pasadas de todas las ramas existentes, con lo cual el consumo de espacio en disco local pasa a ser un asunto importante. Git, según Vadim, parece tener poco overhead en este sentido comparado con la extensión de Mercurial.

(**) Una de las cuestiones que no le hacen perder valor e importancia a SVN es que, al ser centralizado, sigue siendo relevante en empresas que quieren tener un control más o menos estricto de su código; por lo tanto, la migración a sistemas distribuidos no siempre estará bajo su radar. Es por eso que hablo de “diferencias” en el título del post y no de una “futura migración”, es decir, que los distribuidos sean los “nuevos vecinos de la cuadra” no quiere decir que vengan a reemplazar a los viejos y conocidos. 🙂

¡Saludos!

Categories: codear, programación, python, ubuntu-ar Tags:

Las cosas bien claras…

Martes, 21 de julio de 2009 1 comentario

SO DiferentesLeyendo un post sobre Windows 7 (no quiero opinar al respecto, sólo me voy a limitar a decir que no me gustó el post), quisiera rescatar este comentario de Mauro Verón:

A veces lo que jode del sistema operativo es que no nos gusta el “modelo” o la forma de hacer algo y está bien. Yo no lo veo a mi viejo en linux, porque esta acostumbrado a levantar el telefono y pedir comida por delivery, limitandose al menu del mismo. A mi me gusta Linux porque es como tener un chef al lado que te pregunta “que quiere comer señor?” y hace exactamente lo que le digo, cuando le digo, como le digo y rápido. Puede que necesite dare instrucciones complejas y especificas al chef si quiero algo muy extravagante pero, hey!, tengo un chef y puedo comer lo que yo quiera !
Para no dejar de lado al querido OSX este vendría a ser como un finísimo restaurante, con la mejor comida, el mejor vino, las mozas mas lindas, el servicio más rápido pero solo vende carne (haciendo referencia a lo “cerrado” que es apple en su hard/soft).

En fin gente, esa fue mi humilde opinión. Espero que se haya entendido y aclaro: yo hago que las cosas se adapten a mí. Si algo no se adapta, busco la alternativa para lo que necesito y listo ! no existe una solución universal a todos los problemas, por eso la vida es tan linda 😉

Me pareció un excelente párrafo para citar, típico del “consumidor/analista que piensa”, y aunque mi opinión esté más del lado del “Ubuntu sirve para cualquier persona que no desee jugar los últimos juegos, incluso para mi viejo, y mientras yo esté a una llamada de distancia”, felicito a Mauro por la claridad de su comentario.

Ojalá todos pudiéramos evaluar las cosas de esa manera, antes de dejarnos llevar por cuestiones sin real importancia, como el cubo de Compiz, o poder ejecutar fácilmente el Photoshop sólo para eliminar los “ojos rojos” de las fotos del fin de semana. 😛

Sin entrar en guerras santas, mis 2 ctvs.

¡Saludos!

Categories: codear, linux, ubuntu-ar Tags:

Applets Java en Ubuntu de 64 bits recargados

Sábado, 18 de julio de 2009 Sin comentarios

java_logoAyer actualicé mi Ubuntu 9.04 (64 bits) y vi que había una actualización de los paquetes “sun-java6“, que corresponden a la Máquina Virtual Java. Para mi sorpresa, se trata de una actualización bastante importante de todos los paquetes de la implementación distribuida por Sun de Java (que aún no es lo mismo que el proyecto OpenJDK), y que incluye (después de ¡6 años de espera!) una implementación del Java Plugin de Sun para 64 bits.

Lo bueno es que ya puedo probar la nueva versión del plugin Java (incluida a partir de Java 6 Update 10) sobre Linux x86-84 en forma totalmente nativa.

Acá hay un video de un técnico de Sun, Kenneth Russell, donde describe todas las nuevas características del Java Plugin “recargado”:

La presentación del mismo en pdf está acá. Para información detallada y ejemplos para correr en el navegador, vayan a este link. Las novedades son muchas e importantes, y aunque la gente de Sun debería haberle dado importancia a esto hace tiempo, mejor tarde que nunca; les sugiero pegarle una mirada.

Saludos!

Categories: codear, linux, programación, ubuntu-ar Tags:

PostgreSQL 8.5

Sábado, 4 de julio de 2009 Sin comentarios

No, no me equivoqué de número de versión. 🙂pgsql_logo

Si bien PostgreSQL 8.4 ya salió y tiene unas cuantas novedades, quisiera hacerme eco de lo que está en la cola de parches a aprobar para integrar la nueva rama de desarrollo de PostgreSQL 8.5. Esta lista está compuesta por cosas como:

  • GRANT ON ALL IN schema: Una manera de otorgar permisos a todos los objetos de un esquema.
  • Machine-readable explain output v2: Salidas del comando EXPLAIN fácilemente legibles por otro software, es decir, fácilmente parseables para su procesamiento. El comando explain aceptaría como segundo parámetro el formato (además de los actuales) la keyword FORMAT, quedando así: EXPLAIN FORMAT [TEXT | JSON | XML]. Está bueno porque abre la puerta del desarrollo de herramientas de auto-tunning, basado en reglas estilo Sistema Experto.
  • SE-PostgreSQL: Security-Enhanced PostgreSQL, una mejora sustancial en la seguridad del SGBD y en el nivel de detalles del sistema de privilegios.
  • Replicación Sincrónica: Si algo le faltaba a PostgreSQL es una manera de replicación sincrónica integrada en el gestor. Esperemos que esto sí entre, aunque está bastante discutido el asunto porque es un cambio relativamente “gordo” en los internals del código, pero por lo que leí de estas discusiones parece haber consenso en llevarlo adelante e implementarlo. Por mi parte… ¡lo necesito ya! 🙂
  • \dL para listas los lenguajes utilizados en psql: Es una nueva característica en psql, la de poder listar los lenguajes instalados en la base de datos (plpythonu, plpgsql, etc.).
  • Estadísticas de esperas por bloqueos: La idea es poder tener un historial de los bloqueos sufridos por los clientes en la BD, para poder detectar problemas y saber bien qué pasa en todo momento.

Bueno, de más está decir que no hay ninguna garantía de que todo esto sea finalmente integrado en 8.5, sino que se está evaluando al mejor estilo Software Libre: peer-review, discusión de estrategias del proyecto, consenso en la comunidad de desarrolladores y posterior aceptación/pedido de mejoras/rechazo. Así que veremos cómo sigue.

Saludos!
Marcelo

\dL for languages

Categories: codear, linux, programación, sysadmin, ubuntu-ar Tags: