<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">

	<channel>
		<title>Genbetadev</title>
		<link>http://www.genbetadev.com</link>
		<description>
Información sobre el sector de los desarrolladores, el desarrollo de aplicaciones, para móviles, desarrollo web, bases de datos, frameworks y lenguajes de programación		</description>
		<pubDate>2013-05-21 03:48:36</pubDate>

		<generator>http://www.genbetadev.com</generator>
                    <item>
      <title><![CDATA[Fallece Malcolm Tredinnick, desarrollador de parte del núcleo de Django]]></title>
      <link>http://www.genbetadev.com/actualidad/fallece-malcolm-tredinnick</link>
      <guid>http://www.genbetadev.com/actualidad/fallece-malcolm-tredinnick</guid>
      <pubDate>Wed, 20 Mar 2013 07:03:32 +0000</pubDate>

      <author>Johnbo</author>
      <description><![CDATA[
      <p><img alt="Malcolm Tredinnick" src="http://img.genbetadev.com/2013/03/650_1000_django-Malcolm Tredinnick.jpg.jpg" class="centro" /></p>

	<p>Este tipo al que veis dando la charla <em>&#8220;The Dungeon Master&#8217;s guide to Django&#8217;s <span class="caps">ORM</span>&#8221;</em> en la pasada <strong>DjangoCon</strong> era <strong>Malcolm Tredinnick</strong>, uno de los principales desarrolladores de <strong>Django</strong> y responsable de la rama <a href="https://code.djangoproject.com/wiki/QuerysetRefactorBranch">Queryset-Refactor</a>. Y digo <em>era</em> porque Tredinnick ha fallecido este fin de semana.<br />
<!--more--></p>

	<p><object width="560" height="315"><param name="movie" value="http://www.youtube.com/v/bgV39DlmZ2U?hl=es_ES&amp;version=3"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/bgV39DlmZ2U?hl=es_ES&amp;version=3" type="application/x-shockwave-flash" width="560" height="315" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>

	<p>Si bien es verdad que no era uno de esos programadores superconocidos del mundo del Software Libre (los <em>Torvalds</em>, <em>Stallmans</em> e <em>Icazas</em> son <em>rara avis</em>), creo que es justo rendir homenaje a una de esas personas que han dedicado su tiempo a hacer software para todos.</p>

	<p>Desde el 2000 empezó a colaborar con Gnome, y fruto de esos parches acabó surgiendo <a href="http://scrollkeeper.sourceforge.net/">ScrollKeeper</a>. Pero si hay un proyecto que lleve su impronta, ése es Django, donde no ha dejado de colaborar desde 2006 hasta pocos días antes de su muerte.</p>

	<p>Además, Tredinnick era asiduo orador en charlas sobre Python, Django, Behaviour Driven Development, Linux, etc, que podréis encontrar fácilmente en <a href="http://www.youtube.com/results?q=Malcolm+Tredinnick&hl=es">vuestros canales habituales</a>. Y también ha sido objeto de <a href="http://agiliq.com/blog/2008/04/an-interview-with-malcolm-tredinnick-django-core-c/">entrevistas</a> que buscaban pulsar el estado de Django y otros proyectos desde el punto de vista de uno de sus protagonistas.</p>

	<p>Por último, como me gusta pensar que los programadores somos personas que nos dedicamos a juntar ideas, dejo aquí algunos tuits señalados que el propio <a href="https://twitter.com/malcolmt">@malcolmt</a> lanzó al aire:</p>

	<p><blockquote class="twitter-tweet" lang="es"><p>I wish people discussing performance would stop saying &#8220;memory leak&#8221; when they mean &#8220;memory usage&#8221; and &#8220;impact of recovering unused mem&#8221;.</p>&mdash; Malcolm Tredinnick (@malcolmt) <a href="https://twitter.com/malcolmt/status/301135099301359616">12 de febrero de 2013</a></blockquote><br />
<blockquote class="twitter-tweet" lang="es"><p>Dear people writing resumes, <a href="http://t.co/fPS3uQ9x" title="http://github.com">github.com</a> is not a version control system.</p>&mdash; Malcolm Tredinnick (@malcolmt) <a href="https://twitter.com/malcolmt/status/298309707356057601">4 de febrero de 2013</a></blockquote><br />
<blockquote class="twitter-tweet" lang="es"><p>Been doing this programming thing for 30 years and still sit here paralysed at &#8220;what should I call this directory?&#8221; Every. Time.</p>&mdash; Malcolm Tredinnick (@malcolmt) <a href="https://twitter.com/malcolmt/status/238097529101746176">22 de agosto de 2012</a></blockquote><br />
<blockquote class="twitter-tweet" lang="es"><p>New rule: you can&#8217;t write about responsive web design if all you&#8217;re talking about is working a few different Apple products.</p>&mdash; Malcolm Tredinnick (@malcolmt) <a href="https://twitter.com/malcolmt/status/236283486812659712">17 de agosto de 2012</a></blockquote><br />
<blockquote class="twitter-tweet" lang="es"><p>Protip: do not enforce your password length rules in the login form. Only at reg/change time. Trust me.</p>&mdash; Malcolm Tredinnick (@malcolmt) <a href="https://twitter.com/malcolmt/status/230916030514487296">2 de agosto de 2012</a></blockquote><br />
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>

	<p>Que la tierra te sea leve, Malcolm.</p>

	<p>Vía | <a href="https://www.djangoproject.com/weblog/2013/mar/19/goodbye-malcolm/">Django Project &#8211; Goodbye, Malcolm</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[¿Con qué edad se debe aprender a programar?: la pregunta de la semana]]></title>
      <link>http://www.genbetadev.com/formacion/con-que-edad-se-debe-aprender-a-programar-la-pregunta-de-la-semana</link>
      <guid>http://www.genbetadev.com/formacion/con-que-edad-se-debe-aprender-a-programar-la-pregunta-de-la-semana</guid>
      <pubDate>Wed, 06 Mar 2013 16:39:28 +0000</pubDate>

      <author>Johnbo</author>
      <description><![CDATA[
      <p><img alt="Niña usando el ordenador en clase" src="http://img.genbetadev.com/2013/03/Joven_programadora.jpg" class="centro" /></p>

	<p>Hace unos días veíamos un inspirador <a href="http://www.genbetadev.com/formacion/los-grandes-gurus-del-desarrollo-quieren-que-programes-recluta">vídeo de gurús de la informática promoviendo un estudio temprano de la disciplina</a> para no sentirse perdidos en un mundo cada vez más tecnológico.</p>

	<p>Pero nosotros no nos contentamos con eso y queremos saber qué edad consideráis idónea para iniciarse en el estudio de la programación, o si realmente es necesario que todo el mundo aprenda informática del mismo modo que ahora se pretende que todos sepan inglés desde muy pequeños. Por eso, nuestra <strong>pregunta de la semana de Genbeta Dev</strong> no podía ser otra que:</p>

<blockquote><a href="http://www.genbetadev.com/respuestas/con-que-edad-se-debe-aprender-a-programar">¿Con qué edad se debe aprender a programar?</a></blockquote>

	<p><!--more--></p>

	<p>Como siempre, cerramos los comentarios en esta entrada para que nos los dejéis en la zona de respuestas y podáis ser elegidos como el mejor de la semana.</p>

	<p>Y ahora recordamos la cuestión de la semana pasada, donde os preguntabamos <a href="http://www.genbetadev.com/respuestas/como-son-vuestros-ciclos-de-actualizaciones-o-de-subidas-a-produccion">cómo son vuestros ciclos de actualizaciones o de subidas a producción</a>. Según la comunidad, la respuesta más completa fue la de <a href="http://www.genbetadev.com/usuario/davloperez">davloperez</a>, que nos hacía una comparación entre el antes y el después:</p>

	<p><blockquote>En mi anterior empresa, las subidas a Producción se llevaban a cabo con la “asiduidad que los jefes querían”. Es decir, cuando ellos consideraban que era un buen momento para haber terminado un desarrollo, ponían una fecha y punto. Tanto si caía en viernes como en sábado.</p>

	<p>En cambio, en la empresa que estoy ahora, las subidas a producción se realizan sólo cuando hay cierta cantidad de funcionalidades terminadas en entornos de preproducción, y teniendo siempre la premisa de no realizar las subidas en viernes, ni siquiera a principios de mes (que es cuando más gente hace uso de la herramienta desarrollada).</p>

	<p>No hace falta que indique cuál de ambas alternativas prefiero.</blockquote></p>

	<p>Muchas gracias a todos por vuestra participación, esperamos vuestras respuestas. Y recordad que <a href="http://www.genbetadev.com/respuestas">Genbeta Dev Respuestas</a> no sólo es un espacio para la pregunta de la semana, sino para que cualquiera de vosotros pueda plantear sus dudas y obtener las mejores respuestas de la propia comunidad.</p>

	<p>En Genbeta Dev Respuestas | <a href="http://www.genbetadev.com/respuestas/con-que-edad-se-debe-aprender-a-programar">¿Con qué edad se debe aprender a programar?</a><br />
Imagen | <a href="http://www.flickr.com/photos/wwworks/5073550323/">Flickr &#8211; Computer class</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[the_coding_love(); y DevOps Reactions. Humor de/para programadores y sysadmins.]]></title>
      <link>http://www.genbetadev.com/trabajar-como-desarrollador/the-coding-love-y-devops-reactions-humor-de-para-programadores-y-sysadmins</link>
      <guid>http://www.genbetadev.com/trabajar-como-desarrollador/the-coding-love-y-devops-reactions-humor-de-para-programadores-y-sysadmins</guid>
      <pubDate>Sun, 03 Mar 2013 07:57:57 +0000</pubDate>

      <author>Johnbo</author>
      <description><![CDATA[
      <p><img alt="Cuando tengo que actualizar una expresión regular" src="http://img.genbetadev.com/2013/03/Actualizar-expresion-regular.jpg" class="centro_sinmarco" /><br />
Como el domingo es día de asueto, vamos a dedicarlo a asuntos que relajen la mente sin salirnos del mundo de la programación. Dos <strong>blogs de humor</strong>: <a href="http://thecodinglove.com">the_coding_love();</a> y <a href="http://devopsreactions.tumblr.com">DevOps reactions</a>, que muestran a modo de <strong>gifs animados</strong> las reacciones de programadores y sysadmins al enfrentarse a diversos problemas del día a día.<br />
<!--more--><br />
<strong>the_coding_love();</strong> escrito así, como si fuera una función, nos muestra distintas situaciones vistas desde el punto de vista del programador. Toda la página tiene una estética muy <em>programática</em>, por así decirlo, con detalles frikis como el <code>CURRENT_PAGE++</code> para avanzar de página. La tortuosa relación con clientes y usuarios es el centro de la mayoría de gags, de los que os selecciono algunos de mis favoritos:<br />
<ul><li>Cuando, tras una gran actualización, <a href="http://thecodinglove.com/post/43481655487/when-after-a-big-update-i-test-the-new-site-with-ie">pruebo la página web con IE</a>.</li><li>Cuando <a href="http://thecodinglove.com/post/41711420446/when-i-have-to-edit-a-piece-of-code-that-i-have-not">edito una porción de código que no he visto en 3 meses</a>.</li><li>Cuando, tras liberar una aplicación como beta, <a href="http://thecodinglove.com/post/40510759769/when-the-app-goes-beta-and-the-first-bug-reports-are">empiezan a llegar los informes de errores</a>.</li><li>Cuando <a href="http://thecodinglove.com/post/40468336923/when-i-come-back-to-a-piece-of-code-that-i-did-not">reviso una porción de código que no comenté</a>.</li></ul><br />
Y aunque comparte el estilo en los gags, <strong>DevOps Reactions</strong> muestra otra visión, la de la gente de operaciones, producción y sistemas. Un enfoque interesante donde a veces desarrollo son <em>los malos</em>, y la mayor parte de problemas se producen en los despliegues y operación diaria.</p>

	<p>Porque no está mal saber reírnos tanto de unos como de nosotros mismos.</p>

	<p>Página | <a href="http://thecodinglove.com">the_coding_love();</a><br />
Página | <a href="http://devopsreactions.tumblr.com">DevOps reactions</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Color Scheme Designer facilita la elección de paleta a los programadores con peor gusto]]></title>
      <link>http://www.genbetadev.com/herramientas/color-scheme-designer-facilita-la-eleccion-de-paleta-a-los-programadores-con-peor-gusto</link>
      <guid>http://www.genbetadev.com/herramientas/color-scheme-designer-facilita-la-eleccion-de-paleta-a-los-programadores-con-peor-gusto</guid>
      <pubDate>Fri, 01 Mar 2013 07:02:11 +0000</pubDate>

      <author>Johnbo</author>
      <description><![CDATA[
      <p><img alt="Paleta de colores binaria" src="http://img.genbetadev.com/2013/02/ColorScheme.png" class="centro" /><br />
Muchas veces los programadores y los diseñadores somos las dos caras de una misma moneda: nos complementamos para crear un buen producto, pero nuestras cualidades pueden llegar a ser tan inmiscibles como el agua y el aceite. Por eso, cuando por el motivo que sea, un programador no puede contar con el apoyo de un diseñador para crear una aplicación, algo tan sencillo como la <strong>elección de la paleta de colores</strong> se puede convertir en un auténtico quebradero de cabeza.<br />
<!--more--><br />
<a href="http://colorschemedesigner.com/">Color Scheme Designer</a> es una aplicación online que viene a ayudarnos en esa tarea. El funcionamiento es tan sencillo como escoger un color base, y directamente se nos muestra una paleta monocromática con cinco tonalidades, que ofrecen un resultado elegante y sin <em>sobresaltos visuales</em>, incluso si se selecciona un color <em>chillón</em>. Además, bajo la propia paleta podemos ver dos ejemplos de como usar armónicamente esos colores para crear una página web con tonos claros u oscuros.</p>

	<p>Para paletas más complejas, podemos ir escogiendo combinaciones de un color con su complementario, triadas con bajo contraste, o incluso combinaciones de cuatro colores muy diferentes pero que no duelan a la vista como suele ocurrir cuando los escogemos al azar. Luego, en la pestaña de ajuste del esquema, ya podemos variarlo hacia versiones con distinta palidez y contraste, ampliando enormemente las posibilidades.</p>

	<p><img alt="Esquema de color visto por personas con daltonismo" src="http://img.genbetadev.com/2013/03/Esquema-color-daltonismo.png" class="centro" /></p>

	<p>Pero sin duda, desde el punto de vista del creador de una web o de una aplicación, lo más interesante es el poder comprobar in situ el resultado de dichas paletas de colores <strong>desde el punto de vista de una persona con daltonismo</strong>. De hecho, se muestran ocho variedades de ceguera al color, desde la deuteranomalía que afecta a 1 de cada 20 hombres y 1 de cada 250 mujeres, hasta la casi inexistente tritanomalía. Para todo aquel que quiera obtener un determinado <a href="http://www.genbetadev.com/desarrollo-web/validacion-y-accesibilidad-web-como-cuando-y-por-que">nivel de accesibilidad</a>, este paso debería ser obligatorio.</p>

	<p>Y por último, decir que <strong>Color Scheme Designer</strong> nos lo pone muy fácil para utilizar la combinación de colores escogida, ya que se puede exportar a paletas de Gimp y Photoshop, muy útiles para diseñar los logos o el <em>branding</em>; a texto plano, a <span class="caps">XML</span> y, quizá la más útil para los programadores, a <span class="caps">HTML</span>+CSS:</p>

<pre class="prettyprint lang-html">/* Palette color codes */
/* Feel free to copy&amp;paste color codes to your application */
.primary-1 { background-color: #9CC9EB }
.primary-2 { background-color: #849DB0 }
.primary-3 { background-color: #336C99 }
.primary-4 { background-color: #B7DAF5 }
.primary-5 { background-color: #C8E1F5 }
.complement-1 { background-color: #FFD8A3 }
.complement-2 { background-color: #BFA98C }
.complement-3 { background-color: #A67635 }
.complement-4 { background-color: #FFE2BA }
.complement-5 { background-color: #FFE9CD }
/* end */
</pre>

	<p>Página | <a href="http://colorschemedesigner.com/">Color Scheme Designer 3</a><br />
Vía | <a href="http://blog.meetthegimp.org/episode-186-a-new-face/">Meet the <span class="caps">GIMP</span></a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[¿Qué política de nombres usas para tus servidores, versiones de proyectos, branches...?: La pregunta de la semana]]></title>
      <link>http://www.genbetadev.com/desarrolladores/que-politica-de-nombres-usas-para-tus-servidores-versiones-de-proyectos-branches-la-pregunta-de-la-semana</link>
      <guid>http://www.genbetadev.com/desarrolladores/que-politica-de-nombres-usas-para-tus-servidores-versiones-de-proyectos-branches-la-pregunta-de-la-semana</guid>
      <pubDate>Thu, 24 Jan 2013 09:04:44 +0000</pubDate>

      <author>Johnbo</author>
      <description><![CDATA[
      <p><img alt="Nombres de versiones de Debian, basados en personajes de Toy Story" src="http://img.genbetadev.com/2013/01/nombres_Debian.png" class="centro" /><br />
Nuestros <em>amigos no informáticos</em> a menudo nos preguntan cómo nos gusta un trabajo con tantos <em>nombrajos y numerajos</em>. Y es que <em>&#8220;Linux hostdbfronts1 2.6.18-274.el5&#8221;</em> asusta a cualquiera.</p>

	<p>Por eso, por contrapartida, siempre tenemos a alguien que intenta hacer más alegre nuestro entorno llamando a los servidores <em>Neo, Trinity, Morfeo, Cifra&#8230;</em> y a las ramas de desarrollo del proyecto <em>Batman, Spiderman, Hulk&#8230;</em> Las posibilidades son infinitas, y hoy tenemos curiosidad por conocer <strong>hasta dónde llega vuestra imaginación bautizando máquinas y proyectos</strong>:</p>

<blockquote><a href="http://www.genbetadev.com/respuestas/que-politica-de-nombres-usas-para-tus-servidores-y-versiones-de-proyectos">¿Qué política de nombres usas para tus servidores, versiones de proyectos, branches&#8230;?</a></blockquote>

	<p><!--more--><br />
Como siempre, cerramos los comentarios en esta entrada para que nos los dejéis en la <a href="http://www.genbetadev.com/respuestas/que-politica-de-nombres-usas-para-tus-servidores-y-versiones-de-proyectos">zona de respuestas</a> y podáis ser elegidos como el mejor de la semana.</p>

	<p>La semana pasada, os preguntamos si <a href="http://www.genbetadev.com/respuestas/te-interesa-como-desarrollador-probar-los-nuevos-so-para-moviles">os interesa como desarrolladores probar los nuevos sistemas operativos para móviles</a> y vimos que de forma prácticamente unánime todos ansiáis conocimiento y queréis probar uno tras otro. La respuesta más valorada fue la de nuestro compañero <a href="http://www.genbetadev.com/usuario/pedro-xitrus">Pedro</a>, que decía:</p>

	<p><blockquote>Yo estoy deseando probar Ubuntu on Phone, realmente el vídeo promocional enamora… y además las posibilidades de desarrollo pintan bastante bien.</p>

	<p>Por otro lado Firefox OS aunque no se han pronunciado da la misma forma que el personal de Canonical (en Mozilla han hecho un par de vídeos un poco churros…) pinta muy bien, y si se consigue optimizar el renderizado de las aplicaciones web al máximo sin duda tendrá muy buen futuro.</blockquote></p>

	<p>Muchas gracias a todos por la participación, esperamos vuestras respuestas y nos leemos la semana que viene con la próxima pregunta.</p>

	<p>Imagen | <a href="http://cristilav.blogspot.com.es/2011/02/debian.html">Software Libre Debian</a><br />
En Genbeta Dev Respuestas | <a href="http://www.genbetadev.com/respuestas/que-politica-de-nombres-usas-para-tus-servidores-y-versiones-de-proyectos">¿Qué política de nombres usas para tus servidores, versiones de proyectos, branches&#8230;?</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Introducción a R: historia de un lenguaje de computación para el análisis de datos]]></title>
      <link>http://www.genbetadev.com/lenguajes-y-plataformas/introduccion-a-r-historia-de-un-lenguaje-de-computacion-para-el-analisis-de-datos</link>
      <guid>http://www.genbetadev.com/lenguajes-y-plataformas/introduccion-a-r-historia-de-un-lenguaje-de-computacion-para-el-analisis-de-datos</guid>
      <pubDate>Mon, 21 Jan 2013 14:01:24 +0000</pubDate>

      <author>Johnbo</author>
      <description><![CDATA[
      <p><img alt="Historia de R" src="http://img.genbetadev.com/2013/01/Historia_de_R.jpg" class="centro" /><br />
Probablemente, cuando intentamos pensar en el avance de la informática y de la electrónica asociada a ella, nos vienen a la mente portátiles, tabletas, teléfonos inteligentes&#8230; y ejecutándose en ellos webs, videojuegos, aplicaciones de realidad aumentada&#8230; Pero a lo mejor unos pocos recuerdan que también tenemos cada vez mayor cantidad y más variada de sensores, capaces de realizar mediciones, almacenarlas y transmitirlas. Millones, billones, ¡trillones! de datos que provienen del fondo de los océanos, de inhóspitos desiertos, del espacio interestelar o de las mismas entrañas del ser humano.</p>

	<p>La biología, meteorología, sismología, medicina, psicología&#8230; requieren de la informática para tratar esas <strong>cantidades ingentes de datos</strong> atómicos y <strong>convertirlos en información</strong>, más o menos estructurada, de la que se pueda <strong>inferir un conocimiento</strong>, aplicable a dichas ciencias. Y de esa necesidad de tratar con datos surgieron los <strong>lenguajes de tratamiento estadístico, como R</strong>.<br />
<!--more--><br />
<h2>&#8216;S&#8217;, el antepasado de R</h2></p>

	<p>En 1976, la mayor parte del análisis y computación estadísticos se realizaba por medio de <strong>subrutinas en Fortran</strong>, algo que era bastante tedioso. Por eso, <strong>John Chambers, Rick Becker y Allan Wilks</strong>, pertenecientes a <em>Bell Labs</em>, desarrollaron <strong>&#8216;S&#8217;</strong> como un conjunto de bibliotecas de macros Fortran, que se convirtieron en su entorno de análisis estadístico interno. </p>

	<p>Como eran rutinas de uso exclusivo dentro de Bell Labs, no le buscaron ningún nombre, y aunque barajaron unos cuantos, todos tenían en común lo mismo: la palabra <em>&#8220;Statistical&#8221;</em>. Como por aquella estaba de moda nombrar a los lenguajes con una única letra (con C como mejor ejemplo), se quedaron con la S inicial, por lo que en 1979 comenzó a conocerse como &#8216;S&#8217;, antes de salir por primera vez de los laboratorios Bell como un producto distribuible.</p>

<h2>Nuevo S y S4</h2>

	<p>En 1988, <strong>se reescribió</strong> completamente S (la versión 3) <strong>en código C</strong>, siendo la primera versión parecida a lo que es hoy día. Además, se <strong>sustituyeron las macros por funciones</strong> y se modificó la sintaxis para hacerla más consistente, aunque también más estricta. También se añadieron las funciones de <strong>modelado estadístico</strong>, ausentes hasta entonces. John Chambers publicó el libro <em>&#8220;Statistical Models in S&#8221;</em> para documentar dicho análisis, el cual por su importancia es conocido como el <em>libro blanco</em>.</p>

	<p>Diez años más tarde, en 1998 se liberó la cuarta versión, que actualmente es vigente, también denominada <strong>S4</strong>. Con un conjunto de características orientadas a objetos más avanzadas que las de S3, las clases propias del lenguaje también difieren mucho entre ambas versiones. Chambers también sacó un <em>libro verde</em> para documentar esta versión: <em>&#8220;Programming with data&#8221;</em>.</p>

	<p>Ese mismo año, S <strong>ganó el prestigioso premio <em>&#8220;Association for Computing Machinery&#8217;s Software System Award&#8221;</em></strong>, 15 años después que <span class="caps">UNIX</span>, 7 después que <span class="caps">TCP</span>/IP, 4 antes que Java u 11 años antes que <span class="caps">VMW</span>are, por poner ejemplos conocidos por todos.</p>

<h2>S-Plus y los cambios de manos</h2>

	<p>En 1993, Bell Labs vendió a StatSci la licencia para la <strong>explotación comercial de S</strong>. StatSci se fusionó con MathSoft, para pasar a denominarse Data Analysis Products Division, y sacaron su versión comercial bajo el nombre <strong>S-Plus</strong>, haciendo referencia a las múltiples características que habían añadido a S (principalmente interfaz gráfica).</p>

	<p>8 años más tarde, MathSoft se volvió a separar, rebautizándose como Insightful Corp. En 2004 adquirió la totalidad del lenguaje S y en 2008 fue comprada por Tibco, que es el propietario actual. Sin embargo, tras todos estos cambios de compañía, los fundamentos de S apenas han variado desde 1998, y sólo se han añadido nuevas capacidades.</p>

<h2>R, el dialecto libre de S</h2>

	<p>Mientras S cambiaba de dueño y denominación, <strong>Ross Ihaka y Robert Gentleman</strong>, decidieron implementar su propio dialecto. Era 1991 cuando estos dos neozelandeses crearon <strong>R</strong>. Tardaron dos años en anunciarlo públicamente y otros dos años más en <strong>licenciarlo bajo <span class="caps">GPL</span></strong>. Y posiblemente esta decisión sea la responsable de que a día de hoy R tenga cada vez más repercusión, y sea más fácil encontrar cursos y tutoriales para este lenguaje que para su predecesor.</p>

	<p>Entre las ventajas de R, está su gran similitud sintáctica con S-Plus, lo que ha facilitado la migración de muchos usuarios, sus frecuentes versiones (es un lenguaje activo, con más de una liberación anual) y el hecho de que puede ejecutarse sobre <strong>cualquier sistema operativo</strong> convencional, e incluso en plataformas tan inverosímiles como puede ser una PlayStation 3.</p>

	<p>Pero también tiene pegas: muy <strong>poco soporte para gráficos dinámicos o en 3D</strong>, funcionalidad basada en la demanda expresa de los consumidores (si necesitas algo, hazlo tú mismo o paga para que te lo hagan) y obligación de que <strong>todos los objetos se guarden en memoria física</strong>, con el problema que esto puede suponer a la hora de intentar cargar objetos de gran tamaño (aunque se están produciendo avances en este aspecto).</p>

	<p>Resumiendo: R no es un lenguaje ideal para todas las situaciones, pero sin duda es uno de los más útiles a la hora de estructurar y manipular datos, especialmente grandes colecciones de ellos.</p>

	<p>Y para que no todo sea historia y podáis ver un poco de código antes del próximo artículo de esta serie introductoria, os dejo con un <em>hola mundo</em> personalizado en R.</p>

<pre class="prettyprint"><code>&gt; print(&quot;Hola, Genbeta Dev&quot;)      # Hola mundo para nuestros lectores
[1]  &quot;Hola, Genbeta Dev&quot;</code></pre>

	<p>Página oficial | <a href="http://www.r-project.org/">The R Project for Statistical Computing</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Internet Explorer 6 y 7 se acercan al olvido: HTML5 Boilerplate es el siguiente en retirarles el soporte ]]></title>
      <link>http://www.genbetadev.com/desarrollo-web/internet-explorer-6-y-7-se-acercan-al-olvido-html5-boilerplate-es-el-siguiente-en-retirarles-el-soporte</link>
      <guid>http://www.genbetadev.com/desarrollo-web/internet-explorer-6-y-7-se-acercan-al-olvido-html5-boilerplate-es-el-siguiente-en-retirarles-el-soporte</guid>
      <pubDate>Wed, 16 Jan 2013 07:01:22 +0000</pubDate>

      <author>Johnbo</author>
      <description><![CDATA[
      <p><img alt="HTML5 Boilerplate" src="http://img.genbetadev.com/2013/01/HTML5_Boilerplate-IE6-IE7.png" class="centro" /><br />
No debería ser noticia que se retire el soporte a dos navegadores con 6 y 10 años de antigüedad, especialmente teniendo en cuenta cuánto han cambiado los hábitos de navegación en el último par de años. Pero cuando está Internet Explorer de por medio todo cambia, y algunos diseñadores, hartos de tirarse de los pelos por conseguir la compatibilidad con estas antiguallas, han decidido <strong>dejar de ofrecer soporte para IE6 e IE7</strong>.</p>

	<p>Es el caso de <strong>HTML5 Boilerplate</strong>, que para su versión 5.0 propone retirar completamente el uso de <strong>clases condicionales</strong> para las versiones 6 y 7 del navegador de Microsoft. Su decisión, más allá del posible gusto de los committers por el trabajo sencillo, está basada en argumentos razonados de entre los que destaca el hecho de que Microsoft anunciase que <a href="http://msdn.microsoft.com/en-us/library/ms537512%28v=VS.85%29.aspx">Internet Explorer 10 no soportará comentarios condicionales</a>.<br />
<!--more--><br />
Esto significa que habrá que adaptarse a los navegadores modernos y olvidar la poco ortodoxa <strong>detección del navegador</strong> (que se puede basar en prejuicios o gustos personales de quien desarrolla) y empezar a utilizar la <strong>detección de capacidades</strong>, que es lo que realmente importa a la hora de usar una u otra <em>feature</em>.</p>

	<p>Para quien no los haya usado nunca, comentar que los comentarios condicionales son una estrategia utilizada por las distintas versiones de Internet Explorer para ofrecer <strong>código que sólo será interpretado por alguna versión</strong>. Dichos condicionales van incluidos dentro de comentarios <span class="caps">HTML</span> aparentemente normales, por lo que son completamente ignorados por cualquier otro navegador. Un ejemplo habitual de su uso es el siguiente, en el que se incluye una librería javascript que suple algunas de las funcionalidades carentes en la versión antigua.</p>

<pre class="prettyprint lang-html"><code>&lt;!—[if lt IE 7]&gt;
&lt;script src=“http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE7.js”&gt;&lt;/script&gt;
&lt;![endif]—&gt;
</code>
</pre>

	<p>Otro motivo para desechar la detección del navegador son los <em>modos de compatibilidad</em> de Internet Explorer, que hacen que por ejemplo su versión 9 se pueda comportar como tal, reconociendo los elementos de audio de HTML5, o pueda comportarse como IE5, renderizándolos como un elemento cualquiera. En ese caso, aunque el navegador <em>real</em> sea el mismo, es mejor preguntar directamente si existe la capacidad de reproducir ese audio:</p>

<pre class="prettyprint lang-js"><code>function supportsAudio() 
{
   var o = document.createElement( &#39;audio&#39; );
   return ( o.canPlay ); 
}
</code>
</pre>

	<p>Si todos los desarrolladores web empezásemos a pensar de esta manera, podría suponer un nuevo avance para la guerra de navegadores, ya que dejaríamos de lado nuestras preferencias por uno u otro para centrarnos en nuestro problema: que la página haga lo que tiene que hacer. Y se agradece que desde plataformas de moda como Bootstrap o Boilerplate, se tomen iniciativas que intenten facilitar al desarrollador esta forma de trabajar.</p>

	<p>Lista oficial de HTML5 Boilerplate | <a href="https://github.com/h5bp/html5-boilerplate/issues/1290">Remove IE conditional classes</a><br />
Microsoft <span class="caps">MSDN</span> | <a href="http://msdn.microsoft.com/en-us/library/ms537512%28v=VS.85%29.aspx">About conditional comments</a><br />
En Genbeta Dev | <a href="http://www.genbetadev.com/desarrollo-web/desarrolla-paginas-web-sin-preocuparte-de-internet-explorer-6-gracias-a-ie7js">ie7.js</a> y <a href="http://www.genbetadev.com/actualidad/html5-boilerplate-4-0-0-llegando-al-siguiente-nivel">HTML5 BoilerPlate 4.0.0</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Cómo promocionar una app móvil (infografía)]]></title>
      <link>http://www.genbetadev.com/desarrollo-aplicaciones-moviles/como-promocionar-una-app-movil-infografia</link>
      <guid>http://www.genbetadev.com/desarrollo-aplicaciones-moviles/como-promocionar-una-app-movil-infografia</guid>
      <pubDate>Tue, 15 Jan 2013 10:31:29 +0000</pubDate>

      <author>Johnbo</author>
      <description><![CDATA[
      <p><img alt="¿Cómo promocionar una app?" src="http://img.genbetadev.com/2013/01/Como_promocionar_una_app.jpg" class="centro" /><br />
El desarrollo de aplicaciones móviles es una disciplina cada vez más en boga, pero muchas veces pensamos que al culminar el desarrollo de la misma termina el trabajo, cuando precisamente es aquí donde empieza una labor muy importante. <strong>Una mala aplicación con buena promoción consigue muchos más ingresos que una buena aplicación mal promocionada</strong> (seguro que a todos os viene más de un ejemplo a la cabeza).</p>

	<p>Por eso conviene comprobar que hemos seguido todos los pasos de esta infografía que nos trae <a href="http://www.bluecaribu.com/marketing-apps">Blue Caribu</a>, ya que aunque algunos pudieran resultar obvios, a menudo son olvidados. Desde la buena <strong>elección del nombre</strong>, icono, descripción y capturas de la aplicación, hasta la <strong>publicidad</strong> en medios y buscadores, pasando por la <strong>interacción del usuario</strong>, invitándole a valorar y compartir su opinión sobre tu aplicación.<br />
<!--more--><br />
<img alt="Elige un buen nombre" src="http://img.genbetadev.com/2013/01/Elige_un_buen_nombre.jpg" class="centro_sinmarco" /><img alt="Analiza a tus competidores y seleccional la categoría adecuada" src="http://img.genbetadev.com/2013/01/Analiza_competidores-Selecciona_categoria.jpg" class="centro_sinmarco" /><img alt="Diseña un buen icono y elige buenas capturas" src="http://img.genbetadev.com/2013/01/Elige_un_buen_icono_y_capturas.jpg" class="centro_sinmarco" /><img alt="Redacta un buen título, descripción y palabras clave. Diseña una buena landing page" src="http://img.genbetadev.com/2013/01/Titulo_redaccion_palabras_clave.jpg" class="centro_sinmarco" /><img alt="Después del lanzamiento prioriza las primeras horas y elige una herramienta de analítica" src="http://img.genbetadev.com/2013/01/Despues_del_lanzamiento.jpg" class="centro_sinmarco" /><img alt="Consigue publicidad" src="http://img.genbetadev.com/2013/01/Consigue_publicidad.jpg" class="centro_sinmarco" /><img alt="Anima a los usuarios a valorarte y consigue pubilcidad de pago" src="http://img.genbetadev.com/2013/01/Anima_a_los_usuarios.jpg" class="centro_sinmarco" /><img alt="Mantente posicionado orgánicamente" src="http://img.genbetadev.com/2013/01/Mantente_posicionado_organicamente.jpg" class="centro_sinmarco" /></p>

	<p>Vía | <a href="http://www.bluecaribu.com/marketing-apps">Blue Caribu &#8211; Guía de Marketing para Aplicaciones</a></p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Lo mejor para Genbeta Dev: Acontecimiento de desarrollo más destacado de 2012 ]]></title>
      <link>http://www.genbetadev.com/actualidad/lo-mejor-para-genbeta-dev-acontecimiento-de-desarrollo-mas-destacado-de-2012</link>
      <guid>http://www.genbetadev.com/actualidad/lo-mejor-para-genbeta-dev-acontecimiento-de-desarrollo-mas-destacado-de-2012</guid>
      <pubDate>Mon, 14 Jan 2013 14:31:11 +0000</pubDate>

      <author>Johnbo</author>
      <description><![CDATA[
      <p><img alt="Acontecimiento de desarrollo más destacado de 2012" src="http://img.genbetadev.com/2013/01/lo_mejor_2012_acontecimientos.jpg" class="centro" /><br />
Continuando con nuestro repaso al recién cerrado 2012, vamos a recapitular los <strong>acontecimientos de desarrollo más destacados del año</strong>. Ha sido un año bastante prolijo, tanto en <a href="http://www.genbetadev.com/tag/eventos-para-desarrolladores">eventos</a> que han reunido a cientos de desarrolladores ávidos por probar nuevas herramientas, como en buenas noticias en lo que a estandarización se refiere.<br />
<!--more--><br />
<h2>Google I/O 2012</h2><br />
<img src="http://img.genbetadev.com/2011/11/google_io_2012.png" alt="Google I/O 2012" class="centro_sinmarco"><br />
Como cada año, el <a href="http://www.genbetadev.com/tag/google-io-2012">evento de innovación de Google</a> ha cumplido con las expectativas y nos ha presentado un variado conjunto de técnicas y herramientas de la mano de grandes gurús.</p>

	<p>El esperadísimo <a href="http://www.genbetadev.com/desarrollo-aplicaciones-moviles/ya-esta-disponible-el-sdk-de-android-4-1-jelly-bean-presentado-en-google-io-2012"><span class="caps">SDK</span> para Android 4.1</a> fue uno de los caramelos que no por esperados tuvieron menos importancia. Más de 20 sesiones se dedicaron al sistema operativo del androide verde y a sus novedades: <strong>notificaciones interactivas</strong>, nuevas posibilidades en el uso de <strong><span class="caps">NFC</span></strong>, transiciones más rápidas mediante <strong>Vsync</strong> y una colección de <strong>nuevas <span class="caps">API</span>s</strong> para mejorar la accesibilidad y navegabilidad de las aplicaciones.</p>

	<p>También hubo <a href="http://www.genbetadev.com/herramientas/google-app-engine-1-7-0-liberado-durante-la-google-i-o">nueva versión de Google App Engine</a>, la 1.7.0, que nos trajo más espacio para nuestras cuentas, más <strong>velocidad</strong>, un cluster en Europa para mejorar el retardo en nuestras aplicaciones, <strong>geolocalización</strong> de documentos, <strong><span class="caps">SDK</span> para Go</strong>&#8230;</p>

	<p><iframe width="650" height="405" src="http://www.youtube.com/embed/9c6W4CCU9M4" frameborder="0" allowfullscreen></iframe></p>

	<p>Pero como no todo van a ser actualizaciones y nuevas versiones, Google también supo sorprendernos con uno de esos proyectos que prometen acercar la ciencia ficción al presente: <a href="http://www.xataka.com/otros/google-project-glass">Project Glass</a>, las <strong>gafas de realidad aumentada</strong> que prometen convertirnos a todos en un <em>Terminator</em> capaz de analizar todo su entorno en cuestión de segundos y además comunicarse de forma sencilla con todo el mundo.</p>

	<p>Seguro que a más de uno se os ocurre alguna aplicación que os apetece crear para <strong>Project Glass</strong>, incluso puede que alguna apta para todos los públicos (que ya me imagino en lo que estabais pensando).</p>

<h2>Lanzamiento de Windows 8</h2>

	<p><img src="http://img.genbetadev.com/2012/06/Metro8ReleaseCandidate.jpg" alt="Lanzamiento de Windows 8" class="centro"></p>

	<p>Si un producto ha sabido acaparar buena parte de los titulares este año, ése ha sido <strong>Windows 8</strong>. Aunque nuestra <em>bola de cristal</em> nos hace sospechar un <a href="http://www.genbetadev.com/desarrollo-de-aplicaciones/lo-mejor-para-genbeta-dev-el-descalabro-mas-grave-para-2013">posible descalabro en 2013</a>, lo cierto es que durante el año pasado dieron que hablar más que sus competidores, tanto para bien como para mal.</p>

	<p>Es cierto, no sabemos qué grado de éxito o fracaso copará el nuevo producto de Microsoft, ya que eso dependerá de los usuarios, que son unos seres muy volubles, pero de momento la masa de desarrolladores ha decidido que ha llegado el momento de aprender a programar conforme al nuevo estilo <del>metro</del> <em>modern</em> de las aplicaciones Windows 8. Es por eso que, aparte de cubrir el lanzamiento de las versiones de escritorio y móvil, y de <a href="http://www.genbetadev.com/formacion/se-publica-la-visual-studio-2012-product-guide">Visual Studio 2012</a>, os hemos ofrecido una serie de artículos orientados a aprender a <a href="http://www.genbetadev.com/tag/programar-aplicaciones-metro-windows-8">programar aplicaciones metro en Windows 8</a>.</p>

	<p>Y también es reseñable como evento concreto la <a href="http://www.genbetadev.com/actualidad/megathon-windows-8-hackathon-multi-ciudad-de-aplicaciones-metro-y-unas-palabras-del-culpable">Megathon</a> organizada de forma simultánea en diversas ciudades españolas para crear en paralelo aplicaciones metro. También nosotros os invitamos por nuestra parte a formar parte del proceso de desarrollo de una <a href="http://www.genbetadev.com/workshopw8">aplicación de Genbeta Dev en Windows 8</a>.</p>

<h2>Estandarización de HTML5</h2>

	<p><img class="izquierda_sinmarco" src="http://img.genbetadev.com/2013/01/HTML5_Logo_100.png" alt="HTML5"><br />
Os hemos hablado de un congreso y de un lanzamiento, pero quizá el acontecimiento más importante de 2012 en el mundo del desarrollo ha sido el acuerdo tomado por parte de quienes <em>parten el bacalao</em> para agilizar la <strong>estandarización de HTML5</strong>.</p>

	<p>Ha sido un año con muchísima actividad alrededor de HTML5 y CSS3, donde se ha intensificado de forma notable el uso e interés por el <a href="http://www.genbetadev.com/tag/responsive-design">Responsive Design</a> (nuestro compañero <a href="http://www.genbetadev.com/autor/pedro-gutierrez">Pedro</a> nos dejó una fantástica serie de artículos de <a href="http://www.genbetadev.com/tag/introduccion-al-responsive-design">introducción al diseño web adaptativo</a>), grandes empresas como Facebook han abrazado y luego repudiado las aplicaciones web móviles (lo que sin duda servirá de acicate para su mejora) y algunas empresas más pequeñas han intentado demostrarle que es posible hacer <a href="http://www.genbetadev.com/actualidad/fastbook-o-como-clonar-facebook-en-html5-y-hacerlo-tan-rapido-como-las-apps-nativas">aplicaciones HTML5 tan rápidas como las nativas</a>.</p>

	<p>Pero sin duda, más allá del creciente uso, la gran noticia ha sido el anuncio del acortamiento en 8 años de la estandarización de HTML5, ya que en lugar de tener que esperar hasta 2022 para que esté disponible como estándar del <strong>W3C</strong>, este mismo año se ha cerrado la definición 5.0 y se ha propuesto como <em>candidate recommendation</em>, con lo que <strong>en 2014 ya será un estándar</strong> perfectamente establecido.</p>

	<p>Sin duda una gran noticia que convierte al mismo tiempo a HTML5 en lo más destacado de 2012 y <a href="http://www.genbetadev.com/desarrollo-de-aplicaciones/lo-mejor-del-2012-para-genbeta-dev-tecnologia-mas-prometedora-para-2013">lo más prometedor de 2013</a>. Y es que en un mercado creciente, con cada vez más variabilidad de dispositivos, sistemas operativos, tamaños y densidades de pantalla, etc. nada viene mejor que un buen estándar para poder desarrollar conforme a él sin tener que preocuparse de decenas de lenguajes y sus correspondientes <span class="caps">SDK</span>.</p>

<h2>Conclusión</h2>

	<p>Ésta es nuestra selección de los acontecimientos que más repercusión han tenido en la blogosfera del desarrollo en 2012, pero obviamente no son todos y seguramente a criterio de algunos tampoco los más importantes. De lo que no cabe duda es que estos tres temas han dado mucho que hablar y seguirán siendo tendencia en 2013.</p>

	<p>La única ausencia que notamos es la de Apple, que este año no ha conseguido engancharnos con sus eventos. No cabe duda de que iOS sigue teniendo un gran tirón, pero no se puede decir que hayan anunciado muchas mejoras para los desarrolladores en 2012, sino que vive de las rentas de los años anteriores y de tener una gran plataforma de usuarios. </p>

	<p>A ver si hay suerte y en 2013 nos sorprenden con nuevas capacidades que poder explotar y muchos <a href="http://www.genbetadev.com/tag/eventos-para-desarrolladores">eventos para desarrolladores</a> en los que continuar nuestro aprendizaje en esta pasión nuestra que es la programación.</p>      ]]></description>
      </item>
                    <item>
      <title><![CDATA[Rapapolvos público de Linus Torvalds a un committer del kernel Linux ]]></title>
      <link>http://www.genbetadev.com/software-libre-y-licencias/rapapolvos-publico-de-linus-torvalds-a-un-committer-del-kernel-linux</link>
      <guid>http://www.genbetadev.com/software-libre-y-licencias/rapapolvos-publico-de-linus-torvalds-a-un-committer-del-kernel-linux</guid>
      <pubDate>Thu, 27 Dec 2012 12:14:22 +0000</pubDate>

      <author>Johnbo</author>
      <description><![CDATA[
      <p><img alt="Mauro, SHUT THE FUCK UP!" src="http://img.genbetadev.com/2012/12/Mauro_shut_the_fuck_up.png" class="centro_sinmarco" /><br />
Hoy vamos a romper dos mitos: que colaborar en un proyecto de Software Libre es una tarea siempre agradable y que en Navidad todos estamos de buen humor. Y es que no hay más que ver las primeras líneas de la <strong>respuesta de Linus Torvalds a <a href="http://victorhckinthefreeworld.wordpress.com/2012/09/18/quien-esta-detras-de-linux-hoy-mauro-carvalho-chehab/">Mauro Carvalho</a></strong>, empleado de Red Hat y responsable de los <strong>drivers multimedia del kernel Linux</strong>, en la lista de correo del proyecto hace un par de días.<br />
<!--more--><br />
La tosca respuesta de Linus, aparte de mostrar las maneras que gasta el finlandés, sienta alguna de las bases que conviene conocer por parte de cualquier programador interesado en colaborar con el proyecto estrella del mundo del Software Libre. A juzgar por las mayúsculas, negritas y subrayados, parece evidente que:</p>

<ul>
<li>Si un cambio hace que fallen programas de usuario, es un <strong>bug del kernel</strong> y nunca se echa la culpa a los programas. Linus lo denomina la <strong>&#8220;primera regla de mantenimiento del kernel&#8221;</strong>.</li>
<li>Nunca se debe quebrar el <strong>espacio de usuario</strong>. Y particularmente, menos todavía para introducir mierda (perdón, cualquier otra traducción para <em>crap</em> sería un eufemismo).</li>
<li>Y lo más importante: si no cumples las dos reglas anteriores, por lo menos procura haber usado correctamente las <strong>constantes y valores de retorno</strong>, ya que si no Linus puede hacer escarnio público de ti.</li>
</ul>

	<p>Como imaginaréis, eso es precisamente lo que hizo mal Mauro, usando la constante <em><span class="caps">ENOENT</span></em> (fichero o directorio no existente) como respuesta a una operación con drivers cuyos ficheros ya han sido abiertos correctamente. Eso, y culpar a las aplicaciones <em>pulseaudio</em> y <em>tumbleweed</em> de un error que probablemente había introducido él. De ahí el cabreo del <a href="http://es.wikipedia.org/wiki/Benevolent_Dictator_for_Life">dictador benevolente</a>.</p>

	<p>¿Quién dijo que en el Software Libre no había jefes y el trabajo es más agradable? Os aconsejo que leáis el <a href="http://article.gmane.org/gmane.linux.kernel/1414106">mensaje completo</a> para juzgar a qué hay que atenerse si tus aportaciones a Linux no cumplen los requisitos de calidad.</p>

	<p>Mensaje original | <a href="http://article.gmane.org/gmane.linux.kernel/1414106">gmane.linux.kernel</a></p>      ]]></description>
      </item>
        	  <atom:link href="http://www.genbetadev.com/autor/johnbo/rss2.xml" rel="self" type="application/rss+xml" />
	</channel>

</rss>


