tag:blogger.com,1999:blog-32181707415135873612024-03-14T02:19:17.134-07:00entreLineas()Tecnología, programación y cibercultura.Óscar Monteshttp://www.blogger.com/profile/08756281729458786435noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-3218170741513587361.post-58457157106076260852022-01-18T23:54:00.009-08:002022-01-18T23:54:58.481-08:00Pregunta de entrevista técnica #1 ¿En Java para qué sirven los métodos equals() y hashCode() en un objeto?<p>Aquí comienzo una serie de pequeños artículos para aprender a responder a preguntas típicas de una entrevista técnica, por un lado aprenderás a desenvolverte mejor y a la vez obtendrás conceptos interesantes que te pueden ser útiles en tu día a día, empezamos por un clásico de los clásicos, los dos métodos que puedes encontrar por defecto en toda clase que extienda de Object en Java, o sea, todas.</p><p><b>equals()</b></p><p>El método <i>equals()</i> de la clase <i>Object </i>se utiliza para comprobar si el objeto actual es igual o no al objeto que se pasa. Por defecto, comprueba la dirección de memoria del objeto de las instancias. <u>Si ambos objetos tienen la misma dirección de memoria, entonces son iguales</u>.</p><p><b>hashCode()</b></p><p>El <i>hashCode()</i>, de la clase <i>Object</i>, se utiliza para <u>identificar un objeto de forma única</u>. De forma predeterminada, devuelve la dirección de memoria del objeto en un formato de número entero.</p><p><b>La ventaja de utilizar juntos equals() y hashCode()</b></p><p>Para las clases <i>Integer</i>, <i>Float</i>, <i>String</i>, etc, no tienes que preocuparte por ellas. Pero para tus propias clases, es posible que desee sobrescribir estos métodos, siempre para casos especiales y no todo siempre. </p><p>Por ejemplo, si deseas usarlo como una clave en un <i>Map </i>o si no quieres tener objetos duplicados y esa duplicación está basada en algunos campos de identificación de la clase.</p><p>Al sobrescribirlo, nos aseguramos que <i>equals()</i> se base en <i>hashCode()</i> y <i>hashCode()</i> se base en un valor único. Entonces, si <i>obj1.equals(obj2)</i> es <i>true</i>, entonces <i>obj1.hashCode() == obj2.hashCode()</i> deberá ser <i>true</i>. Si no, pueden comportarse de formas muy extrañas.</p><p>Ejemplo:</p><p>Supongamos que tengo una identificación <i>int </i>(<i>int id</i>) en mi clase que debe ser única para cada objeto y no me importa si hay otros campos duplicados excepto este. Y quiero hacer de este objeto una clave para un <i>Map</i>. Entonces sobrescribimos los métodos <i>hashCode()</i> y <i>equals()</i> de esta manera:</p><p><br /></p>
<pre class="prettyprint">
private int id;
@Override
public int hashCode(){
return this.id;
}
@Override
public int equals(Object obj){
if(obj == null)
return false;
if(! obj instanceOf ThisClassName)
return false;
return this.id == obj.id;
}
</pre>Óscar Monteshttp://www.blogger.com/profile/08756281729458786435noreply@blogger.com0tag:blogger.com,1999:blog-3218170741513587361.post-74284263999864173822021-12-15T06:23:00.003-08:002021-12-15T06:23:17.166-08:00Github Pages y Jekyll<p><span style="color: #222222; font-family: Merriweather, sans-serif;">Buscando probar cosas nuevas, </span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">he decidido probar la solución que da</span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> </span><a href="https://github.com/" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;">Github</a><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> </span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">para alojar blogs utilizando el software de creación de blogs estáticos</span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> </span><a href="http://jekyllrb.com/" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;">Jekyll</a><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">. Para crear el blog, he seguido este tutorial de</span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> </span><a href="https://devexperto.com/blog-gratis-github-jekyll/" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;">Devexperto</a><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">, pero con la diferencia de en vez de hacer un fork de</span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> </span><a href="https://github.com/barryclark/jekyll-now" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;">jekyll-now</a><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> </span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">lo he hecho directamente</span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> </span><a href="https://github.com/samarsault/plainwhite-jekyll" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;">de una versión modificada con un tema</a><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> </span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">que me gustó bastante y que pude encontrar gracias a</span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> </span><a href="http://jekyllthemes.org/" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;">Jekyll Themes</a><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">.</span></p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Finalmente para gestionar el dominio personal, utilicé este tutorial de <a href="https://www.aunitz.net/" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;">Aunitz Giménez</a> y finalmente utilicé <a href="https://es.wordpress.org/plugins/jekyll-exporter/" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;">un plugin para exportar de wordpress a Jekyll</a>.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Para quien quiera escribir post, una solución para poder escribir los posts es <a href="https://stackedit.io/" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;">stackedit</a> para que sea todo mucho más sencillo y amable.</p>Óscar Monteshttp://www.blogger.com/profile/08756281729458786435noreply@blogger.com0tag:blogger.com,1999:blog-3218170741513587361.post-23098552569816396382021-07-14T05:35:00.000-07:002021-12-15T05:36:24.859-08:00Silicon Valley<p><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">Leer</span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> </span><a data-id="https://es.wikipedia.org/wiki/Silicon_Valley" data-type="URL" href="https://es.wikipedia.org/wiki/Silicon_Valley" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Silicon Valley</a><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> </span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">es transportarnos mentalmente a empresas punteras del ámbito de la tecnología y a un lugar laboral idealizado por muchas personas del sector TIC. Todos los que hemos visto la película “</span><a data-id="https://es.wikipedia.org/wiki/Pirates_of_Silicon_Valley" data-type="URL" href="https://es.wikipedia.org/wiki/Pirates_of_Silicon_Valley" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Piratas de Silicon Valley</a><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">” nos hemos imaginado fundando una pequeña empresa de tecnología para, años después, descubrirnos siendo los dueños de una prestigiosa organización en donde todo el mundo desea trabajar. </span></p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Pero, como todo, Silicon Valley tiene un comienzo humilde que para nada parecía presagiar lo que iba a significar varias décadas después. </p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">En la fundación de Silicon Valley se unen varias pequeñas biografías: por un lado, tenemos la mudanza en 1938 de un joven emprendedor de la electrónica (<a data-id="https://es.wikipedia.org/wiki/David_Packard" data-type="URL" href="https://es.wikipedia.org/wiki/David_Packard" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">David Packard</a>), quien, después de casarse con su mujer (Lucile Salter), compró junto a ella una casa en Palo Alto (ciudad del condado de Santa Clara que se encuentra en el extremo norte de Silicon Valley). Por otro lado, esta casa, además de todas las comodidades que un americano podía esperar a finales de los años 30, tenía un cobertizo, el cual no tardó en ser ocupado por otro joven, Bill Hewlett. </p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Al año siguiente de la mudanza, mientras David estudiaba en Stanford, él y Bill fundaron una pequeña empresa (<a data-id="https://es.wikipedia.org/wiki/Hewlett-Packard" data-type="URL" href="https://es.wikipedia.org/wiki/Hewlett-Packard" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Hewlett-Packard</a>) utilizando sus apellidos. En ella comenzaron a diseñar pequeños ingenios eléctricos. Cuando esta empresa empezó a crecer y ya era turno de tener unas oficinas mayores que el pequeño cobertizo de la casa de David, se juntó otra casualidad: en 1953, en su antigua universidad, empezaron a aprovechar un espacio no edificado de esta para montar algo parecido a una incubadora de empresas, de tal forma que estas aprovecharan el estar cerca unas de otras para innovar juntas. Esta idea le vino como anillo al dedo a Hewlett-Packard para no marcharse de Palo Alto y quedarse en estos nuevos terrenos. </p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Mientras todo esto sucedía, el futuro premio Nobel William <a data-id="https://es.wikipedia.org/wiki/William_Bradford_Shockley" data-type="URL" href="https://es.wikipedia.org/wiki/William_Bradford_Shockley" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Bradford Shockley</a> había construido el transistor de unión. Este usaba una unión entre dos partes, tratadas de modo diferente, de un cristal de silicio, abriendo paso a la miniaturización de los circuitos electrónicos presentes en radios, televisiones y ordenadores, siendo el impulso definitivo al desarrollo de la electrónica y la informática. Para esta fabricación fundó una división de la empresa Beckman Instrument (con financiación propia de la compañía) y se trasladó a Palo Alto para cuidar de su anciana madre, así que, al igual que Hewlett-Packard, encontró en estos terrenos de la Universidad de Stanford el lugar ideal para esta nueva empresa y con esto llevar el silicio al valle, conocido desde entonces como Silicon Valley. </p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Todo esto fue el comienzo de lo que conocemos hoy en día; de aquí surgieron empresas como <a data-id="https://es.wikipedia.org/wiki/Intel" data-type="URL" href="https://es.wikipedia.org/wiki/Intel" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Intel</a> o <a data-id="https://es.wikipedia.org/wiki/IBM" data-type="URL" href="https://es.wikipedia.org/wiki/IBM" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">IBM</a> que, si bien fueron las protagonistas de las siguientes décadas, resultaron reemplazadas (aunque no retiradas) por otras nacidas al calor de lo que se conoció como “Las puntocom”. <a data-id="https://es.wikipedia.org/wiki/Yahoo!" data-type="URL" href="https://es.wikipedia.org/wiki/Yahoo!" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Yahoo!</a>, <a data-id="https://es.wikipedia.org/wiki/Google" data-type="URL" href="https://es.wikipedia.org/wiki/Google" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Google</a> o <a data-id="https://es.wikipedia.org/wiki/Facebook" data-type="URL" href="https://es.wikipedia.org/wiki/Facebook" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Facebook</a> fueron las primeras en traer la cultura que ahora conocemos; sus fundadores, todos ellos estudiantes de Informática en <a data-id="https://es.wikipedia.org/wiki/Universidad_Stanford" data-type="URL" href="https://es.wikipedia.org/wiki/Universidad_Stanford" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Stanford</a>, entendían la cultura empresarial como un gran campus universitario y llevaron estas ideas a sus recién creadas empresas (<a data-id="https://es.wikipedia.org/wiki/Sergu%C3%A9i_Brin" data-type="URL" href="https://es.wikipedia.org/wiki/Sergu%C3%A9i_Brin" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Sergu</a><a data-id="https://es.wikipedia.org/wiki/Sergu%C3%A9i_Brin" data-type="URL" href="https://es.wikipedia.org/wiki/Sergu%C3%A9i_Brin" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">é</a><a data-id="https://es.wikipedia.org/wiki/Sergu%C3%A9i_Brin" data-type="URL" href="https://es.wikipedia.org/wiki/Sergu%C3%A9i_Brin" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">i Brin</a> y <a data-id="https://es.wikipedia.org/wiki/Larry_Page" data-type="URL" href="https://es.wikipedia.org/wiki/Larry_Page" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Larry Page</a> se conocieron primero en la universidad antes de fundar Google; <a data-id="https://es.wikipedia.org/wiki/Mark_Zuckerberg" data-type="URL" href="https://es.wikipedia.org/wiki/Mark_Zuckerberg" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Mark Zuckerberg</a> no había terminado de graduarse cuando ya era millonario con Facebook). </p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Esta cultura es lo primero que ha atraído al talento de todo el mundo a trabajar en estas empresas. En su interior parece existir un mundo de innovación en donde uno estará rodeado de genios en su materia y donde su crecimiento laboral y personal será exponencial.</p>Óscar Monteshttp://www.blogger.com/profile/08756281729458786435noreply@blogger.com0tag:blogger.com,1999:blog-3218170741513587361.post-92044179753019975232021-07-08T05:24:00.006-07:002021-12-15T05:31:18.668-08:00¿Pero esto lo has probado?<p><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;">Ayer saltaba la noticia,</span><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;"> </span><a data-id="https://www.eldiario.es/tecnologia/fallo-web-sanidad-madrid-deja-descubierto-datos-rey-miles-personas_1_8114359.html" data-type="URL" href="https://www.eldiario.es/tecnologia/fallo-web-sanidad-madrid-deja-descubierto-datos-rey-miles-personas_1_8114359.html" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">un fallo en la web de la Sanidad de Madrid deja al descubierto los datos del rey, Pedro Sánchez o Aznar</a><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;">.</span></p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">La <a data-id="https://www.abc.es/espana/madrid/abci-madrid-facilita-desde-obtencion-certificado-covid-digital-y-diez-puntos-presenciales-202107011142_noticia.html" data-type="URL" href="https://www.abc.es/espana/madrid/abci-madrid-facilita-desde-obtencion-certificado-covid-digital-y-diez-puntos-presenciales-202107011142_noticia.html" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Comunidad de Madrid estrenó el 1 de julio</a> una página web para poderte descargar el <a data-id="https://ec.europa.eu/info/live-work-travel-eu/coronavirus-response/safe-covid-19-vaccines-europeans/eu-digital-covid-certificate_es" data-type="URL" href="https://ec.europa.eu/info/live-work-travel-eu/coronavirus-response/safe-covid-19-vaccines-europeans/eu-digital-covid-certificate_es" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">certificado digital de Covid</a>, hábil para viajar por la UE. Con solo proporcionar tu DNI se podía conseguir un JSON en claro mostrando información sensible. No es complicado conocer <a href="https://www.periodistadigital.com/politica/justicia/20130626/sabia-franco-tenia-dni-numero-1-familia-real-posee-10-99-noticia-689401978729/" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">el DNI de la familia real española</a> y datos sensibles como el número de teléfono han empezado a circular.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;"></p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi7pJZVP6uEZnMFlppC__fg2DPe2cpA1PogpY4SjB5mznn-LAyzSnIvvhfR9BXLm81zDRJWMxQ4qn-7Zqi5DGOa0WS0aP6FZ4XfKv4pbn8ZKE3PFzSUG4T4Qj9yS7ahVuw-ZFCsWf6dndasMq5kKp52FSWyRrmwpwlyDnvcRNzrhga6WZmW8biylvjo=s1200" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="675" data-original-width="1200" height="317" src="https://blogger.googleusercontent.com/img/a/AVvXsEi7pJZVP6uEZnMFlppC__fg2DPe2cpA1PogpY4SjB5mznn-LAyzSnIvvhfR9BXLm81zDRJWMxQ4qn-7Zqi5DGOa0WS0aP6FZ4XfKv4pbn8ZKE3PFzSUG4T4Qj9yS7ahVuw-ZFCsWf6dndasMq5kKp52FSWyRrmwpwlyDnvcRNzrhga6WZmW8biylvjo=w564-h317" width="564" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="color: #222222; font-size: 16px; text-align: start;">JSON que se obtenía al introducir en la URL el DNI.<br /><br /></span></td></tr></tbody></table><span style="color: #222222; font-family: Merriweather, sans-serif;">Por ejemplo en la comunidad donde resido, Cantabria, para obtener este certificado es necesario introducir tu DNI, fecha de nacimiento y el número de teléfono móvil con el que estás registrado en el sistema de sanidad cántabra, una vez completado te llega un SMS con un código que debes introducir y en ese momento descargas el certificado.</span><p></p><div class="separator" style="clear: both; text-align: center;"><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px; text-align: start;">La explicación del equipo de desarrollo, <em style="box-sizing: border-box;">«la incidencia ha venido ocasionada por la subida de una actualización que pasó los protocolos de pruebas y que en el proceso de puesta en marcha generó una brecha»</em>. Mi teoría es que en los entornos de desarrollo tenían quitadas las medidas de seguridad para hacer pruebas más rápidas y eso ha acabado en producción, un error imperdonable que nunca debería ocurrir.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px; text-align: start;">Si este desarrollo es un desarrollo normal, para llegar a producción, este código debería haber pasado por varios filtros de pruebas y entornos, por lo que me hace cuestionarme la metodología con la que se ha afrontado este desarrollo, porque aunque haya prisa por llegar a una fecha, con mecanismos sencillos de <em style="box-sizing: border-box;">testing</em> y una batería de pruebas en un entorno de preproducción nunca se debería haber llegado tan lejos, ¿nadie se dio cuenta de un <em style="box-sizing: border-box;">bug</em> tan grave?</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px; text-align: start;">Estamos ante lo mismo, los <em style="box-sizing: border-box;">tests</em> y pruebas para el final en vez de convertirlo en el día a día como parte del desarrollo y las estimaciones (¿alguien sigue estimando una tarea sin pensar en el tiempo que le va a llevar las pruebas?), al final eres tú como desarrollador quien se juega el cuello si algo falla, así que si tu jefe de proyecto, mánager, cliente y demás perfiles por encima de ti tuercen el gesto cuando te pasas una jornada haciendo <em style="box-sizing: border-box;">tests</em>, debes ser inflexible con esto o puede pasar como ayer, que por una mala praxis todo el mundo conoció el teléfono móvil del rey.</p></div><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;"><br /><br /><br /></p>Óscar Monteshttp://www.blogger.com/profile/08756281729458786435noreply@blogger.com0tag:blogger.com,1999:blog-3218170741513587361.post-33496338817996235202021-04-07T04:20:00.001-07:002021-12-15T04:24:55.969-08:00Así resucité mi Nexus 7<p><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">Tengo muy claro cual es el producto tecnológico más rentable de los que he tenido, mi vieja tablet</span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> </span><a data-id="https://es.wikipedia.org/wiki/Nexus_7_(2013)" data-type="URL" href="https://es.wikipedia.org/wiki/Nexus_7_(2013)" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Nexus 7</a><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> </span><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">del 2013.</span></p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Esta joya diseñada por Google, que <a data-id="https://www.xataka.com/tablets/nexus-7-2013-analisis" data-type="URL" href="https://www.xataka.com/tablets/nexus-7-2013-analisis" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">lanzó en el lejano verano del 2013</a>, es una de las pantallas que más miro a lo largo del día, la utilizo para todo, ver vídeos, series, libros, noticias…</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">El problema que tuve con ella fue a nivel de software, hace ya muchos años que recibió su última actualización (Android 6.0) y eso empezó a convertirla en un producto totalmente caducado, intenté resucitarla con varias ROMs customizadas, pero seguía siendo extremadamente lenta, normal, tiene 8 años, pero a finales del 2020 saltaba la sorpresa, <a data-id="https://www.xatakandroid.com/roms-android/lineageos-17-1-anade-soporte-oficial-para-samsung-galaxy-tab-s6-lite-moto-z3-play-nexus-7-2013" data-type="URL" href="https://www.xatakandroid.com/roms-android/lineageos-17-1-anade-soporte-oficial-para-samsung-galaxy-tab-s6-lite-moto-z3-play-nexus-7-2013" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">LineageOS le daba soporte para Android 10 en su versión 17.1</a> y volví a intentarlo, pero con una variación, no instalar las aplicaciones de Google y dejarla limpia de sus productos y sorpresa, la tablet empezó a volar.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">¿Hecho de menos los productos de Google? No del todo, me costó acostumbrarme a no tener Google Play, pero por suerte <a data-id="https://www.xatakandroid.com/aplicaciones-android/aurora-store-alternativa-a-play-store-para-descargar-aplicaciones-servicios-google" data-type="URL" href="https://www.xatakandroid.com/aplicaciones-android/aurora-store-alternativa-a-play-store-para-descargar-aplicaciones-servicios-google" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Aurora Store</a> cumple con su cometido, quizá no va tan fino como Google Play, pero he encontrado todo el software que necesito y puedo mantenerlo actualizado.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Para Youtube, estoy utilizando <a data-id="https://vancedapp.com/" data-type="URL" href="https://vancedapp.com/" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Youtube Vaned</a> y va muy fino, sin problema puedo utilizar mi cuenta de Gmail e incluso va mejor que el Youtube original, ya que puedo escuchar los vídeos con la pantalla apagada y no veo publicidad, una maravilla.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Netflix ha sido quien me lo puso más complicado, ya que utiliza el sistema de <a data-id="https://www.xatakandroid.com/seguridad/que-safetynet-sirve-como-saber-mi-movil-pasa-test" data-type="URL" href="https://www.xatakandroid.com/seguridad/que-safetynet-sirve-como-saber-mi-movil-pasa-test" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;">SafetyNet </a><a data-id="https://www.xatakandroid.com/seguridad/que-safetynet-sirve-como-saber-mi-movil-pasa-test" data-type="URL" href="https://www.xatakandroid.com/seguridad/que-safetynet-sirve-como-saber-mi-movil-pasa-test" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">de</a> <a data-id="https://www.xatakandroid.com/seguridad/que-safetynet-sirve-como-saber-mi-movil-pasa-test" data-type="URL" href="https://www.xatakandroid.com/seguridad/que-safetynet-sirve-como-saber-mi-movil-pasa-test" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;">Google</a> para saber si es un sistema seguro y en cuanto descubre que está en una ROM no se reproduce, por suerte tenemos a <a data-id="https://forum.xda-developers.com/t/magisk-module-universal-safetynet-fix-1-1-0.4217823/" data-type="URL" href="https://forum.xda-developers.com/t/magisk-module-universal-safetynet-fix-1-1-0.4217823/" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Magisk</a> <a data-id="https://forum.xda-developers.com/t/magisk-module-universal-safetynet-fix-1-1-0.4217823/" data-type="URL" href="https://forum.xda-developers.com/t/magisk-module-universal-safetynet-fix-1-1-0.4217823/" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;">para subsanar esto</a> y Netflix ya me funciona.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Por lo demás, el resto de aplicaciones se han instalado a través de Aurora Store sin problema (Feedly, Twitter, Kindle, Telegram….) y por ahora solo se me han resistido dos aplicaciones que requieren los servicios de Google y suelo utilizar, la aplicación de <strong style="box-sizing: border-box;">RTVE a la carta</strong>, <strong style="box-sizing: border-box;">Google Drive</strong> (en su lugar uso Dropbox en este caso) y Google Play Book (<a data-id="https://play.google.com/store/apps/details?id=com.faultexception.reader" data-type="URL" href="https://play.google.com/store/apps/details?id=com.faultexception.reader" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Lithium me cumple</a>, pero hecho de menos el tener todos mis libros sincronizados).</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">En definitiva, la maravillosa comunidad de ROMs ha conseguido que ocho años después, mi tablet huela a nueva y con <a data-id="https://www.xatakandroid.com/roms-android/lineageos-18-1-basado-android-11-oficial-estos-cambios-modelos-compatibles" data-type="URL" href="https://www.xatakandroid.com/roms-android/lineageos-18-1-basado-android-11-oficial-estos-cambios-modelos-compatibles" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">la última actualización de LineageOS </a>incluso pueda probar Android 11 (todo un logro si pensamos que nació con Android 4.3). Si tienes un cajón olvidado esta tablet y quieres rejuvenecerla, <a data-id="https://wiki.lineageos.org/devices/flox" data-type="URL" href="https://wiki.lineageos.org/devices/flox" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">puedes pasarte por su página oficial de LineageOS</a>.</p>Óscar Monteshttp://www.blogger.com/profile/08756281729458786435noreply@blogger.com0tag:blogger.com,1999:blog-3218170741513587361.post-88123561851900187372021-03-21T05:14:00.001-07:002021-12-15T04:17:18.513-08:00¿Se frena el avance del teletrabajo?<p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">El pasado viernes (19/03), en <a data-id="https://cadenaser.com/programa/2021/03/19/hora_25/1616186320_952184.html" data-type="URL" href="https://cadenaser.com/programa/2021/03/19/hora_25/1616186320_952184.html" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Hora 25 de los negocios (Cadena Ser)</a>, debatieron sobre el estado del teletrabajo en España con <a data-id="https://www.linkedin.com/in/fjavierblascodeluna" data-type="URL" href="https://www.linkedin.com/in/fjavierblascodeluna" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Javier Blasco</a>, de <a data-id="https://www.adecco.es/" data-type="URL" href="https://www.adecco.es/" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Adecco</a>, un año después de la pandemia.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Comentan <a data-id="https://www.comunicae.es/nota/en-el-ultimo-ano-el-teletrabajo-se-dispara-en-1223178/" data-type="URL" href="https://www.comunicae.es/nota/en-el-ultimo-ano-el-teletrabajo-se-dispara-en-1223178/" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">los datos de la encuesta de Adecco</a>, que reflejan que con la irrupción de la pandemia y el decreto del Estado de Alarma en marzo de 2020, el total de personas que trabajaron desde casa (cuando se impuso el confinamiento domiciliario), superó los 3,5 millones de personas. Desde entonces, el total se ha ido reduciendo hasta los 2,86 millones en el cuarto trimestre. Esta cifra puede ir reduciéndose en vista de noticias como la de que Telefonica <a data-id="https://cincodias.elpais.com/cincodias/2021/03/04/companias/1614888203_111565.html" data-type="URL" href="https://cincodias.elpais.com/cincodias/2021/03/04/companias/1614888203_111565.html" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">acuerda el retorno al trabajo presencial</a> o a nivel internacional, Tim Cook, <a data-id="https://www.applesfera.com/apple-1/no-puedo-esperar-tim-cook-esta-impaciente-volver-al-trabajo-presencial-apple-park" data-type="URL" href="https://www.applesfera.com/apple-1/no-puedo-esperar-tim-cook-esta-impaciente-volver-al-trabajo-presencial-apple-park" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">que no ve el momento de volver a la oficina</a>, opinando que el trabajo en la oficina le sale más rentable.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Estamos mejor que antes de la pandemia en lo referente al teletrabajo, donde según Adecco había 1,5 millones de teletrabajadores, pero no podemos perder de vista que podemos caminar hacia una nueva normalidad de teletrabajo hibrido, con soluciones un tanto exageradas como la de Telefónica (una semana en la oficina, una semana en casa) o lo que más he visto en mi entorno, ir a la oficina un día si y un día no.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Yo sigo votando de que en la medida de lo posible, ir o no a la oficina recaiga en el trabajador y en lo que mejor le venga a sus necesidades y vida personal y no en decisiones incomprensibles del jefe de turno y ese gusto por calentar sillas.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;"><a href="https://play.cadenaser.com/audio/1616179974684/" target="_blank">Un año después de la pandemia, ¿se frena el avance del teletrabajo?</a></p>Óscar Monteshttp://www.blogger.com/profile/08756281729458786435noreply@blogger.com0tag:blogger.com,1999:blog-3218170741513587361.post-74565733043309198092021-03-12T10:51:00.003-08:002021-12-15T04:17:38.286-08:00Un año de full remote<p><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">Menuda suerte tengo de trabajar en el desarrollo de software y poder tener un lugar de trabajar tan flexible como el tener una conexión a internet y un ordenador.</span></p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Ayer, 11 de marzo, se cumplió un año desde que pisé por última vez la oficina. Aquel día lo recuerdo muy bien, hasta ese momento el rumor era una broma en los pasillos, era algo irreal que nos mandaran a <em style="box-sizing: border-box;">teletrabajar</em> de forma indefinida, todo eran especulaciones y parecía complicado que se cumpliera la noticia de que íbamos a estar dos semanas de full remote.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Lo que en un principio eran dos semanas, hoy llegó al año, lo que empezó con dudas y un poco de caos se convirtió en una experiencia que no ha podido traer más que resultados positivos por mi parte, ya que además de las ventajas de no coger el coche cada mañana y el gasto de tiempo y dinero que conlleva, pude volver a mi tierra y dejar de ser una isla sola alejado de mi familia.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Recuerdo lo extraño que fue terminar el sprint que llevábamos a medias, las dudas en las reuniones, como hacer la <em style="box-sizing: border-box;">review</em> con el cliente y conseguir los <em style="box-sizing: border-box;">feedbacks</em> y refinamientos, cosas que ahora nos salen naturales como poner la cámara, compartir pantalla o cuidar lo que se ve al fondo, tuvimos que aprenderlas sobre la marcha deprisa y corriendo.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Este ha sido un año de aprendizaje para todos, para empezar fue necesario un volver a empezar para ganarse la confianza de los clientes, demostrarles que nuestro trabajo tenía exactamente la misma calidad que cuando lo desarrollábamos todos juntos en la oficina, por suerte estos clientes supieron adaptarse a las circunstancias y estar a la altura para que mano a mano pudiéramos sobrevivir a este año más digital que nunca.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">La parte más complicada de todo esto ha sido perder esa ventaja de ir al sitio de quien haga falta y solucionar la dependencia en cinco minutos y sin duda es extraño trabajar con gente a la que realmente no he conocido en persona, aunque nada de esto ha sido una desventaja real y la tecnología y la predisposición de todos ha hecho que funcione de maravilla el equipo a pesar de la distancia, un poco de contacto humano no está de más.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Ahora me he acostumbrado a los cafés virtuales, que las demos se hayan convertido en compartir tu escritorio, a las llamadas por <em style="box-sizing: border-box;">hangouts</em> de cinco minutos y que las personas se hayan reducido a una pequeña ventana, estoy seguro de que cuando viva las <em style="box-sizing: border-box;">desvirtualizaciones</em> me resultará extraño ver que ese torso tiene piernas, una forma en 3D y se mueve.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Aunque hay gente muy positiva que cree que el teletrabajo llegó para quedarse, en España no lo tengo tan claro o al menos el <em style="box-sizing: border-box;">full remote</em> como disfrutamos ahora. En mi opinión iremos poco a poco en una vuelta a la normalidad a lo largo del 2022, seguramente como mucho en lo que habremos avanzado es en disponer varios días a las semanas de teletrabajo y que no sea una desventaja esos días en los que no estarás de forma presencial.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Tampoco podemos olvidar a los <em style="box-sizing: border-box;">empresaurios</em>, esos que aman ver a sus subordinados 8 horas sin levantar la cabeza, esos tipos no se han extinguido, las circunstancias les obligo a estar en letargo durante 2020, algunos se quitaron la careta cuando llegó el verano y otros tantos aprovecharon el comienzo del 2021 para salir de su cueva, seguro que su esperanza en el 2022 es muy distinta.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Lo que si tengo claro es que ahora en las ofertas de empleo será un punto a discutir en el proceso de selección y <strong style="box-sizing: border-box;">una manera de descartar ofertas a la primera</strong>, es la única manera que veo con la que podemos presionar, que empiecen a comprobar que se les complican las contrataciones porque los candidatos no aceptan trabajar siempre en la oficina.</p><p style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; margin-top: 10px;">Quiero seguir conservando esta libertad de trabajar donde quiera y con un horario racional que se adapte a mis necesidades, en mi tejado está el demostrar que mi calidad y velocidad de entregas será la misma que antes del confinamiento.</p>Óscar Monteshttp://www.blogger.com/profile/08756281729458786435noreply@blogger.com2tag:blogger.com,1999:blog-3218170741513587361.post-38916176296362498832021-03-11T08:49:00.037-08:002021-12-15T04:18:30.172-08:00Hello, World!<p><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;"></span></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHLdysk7EbyOWNz5EzWkbKv7YYR5qtZL9S87U0tDEnUN9AkpGsdVW6ecCLVW5iPEM1a6CAjCj75JfD_hqo8YkTl_jqRTgFPYamaKf1vg8HVF35V70raDgIypvH5pBxHmFxYpc2w_9pCjI/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="377" data-original-width="610" height="294" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHLdysk7EbyOWNz5EzWkbKv7YYR5qtZL9S87U0tDEnUN9AkpGsdVW6ecCLVW5iPEM1a6CAjCj75JfD_hqo8YkTl_jqRTgFPYamaKf1vg8HVF35V70raDgIypvH5pBxHmFxYpc2w_9pCjI/w475-h294/image.png" width="475" /></a></div><br /><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;">Esta es la entrada que te crea por defecto WordPress, habitualmente la eliminaba y listo, pero esta vez la quiero aprovechar para homenajear al científico de la computación </span><a data-id="https://es.wikipedia.org/wiki/Brian_Kernighan" data-type="URL" href="https://es.wikipedia.org/wiki/Brian_Kernighan" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Brian Kernighan</a><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;"> y coautor de, la biblia de los desarrolladores, </span><a data-id="https://www.amazon.es/El-lenguaje-programaci%C3%B3n-Brian-Kernighan/dp/B00H2I0LKW" data-type="URL" href="https://www.amazon.es/El-lenguaje-programaci%C3%B3n-Brian-Kernighan/dp/B00H2I0LKW" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">El lenguaje de programación C</a><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;"> junto a </span><a data-id="https://es.wikipedia.org/wiki/Dennis_Ritchie" data-type="URL" href="https://es.wikipedia.org/wiki/Dennis_Ritchie" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Dennis Ritchie</a><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;">.</span><div><div><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;"><br /></span>
<code>
#include </code><div><code><stdio .h="">
int main() { </stdio></code></div><div><code><stdio .h=""> printf("Hello, World!"); </stdio></code></div><div><code><stdio .h="">}</stdio></code></div></div></div><div><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;">Aunque </span><a data-id="https://www.genbeta.com/desarrollo/polemica-torno-al-origen-hola-mundo-desentranamos-que-ano-empezo-a-utilizarse-este-ejemplo-para-programadores" data-type="URL" href="https://www.genbeta.com/desarrollo/polemica-torno-al-origen-hola-mundo-desentranamos-que-ano-empezo-a-utilizarse-este-ejemplo-para-programadores" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">hay polémica</a><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;"> sobre quien es el creador del famoso </span><em style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">Hola, Mundo</em><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;">. Muchos señalan a Brian Kernighan como inventor del famoso término tal como se puede ver en el libro editado en 1978.</span></div><div><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;"><br /></span></div><div><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXinaGNVlYzPSen429xug7YZwX8TA1vZX-bCDr45IclQL2s9kXsZ5586TJD_jw2CDp56zlAGkzmdVX2zy1NYYpJR0AsOl3a_i3b86ERRoJgjt7g8lRWE7U3tKU5TcUiz0jcdCurzCnWUw/" style="margin-left: auto; margin-right: auto;"><img alt="" data-original-height="445" data-original-width="768" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXinaGNVlYzPSen429xug7YZwX8TA1vZX-bCDr45IclQL2s9kXsZ5586TJD_jw2CDp56zlAGkzmdVX2zy1NYYpJR0AsOl3a_i3b86ERRoJgjt7g8lRWE7U3tKU5TcUiz0jcdCurzCnWUw/w422-h244/image.png" width="422" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px; text-align: start;">Fragmento del libro «El lenguaje de programación» donde nos presentan «hello, world»</span></td></tr></tbody></table><br /></span><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;">Aunque puede ser correcta como su primera aparición en un libro sea esta, hay pruebas de que el nacimiento del termino es anterior ya que aparece en un </span><strong style="box-sizing: border-box; color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">memorándum interno</strong><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;"> que escribió Kernighan para Bell Laboratories denominado ‘</span><a href="https://www.lysator.liu.se/c/bwk-tutor.html" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">Programming in C: A Tutorial</a><span face="Merriweather, sans-serif" style="color: #222222; font-size: 16px;">‘, con un código muy similar:</span></div><div><pre class="wp-block-code" style="box-sizing: border-box; color: #222222; font-family: monospace, monospace; font-size: 16px; overflow: auto;"><code>main( ) {
printf("hello, world\n"); }</code></pre></div><div><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;">Todavía </span><a data-id="https://www.genbeta.com/desarrollo/polemica-torno-al-origen-hola-mundo-desentranamos-que-ano-empezo-a-utilizarse-este-ejemplo-para-programadores" data-type="URL" href="https://www.genbeta.com/desarrollo/polemica-torno-al-origen-hola-mundo-desentranamos-que-ano-empezo-a-utilizarse-este-ejemplo-para-programadores" rel="noreferrer noopener" style="box-sizing: border-box; color: #0a59b0; font-family: Merriweather, sans-serif; font-size: 16px; text-decoration-line: none; transition: border-bottom 0.4s ease 0s;" target="_blank">hay más pruebas</a><span style="color: #222222; font-family: Merriweather, sans-serif; font-size: 16px;"> en donde podríamos irnos más atrás en el tiempo, pero en definitiva, ¡hola, mundo! Seáis bienvenidos.</span></div>Óscar Monteshttp://www.blogger.com/profile/08756281729458786435noreply@blogger.com0