Descubriendo las posibilidades del directorio /proc

Una de las diferencias más grandes entre Windows y GNU/Linux que desconcierta a nuevos usuarios es el sistema de archivos. En Linux no hay más letras de unidad, sólo un directorio gigantezco que se llama directorio raíz en donde está todo.

Y ese todo es realmente todo. En particular hay un par de directorios medio raros y /proc es uno de los más raros. Este artículo explica muy claramente muchas de las cosas que hacen especial este directorio y lo que contiene además de algunas de las cosas que se pueden hacer con el mismo.

Notas

Continue reading

La paradoja de los monitores grandes

La tecnología tiene una constante: se vuelve cada vez mejor. Y también, muchas veces, hace que el tiempo la vuelva más barata. Es por eso que el día de hoy todos los equipos vienen con monitores LCD cuando originalmente eran algo exclusivo. Lo mismo pasa con el tamaño de los monitores. Todos, especialmente los geeks queremos tener pantallas grandes.

Pero tener monitores muy grandes también tiene sus problemas. Y este artículo es sobre el problema más grande de dichos monitores: el perder tiempo moviendo y cambiando el tamaño de las ventanas. Este artículo explica muy clarito de dónde viene ese problema y da un par de ideas para que los usuarios de Windows lo solucionen. Por suerte en GNU/Linux existen muchos manejadores de ventana basados en grillas que directamente eliminan ese problema.

Ya tienen otra excusa para empezar a usar GNU/Linux.

Notas

  • Artículo original: The Large Display Paradox
  • Autor original: Jeff Atwood
  • Los programas mencionados en el artículo así como sus características y funcionalidades probablemente estén muy desactualizados ya que el artículo tiene un par de años
  • Via: LifeHacker

Continue reading

Cómo comenzar a contribuir con Debian

Hace poco traduje un artículo sobre cómo ayudar a Debian. Ya sabiendo cómo se puede ayudar creo que este artículo es un excelente complemento ya que explica cómo dar el primer paso.

Esta es mi forma de contribuir un poco con Debian ¿cuál es la tuya?

Notas

Continue reading

“Seguridad” es realmente “control”

Hace 3 años que venimos leyendo sobre cómo se agregan cada vez más controles de seguridad a las aplicaciones que usamos día a día. Pero… ¿qué son realmente esos “controles de seguridad”? Este artículo creo que explica de una forma clara y sencilla la motivación de dichas funcionalidades: control y retención de usuarios. Y los usuarios seguimos aceptando esas cosas sin problemas.

Es por eso que soy un ávido promotor del software libre y los estándares abiertos. Si una empresa quiere que yo sea su cliente, primero va a tener que respetarme y reconocer que soy yo el que decido comprar sus servicios y productos y que si no me satisfacen van a tener un cliente menos. Y en esta época un cliente menos es un gran problema si ese cliente publica sobre su experiencia en diferentes redes sociales.

Espero que esta traducción ayude a mostrar lo poco que, lamentablemente, cambiaron las empresas en los últimos 3 años. Si tan sólo pudieramos cambiar los consumidores…

Notas

Continue reading

Depurando cuando se cuelga GNU/Linux

Lo bueno de GNU/Linux es que con cualquier problema que uno tiene sólo basta un par de búsquedas en internet para encontrar, al menos, una guía sobre por dónde empezar a buscar. Y si no es suficiente (o no se encuentra) siempre hay alguna comunidad en IRC o en una lista de correo con ganas de ayudar. Pero a veces no es suficiente, especialmente cuando el equipo directamente se cuelga, haciendo que sea muy complicado pedir ayuda (ya que no podemos copiar y pegar mensajes de error o probar cosas nuevas).

Por eso creo que es de vital importancia aprender un poquito sobre qué hacer con lo que sería el equivalente en GNU/Linux de las pantallas azules de la muerte. LA diferencia es que por lo general vamos a disponer de muchísima información para poder arreglarlo. Y si no, en el peor de los casos, este artículo al menos ayudará a descartar otros problemas.

Notas

  • Artículo original: Debugging system freezes
  • Autor original: Alexandre Rossi para Debian Administration
  • Si bien el artículo es originalmente específico para Debian, la mayoría de los consejos aplican a cualquier distribución GNU/Linux (a lo mejor cambiando algunos programas)
  • La palabra «log» está traducida como “registro”, pero agrego el original porque aún me resulta incómodo y poco claro

Continue reading

¿Cómo puedo ayudar a Debian?

A veces uno quiere ayudar en un proyecto libre y no sabe por dónde empezar. Siendo usuario de Debian y teniendo esa sensación creo que lo menos que puedo hacer es poner en práctica los consejos del artículo y traducirlo y publicarlo.

¿No sabés qué hacer para ayudar a Debian (que también, indirectamente, va a ayudar a Ubuntu)? Seguí leyendo.

Notas

Continue reading

Secretos del cliente MySQL de línea de órdenes

Los que trabajamos con bases de datos MySQL seguro tenemos un cliente gráfico para hacer la mayoría de nuestras tareas. Yo personalmente uso Emma en Linux, pero recomiendo usar SQLYog (su versión libre) para quienes usen Windows. Pero definitivamente no hay falta de otros programas que provean la funcionalidad que se desee para interactuar con una (o más) bases de datos MySQL.

Sin embargo, el cliente básico de línea de órdenes de MySQL es extremadamente poderoso. Pero, como toda herramienta no-gráfica, puede ser medio complicada de usar si no se está acostumbrado a leer un poco sobre las opciones que acepta o la documentación oficial.

Para eso está este artículo con unos consejos sobre cómo aprovechar al máximo esta herramienta.

Notas

Continue reading

5 ideas para vivir estresado

Todos nos sentimos estresados en algún momento y el estar al tanto de ello sólo nos produce más estrés. Salir de ese vórtice no es algo sencillo pero definitivamente no es imposible. Por eso este artículo me llamó tanto la atención, en lugar de ayudarnos a corregir lo que nos produce estrés nos muestra la mejor forma de potenciar sus efectos.

¿O acaso conocen mejores formas de mantenerse estresados?

Notas

Continue reading

Los proyectos del GSoC 2011

Para quien no sepa, Google financia a estudiantes de todo el mundo para que participen y mejoren proyectos de código abierto desde 2005. Hace unos días se publicó la lista de instituciones aceptadas en el Google Summer of Code 2011.

Mientras revisaba los proyectos que me interesan, se me ocurrió hacer un breve resumen de las ideas que pueden llegar a ver la luz gracias a este programa. Esta lista no intenta ser exhaustiva y sólo recopila algunas ideas de algunos proyectos; no es seguro que algún estudiante se postule para implementarla ni – de hacerlo – que sea aceptado. Pero está bueno ojear lo que puede llegar a deparar el futuro de estos proyectos.

GNU/Linux

Debian, una de las distribuciones de GNU/Linux (y ahora también GNU/kFreeBSD) con más distribuciones derivadas – como Ubuntu. Tiene muchas cosas interesantes para hacer, entre ellas:

  • Crear un sistema para repositorios personales similares a los PPA de Launchpad
  • Un nuevo control de diferentes versiones del mismo archivo provistos por diferentes paquetes
  • Mejor integración del servidor BOINC para facilitar la creación de proyectos que dependen de la donación de ciclos ociosos de procesador
  • Mejorar los Debian Pure Blends, las mini-distros especializadas de Debian

GNOME tiene muchos proyectos internos. Las ideas para el Summer of Code son tan variadas como los proyectos mismos: mejor edición y publicación de imágenes en Shotwell, aplicaciones web con Epiphany, agregar multi-player a un juego utilizando el framework Telepathy, integrar Anjuta con BugZilla, revisores de ortografía ne GTK+/GLib, filtros en el servidor (sieve) en Evolution, integrar video en Rhythmbox, entre muchísimos otros.

Haiku es un sistema operativo en desarrollo con proyectos que realmente pueden marcar una diferencia. Estos incluyen: hacer andar VirtualBox, mejorar el soporte de sistemas de archivos, implementar soporte para Bluetooth, mejoras a la interfaz e inclusive aceleración 3D por hardware.

Illumos, el proyecto para reemplazar OpenSolaris después de sus problemas hace unos meses también quiere estar a la par de otras distribuciones. Por eso podés ayudarlo: mejorando su versión de Wine, mejorar los sistemas de audio y virtualización o haciendo que Chrome, LibreOffice o KDE 4.6 anden sobre Illumos.

OpenSUSE, en cambio, tiene muchísimos proyectos para mejorar su sistema de creación de paquetes de software. Por lo que leí, parecería que apuntan a beneficiar a los desarrolladores en general integrando mejor su infraestructura de compilación, los reportes, los paquetes compilados y su sistema de testing. Aunque también tienen un par de proyectos para mejorar la experiencia del usuario: SaX 3 para configurar el servidor X, instalación desde Windows con Wubi, reportar bugs y muchas otras.

Programación

Django es uno de los frameworks web en python. Aparentemente están interesados en mejorar las grandes críticas al sistema:

  • Compilación de los templates para aumentar su velocidad
  • Un mejor módulo de usuarios y autenticación
  • Mejores mensajes de error y mejor documentación
  • Actualización de esquemas de bases de datos

Drupal es utilizado en todo el mundo cada vez más. La mayoría de los proyectos son sobre integración con otros sistemas (como OpenERP y Google Apps) y migración de funcionalidad existente a su última versión: Drupal 7; aunque también hay un par de ideas nuevas.

Elgg es un motor de redes sociales, básicamente te permite crear tu propia red social. Los proyectos incluyen uno para mejorar la accesibilidad del sistema (WAI y Sección 508), mejor sistema para contenidos en diferentes lenguajes y funcionalidades AJAX en su interfaz.

GCC tiene proyectos tan variados como interesantes. Van desde optimizaciones en velocidad o tamaño y mejorar las herramientas de diagnóstico hasta implementar nuevos estándares sobre los existentes como C++0x , OpenMP 3.0 o funcionalidades de Fortran.

GIT también fue aceptado. Los proyectos son por lo general implementar nuevas funcionalidades que mejoran las existentes o simplemente integrar o limpiar el código de la funcionalidad existente haciendo al sistema más eficiente, robusto y adaptable.

Haskell es un lenguaje muy interesante. Tiene proyectos variados que van desde implementar una base sobre CUDA de NVidia para Haskell Paralelos sobre Datos hasta desarrollar una interfaz para CouchDB o Amazon S3.

Python (en realidad la Python Software Foundation) tienen como principal objetivo impulsar Python 3. Y esto no es sólo en python mismo sino que también incluye otros proyectos como MailMan y Mercurial. Entre todas las cosas que se pueden hacer figuran:

  • Proveer profiling de diferentes implementaciones de python
  • Mejorar el mecanismo de importación de módulos
  • Proveer una interfaz Django para Mailman
  • Mejorar la performance y la documentación de Mercurial
  • Mejorar los sub-repositorios de mercurial, especialmente los relacionados a otros sistemas de control de versiones

Multimedia, Ofimática e Internet

FFMpeg y LibAV tienen varios proyectos sobre integración o mejora de nuevos codificadores/decodificadores de audio y video e integración con otros proyectos existentes.

GIMP también tiene sus propias ideas sobre cómo mejorarse: mejor interfaz para tamaños (que soporte operaciones matemáticas básicas y mezclar unidades), portar los plugins más importantes a la nueva infraestructura interna, permitir plugins en JavaScript y muchos otros. También hay varias ideas de proyectos en Inkscape.

GNUCash quiere mejorar también mejorando su sistema de pruebas interno, integración de negocios, migrar el sistema de reportes a python e inclusive continuar el trabajo de una interfaz completamente nueva.

Mozilla la fundación conocida por Firefox principalmente tiene muchos más proyectos en los que trabajar además del navegador. Estos van desde un parser en python para el formato de MediaWiki a una forma de ver una página web que muestre el anidado y z-index de los elementos en 3D.

Otros

Clear Climate Code es un proyecto promover la ciencia del clima. Las ideas incluyen:

  • Mejor y más fácil distribución e instalación
  • Integración con Excel para quienes quieran usar una hoja de cálculo
  • Implementación en otros lenguajes diferentes a python y/o integración con NumPy

Creative Commons es conocido por sus licencias, pero también tiene proyectos de software. Por ejemplo, un plugin oficial para WordPress o el programa CC Publisher para embeber información de la licencia en los archivos de audio y video que uno cree.

HedgeWars tiene ideas interesantes sobre cosas para hacer mejor el juego: poder guardar videos de partidas, sincronizar configuraciones, no ser expulsado de un juego cuando se pierde la conexión, una versión para iOs y otra para Android e inclusive inventar un nuevo modo de juego y armas.

phpMyAdmin también participa y quiere hacer cambios a su interfaz agregando más AJAX y limpiando código histórico así como mejorar su estructura interna con más testing, utilizando orientación a objetos de PHP y soportando Drizzle, un fork de MySQL.

Y hay más…

Y si todo eso te parece poco acá hay un par más:

  • LibreOffice tiene muchas cosas en las que trabajar sobre el nuevo fork de OpenOffice.
  • Moodle, la popular aplicación de educación en-linea también participa con un par de ideas interesantes.
  • OpenMRS es una plataforma para registros médicos. No estoy muy familiarizado con la aplicación, pero creo que es un tema importante y por de más interesante para aprender algo nuevo.
  • OpenStreetMap quiere mejorar todo, desde nuevas aplicaciones para usar sus mapas hasta mejoras en sistemas de ruteo y detección de nombres de calles en fotos con información geo-localizada.
  • Status.net, el sistema de micro-blogging abierto (y sobre el que funciona identi.ca) quiere tener su API en tiempo real, brindar analytics, integrar mejor las fotos y soportar diferentes sistemas de bases de datos internamente.
  • MediaWiki tiene proyectos para mejorar el código principal, sus extensiones o directamente hacer cosas nuevas.

Resetear la contraseña de root en MySQL

Todos los que nos dedicamos al desarrollo en algún momento tuvimos un servidorcito de pruebas al que le instalamos todo lo que nos hace falta para trabajar. Entre esas cosas seguro que está un servidor MySQL para tener un par de bases de datos. Y a todos nos pasó que un tiempo más tarde quisimos usarlo para otro proyecto sólo para darnos con que no recordábamos la contraseña.

Por suerte, en cualquier GNU/Linux no es complicado resetearla (en Windows a lo mejor es parecido pero no sabría cómo hacer para iniciar el servidor con las opciones adecuadas. Para ello tienes que seguir estos simples pasos:

  1. Inicia sesión como root en la máquina (o agrega sudo antes de todos los comandos siguientes)
  2. Para el servidor MySQL: # /etc/init.d/mysql stop
  3. Reinicia el servidor MySQL sin contraseña: mysqld_safe --skip-grant-tables &
  4. Conectate a MySQL sin contraseña: # mysql -u root -D mysql
  5. Actualiza la contraseña de root: mysql> UPDATE user SET password = PASSWORD('nueva_contraseña') WHERE user = 'root';
  6. Aplica los cambios: mysql> FLUSH PRIVILEGES;
  7. Y listo: mysql> quit;
  8. Para el servidor MySQL: # /etc/init.d/mysql stop
  9. Inicia nuevamente el servidor normalmente: # /etc/init.d/mysql start

Una cosa menos de las que preocuparnos :P