<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>En Español</title>
	<atom:link href="http://www.enespanol.com.ar/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.enespanol.com.ar</link>
	<description>Tecnología con acento</description>
	<lastBuildDate>Sat, 23 Jul 2011 23:04:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Descubriendo las posibilidades del directorio /proc</title>
		<link>http://www.enespanol.com.ar/2011/07/11/descubriendo-las-posibilidades-del-directorio-proc/</link>
		<comments>http://www.enespanol.com.ar/2011/07/11/descubriendo-las-posibilidades-del-directorio-proc/#comments</comments>
		<pubDate>Mon, 11 Jul 2011 11:45:01 +0000</pubDate>
		<dc:creator>Toote</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[traducciones]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[sistemas de archivo]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[traduccion]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.enespanol.com.ar/?p=337</guid>
		<description><![CDATA[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á &#8230; <a href="http://www.enespanol.com.ar/2011/07/11/descubriendo-las-posibilidades-del-directorio-proc/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>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 <em>letras de unidad</em>, sólo un directorio gigantezco que se llama <em>directorio raíz</em> en donde está todo.</p>
<p>Y ese <em>todo</em> es realmente <strong>todo</strong>. En particular hay un par de directorios medio raros y <code>/proc</code> 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.</p>
<h3>Notas</h3>
<ul>
<li>Artículo original: <a href="http://www.linux.com/archive/feature/126718" title="Artículo original en inglés">Discover the possibilities of the /proc directory</a></li>
<li>Autor original: el uruguayo Federico Kereki para <a href="http://www.linux.com/" title="Linux.com">Linux.com</a></li>
<li>La salida de todos los ejemplos utilizados fueron reemplazadas por los de mi PC para que sean más acordes a la actualidad</li>
<li>Via: <a href="http://librenix.com/?inode=11708" title="Link que me llevó al artículo traducido">Librenix</a></li>
</ul>
<p><span id="more-337"></span></p>
<h3>Traducción</h3>
<p>El directorio <code>/proc</code> es una bestia extraña. No existe realmente, pero podemos explorarlo. Sus archivos de tamaño cero no son ni binarios ni de texto sin embargo se los puede examinar y ver. Este directorio especial contiene todos los detalles sobre tus sistemas Linux, incluyendo su núcleo, procesos y parámetros de configuración. Estudiando el directorio <code>/proc</code> puedes aprender cómo funcionan los programas en Linux y aún hacer algunas herramientas administrativas.</p>
<p>En Linux, todo es manejado como un archivo; aún los dispositivos son abstraídos como archivos (en el directorio <code>/dev</code>). Si bien puedes pensar que los archivos &#8220;normales&#8221; son o bien textos o binarios (o posiblemente archivos de dispositivos o tuberías), el directorio <code>/proc</code> contiene un tipo de archivo más extraño: archivos virtuales. Estos archivos se pueden listar pero no existen realmente en el disco; el sistema operativo los crea al vuelo si intentas leerlos.</p>
<p>La mayoría de los sistemas de archivo siempre tienen una marca temporal actualizada, lo que indica que están siendo actualizados constantemente. El directorio <code>/proc</code> en sí mismo es creado cada vez que inicias el equipo. Necesitas trabajar como root para poder examinar el directorio completo; algunos archivos (como los relacionados a los procesos) pertenecen al usuario que ejecutó el proceso. Si bien la mayoría de los archivos son sólo de lectura, en unos pocos (notablemente en <code>/proc/sys</code>) puedes escribir para modificar parámetros del núcleo (cosa que deberías de hacer con mucho cuidado por supuesto).</p>
<h3>Recursos sobre <code>/proc</code></h3>
<p>Encontrar documentación sobre el sistema de archivo <code>/proc</code> puede ser una tarea tediosa porque está desparramada entre todo el código fuente del núcleo. Revisando el directorio <code>/usr/src/linux/Documentation</code> encontré el archivo <code>proc.txt</code> que contiene mucha información pero está algo desactualizada: su última actualización fue en Noviembre de 2000 cuando estaba por salir la versión 2.4.0 (N.d.T.: en realidad fue escrito en esa época y se actualizó por última vez en Junio de 2011, lo que no quiere decir que sea completo). Sin embargo, este directorio es más sencillo de revisar que los archivos de código fuente C. Nota que podrías conseguir más de lo que deseas; por ejemplo, el archivo laptop-mode.txt tiene más de 1000 líneas y sólo documenta el archivo <code>/proc/sys/vm/laptop_mode</code>.</p>
<h3>Organización del directorio <code>/proc</code></h3>
<p>El directorio <code>/proc</code> está organizado en directorios y subdirectorios virtuales con sus archivos agrupados por categoría. Trabajando como root, la órden <code>ls /proc</code> devuelve algo como lo siguiente:</p>
<pre>
1      14455  170   1964   2220   5142       dma          mtrr
10     14456  1729  1967   2234   5146       driver       net
10822  14573  173   1974   2243   5147       execdomains  pagetypeinfo
1145   15     1731  1975   2245   523        fb           partitions
1176   1545   174   1976   2281   535        filesystems  sched_debug
1179   1561   175   1978   2284   570        fs           self
1194   1574   18    1998   2286   6          interrupts   slabinfo
12     1591   1801  2      2289   7          iomem        softirqs
1207   16     1814  2004   2292   8          ioports      stat
1215   160    1855  2022   2299   893        irq          swaps
1218   161    1858  2026   23     894        kallsyms     sys
1275   1610   1859  2045   2307   895        kcore        sysrq-trigger
1292   162    1864  2056   234    acpi       keys         sysvipc
13     1627   1865  20961  24     asound     key-users    timer_list
13070  1628   1869  21     25     buddyinfo  kmsg         timer_stats
13369  1629   1874  2173   26     bus        kpagecount   tty
13874  163    19    2194   2669   cgroups    kpageflags   uptime
13927  1630   1920  22     2750   cmdline    loadavg      version
13934  1631   1942  22113  288    consoles   locks        vmallocinfo
13935  1632   1948  22114  3      cpuinfo    meminfo      vmstat
14     1636   1952  22133  30326  crypto     misc         zoneinfo
14237  169    1953  22134  31901  devices    modules
14450  17     1955  2216   3784   diskstats  mounts
</pre>
<p>Los directorios numerados corresponden con los procesos que están ejecutando (más al respecto luego); el enlace simbólico <code>self</code> apunta al proceso actual. Algunos archivos virtuales proveen información sobre el soporte físico como <code>/proc/cpuinfo</code>, <code>/proc/meminfo</code> y <code>/proc/interrupts</code>. Otros proveen información relacionada con los archivos como <code>/proc/filesystems</code> o <code>/proc/partitions</code>. Los archivos en <code>/proc/sys</code> veremos están relacionados con los parámetros de configuración del núcleo.</p>
<p>La órden <code>cat /proc/meminfo</code> puede devolver algo parecido a lo siguiente:</p>
<pre># cat /proc/meminfo
MemTotal:        4063188 kB
MemFree:         1239204 kB
Buffers:          191384 kB
Cached:          1241840 kB
[varias líneas eliminadas]
</pre>
<p>Si ejecutas <code>top</code> o <code>free</code> podrías reconocer algunos de esos números. De hecho, muchas utilidades muy conocidas acceden al directorio <code>/proc</code> para obtener su información. Por ejemplo, si deseas saber qué núcleo estás ejecutando utilizarías <code>uname -srv</code>, pero bien podrías recurrir a la fuente y tipear <code>cat /proc/version</code>.</p>
<h3>Algunos otros archivos interesantes</h3>
<p><strong>/proc/apm</strong>: provee información sobre <a href="http://en.wikipedia.org/wiki/Advanced_Power_Management" title="Artículo de Wikipedia en inglés">Manejo de poder avanzado («APM» por sus siglas en inglés)</a>, si está instalado.</p>
<p><strong>/proc/acpi</strong>: un directorio similar al anterior que ofrece mucha información sobre el reemplazo de APM: <a href="http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface" title="Artículo de wikipedia en inglés">interfaz avanzada de poder y configuración («ACPI» por sus siglas en inglés)</a>. Por ejemplo, para ver si tu portátil está conectada a la red eléctrica puedes utilizar <code>cat /proc/acpi/ac_adapter/AC/state</code> y obtener «on line» si lo está u «off line» si no lo está.</p>
<p><strong>/proc/cmdline</strong>: muestra los parámetros que fueron pasados al núcleo al momento de iniciar. En mi caso contiene <code>BOOT_IMAGE=/vmlinuz-2.6.39-2-amd64 root=UUID=6b950aa9-358a-4e7e-945f-ddc9972767e4 ro quiet</code> que contiene la ubicación de mi raíz de sistema de archivos, la ubicación de la imagen a iniciar y un par de cosas más.</p>
<p><strong>/proc/cpuinfo</strong>: provee información sobre el procesador del equipo. Por ejemplo, en mi equipo <code>cat /proc/cpuinfo</code> comienza con:</p>
<pre>
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 23
model name	: Intel(R) Core(TM)2 Duo CPU     E7400  @ 2.80GHz
stepping	: 10
cpu MHz		: 2806.667
cache size	: 3072 KB
</pre>
<p>Esto muestra que tengo un procesador, el número 0, de la familia 80686 (el código 6 de <em>cpu family</em> es el dígito intermedio): un Intel Core2Duo a 2.8 GHz.</p>
<p><strong>/proc/loadavg</strong>: un archivo relacionado que muestra la carga promedio del procesador; esta información incluye el uso de la CPU en el último minuto, los últimos 5 minutos y los últimos 10 minutos así también como la cantidad actual de procesos ejecutando.</p>
<p><strong>/proc/stat</strong>: también provee estadísticas, pero desde el último inicio del equipo.</p>
<p><strong>/proc/uptime</strong>: un archivo corto que tiene sólo 2 números: la cantidad de segundos que el equipo ha estado prendido y la cantidad de segundos en los que ha estado inactivo.</p>
<p><strong>/proc/devices</strong>: muestra todos los dispositivos de <a href="http://en.wikipedia.org/wiki/Block_device" title="Artículo de wikipedia sobre dispositivos de bloque">caracteres y bloque</a> actualmente configurados y cargados. <code>/proc/ide</code> and <code>/proc/scsi</code> proveen datos sobre los dispositivos IDE y SCSI.</p>
<p><strong>/proc/ioports</strong>: muestra información sobre las regiones de utilizadas para comunicación de Entrada/Salida con dichos dispositivos.</p>
<p><strong>/proc/dma</strong>: muestra los canales <a href="http://en.wikipedia.org/wiki/Direct_memory_access" title="Artículo de Wikipedia sobre DMA">Direct Memory Access</a> en uso.</p>
<p><strong>/proc/filesystems</strong>: muestra los tipos de sistema de archivos soportados por el núcleo. Este archivo podría verse de la siguiente forma:</p>
<pre>
nodev	sysfs
nodev	rootfs
nodev	bdev
nodev	proc
nodev	cgroup
nodev	cpuset
nodev	tmpfs
nodev	devtmpfs
nodev	debugfs
nodev	securityfs
nodev	sockfs
nodev	pipefs
nodev	anon_inodefs
nodev	devpts
nodev	ramfs
nodev	hugetlbfs
nodev	pstore
nodev	mqueue
nodev	usbfs
		ext3
nodev	fuse
		fuseblk
nodev	fusectl
		vfat
</pre>
<p>La primer columna muestra si el sistema de archivo está montado en un dispositivo de bloque. En mi caso, tengo particiones configuradas con <code>ext3</code> montadas.</p>
<p><strong>/proc/mounts</strong>: muestra todos los puntos de montaje utilizados por el equipo (su salida se parece a <code>/etc/mtab</code>). Similarmente, <code>/proc/partitions</code> y <code>/proc/swaps</code> muestran todas las particiones y espacio de intercambio.</p>
<p><strong>/proc/fs</strong>: si estás exportando sistemas de archivos con <a href="http://en.wikipedia.org/wiki/Network_file_system" title="Artículo de Wikipedia sobre NFS">NFS</a>, este directorio tendrá entre sus muchos subdirectorios y archivos <code>/proc/fs/nfsd/exports</code> que mostrará los sistemas de archivos compartidos y sus permisos.</p>
<p><strong>/proc/net</strong>: no se puede competir contra esta fuente de información de red. Describir cada archivo en este directorio necesitaría demasiado espacio pero incluye cada dispositivo, varios archivos relacionados con <a href="http://en.wikipedia.org/wiki/Iptables" title="Artículo en Wikipedia sobre IPTables">iptables</a>, estadísticas de reds y zócalos, información inalámbrica y mucho más.</p>
<p><strong>RAM</strong>: también hay varios archivos relacionados con memoria. Ya mencioné <code>/proc/meminfo</code>, pero también existe <code>/proc/iomem</code> que muestra la cantidad de memoria utilizada en el equipo y <code>/proc/kcore</code> que representa la memoria física de la máquina. A diferencia de otros archivos virtuales, <code>/proc/kcore</code> muestra un tamaño que es igual a tu memoria más un pequeño extra (no intentes usar <code>cat</code> sobre este archivo, su contenido es binario y desconfigurará la consola) (N.d.T.: si ya lo habías hecho, utiliza la órden <code>reset</code> en esa misma consola). Finalmente, hay muchos directorios y archivos relacionados con el soporte físico, como <code>/proc/interrupts</code> y <code>/proc/irq</code>, <code>/proc/pci</code> (todos los dispositivos PCI), <code>/proc/bus</code> y más; pero incluyen información muy específica que la mayoría de los usuarios no necesitan.</p>
<h3>¿Qué hay en un proceso?</h3>
<p>Como expliqué anteriormente, los directorios que tienen números por nombre representan los procesos que se están ejecutando. Cuando un proceso termina su directorio en <code>/proc</code> desaparace automáticamente. Si revisas cualquiera de estos directorios mientras todavía existe encontrarás muchos archivos, por ejemplo:</p>
<pre>attr        coredump_filter  io         mountstats     root       status
autogroup   cpuset           limits     net            sched      syscall
auxv        cwd              loginuid   oom_adj        sessionid  task
cgroup      environ          maps       oom_score      smaps      wchan
clear_refs  exe              mem        oom_score_adj  stack
cmdline     fd               mountinfo  pagemap        stat
comm        fdinfo           mounts     personality    statm
</pre>
<p>Revisemos los archivos principales:</p>
<ul>
<li><strong>cmdline</strong>: contiene la forma en la que se ejecutó el proceso, con todos sus parámetros</li>
<li><strong>cwd</strong>: un enlace simbólico al directorio de trabajo («working directory») del proceso</li>
<li><strong>exe</strong>: un enlace simbólico al ejecutable del proceso</li>
<li><strong>root</strong>: un enlace simbólico a lo que el proceso ve como directorio raíz</li>
<li><strong>environ</strong>: muestra todas las variables de entorno del proceso</li>
<li><strong>fd</strong>: contiene todos los descriptores de archivo del proceso, mostrando los archivos que está utilizando</li>
<li><strong>maps, statm, y mem</strong>: tienen que ver con la memoria siendo utilizada por el proceso</li>
<li><strong>stat y status</strong>: proveen información sobre el estado del proceso, el último es mucho más claro que el primero</li>
</ul>
<p>Estos archivos proveen varios desafíos de programación. Por ejemplo, si deseas encontrar <a href="http://es.wikipedia.org/wiki/Proceso_zombie">procesos zombie</a> puedes revisar todos los directorios numerados y revisar si el archivo <em>status</em> contiene &#8220;(Z) Zombie&#8221;. Una vez necesité revisar si un proceso determinado estaba ejecutando, revisé los directorios leyendo el archivo <em>cmdline</em> buscando el archivo deseado (también se podría haber hecho esto con la salida del programa <code>ps</code>, pero eso está más allá del propósito de este artículo) (N.d.T.: el programa <code>pgrep</code> está hecho específicamente para eso). Si se desea programar una versión más bonita de <code>top</code>, tienes toda la información en la punta de tus dedos.</p>
<h3>Modificando el sistema: <code>/proc/sys</code></h3>
<p><code>/proc/sys</code> no sólo provee información sobre el sistema, también te permite cambiar parámetros del núcleo al vuelo, activando o desactivando funcionalidades (por supuesto, esto podría dañar el sistema ¡considerate advertido!).</p>
<p>Para saber si puedes configurar un archivo o si sólo es para lectura, utiliza <code>ls -ld</code>; si un archivo tiene el atributo &#8220;w&#8221; significa que puedes utilizarlo para controlar algo del núcleo. Por ejemplo, <code>ls -ld /proc/sys/kernel/*</code> comienza de la siguiente forma:</p>
<pre>-rw-r--r-- 1 root root 0 Jun 25 19:29 /proc/sys/kernel/acct
-rw-r--r-- 1 root root 0 Jun 25 19:29 /proc/sys/kernel/acpi_video_flags
-rw-r--r-- 1 root root 0 Jun 25 19:29 /proc/sys/kernel/auto_msgmni
-rw-r--r-- 1 root root 0 Jun 25 19:29 /proc/sys/kernel/blk_iopoll
-r--r--r-- 1 root root 0 Jun 25 19:29 /proc/sys/kernel/bootloader_type
</pre>
<p>Puedes ver que <code>bootloader_type</code> no puede ser cambiado, pero los demás sí. Para cambiar un archivo puedes utilizar algo como <code>echo 10 &gt; /proc/sys/vm/swappiness</code>. Este ejemplo particular <a href="http://en.wikipedia.org/wiki/Paging#Performance" title="Artículo de Wikipedia sobre paginación de memoria">ajusta la memoria virtual</a> según la performance de paginación. Por cierto, estos cambios son sólo temporales y sus efectos desaparecerán al reiniciar el sistema; utiliza <em><a href="http://linux.die.net/man/8/sysctl" title="Página de manual de sysctl">sysctl</a></em> y el archivo <code>/etc/sysctl.conf</code> para que los cambios tengan efectos permanentes.</p>
<p>Estos son algunos de los directorios de <code>/proc/sys</code>:</p>
<ul>
<li><strong>debug</strong>: tiene (¡oh sorpresa!), información de depiración ideal si te interesa desarrollar sobre el núcleo</li>
<li><strong>dev</strong>: provee los parámetros para dispositivos específicos del equipo; revisa por ejemplo el directorio <code>/proc/sys/dev/cdrom</code></li>
<li><strong>fs</strong>: ofrece datos sobre todo aspecto posible del sistema de archivos</li>
<li><strong>kernel</strong>: permite modificar directamente la configuración y operación del núcleo</li>
<li><strong>net</strong>: permite controlar lo relacionado a la red; cuidado ya que tocar esto puede hacerte perder conectividad</li>
<li><strong>vm</strong>: se relaciona con el sub-sistema de memoria virtual</li>
</ul>
<h3>Conclusión</h3>
<p>El directorio especial <code>/proc</code> provee información completa y detallada sobre el funcionamiento interno de Linux y permite afinar muchos aspectos de su configuración. Si dedicas tiempo a aprender sobre todas las posibilidades de este directorios podrás conseguir una máquina Linux mejor. ¿Y eso no es lo que queremos todos acaso?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.enespanol.com.ar/2011/07/11/descubriendo-las-posibilidades-del-directorio-proc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La paradoja de los monitores grandes</title>
		<link>http://www.enespanol.com.ar/2011/07/07/la-paradoja-de-los-monitores-grandes/</link>
		<comments>http://www.enespanol.com.ar/2011/07/07/la-paradoja-de-los-monitores-grandes/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 12:50:23 +0000</pubDate>
		<dc:creator>Toote</dc:creator>
				<category><![CDATA[monitores]]></category>
		<category><![CDATA[traducciones]]></category>
		<category><![CDATA[dual-head]]></category>
		<category><![CDATA[grilla]]></category>
		<category><![CDATA[pantalla]]></category>
		<category><![CDATA[programas]]></category>
		<category><![CDATA[traduccion]]></category>
		<category><![CDATA[ventanas]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.enespanol.com.ar/?p=348</guid>
		<description><![CDATA[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 &#8230; <a href="http://www.enespanol.com.ar/2011/07/07/la-paradoja-de-los-monitores-grandes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>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 <em>geeks</em> queremos tener pantallas grandes.</p>
<p>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.</p>
<p>Ya tienen otra excusa para empezar a usar GNU/Linux.</p>
<h3>Notas</h3>
<ul>
<li>Artículo original: <a href="http://www.codinghorror.com/blog/2007/08/the-large-display-paradox.html" title="Artículo original en inglés">The Large Display Paradox</a></li>
<li>Autor original: <a href="http://www.codinghorror.com/" title="Sitio del autor original">Jeff Atwood</a></li>
<li>Los programas mencionados en el artículo así como sus características y funcionalidades probablemente estén <strong>muy desactualizados</strong> ya que el artículo tiene un par de años</li>
<li>Via: <a href="http://feeds.gawker.com/~r/lifehacker/full/~3/254950513/the-big-screen-display-productivity-paradox" title="Link por el que llegué al artículo traducido">LifeHacker</a></li>
</ul>
<p><span id="more-348"></span></p>
<h3>Traducción</h3>
<p>A medida que los monitores crecen en tamaño y los precios caen <strong>cada vez más usuarios van a tener pantallas relativamente grandes</strong>. Nadie ya compra un monitor de 15 o 17 pulgadas; dentro de poco no va a tener más sentido comprar monitores de menos de 20 pulgadas. Eventualmente, si la tendencia se mantiene, todos van a tener pantallas de 30 pulgadas en sus escritorios. Esto es algo muy bueno claramente; nunca es suficiente. Pero hay una consecuencia involuntaria con las pantallas grandes.</p>
<p>Una de las <em>ventajas</em> de los monitores chicos, irónicamente, es que <strong>por ser chicos, obligan a los usuarios a un método de trabajo simple con una ventana única</strong>. En lugar de desperdiciar tiempo redimensionando, moviendo y apilando ventanas, los usuarios sólo tienen que tratar con una ventana maximizada a la vez. Pueden cambiar entre ventanas con la misma facilidad con la que cambian de canal en la televisión. Pero una vez que la resolución llega a 1600&#215;1200 o más allá este modelo de &#8220;una aplicación por pantalla&#8221; no funciona. Dan, recientemente se topó con este problema cuando <a href="http://www.dansdata.com/3007wfp-hc.htm" title="Artículo de Daniel Rutter cuando compró su monitor de 30 pulgadas">actualizó su sistema con un LCD de 30&#8243;</a>:</p>
<blockquote><p>Los usuarios de monitores de 30 pulgadas tiene el terrible, <em>terrible</em> problema de decidir cómo utilizar todo ese espacio. Generalmente no querrás maximizar la ventana de una carpeta o document en una pantalla tan grande; o bien terminarás con mucho espacio en blanco y botones importantes del programa separados por una vasta extensión de nada, o consigues líneas de texto de 300 o más caracteres de largo que son difíciles de leer.</p></blockquote>
<p>Esa es la <strong>paradoja del gran monitor</strong>. Tener todo ese espacio puede hacerte <em>menos</em> productivo debido a todo el ejercicio de manipulación de ventanas necesario para utilizarlo efectivamente.</p>
<p>Personalmente, tengo una membresía del <a href="http://www.codinghorror.com/blog/archives/000740.html" title="Artículo de Jeff sobre sus 3 monitores">prestigioso club de los tres monitores</a>, que significa que estoy un paso adelante de Dan. Al menos hasta que él duplique o triplique su configuración.</p>
<p>Si bien mis pantallas son sólo de 20 pulgadas, tengo <a href="http://www.codinghorror.com/blog/archives/000217.html" title="Artículo de Jeff cuando compró sus 3 monitores">tres de ellos</a>. Maximizar una ventana en un área de pantalla de 20 pulgadas a 1600&#215;1200 es, por lo general, razonable. También utilizo <a href="http://www.realtimesoft.com/ultramon/" title="Sitio oficial de la aplicación">UltraMon</a> que me provee la <strong>habilidad indispensable de arrastrar ventanas maximizadas entre monitores</strong>. Constantemente &#8220;tiro&#8221; ventanas maximizadas de un monitor a otro al estilo <a href="http://www.imdb.com/title/tt0181689/" title="Página en IMDB sobre la película">«Minority Report»</a>.</p>
<p>Con mi configuración de tres monitores tengo una gran superficie de pantalla con un área primaria de foco y áreas secundarias a donde puedo &#8220;pegar&#8221; cosas que necesito disponibles para referencia pero que no molesten. <strong>Tengo una grilla natural porque utilizo tres monitores físicos</strong>. Es un efecto secundario del soporte físico, pero uno crucial sin el que no podría vivir ahora.</p>
<p>Dan tiene un sólo monitor de 30 pulgadas, por lo que no tiene una grilla natural para las ventanas. Necesita un programa para solucionarlo:</p>
<blockquote><p>
Estuve utilizando <a href="http://reptils.free.fr/" title="Sitio oficial de la aplicación">WinSplit Revolution</a> para manejar ese problema. Es una pequeña y útil aplicación para Windows que hace sencillo mover ventanas (la mayoría) por la pantalla y redimensionarlas rápidamente para que ocupen espacios en la pantalla que problablemente quieres que ocupen. Dos paneles, cada uno de 1280&#215;1600 te proveen un par de &#8220;pantallas&#8221; de 20 pulgadas verticales que son fantásticas para muchas tareas.
</p></blockquote>
<p>También tengo un poco de este problema con mis tres pantallas de 20 pulgadas, pero sólo es una molestia pequeña. Voy a estar en <em>serios</em> problemas si alguna vez tengo múltiples monitores de más de 20 pulgadas (y también necesitaré un <a href="http://www.codinghorror.com/blog/archives/000551.html" title="Artículo de Jeff sobre su escritorio">escritorio mucho más grande</a>). No hay duda que <strong>las ventanas maximizadas no son efectivas en pantallas grandes</strong>. Para monitores grandes, voy a necesitar extender el efecto de grilla de mis tres monitores a cada monitor individual.</p>
<p>Eso es exactamente lo que el programa <a href="http://reptils.free.fr/" title="Sitio oficial de la aplicación">WinSplit Revolution</a> hace. Es bastante intuitivo, utilizas CTRL+ALT+(teclado numérico) para mover la ventana activa hacia el cuadrante de la ventana representado por el número. Presionando la secuencia de teclas varias veces alterna entre los dos o tres posibles tamaños en esa posición particular.</p>
<p>Como puedes ver, consigues unas pocas docenas de arreglos de grillas sólo utilizando la metáfora de dirección del teclado numérico. Pero aún sigue siendo bastante trabajo; tengo que seleccionar cada ventana y luego utilizar el teclado numérico (o menú contextual equivalente) para moverla a donde quiero que vaya. Desde la versión 1.8 WinSplit Revolution es conciente de múltiples monitores e inclusive ofrece una combinación de teclas para mover ventanas de un monitor a otro.</p>
<p>Afortunadamente, existe <a href="http://www.donationcoders.com/jgpaiva/gridmove.html" title="Página oficial de la aplicación">GridMove</a>, que también reconoce múltiples monitores. Simplemente utilizas el botón del medio para arrastrar una ventana, y ésta se adaptará a la grilla activa que provee áreas a las que se adaptará dicha ventana.</p>
<p>En un futuro no muy lejano, <strong>todo usuario tendrá un monitor tan grande que maximizar una ventana no va a tener sentido para la mayoría de las aplicaciones</strong>. Lamentablemente el sistema operativo no incluye una grilla para ayudar a los usuarios con pantallas grandes. Al igual que Dan, todos vamos a necesitarla tarde o temprano. Hasta ese momento, estas aplicación &#8211; u otras parecidas &#8211; podrán llenar el hueco.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.enespanol.com.ar/2011/07/07/la-paradoja-de-los-monitores-grandes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cómo comenzar a contribuir con Debian</title>
		<link>http://www.enespanol.com.ar/2011/07/04/como-comenzar-a-contribuir-con-debian/</link>
		<comments>http://www.enespanol.com.ar/2011/07/04/como-comenzar-a-contribuir-con-debian/#comments</comments>
		<pubDate>Mon, 04 Jul 2011 12:23:11 +0000</pubDate>
		<dc:creator>Toote</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[traducciones]]></category>
		<category><![CDATA[ayudar]]></category>
		<category><![CDATA[contribuir]]></category>
		<category><![CDATA[DD]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[traduccion]]></category>

		<guid isPermaLink="false">http://www.enespanol.com.ar/?p=350</guid>
		<description><![CDATA[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 &#8230; <a href="http://www.enespanol.com.ar/2011/07/04/como-comenzar-a-contribuir-con-debian/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hace poco traduje un artículo sobre <a href="http://www.enespanol.com.ar/2011/06/24/%c2%bfcomo-puedo-ayudar-a-debian/" title="Traducción de un artículo sobre cómo ayudar a Debian">cómo ayudar a Debian</a>. 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.</p>
<p>Esta es mi forma de contribuir un poco con Debian ¿cuál es la tuya?</p>
<h3>Notas</h3>
<ul>
<li>Artículo original: <a href="http://raphaelhertzog.com/2011/06/30/how-to-start-contributing-to-debian/" title="Artículo original en inglés">How to start contributing to Debian</a></li>
<li>Autor original: <a href="http://raphaelhertzog.com/" title="Sitio web del autor original">Raphael Hertzog</a></li>
<li>Via: <a href="http://planet.debian.org/" title="Planeta de blogs sobre Debian en inglés">Planet Debian</a></li>
</ul>
<p><span id="more-350"></span></p>
<h3>Traducción</h3>
<p>Frecuentemente recibo preguntas de gente que desea contribuir a Debian pero no sabe dónde empezar. Intentemos responder esta pregunta apropiadamente así puedo entregar esta URL la próxima vez que me pregunten.</p>
<p>El sitio web de Debian tiene una <a href="http://www.debian.org/intro/help" title="Página de ayuda de Debian">página explicando cómo ayudar a Debian</a>. Si bien provee no menos de 10 sugerencias en una extensa lista sólo con texto, es difícil saber qué hacer luego una vez que se eligió algo que uno podría hacer.</p>
<p>Voy a intentar resolver este problema proveyendo información concreta para cada caso en artículos futuros; pero mientras tanto propongo otro enfoque para empezar. Antes de responder tu pregunta (&#8220;¿qué puedo hacer por Debian?&#8221;), necesitamos algo de información sobre vos.</p>
<h3>¿Qué te motiva?</h3>
<p>Sos un voluntario, no estás haciendo cosas por Debian porque alguien te lo ordenó. Debés de tener alguna motivación intrínseca y generalmente la motivación ulterior es que disfrutas lo que estás haciendo.</p>
<p>Por lo que ¿qué disfrutas o qué te motiva?</p>
<ul>
<li>¿Hay algo particular que quisieras aprender? ¿un nuevo lenguaje de programación? ¿empaquetamiento? ¿programación? ¿administración de sistemas? ¿un programa particular?</li>
<li>¿Deseas interactuar con gente inteligente?</li>
<li>¿Disfrutas ayudando usuarios?</li>
<li>¿Quisieras arreglar programas para que simplemente funcione?</li>
<li>¿Disfrutas construyendo algo notable y útil a millones de personas?</li>
</ul>
<p>Por el otro lado, asegúrate de saber qué es lo que odias y las cosas que quieres mantener alejadas. A lo mejor te disgusta un lenguaje de programación al punto que no deseas involucrarte en un proyecto en el que tengas que utilizarlo, etc.</p>
<p>Escribe tus respuestas a estas preguntas, podrías llegar a necesitarlas luego cuando le preguntes a otros contribuyentes de Debian cómo puedes ayudar.</p>
<h3>¿Cuáles son tus habilidades</h3>
<p>Si no te interesa aprender nuevas destrezas, obviamente deberás elegir tareas en las que tus capacidades actuales sean suficientes. Nuevamente, crea una lista con tus habilidades ¡especialmente aquellas que queieras ejercitar!. Aquí hay una lista no exhaustiva de habilidades a considerar:</p>
<ul>
<li>¿Qué idiomas manejas fluídamente? ¿Eres capaz de escribir o traducir documentación en esos idiomas?</li>
<li>¿Programas? ¿En qué lenguajes?</li>
<li>¿Puedes diagnosticar problemas? ¿Puedes depurar problemas con <em>strace</em> y/o <em>gdb</em>?</li>
<li>¿Puedes evaluar reportes de error?</li>
<li>¿Conoces algo sobre empaquetación en Debian?</li>
<li>¿Eres un artista o diseñador web?</li>
<li>¿Sabes trabajar con sistema de control de versiones (subversion, git, bazaar, etc.)?</li>
</ul>
<h3>¿Cuánto tiempo puedes dedicarle a Debian?</h3>
<p>Esta es la última información importante que necesitas comunicar siempre que le preguntes a alguien más qué puedes hacer por Debian. No tiene sentido darte una gran tarea si sólo puedes dedicarle 30 minutos por semana. Por el contrario, si puedes dedicarle una semana completa a Debian (porque estás entre trabajos o de vacaciones) es igualmente importante saberlo.</p>
<p>Generalmente, contribuir a Debian requiere de tiempo, deberías de poder pasar al menos un par de horas por semana y probablemente más al principio mientras estés aprendiendo todo.</p>
<h3>Encuentra algo para hacer</h3>
<p>En este momento ya tendrás una idea general de lo que te gustaría hacer pero te falta un objetivo concreto. Intentemos encontrar uno; exploraremos varias formas de lograrlo.</p>
<h4>Resuelve TU problema</h4>
<p>Las mejores metas son aquellas que satisfacen tus propias necesidades. Aquí algunos ejemplos:</p>
<ul>
<li>¿Notaste alguna funcionalidad faltante? Intenta implementarla</li>
<li>¿Te molestó algún error? Intenta corregirlo</li>
<li>¿Perdiste mucho tiempo en algo por falta de documentación? Escribe la documentación faltante y envíala a donde sea apropiado</li>
<li>Reporta los errores que no puedas corregir por tu cuenta. También reporta funcionalidades nuevas que desees («wishlist»)</li>
<li>¿Utilizas programas para los que no existen paquetes de Debian? Crea los paquetes y mantenlos</li>
<li>¿Necesitas una versión de un paquete más nueva que aquella en Debian inestable? Contacta al mantenedor y postúlate para ayudarlo a actualizar el paquete</li>
<li>¿Necesitas una versión de un paquete más nueva que aquella en Debian estable? Contacta al mantenedor y postúlate para portarlo desde «testing»</li>
</ul>
<p>Si eres un buen ciudadano de Debian, ya habrás reportado los errores que te molestan. Entonces puedes revisar <code>http://bugs.debian.org/from:<em>TU_MAIL</em></code> en busca de ideas de cosas para hacer que ya hayas reportado.</p>
<h4>Únete a un equipo</h4>
<p>Si no tienes algún problema particular a resolver, probablemente quieras concentrar tu trabajo en un equipo específico. Revisa <a href="http://wiki.debian.org/Teams" title="Página sobre los equipos de Debian">la lista de equipos de Debian</a>.</p>
<p>Seguramente encontrarás uno que trabaja en un área de tu interés. Si seleccionas un equipo de empaquetación, elige uno que trabaje en paquetes que estés utilizando.</p>
<p>Algunos equipos poseen instrucciones para los recién llegados, síguelas cuando sea el caso. De lo contrario, únete a la lista de correo y canal IRC para hacerte de una idea de cómo trabaja el equipo. Asegúrate que funciona para vos, puedes seguir varios equipos al mismo tiempo y elegir el que prefieras luego de unos días/semanas.</p>
<p>Una vez que hayas investigado un poco, si aún no sabes en qué puedes ayudar simplemente pregunta en la lista de correo. Incluye todas las respuestas a las 3 preguntas sobre motivaciones, habilidades y tiempo disponible.</p>
<h4>Concéntrate en un paquete particular</h4>
<p>Puedes concentrar tu trabajo en un paquete específico aún si perteneces a un equipo, generalmente es una buena idea. Pero lo menciono por separado porque no todos los paquetes son mantenidos por un equipo y podrías llegar a desear colaborar en el mantenimiento de un paquete con un sólo mantenedor. Lo dejo a tu criterio encontrar una forma de seleccionar un paquete que te interese.</p>
<p>Luego revisa la página correspondiente a ese paquete en el <a href="http://packages.qa.debian.org/" title="Sistema de seguimiento de paquetes de Debian">sistema de seguimiento de paquetes</a>, completa con tu dirección de correo el formulario en la esquina inferior izquierda, selecciona la opción <em>opts</em> de la lista desplegable siguiente y pulsa en <em>go</em>. Obtendrás un nuevo formulario en el que podrás seleccionar la información que puedes recibir. Personalmente recomiendo dejar todo activado a excepción de «upload-binary».</p>
<p>De ahora en adelante, recibirás los mismos correos que el mantenedor (un poco más de hecho), y es una buena idea informar al mantenedor que te haz suscripto con la intención de ayudar. A lo mejor está dispuesto a proveerte permisos de modificación inmediatamente, a lo mejor pedirá que le envíes parches al principio. Lo importante es crear una buena relación. En cualquier caso (aún si no recibes respuesta del mantenedor), deberías poder ayudar a evaluar reportes de error existentes y manejar el flujo de reportes entrates (incluyendo redirigir reportes cuando sea apropiado).</p>
<h4>Ayuda a un Desarrollador Debian</h4>
<p>Paul Tagliamonte una vez escribió el artículo<br />
<href="http://blog.pault.ag/post/6734920759/hey-dds-need-help" title="Artículo de Paul Tagliamonte en inglés">Ey, DDs, ¿necesitan ayuda?</a>. Ofrecía su ayuda a &#8220;desarrolladores Debian con demasiado trabajo&#8221;. Su artículo carece de la información requerida (motivación/habilidades/tiempo), pero el abordaje es bueno.</p>
<p>La mejor forma de empezar a contribuir es trabajar con desarrolladores Debian existentes. Aún cuando &#8220;sólo&#8221; quieras que patrocinen tu paquete preferido, deberías de considerar que la tutela («mentoring») es una carga para muchos desarrolladores Debian y que es más probable obtener patrocinio si tienes una relación existente con un desarrollador al que has ayudado. Elige un desarrollador que trabaje en un área de tu interés y ofrécele tu ayuda.</p>
<p>Para simplificar aún más las cosas, creé <a href="http://wiki.debian.org/RaphaelHertzog/HelpMe" title="Formas de ayudar a Raphael en el wiki de Debian">una página en el wiki</a> donde encontrarán cómo pueden ayudarme y, de esa forma, construir esa relación conmigo.</p>
<p>Eso es todo por ahora, espero que este artículo te ayude a comenzar a contribuir. No olvides <a href="http://raphaelhertzog.com/email-newsletter/" title="Boletín por correo de Raphael">suscribirte a mi boletín</a> para no perderte futuros artículos para nuevos contribuyentes. Noten que pueden referirse a este artículo con la siguiente URL: <a href="http://raphaelhertzog.com/go/contributing/" title="URL corta y sencilla para el artículo original">http://raphaelhertzog.com/go/contributing/</a> (más facil de escribir y recordar).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.enespanol.com.ar/2011/07/04/como-comenzar-a-contribuir-con-debian/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8220;Seguridad&#8221; es realmente &#8220;control&#8221;</title>
		<link>http://www.enespanol.com.ar/2011/06/30/seguridad-es-realmente-control/</link>
		<comments>http://www.enespanol.com.ar/2011/06/30/seguridad-es-realmente-control/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 12:45:20 +0000</pubDate>
		<dc:creator>Toote</dc:creator>
				<category><![CDATA[seguridad]]></category>
		<category><![CDATA[traducciones]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[bruce schneier]]></category>
		<category><![CDATA[drm]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iPod]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[traduccion]]></category>

		<guid isPermaLink="false">http://www.enespanol.com.ar/?p=333</guid>
		<description><![CDATA[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&#8230; ¿qué son realmente esos &#8220;controles de seguridad&#8221;? Este artículo creo que explica de una forma &#8230; <a href="http://www.enespanol.com.ar/2011/06/30/seguridad-es-realmente-control/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>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&#8230; ¿qué son realmente esos &#8220;controles de seguridad&#8221;? 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.</p>
<p>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.</p>
<p>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&#8230;</p>
<h3>Notas</h3>
<ul>
<li>Artículo original: <a href="http://www.wired.com/politics/security/commentary/securitymatters/2008/02/securitymatters_0207" title="Artículo original en inglés">«&#8217;Security&#8217; is code for &#8216;Control&#8217;»</a></li>
<li>Autor original: <a href="http://www.schneier.com" title="Sitio web del autor">Bruce Schneier</a> para <a href="http://www.wired.com" title="Sitio de noticias tecnológicas">Wired.com</a></li>
<li>Via: <a href="http://yro.slashdot.org/story/08/02/07/2138201/Bruce-Schneier-Weighs-in-on-IT-Lock-in-Strategies" title="Desde donde llegé al artículo">Slashdot</a></li>
</ul>
<p><span id="more-333"></span></p>
<h3>Traducción</h3>
<p>Comprar un iPhone no es lo mismo que comprar un auto o una tostadora. Tu iPhone viene con una complicada lista de reglas sobre lo que puedes y lo que no puedes hacer con él. No puedes instalarle aplicaciones no autorizadas de tereceros. No puedes desbloquearlo y utilizarlo con el proveedor de tu elección. Y Apple es muy serio sobre estas reglas: una actualización en Septiembre de 2007 eliminó programas no autorizados y, en algunos casos, hizo inusables teléfonos desbloqueados.</p>
<p>El término para ello fue <a href="http://www.nytimes.com/2007/09/29/technology/29iphone.html" title="Artículo del NYTimes que popularizó el término">volver un ladrillo («bricked»)</a> y Apple no siente culpa al respecto.</p>
<p>Las compañías tecnológicas quieren más control sobre los productos que venden y está acudiendo a medidas de seguridad draconianas para obtener ese control. Las razones son económicas.</p>
<p>El control le permite a la compañía limitar la competencia de productos auxiliares. Con las computadoras Mac, cualquiera puede vender programas que hagan cualquier cosa. Pero Apple decide quién puede vender qué en un iPhone. Puede fomentar la competencia cuando quiera y reservar para sí mismo una posición monopólica cuando lo desee. Y puede definir términos a cualquier compañía que desee vender programas o accesorios para iPhone.</p>
<p>Eso aumenta la línea de fondo de Apple. Pero el beneficio primario para Apple de todo este control es que aumenta el enjaulamiento («lock-in»). El &#8220;enjaulamiento&#8221; es un término económico para la dificultad en cambiar a un producto de la competencia. Para algunos productos, gaseosas por ejemplo, no existe enjaulamiento. Puedo tomar Coca hoy y Pepsi mañana, no es la gran cosa. Pero para otros productos es más difícil.</p>
<p>Cambiar de procesador de texto, por ejemplo, requiere instalar una nueva aplicación, aprender una nueva interfaz y una nueva forma de hacer las cosas, convertir todos los archivos (quere pueden no ser totalmente compatibles) y los programas especializados (que casi seguro van a necesitar ser escritos nuevamente) e inclusive puede necesitar nuevo soporte físico. Si Coca deja de satisfacerme siquiera por un momento me cambiaré: algo que Coca aprendío por las malas en 1985 cuando cambió la fórmula y comenzó a comercializar Nueva Coca. Pero mi procesador de texto realmente tiene que encabronarme por un buen tiempo antes de que siquiera comience a considerar atravesar todo esos gastos y trabajo.</p>
<p>El enjaulamiento no es nuevo. Es la razón por la que los fabricantes de consolas de videojuegos se aseguran que sus cartuchos de juegos no funcionen en ninguna otra consola y el motivo por el que pueden vender las consolas a pérdida y recuperarlo con las ganancias de la venta de juegos. Es por lo que Microsoft nunca quiere revelar sus formatos de archivos para que otras aplicaciones puedan leerlos. Es por lo que la música comprada de Apple para tu iPod no funcionará en otras marcas de reproductores de música. Es la razón por la que toda compañía de celulares en EE.UU. combatió la portabilidad numérica. Es la razón por la que Facebook lleva a juicio a toda compañía que intenta sacar los datos de sus páginas y ponerlos en un sitio web de la competencia. Explica los programas de viajero frecuente de las aerolíneas, las tarjetas de fidelización de los supermercados y otros programas de beneficios.</p>
<p>Con suficiente enjaulamiento una compañía puede proteger su participación de mercado aún cuando reduzca la atención al cliente, aumente los precios, se niegue a innovar y abuse de sus consumidores de otras formas. No debería sorpreder que esto suene similar a la experiencia que tenemos con cualquier otra empresa de IT: una vez que la industria descubrió el enjaulamiento, todos comenzaron a encontrar formas de obtener lo más posible de él.</p>
<p>Los economistas <a href="http://www.amazon.com/Information-Rules-Strategic-Network-Economy/dp/087584863X" title="Libro: Reglas de información, una guía estratégica para la economía de redes">Carl Shapiro y Hal Varian</a> probaron inclusive que el valor de una compañía de programación es el enjaulamiento total. La lógica es esta: asumamos que se tienen 100 personas en una empresa usando MS Office a un costo de 500$ cada uno. Si a la empresa le costara menos de 50.000$ cambiarse a Open Office, lo haría. Si le costara más de 50.000$, Microsoft aumentaría sus precios.</p>
<p>En su mayoría, las compañías aumentan si enjaulamiento mediante mecanismos de seguridad. Algunas veces las patentes preservan el enjaulamiento, pero es más usual la protección anti-copia, manejo digital de derechos («DRM» por sus siglas en inglés), firma de código u otros mecanismos de seguridad. Estas funcionalidades de seguridad no son lo que normalmente pensamos como seguridad: no nos protegen de una amenaza externa, protege a otras compañías de <em>nosotros</em>.</p>
<p>Microsoft ha venido planeando estos mecanismos de seguridad basados en el control por años. Originalmente llamados <a href="http://schneier.com/crypto-gram-0208.html#1">Palladium</a> y ahora &#8220;base de cómputo seguro de próxima generación&#8221; («NGSCB» por sus siglas en inglés), la idea es crear un sistema de seguridad basado en el control dentro del soporte físico de la computadora. Los detalles son complicados, pero los resultados van desde sólo permitir al equipo arrancar desde una copia autorizada del sistema operativo hasta prohibir al usuario acceder a archivos o ejecutar programas &#8220;no autorizados&#8221;. Los beneficios competitivos para Microsoft son <a href="http://www.cl.cam.ac.uk/~rja14/Papers/tcpa.pdf" title="Paper en inglés sobre un estudio sobre computación segura">enormes (.pdf)</a>.</p>
<p>Por supuesto, esa no es la forma en la que <a href="http://www.microsoft.com/technet/archive/security/news/ngscb.mspx" title="Artículo de noticias de Microsoft sobre su plataforma">Microsoft promueve «NGSCB»</a>. La compañía la posiciona como una medida de seguridad, protegiendo a sus usarios de gusanos, troyanos y otros programas malignos. Pero el control no es igual a la seguridad, y esta forma de seguridad basada en el control es <a href="http://www.schneier.com/blog/archives/2005/08/trusted_computi.html" title="Artículo del autor específicamente sobre computación segura">muy difícil de hacer correctamente</a> y algunas veces nos hace más vulnerables a otras amenazas. Tal vez es por eso que Microsoft está matando «NGSCB» silenciosamente, obtuvimos BitLocker y podríamos obtener otras funcionalidades de seguridad en el futuro, a pesar de las inversiones gigantezcas de los fabricantes de dispositivos al incorporar equipamiento de seguridad especial a sus placas madre.</p>
<p>En mi <a href="http://www.wired.com/politics/security/commentary/securitymatters/2008/01/securitymatters_0124" title="Columna del autor la semana anterior a la publicación de este artículo">última columna</a> hablé sobre el debate de seguridad versus privacidad y cómo éste es realmente un debate sobre libertad versus control. Aquí vemos la misma dinámica pero en un escenario comercial. Al confundir control y seguridad las compañías pueden forzar medidas de control que funcionan en contra de nuestros intereses convenciéndonos que lo hacen por nuestra propia seguridad.</p>
<p>En lo que respecta a Apple y el iPhone, no sé qué es lo que harán. Por un lado tenemos un <a href="http://www.bloomberg.com/apps/news?pid=20601087&amp;sid=aWmgi08ZjbpM" title="Reporte sobre teléfonos desbloqueados">reporte analítico afirmando que existe más de un millón de iPhones desbloqueados</a> que le cuesta a Apple entre 300 y 400 millones en ingresos. Por el otro lado, Apple está <a href="http://www.engadget.com/2007/10/17/apple-planning-iphone-sdk-for-february/" title="Artículo en Engadget sobre los planes de Apple">planeando lanzar</a> un kit de desarrollo este mes, revirtiendo su restricción anterior y permitiendo a terceras partes escribir aplicaciones para iPhone. Apple intentará mantener el control a trabés de una clave de aplicación secreta que será necesaria por todas las aplicaciones &#8220;oficiales&#8221; de terceras partes, la que obviamente ya ha sido <a href="http://www.engadget.com/2008/01/28/iphone-sdk-key-leaked/" title="Artículo en Engagdet sobre la filtración">filtrada</a> (N.d.T.: y todos sabemos los problemas de las aplicaciones entrando y saliendo del AppStore de Apple en los últimos 3 años).</p>
<p>Y la carrera de armas de seguridad continúa&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.enespanol.com.ar/2011/06/30/seguridad-es-realmente-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Depurando cuando se cuelga GNU/Linux</title>
		<link>http://www.enespanol.com.ar/2011/06/27/depurando-cuando-se-cuelga-gnulinux/</link>
		<comments>http://www.enespanol.com.ar/2011/06/27/depurando-cuando-se-cuelga-gnulinux/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 13:51:55 +0000</pubDate>
		<dc:creator>Toote</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[traducciones]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[depuración]]></category>
		<category><![CDATA[errores]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[núcleo]]></category>
		<category><![CDATA[traduccion]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://www.enespanol.com.ar/?p=335</guid>
		<description><![CDATA[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 &#8230; <a href="http://www.enespanol.com.ar/2011/06/27/depurando-cuando-se-cuelga-gnulinux/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>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).</p>
<p>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 <em>las pantallas azules de la muerte</em>. 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.</p>
<h3>Notas</h3>
<ul>
<li>Artículo original: <a href="http://www.debian-administration.org/articles/492" title="Artículo original en inglés">Debugging system freezes</a></li>
<li>Autor original: <a href="http://sousmonlit.dyndns.org/~niol/playa/" title="Sitio web del autor">Alexandre Rossi</a> para <a href="http://www.debian-administration.org/" title="Sitio con artículos y tutoriales sobre administración de sistemas Debian">Debian Administration</a></li>
<li>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)</li>
<li>La palabra «log» está traducida como &#8220;registro&#8221;, pero agrego el original porque aún me resulta incómodo y poco claro</li>
</ul>
<p><span id="more-335"></span></p>
<h3>Traducción</h3>
<p>A veces tu equipo con Debian se cuelga y, por alguna extraña razón, no hay información de depuración impresa en la pantalla. ¿Cuáles son tus opciones?</p>
<h4>Registros de sistema («logs»)</h4>
<p>El primer lugar para buscar información de depuración es <code>/var/log</code>. Los archivos <code>kern.log</code>, <code>daemon.log</code>, <code>messages</code> y <code>dmesg</code> de dicha carpeta generalmente contienen información valiosa sobre lo que falló. Esto te ayudará a identificar el programa o inclusive soporte físico que está causando problemas al núcleo del sistema operativo.</p>
<h4>Salida de consola</h4>
<p>Los <em>«oops»</em> de núcleo por lo general son guardados en <code>/var/log/dmesg</code> pero si el problema traba la Entrada/Salida del disco duro no encontrarás mucho en los registros. Y si estás corriendo X no podrás ver lo que se imprime en la consola. Pero siempre hay formas de conseguir esa salida.</p>
<p>La primera es utilizar <code>CONFIG_MAGIC_SYSRQ</code> que activa la <a href="http://en.wikibooks.org/wiki/Linux_Guide/Freezes#Alt.2BSysRq" title="Explicación en inglés de las peticiones de sistema">interfaz mágica de línea de órdenes de núcleo <code>ALT+PRINTSCREEN</code></a> (N.d.T.: <a href="http://es.wikipedia.org/wiki/Raising_Skinny_Elephants_Is_Utterly_Boring" title="Artículo en español sobre peticiones a sistema">una explicación más sencilla pero menos completa en español</a>).</p>
<h4>Consola serial</h4>
<p>Otra forma es conectar una consola serial, esto es otro equipo con un cable modem nulo en el puerto de comunicación serial, o una antigua terminal boba, al equipo en el que estás experimentando problemas. Luego, inicia el sistema operativo agregando <code>console=ttySX</code> (reemplazando X por el número de puerto) a la línea de arranque. En el otro equipo entonces, puedes utilizar <code>gkermit</code> para abrir la consola en el equipo con problemas. Esto podría llegar a funcionar utilizando USB, pero no pude encontrar cómo.</p>
<h4>El módulo de núcleo <code>netconsole</code></h4>
<p>Si no dispones del equipo adecuado, algo común ya que los portátiles actuales no poseen un puerto serial, puedes utilizar el módulo <code>netconsole</code>. Éste utilizar interfaces de red de muy bajo nivel para enviar la salida de la consola mediante UDP a través de la red. Está incluído en el núcleo estándar de Debian. Utilizarlo podría ayudarte a depurar cualquier cosa a excepción de problemas con el controlador de red. En el directorio de configuración <code>/etc/modprobe.d/</code> crea un archivo con un nombre apropiado con la siguiente información:</p>
<pre>options netconsole netconsole=32769@192.168.1.1/eth1,32769@192.168.1.6/01:23:34:56:78:9A</pre>
<p>Donde:</p>
<ul>
<li><code>32769@192.168.1.1/eth1</code> es la combinación puerto@IP/interfaz a utilizar para enviar la salida</li>
<li><code>32769@192.168.1/01:23:34:56:78:9A</code> es la combinación puerto@IP/MAC a la que enviar los paquetes</li>
</ul>
<p>Y en el equipo con la IP 192.168.1.6 ahora ejecuta</p>
<pre>$ nc -l -p 32769 -u</pre>
<p>Luego, simplemente carga el módulo <code>netconsole</code> (utilizando el programa <code>modprobe</code>) en la máquina con problemas y la salida debería de comenzar a aparecer en el otro equipo.</p>
<p>Puedes encontrar más información en <a href="http://coraid.com/support/cln/CLN-HOWTO/ar01s09.html" title="Página en inglés con ayuda para utilizar netconsole">«Using Netconsole to See Kernel Messages»</a>.</p>
<h4>No aparece nada cuando se cuelga el núcleo</h4>
<p>Este es el peor escenario posible; Linux por lo general es bastante efusivo. En este punto es muy probable que el problema esté relacionado con el soporte físico del equipo:</p>
<ul>
<li>Intenta replicar con la menor cantidad de periféricos conectados</li>
<li>Revisa la temperatura del procesador</li>
<li>Es probable que las tiras de memoria estén defectuosas (fue lo que me pasó a mí), por lo que prueba otras (N.d.T.: o utiliza <code>memtest86+</code>)</li>
<li>No maldigas el equipo e intenta recordar las penurias de tus días en <em>otros sistemas operativos</em>&#8230;</li>
</ul>
<p>Y por último: ¡buena suerte! Porque sé que es muy molesto estar en esta situación.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.enespanol.com.ar/2011/06/27/depurando-cuando-se-cuelga-gnulinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>¿Cómo puedo ayudar a Debian?</title>
		<link>http://www.enespanol.com.ar/2011/06/24/%c2%bfcomo-puedo-ayudar-a-debian/</link>
		<comments>http://www.enespanol.com.ar/2011/06/24/%c2%bfcomo-puedo-ayudar-a-debian/#comments</comments>
		<pubDate>Fri, 24 Jun 2011 12:10:44 +0000</pubDate>
		<dc:creator>Toote</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[traducciones]]></category>
		<category><![CDATA[ayudar]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[donar]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[gente]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[traduccion]]></category>

		<guid isPermaLink="false">http://www.enespanol.com.ar/?p=340</guid>
		<description><![CDATA[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 &#8230; <a href="http://www.enespanol.com.ar/2011/06/24/%c2%bfcomo-puedo-ayudar-a-debian/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>¿No sabés qué hacer para ayudar a Debian (que también, indirectamente, va a ayudar a Ubuntu)? Seguí leyendo.</p>
<h3>Notas</h3>
<ul>
<li>Artículo original: <a href="http://blog.zobel.ftbfs.de/2011/06/how-you-can-help-debian-1.html" title="Artículo original en inglés">How YOU can help Debian!</a></li>
<li>Autor original: <a href="http://blog.zobel.ftbfs.de/" title="Página web del autor">Martin Zobel-Helas</a></li>
<li>Via: <a href="http://planet.debian.org/" title="Planeta de blogs sobre Debian en inglés">Planet Debian</a>
</ul>
<p><span id="more-340"></span></p>
<h3>Traducción</h3>
<p>Recientemente me preguntaron cómo personas que no están involucradas generalmente en el proceso de desarrollo de Debian pueden colaborar con el proyecto. Esta pregunta aparece frecuentemente por lo que pensé en escribir algo al respecto.</p>
<p>(N.d.T.: los reportes de errores en el sistema de seguimiento de Debian así como los e-mails a enviar a las diferentes direcciones mencionadas en el artículo <strong>tienen que ser realizados en inglés</strong>)</p>
<h3>Ayudar haciendo de Debian un mejor SO</h3>
<p>Si estás utilizando Debian y quieres que algo del sistema operativo cambie: abre un reporte de error. Esto varía desde reportes sobre cosas deseadas si lo que se quiere es una mejora a un paquete, a través de reportes normales para reportar lo que crees son errores reales, hasta errores serios o graves cuando son cuestiones de seguridad. Simplemente envía un e-mail a submit@bugs.debian.org o utiliza la herramienta <em>reportbug</em> describiendo el problema encontrado. También hay <a href="http://www.debian.org/Bugs/Reporting" title="Página en el wiki de Debian sobre reporte de errores">más información en el wiki</a>. Se lo más detallado posible al explicar el problema. Esto facilitará al mantenedor del paquete entender el problema y ayudarte. Si no estás seguro del paquete sobre el que reportar el problema, repórtalo sobre <em>«unkown» (desconocido)</em>. Alguien se encargará del reporte ¡hay gente redirigiendo esos reportes al paquete apropiado! También puedes ayudar verificando reportes de error. Hay docenas de paquetes que tienen cientos de reportes abiertos. Sería de ayuda para el mantenedor si verificas la existencia del problema, especialmente con problemas complejos, agregando un &#8220;a mí también&#8221; en el reporte o una forma precisa de reproducirlo.</p>
<h3>Ayuda corriendo la voz</h3>
<p>Si utilizas Debian: ¡habla sobre ello! Si tienes problemas con Debian: ¡habla sobre ello! Si te gusta debian: ¡habla sobre ello!. Lee las listas de correo «debian-user» (o la correspondiente a tu idioma) y ayuda a otros usuarios que han tenido problemas como los tuyos. Todo tipo de publicidad ayuda al proyecto. Si hay una pequeña exhibición cerca de donde vives, habla en ella sobre Debian y cómo lo utilizas. También habla <strong>con</strong> Debian, podemos ayudar a anunciar tu presencia en esa exhibición y proveer material informativo en varios idiomas. Un buen punto de contanto a tal efecto es <a href="mailto:events@debian.org" title="Punto de contacto sobre eventos en Debian">events@debian.org</em> o alguna de las listas de correo de debian-events en <a href="http://lists.debian.org/" title="Servidor de listas de correo de Debian">lists.debian.org</a>. Si necesitas ayuda, pídela. También puedes ayudar a Debian colaborando en sus eventos. Si sabes de eventos en tu área ofrece tu ayuda sin vergüenza. Otra forma de ayudar con el <a href="mailto:debian-publicity@lists.debian.org" title="Contacto con el equipo de publicidad">equipo de publicidad</a> y preparar gacetillas de prensa, las <a href="http://wiki.debian.org/ProjectNews/" title="Wiki sobre el proyecto de noticias">noticias del proyecto («DPN: Debian Project News»)</a>, contactar periodistas o medios de prensa si ocurren cosas interesantes en Debian.</p>
<h3>Ayuda a organizar cosas</h3>
<p>Hay muchas formas de ayudar a Debian a organizarse. Por ejemplo, la conferencia anual de Debian DebConf es un mounstro organizativo enorme, y no necesitas ser un desarrollador para ayudar en ella. A veces es tan fácil como ayudar al equipo de video a grabar la conferencia, ayudar en la mesa de entrada con la registración, ordenando insignias o hablando con el servicio de comidas sobre las diferentes necesidades. De tanto en tanto hay miniDebConf, también llamadas &#8220;fiestas de destrucción de errores Debian&#8221; («Debian Bug Squashing parties»). Tu empresa podría proveer espacio de oficina, puedes ofrecer lugar en el que los desarrolladores puedan dormir o inclusive patrocinar comida o bebida. También es buena idea ayudar en la exhibición; si tu empresa está dispuesta a imprimir volantes o posters también ayuda.</p>
<h3>Ayuda traduciendo o escribiendo documentación</h3>
<p>El sitio web de Debian y todos los programas que Debian distribuye deberían de estar disponibles en todos los idiomas del mundo. Un buen punto de partida para ello es http://www.debian.org/international/ y la <a href="http://lists.debian.org/debian-i18n/" title="Página de la lista de internacionalización">lista de correo sobre internacionalización</a>. Escribir o extender la documentación también es un trabajo que cualquiera puede hacer. Si estás utilizando un programa constantemente y éste necesita documentación, habla con el mantenedor del paquete (que puedes encontrar en  http://packages.debian.org/<em>NOMBRE_PAQUETE</em> ) y comenzar a enviar la documentación.</p>
<h3>Ayuda con donaciones</h3>
<p>Hay muchas formas realmente de ayudar con donaciones (no sólo dinero). Debian por supuesto que aceptará donaciones de dieron a través de alguno de sus representantes oficiales (<a href="http://www.ffis.de/" title="Página en alemán de FFIS">ffis</a>, <a href="http://www.spi-inc.org/" title="Página de «Software in the Public Interest»">SPI</a>, <a href="http://www.debian.ch/" title="Representante oficial de Debian en Suiza">debian.ch</a>, &#8230;). Por el otro lado, donar puede ser tan sencillo como permitir a tus empleados trabajar un tiempo determinador por semana en Debian. O donar equipos (probablemente no los antiguos que has utilizado por cinco años que ya no están bajo garantía, perdón), ancho de banda o colocación de servidores en tu centro de datos. Habla con el <a href="mailto:hardware-donation@debian.org" title="Correo del equipo de donaciones de equipos">equipo de donaciones de máquinas</a> si estás interesado en las necesidades actuales.</p>
<h3>Conclusión</h3>
<p>Sólo escribí unas pocas áreas en las que puedes ayudar a Debian ¡hay más!. No dudes en ayudar. Si no entiendes algo: ¡pregunta!. Pero debes estar preparado para que te apunten a URLs donde está documentado lo que preguntaste. Ayudar a Debian muchas veces comienza con leer muchísima documentación (¡y estoy seguro que encontrarás errores en ella para corregir!), pero luego de un tiempo es muy divertido trabajar con y para Debian. Encuentra tu propia área para trabajar en Debian y no pienses que no puedes ayudar. Aún los diseñadores gráficos, abogados y oficinistas pueden ayudar.</p>
<p>Yo comencé utilizando Debian hace alrededor de 15 años y me convertí en Desarrollador Debian algo así como 6 años atrás. En los últimos seis años sostuve varias posiciones en Debian (miembro del equipo encargado de las listas de correo, miembro del equipo sobre «volatile», miembro del equipo de lanzamientos, Encargado del Lanzamiento de Estable, miembro del equipo de administradores de sistemas de Debian) y las obtuve sólo ayudando donde hacía falta una mano.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.enespanol.com.ar/2011/06/24/%c2%bfcomo-puedo-ayudar-a-debian/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Secretos del cliente MySQL de línea de órdenes</title>
		<link>http://www.enespanol.com.ar/2011/06/21/secretos-del-cliente-mysql-de-linea-de-ordenes/</link>
		<comments>http://www.enespanol.com.ar/2011/06/21/secretos-del-cliente-mysql-de-linea-de-ordenes/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 14:13:56 +0000</pubDate>
		<dc:creator>Toote</dc:creator>
				<category><![CDATA[bases de datos]]></category>
		<category><![CDATA[traducciones]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[command line]]></category>
		<category><![CDATA[línea de órdenes]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[traduccion]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.enespanol.com.ar/?p=327</guid>
		<description><![CDATA[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 &#8230; <a href="http://www.enespanol.com.ar/2011/06/21/secretos-del-cliente-mysql-de-linea-de-ordenes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>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 <a href="http://freshmeat.net/projects/emma/" title="Página principal del proyecto">Emma</a> en Linux, pero recomiendo usar <a href="http://www.webyog.com/" title="Página de la empresa detrás de SQLYog">SQLYog</a> (su <a href="http://code.google.com/p/sqlyog/" title="Proyecto de Google Code de SQLYog Community Edition">versión libre</a>) 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.</p>
<p>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.</p>
<p>Para eso está este artículo con unos consejos sobre cómo aprovechar al máximo esta herramienta.</p>
<h3>Notas</h3>
<ul>
<li>Artículo original: <a href="http://www.developer.com/open/article.php/3725901" title="artículo original en inglés">Secrets of the MySQL Client Command Line</a></li>
<li>Autor original: <a href="http://www.wjgilmore.com/" title="Página personal del autor original">W. Jason Gilmore</a>, autor del libro <a href="http://www.beginningphpandmysql.com/" target="new">Beginning PHP and MySQL 5: Novice to Professional, Second Edition</a></i> (Apress, 2006. 913pp.)</li>
<li>Traduzco <i>«command»</i> como &#8220;órden&#8221; ya que no existe la palabra &#8220;comando&#8221; en español (sin importar cuánto se use <img src='http://www.enespanol.com.ar/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> )</li>
<li>Vía: <a href="http://librenix.com/?inode=11676" title="Link gracias al que encontré el artículo">Librenix</a></li>
</ul>
<p><span id="more-327"></span></p>
<h3>Traducción</h3>
<p>Abundan las herramientas gráficas para administración MySQL, pero para velocidad real y manejo sin fricción tal vez nada sea más efectivo que el cliente MySQL de línea de órdenes. Sin embargo, se puede volver tedioso todo lo que hay que tipear para ejecutar consultas comunes, determinar la base de datos en la que estamos trabajando y monitorear la performance del servidor. En este artículo se develarán unas pocas funcionalidades ocultas del cliente de línea de órdenes de MySQL que pueden eliminar el tipeo innecesario y, además, hacerte un usuario mucho más eficiente de este poderoso cliente.</p>
<h3>Cambiando el indicador de la consola</h3>
<p>Si me dieran una moneda por cada vez que ejecuté la sentencia <i>show tables</i> sólo para recordar la base de datos en la que estaba trabajando estaría escribiendo este artículo desde una playa exótica. Pero todos sabemos que es fácil olvidarnos dónde estamos parados cuando cambiamos regularmente entre un IDE, una consola y el cliente MySQL. Se puede eliminar este problema completamente cambiando el indicador de MySQL utilizando la sentencia <i>prompt</i>:</p>
<pre>mysql&gt;prompt mysql (\d)&gt;</pre>
<p>Una vez ejecutada, la base de datos seleccionada en el momento aparecerá en el indicador de la siguiente forma:</p>
<pre>mysql (corporate)&gt;</pre>
<p>También es fácil olvidar en qué servidor iniciamos sesión y con qué usuario lo hicimos. Para solucionarlo, se puede cambiar el indicador usando las opciones <i>\u</i> y <i>\h</i>:</p>
<pre>mysql&gt;prompt mysql (\u@\h)&gt;</pre>
<p>Esto produce un indicador parecido al siguiente:</p>
<pre>mysql (root@www.wjgilmore.com)&gt;</pre>
<p>Para hacer el cambio permanente, agrega la opción al archivo <i>.my.cnf</i> de la siguiente forma:</p>
<pre>[mysql]
prompt=mysql \\u@\\h (\\d)&gt;
</pre>
<p>Las opciones para la base de datos, el usuario y el servidor son sólo algunas de las muchas disponibles. Revisa el final <a href="http://dev.mysql.com/doc/refman/5.0/en/mysql-commands.html" title="Sección oficial de la documentación">la documentación MySQL</a> para más información.</p>
<h3>Utilizar alias de consola para ejecutar sentencias MySQL comunes</h3>
<p>Supongamos que tu nueva aplicación web está empezando a popularizarse, nuevos usuarios se registran a toda hora. Como con el valor de la acción cuando comercien en la bolsa, es probable que revises regularmente la cantidad de usuarios. Pero es irritante iniciar y finalizar sesión en MySQL sólo para ejecutar una sentencia simple. Sin embargo, si se tiene una consola abierta se puede crear un alias que acceda al servidor MySQL, en la base de datos apropiada y ejecute la consulta:</p>
<pre>%&gt;alias usrcount="mysql -u appadmin -p myapplication
                        -e \"select count(id) from users\""
</pre>
<p>En este ejemplo, se inicia sesión en el servidor MySQL local utilizando la cuenta de usuario <i>appadmin</i>, en la base de datos <i>myapplication</i> y se ejecuta la consulta pasada en la poco conocida opción <i>-e</i>. Ahora, cada vez que quieras saber la cantidad de usuarios de tu aplicación simplemente ejecutarás la siguiente órden y proveerás la contraseña del usuario <i>appadmin</i>:</p>
<pre>%&gt;usrcount
Enter password:
+-------------+
| count(id)   |
+-------------+
|         348 |
+-------------+
</pre>
<p>Para hacer que el alias sea permanente, agrégalo al final de tu archivo de configuración de consola (<i>.bashrc</i> o similar).</p>
<h3>Obtener resultados verticalmente</h3>
<p>Revisar los resultados de una consulta en una consola puede ser particularmente complicado cuando una tabla tiene gran cantidad de columnas. Remediar este inconveniente es sencillo agregando <i>\G</i> al final de la consulta:</p>
<pre>mysql&gt;SELECT * FROM users WHERE id=1\G</pre>
<p>Ejecutar esta consulta le da el siguiente formato a lo devuelto por la consulta:</p>
<pre>mysql test&gt;select * from users where id=1\G
*************************** 1. row *********
       id: 1
     name: Jason
    email: jason@example.com
telephone: (614)999-9999
     city: Columbus
1 row in set (0.00 sec)
</pre>
<h3>Crear un archivo CSV con los resultados de una consulta</h3>
<p>Si se utiliza una base de datos profesionalmente es probable que alguien te haya pedido un volcado de los datos de la base de datos a una planilla de cálculos para analizar. ¿Sabías que puedes modificar la consulta para que le de formato CSV y guarde los resultados en un archivo? Todo lo que debes hacer es determinar cómo tienen que terminar los campos y las líneas. Por ejemplo, para volcar la tabla <i>users</i> a un archivo CSV llamado <i>users.csv</i> simplemente ejecutas la consulta:</p>
<pre>mysql&gt;SELECT * FROM users INTO OUTFILE '/home/jason/users.csv'
   FIELDS TERMINATED BY '\t\' -&gt;LINES TERMINATED BY '\n';
</pre>
<h3>Agregando datos en montón</h3>
<p>Supongamos que estamos desarrollando una aplicación de comercio electrónico que venderá una amplia variedad de productos. Tiene sentido categorizar estos productos por lo que utilizarás una tabla llamada <i>categories</i> para manejar sus nombres:</p>
<pre>mysql test&gt;create table categories (
   -&gt;id integer not null auto_increment,
   -&gt;name varchar(35) not null,
   -&gt;primary key(id));
</pre>
<p>Durante tus recreos de programación piensas en las posibles categorías y las agregas a un archivo de texto <i>categories.txt</i>. Este archivo se ve de la siguiente forma:</p>
<pre>Candy
Fruit
Coffee
Tea
Pop
Vegetables
</pre>
<p>Cuando llegue el momento de agregar estas categorías a la tabla <i>categories</i> puedes hacerlo manualmente. Pero eso sería lento y es muy probable que cometas errores. La solución correcta es utilizar la sentencia MySQL <i>LOAD DATA INFILE</i>:</p>
<pre>mysql&gt;LOAD DATA INFILE '/home/jason/categories.txt'
      INTO TABLE categories -&gt;LINES TERMINATED BY '\n'
</pre>
<p>Si la tabla tiene más de un campo y éstos están separados por tabuladores en el archivo puedes decirle a MySQL que interprete el archivo de esa forma. Para ello utilizas <i>FIELDS TERMINATED BY &#8216;\t&#8217;</i>:</p>
<pre>mysql&gt;LOAD DATA INFILE '/home/jason/categories.txt'
      INTO TABLE categories -&gt;FIELDS TERMINATED BY '\t'
      LINES TERMINATED BY '\n'
</pre>
<h3>Desactivar la molesta chicharra de error</h3>
<p>Si alguna vez viste la película <i><a href="http://www.imdb.com/title/tt0109686/" title="Página en IMDB de Dumb &#038; Dumber">Tonto y Re-Tonto</a></i>, tal vez recuerdes la escena en la que Lloyd (Jim Carrey) y Harry (Jeff Daniels) compiten por ver quién puede hacer el sonido más molesto del mundo. El cliente MySQL tiene una chicharra de error que bien podría haber ganado esa competencia. Si no estás familiarizado con ella, simplemente ejecuta una consulta con sintáxis errónea. Si bien no tiene nada que ver con eficiencia no podía dejar pasar la oportunidad de agregar la forma de desactivarla en este artículo. Para desactivarla temporalmente, agrega la opción <i>&#8211;no-beep</i> al conectarte al servidor:</p>
<pre>%&gt;mysql -u root -p --no-beep</pre>
<p>Para desactivar esta molestia permanentemente, agrega <i>no-beep</i> a la sección <i>[client]</i> del archivo <i>.my.cnf</i>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.enespanol.com.ar/2011/06/21/secretos-del-cliente-mysql-de-linea-de-ordenes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>5 ideas para vivir estresado</title>
		<link>http://www.enespanol.com.ar/2011/04/25/5-ideas-para-vivir-estresado/</link>
		<comments>http://www.enespanol.com.ar/2011/04/25/5-ideas-para-vivir-estresado/#comments</comments>
		<pubDate>Mon, 25 Apr 2011 13:40:58 +0000</pubDate>
		<dc:creator>Toote</dc:creator>
				<category><![CDATA[gente]]></category>
		<category><![CDATA[traducciones]]></category>
		<category><![CDATA[consejos]]></category>
		<category><![CDATA[estrés]]></category>
		<category><![CDATA[trabajo]]></category>
		<category><![CDATA[traduccion]]></category>
		<category><![CDATA[vida]]></category>

		<guid isPermaLink="false">http://www.enespanol.com.ar/?p=321</guid>
		<description><![CDATA[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 &#8230; <a href="http://www.enespanol.com.ar/2011/04/25/5-ideas-para-vivir-estresado/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p><strong>¿O acaso conocen mejores formas de mantenerse estresados?</strong></p>
<h3>Notas</h3>
<ul>
<li>Artículo original: <a href="http://everydaywonderland.com/articles/5-ideas-for-stressful-living" title="Artículo original en inglés">5 Ideas for Stressful Living</a></li>
<li>Vía: <a href="http://www.lifehacker.com/software/stress/how-to-achieve-stressful-living-228882.php" title="Link que me llevó al artículo originalmente">LifeHacker</a></li>
</ul>
<p><span id="more-321"></span></p>
<h3>Traducción</h3>
<p>¿Deseas una vida estresante? Pensé que no, pero es increíble cómo mucha gente consistentemente implementa hábitos y acciones en la vida diaria que garantizan resultados estresantes. Repiten las mismas cosas una y otra y otra vez esperando diferentes resultados, lo que es &#8211; si recuerdo correctamente, la definición textual de locura. Y después de pegarse contra la misma pared todos los días por 20 años piensan &#8220;bueno, si realmente trato esta vez tal vez desaparezca inmediatamente&#8221;.</p>
<p>Uno de los aspectos más absurdos del ego es que nos condiciona a buscar activamente resultados negativos. Nos hace creer que lo que queremos es paz cuando su placer secreto está en el conflicto y la negatividad. En experimentos científicos, un ratón aprender rápidamente a evitar la opción que resulta en un choque eléctrico, mientras que un humano dotado de ego continúa eligiendo la misma opción negativa una y otra vez, generalmente mediante tercas racionalizaciones basadas en una falta general de lucidez.</p>
<p>Compilé una lista corta de ideas para aquellos que quieran agregar un poco de estrés en sus vidas &#8211; todas relativamente sencillas de implementar, sin mencionar vastamente recomendadas por la sociedad en conjunto y sencillamente observables en el comportamiento de quienes nos rodean.</p>
<h3>1. Intenta controlar absolutamente todo</h3>
<p>Esta es una de las formas más prácticas de conseguir altos niveles de estrés y puede ser aplicada en una variedad de formas en casi cualquier situación que puedas encontrarte. La clave de este método es el hecho que nunca realmente tendremos demasiado control sobre las cosas, por lo que genera estrés proporcionalmente a la ilusión de control y la responsabilidad imaginada que tenemos sobre las consecuencias.</p>
<p>a) En lugar de simplemente intentar controla el proceso de lo que sea que estés haciendo, <strong>intenta ganar control sobre los resultados</strong> también: en lugar de focalizar toda tu atención en lo que estés haciendo en el momento, dispersa la mayoría intentando descubrir cómo conseguir un resultado particular. Para que esto sea efectivo, es útil imaginar el resultado menos deseado como extremadamente negativo y el resultado esperado exactamente como lo opuesto y creer que cualquiera sea el resultado éste será permanenten. De esa forma el resultado menos deseado se convierte en algo parecido a una derrota y miseria permanente, mientras que el resultado preferido es visto como la respuesta única a todos tus problemas. Imaginando el futuro en términos de polos extremos crea tensión y ansiedad; los bloques escenciales de una vida estresada.</p>
<p>b) <strong>Intenta controla otra gente</strong>, tanto lo que hacen como lo que piensan. La razón por la que esto es tan efectivo es porque podemos percibir fácilmente a los demás como personas difíciles, incompetentes y poco confiables; lo que nos da muchas razones para intentar controlar todo por nuestra cuenta. El factor estresante reside en el hecho que intentar controlar a los demás es como arrear gatos: requiere un esfuerzo enorme y se sabe, bien en el fondo, que es inútil y ridículo inclusive intentanrlo. Pero si uno se aferra a la ilusión que podemos obtener y conservar control absoluto sobre otra gente, puede ser fácilmente integrado a la vida diaria como una fuente confiable de estrés.</p>
<p>c) <strong>Intenta controlar todo lo demás</strong>: el mercado de valores, el clima, el ambiente de trabajo, varios eventos y por último, pero no por eso menos importante: Dios. En este caso, asumiendo cierto nivel de sentido común, estarás al tanto que no se puede estar en control de esas cosas. Pero esa conciencia superficial no conlleva necesariamente a una sentido profundo de responsabilidad; serás capaz de sentir la necesidad de controlarlos de alguna forma, aún cuando se sepa a un nivel racional que es imposible. La clave es convencerse a uno mismo que si uno le quita los ojos de encima al mundo por un momento, todo se caerá a pedazo. Será de gran ayuda imaginar una versión antropomorfa de Dios, preferentemente uno cruel e inconstante, y creer tenemos que estar en su lista de buenafe para que todo en nuestro mundo se mantenga intacto. Al personificar a Dios, sentirás que los métodos usados para controlar otra gente también servirán para controlarlo. Nuevamente, probablemente estés al tanto de las contradicciones de este método a un nivel racional, pero con suficiente práctica superarás este obstáculo con facilidad.</p>
<h3>2. Cree en la posibilidad de <em>triunfar absolutamente</em></h3>
<p>El concepto de llegar a algún lado en el futuro es otra fuente útil y popular de estŕes y ansiedad; y la ilusión de triunfar en el mundo es mantenida y potenciada por revistas, la televisión, películas y todo medio utilizado para mostrar como <em>los demás</em> viven sus vidas.</p>
<p>Esta es una búsqueda de identidad, y experimentalmente puede ser descripta como el no sentirse nunca como en casa en ningún lugar al que vamos. Esto puede ser un leve sentimiento de malestar, pero aún en esa forma tan secundaria puede generar una gran cantidad de estrés. Mucha gente observa a la cultura de las celebridades en esta búsqueda de identidad, que es probablemente una de las opciones más sencillas disponibles el día de hoy para fomentar esta ilusión particular. Las celebridades existen para nosostros como imágenes de lo que significa haber <em>triunfado absolutamente</em>, los vemos como quienes han llegado a ese lugar en el mundo en el que pueden relajarse, dejar sus valijas y finalmente disfrutar de su vida. Si puedes convencerte lo suficiente de esta ilusión , verás que es casi imposible sentirte satisfecho con cualquier cosa excepto cuando se está consumiendo dicha cultura y viviendo a costas de esas celebridades y otros personajes idealizados.</p>
<h3>3. Busca la satisfacción allá afuera</h3>
<p>La mayoría de las personas buscan su satisfacción casi exclusivamente a objetos y circumstancias externas en lugar de buscarlas adentro. Y, aparte de ser un factor importante en la perpetuidad del estrés, es algo que también mueve la mecánica de la sociedad occidental. Es la razón por la que la gente pasa la mayor parte de su tiempo trabajando con el propósito de acumular más cosas, y luego usar su tiempo libre intentado con gran ahínco extraer toda la satisfacción posible de las mismas para justificar los medios para obtenerlas. Estar atrapado en esta espiral empinada de más y más trabajo para más y más satisfacciones sensoriales es lo que caracteriza al sector pudiente de nuestra cultura, y el potencial de estrés en este camino es infinito simplemente porque más nunca es suficiente. Nunca lo fue, nunca lo será.</p>
<p>Esto no quiere decir que necesites bienestar económico para disfrutar una vida estresante. El método de buscar la satisfacción en cosas externas puede tomar otras formas en las vidas de aquellos menos dichosos en lo material, mediante el muy transitado camino de proyección a futuro e hipóteticos. Todo a tu alrededor hay gente que tiene todo lo que el mundo tiene para ofrecerles y parece bendecido por ello, por lo que te mantienes ocupado en un ciclo de fantasía, envidia y frustración; lo que fomenta una sensación continua de falta, de no tener suficiente. Por lo que la única diferencia real entre las dos situaciones económicas en este aspecto es que quienes más poseen tienen la oportunidad de confirmar el hecho de que más nunca es suficiente, mientras que los demás deben de convencerse permanentemente que estarán bien si sólo tuvieran más cosas. Y cuando siempre te sientas que te falta algo, el estrés se convierte automáticamente en tu estado habitual de ser.</p>
<h3>4. Créete único</h3>
<p>Hay muchas formas de inflarnos, y la razón por la que nos interesa es porque enfatizar nuestra identidad personal puede ser una excelente fuente de estrés. Esto incluye defender nuestra posición, asegurarnos que siempre tengamos razón y derrotar a todo quien se atreva a cuestionarlo, demandar respeto y admiración, asegurarnos que todos alrededor sepan quiénes somos y porqué es importante, reclamar crédito por todo lo que se jaga, demadar recompensas y asegurarnos que nunca demos más de lo que obtenemos a cambio, opinar en toda oportunidad porque si no lo hacemos nadie sabrá que existimos y estar orgullosos de nuestro <em>status</em> asegurándonos de mostrar nuestra estatura social (preferentemente exagerada) por todo medio que sea posible.</p>
<p>El decirte a tí mismo que eres especial e intentar convencer a todos los demás de ello también es casi garantizado creará estrés. De hecho, mientras más inflado, mayor la oportunidad de sentirte estresado. Como en los ejemplos anteriores, mientras más al centro de toda situación nos pongamos haciendo que todo gire a nuestro alrededor, más sencillo será aumentar nuestros niveles de estrés.</p>
<h3>5. Se más y tiene más</h3>
<p>En el centro, todas las ideas anteriores pueden ser resumidas en un sólo método: simplemente convéncete que necesitas más de lo que tienes en cualquier momento y podrás mantener un sentimiento constante de ansiedad a lo largo del día. Esto puede ser el sentir la necesidad de ser más de lo que ya somos, o necesitar más de lo que se tiene (que en realidad son la misma cosa) y puede sentirse más generalmente como un perpetuo sentimiento de incompletitud.</p>
<p>Esta es la escencia de una vida estresada, y en la mayor parte del mundo no se debe buscar demasiado para encotrar refuerzos de estas ideas. Prende la televisión, lee un par de revistas en la librería loca, revisa las publicidades y anuncios, mira una película de Hollywood; el mundo está lleno de oportunidades para aquellos que buscan estrés, aprovecharlas es tu decisión.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.enespanol.com.ar/2011/04/25/5-ideas-para-vivir-estresado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Los proyectos del GSoC 2011</title>
		<link>http://www.enespanol.com.ar/2011/03/23/los-proyectos-del-gsoc-2011/</link>
		<comments>http://www.enespanol.com.ar/2011/03/23/los-proyectos-del-gsoc-2011/#comments</comments>
		<pubDate>Wed, 23 Mar 2011 13:20:50 +0000</pubDate>
		<dc:creator>Toote</dc:creator>
				<category><![CDATA[google]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[estudiantes]]></category>
		<category><![CDATA[FLOSS]]></category>
		<category><![CDATA[gsoc]]></category>
		<category><![CDATA[proyectos]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://www.enespanol.com.ar/?p=312</guid>
		<description><![CDATA[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. &#8230; <a href="http://www.enespanol.com.ar/2011/03/23/los-proyectos-del-gsoc-2011/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>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 <a href="http://www.google-melange.com/gsoc/program/accepted_orgs/google/gsoc2011" title="Lista interactiva de mentors">lista de instituciones aceptadas en el Google Summer of Code 2011</a>.</p>
<p>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 &#8211; de hacerlo &#8211; que sea aceptado. Pero está bueno ojear lo que puede llegar a deparar el futuro de estos proyectos.</p>
<h3>GNU/Linux</h3>
<p><strong><a href="http://debian.org/" title="Página oficial de la distribución">Debian</a></strong>, una de las distribuciones de GNU/Linux (y ahora también GNU/kFreeBSD) con más distribuciones derivadas &#8211; como Ubuntu. Tiene muchas cosas interesantes para hacer, entre ellas:</p>
<ul>
<li>Crear un sistema para repositorios personales similares a los PPA de Launchpad</li>
<li>Un nuevo control de diferentes versiones del mismo archivo provistos por diferentes paquetes</li>
<li>Mejor integración del servidor <a href="http://boinc.berkeley.edu/" title="Infraestructura abierta para computación en red de Berkeley">BOINC</a> para facilitar la creación de proyectos que dependen de la donación de ciclos ociosos de procesador</li>
<li>Mejorar los <em>Debian Pure Blends</em>, las mini-distros especializadas de Debian</li>
</ul>
<p><strong><a href="http://gnome.org/" title="Proyecto del entorno de escritorio GNOME">GNOME</a></strong> 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.</p>
<p><strong><a href="http://haiku-os.org/" title="Sistema operativo Haiku">Haiku</a></strong> 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.</p>
<p><strong><a href="http://illumos.org/" title="El proyecto para mejorar OpenSolaris">Illumos</a></strong>, 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.</p>
<p><strong><a href="http://opensuse.org/" title="Página oficial de la distribución OpenSUSE">OpenSUSE</a></strong>, 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.</p>
<h3>Programación</h3>
<p><strong><a href="http://djangoproject.com/" title="Django: Framework web en Python">Django</a></strong> es uno de los frameworks web en python. Aparentemente están interesados en mejorar las grandes críticas al sistema:</p>
<ul>
<li>Compilación de los templates para aumentar su velocidad</li>
<li>Un mejor módulo de usuarios y autenticación</li>
<li>Mejores mensajes de error y mejor documentación</li>
<li>Actualización de esquemas de bases de datos</li>
</ul>
<p><strong><a href="http://drupal.org/" title="Drupal: Framework web PHP">Drupal</a></strong> 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.</p>
<p><strong><a href="http://elgg.org" title="Motor para red sociales: elgg">Elgg</a></strong> 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 (<a href="http://en.wikipedia.org/wiki/Web_Accessibility_Initiative" title="Artículo en wikipedia sobre la Iniciativa de Accesibilidad Web">WAI</a> y <a href="http://en.wikipedia.org/wiki/Section_508_Amendment_to_the_Rehabilitation_Act_of_1973" title="Artículo en wikipedia sobre la reforma de USA">Sección 508</a>), mejor sistema para contenidos en diferentes lenguajes y funcionalidades AJAX en su interfaz.</p>
<p><strong><a href="http://gcc.gnu.org/" title="Página del compilador C de GNU">GCC</a></strong> 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.</p>
<p><strong><a href="http://git.wiki.kernel.org/" title="Página del sistema de control de versiones GIT">GIT</a></strong> 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.</p>
<p><strong><a href="http://haskell.org" title="Lenguaje de programación funcional Haskell">Haskell</a></strong> 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.</p>
<p><strong><a href="http://python.org" title="Página principal de python">Python</a></strong> (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 <a href="http://www.list.org/" title="Programa de listas de correo">MailMan</a> y <a href="http://mercurial.selenic.com/" title="Sistema de control de versiones distribuído">Mercurial</a>. Entre todas las cosas que se pueden hacer figuran:</p>
<ul>
<li>Proveer profiling de diferentes implementaciones de python</li>
<li>Mejorar el mecanismo de importación de módulos</li>
<li>Proveer una interfaz Django para Mailman</li>
<li>Mejorar la performance y la documentación de Mercurial</li>
<li>Mejorar los sub-repositorios de mercurial, especialmente los relacionados a otros sistemas de control de versiones</li>
</ul>
<h3>Multimedia, Ofimática e Internet</h3>
<p><strong><a href="http://wiki.multimedia.cx/" title="Wiki sobre Audio y Video">FFMpeg y LibAV</a></strong> tienen varios proyectos sobre integración o mejora de nuevos codificadores/decodificadores de audio y video e integración con otros proyectos existentes.</p>
<p><strong><a href="http://gimp.org/" title="Programa de Manipulación de Imágenes: GIMP">GIMP</a></strong> 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 <strong><a href="http://inkscape.org/" title="Programa de edición vectorial">Inkscape</a></strong>.</p>
<p><strong><a href="http://gnucash.org/" title="Programa de finanzas">GNUCash</a></strong> 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.</p>
<p><strong><a href="http://mozilla.org/">Mozilla</a></strong> 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.</p>
<h3>Otros</h3>
<p><strong><a href="http://climatecode.org/" title="Página de la fundación del proyecto">Clear Climate Code</a></strong> es un proyecto promover la ciencia del clima. Las ideas incluyen:</p>
<ul>
<li>Mejor y más fácil distribución e instalación</li>
<li>Integración con Excel para quienes quieran usar una hoja de cálculo</li>
<li>Implementación en otros lenguajes diferentes a python y/o integración con NumPy</li>
</ul>
<p><strong><a href="http://creativecommons.org/" title="Página principal de CC">Creative Commons</a></strong> 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.</p>
<p><strong><a href="http://hedgewars.org/" title="Juego parecido al Worms">HedgeWars</a></strong> 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.</p>
<p><strong><a href="http://phpmyadmin.net/" title="Interfaz PHP para MySQL">phpMyAdmin</a></strong> 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 <a href="http://drizzle.org/" title="Página principal del proyecto">Drizzle</a>, un fork de MySQL.</p>
<h3>Y hay más&#8230;</h3>
<p>Y si todo eso te parece poco acá hay un par más:</p>
<ul>
<li><strong><a href="http://documentfoundation.org/" title="La fundación detrás de Libre Office">LibreOffice</a></strong> tiene muchas cosas en las que trabajar sobre el nuevo fork de OpenOffice.</li>
<li><strong><a href="http://moodle.org/" title="Plataforma de educación on-line">Moodle</a></strong>, la popular aplicación de educación en-linea también participa con un par de ideas interesantes.</li>
<li><strong><a href="http://openmrs.org/" title="Sistema de registros médicos personales">OpenMRS</a></strong> 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.</li>
<li><strong><a href="http://openstreetmap.org/" title="La versión libre de GoogleMaps">OpenStreetMap</a></strong> 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.</li>
<li><strong><a href="http://status.net/" title="Sistema federado y libre de micro blogging">Status.net</a></strong>, el sistema de micro-blogging abierto (y sobre el que funciona <a href="http://identi.ca/" title="Versión de twitter libre">identi.ca</a>) quiere tener su API en tiempo real, brindar analytics, integrar mejor las fotos y soportar diferentes sistemas de bases de datos internamente.</li>
<li><strong><a href="http://mediawiki.org/" title="El sistema que hace funcionar a wikipedia">MediaWiki</a></strong> tiene proyectos para mejorar el código principal, sus extensiones o directamente hacer cosas nuevas.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.enespanol.com.ar/2011/03/23/los-proyectos-del-gsoc-2011/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Resetear la contraseña de root en MySQL</title>
		<link>http://www.enespanol.com.ar/2011/03/16/resetear-la-contrasena-de-root-en-mysql/</link>
		<comments>http://www.enespanol.com.ar/2011/03/16/resetear-la-contrasena-de-root-en-mysql/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 17:31:13 +0000</pubDate>
		<dc:creator>Toote</dc:creator>
				<category><![CDATA[bases de datos]]></category>
		<category><![CDATA[tutoriales]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.enespanol.com.ar/?p=305</guid>
		<description><![CDATA[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 &#8230; <a href="http://www.enespanol.com.ar/2011/03/16/resetear-la-contrasena-de-root-en-mysql/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>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.</p>
<p>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:</p>
<ol>
<li>Inicia sesión como root en la máquina (o agrega sudo antes de todos los comandos siguientes)</li>
<li>Para el servidor MySQL: <code># /etc/init.d/mysql stop</code></li>
<li>Reinicia el servidor MySQL sin contraseña: <code>mysqld_safe --skip-grant-tables &#038;</code></li>
<li>Conectate a MySQL sin contraseña: <code># mysql -u root -D mysql</code></li>
<li>Actualiza la contraseña de root: <code>mysql> UPDATE user SET password = PASSWORD('nueva_contraseña') WHERE user = 'root';</code></li>
<li>Aplica los cambios: <code>mysql> FLUSH PRIVILEGES;</code></li>
<li>Y listo: <code>mysql> quit;</code></li>
<li>Para el servidor MySQL: <code># /etc/init.d/mysql stop</code></li>
<li>Inicia nuevamente el servidor normalmente: <code># /etc/init.d/mysql start</code></li>
</ol>
<p>Una cosa menos de las que preocuparnos <img src='http://www.enespanol.com.ar/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.enespanol.com.ar/2011/03/16/resetear-la-contrasena-de-root-en-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

